adding wireframe for app to start drilling in and doing logic

This commit is contained in:
thelamer 2019-06-22 22:47:24 +00:00
parent 5d7f54a9c4
commit a56e795c3b
41 changed files with 216 additions and 2 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.c9/

View File

@ -67,7 +67,7 @@ RUN \
usermod -aG sudo \
abc && \
chsh abc -s /bin/bash && \
sed -e 's/%sudo ALL=(ALL:ALL) ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' \
sed -e 's/%sudo ALL=(ALL:ALL) ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' \
-i /etc/sudoers && \
sed -e 's/^wheel:\(.*\)/wheel:\1,abc/g' -i /etc/group && \
echo "**** clean up ****" && \

11
public/ffmpeg-web.js Normal file
View File

@ -0,0 +1,11 @@
// Ace editor
var editor = ace.edit("editor");
editor.setTheme("ace/theme/chrome");
editor.session.setMode("ace/mode/sh");
editor.$blockScrolling = Infinity;
editor.setOptions({
readOnly: false,
});
editor.setValue('ffmpeg -y \\\n -vaapi_device /dev/dri/renderD129 \\\n -i ${INFILE} \\\n -b:v 4000k \\\n -c:v h264 \\\n ${OUTFILE}',-1);

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,41 @@
{
"name": "App",
"icons": [
{
"src": "\/android-icon-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "\/android-icon-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "\/android-icon-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "\/android-icon-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "\/android-icon-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "\/android-icon-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
public/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1008 B

View File

@ -1 +1,95 @@
Hello World
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="Web interface for defining post processing FFmpeg commands">
<meta name="author" content="linuxserver.io">
<title>FFmpeg Web</title>
<link rel="apple-touch-icon" sizes="57x57" href="/public/img/favicon/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/public/img/favicon/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/public/img/favicon/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/public/img/favicon/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/public/img/favicon/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/public/img/favicon/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/public/img/favicon/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/public/img/favicon/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/public/img/favicon/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/public/img/favicon/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/public/img/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/public/img/favicon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/public/img/favicon/favicon-16x16.png">
<link rel="manifest" href="/public/img/favicon/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/public/img/favicon/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
<link href="public/vendor/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="navbar-brand" style="cursor:pointer;" onclick="renderhome()">
<img src="/public/img/logo.png" width="30" height="30" class="d-inline-block align-top" alt="">
FFmpeg Web
</div>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<div class="nav-link" style="cursor:pointer;" onclick="rendercommands()" >Example Commands</div>
</li>
</ul>
</div>
</nav>
<br>
<!-- Body -->
<div class="container">
<div class="card">
<div class="card-header">
Process Rule RULENAME
</div>
<div class="card-body">
<form>
<div class="form-row align-items-center">
<div class="col-auto">
<input type="text" class="form-control" placeholder="File Extension">
</div>
<div class="col-auto">
<input type="text" class="form-control" placeholder="Frequency (seconds)">
</div>
<div class="col-auto">
<div class="form-check mb-2">
<input class="form-check-input" type="checkbox" id="deletesource">
<label class="form-check-label" for="deletesource">
Delete Source
</label>
</div>
</div>
<div class="col-auto">
<button class="btn btn-primary mb-2">Save</button>
</div>
<div class="col float-right">
<button class="btn btn-success mb-2 float-right">Run Now</button>
</div>
</div>
</form>
<br>
<div id="editor" style="height: 250px; width: 100%"></div>
</div>
</div>
<br>
<center><button type="button" class="btn btn-secondary btn-lg">+</button></center>
</div>
<!-- Bootstrap core JavaScript -->
<script src="/public/vendor/js/jquery.min.js"></script>
<script src="/public/vendor/js/popper.min.js"></script>
<script src="/public/vendor/js/bootstrap.min.js"></script>
<!-- Plugin JavaScript -->
<script src="/public/vendor/js/socket.io.js"></script>
<script src="/public/vendor/js/ace.js"></script>
<!-- Our JavaScript -->
<script src="/public/ffmpeg-web.js"></script>
</body>
</html>

7
public/vendor/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

17
public/vendor/js/ace.js vendored Normal file

File diff suppressed because one or more lines are too long

7
public/vendor/js/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

2
public/vendor/js/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

8
public/vendor/js/mode-sh.js vendored Normal file

File diff suppressed because one or more lines are too long

5
public/vendor/js/popper.min.js vendored Normal file

File diff suppressed because one or more lines are too long

9
public/vendor/js/socket.io.js vendored Normal file

File diff suppressed because one or more lines are too long

9
public/vendor/js/theme-chrome.js vendored Normal file
View File

@ -0,0 +1,9 @@
define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)});
(function() {
window.require(["ace/theme/chrome"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -10,6 +10,7 @@ async def index(request):
return web.Response(text=f.read(), content_type='text/html')
app.router.add_get('/', index)
app.router.add_static('/public/', path=str('./public/'))
if __name__ == '__main__':
web.run_app(app, port=8787)