mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2024-11-19 05:50:10 +01:00
Minified all CSS and JS script
This commit is contained in:
parent
7d9bf01d27
commit
06dd641274
@ -519,6 +519,7 @@ Flask Functions
|
|||||||
# Before request
|
# Before request
|
||||||
@app.before_request
|
@app.before_request
|
||||||
def auth_req():
|
def auth_req():
|
||||||
|
sem.acquire(timeout=1)
|
||||||
conf = get_dashboard_conf()
|
conf = get_dashboard_conf()
|
||||||
req = conf.get("Server", "auth_req")
|
req = conf.get("Server", "auth_req")
|
||||||
session['update'] = UPDATE
|
session['update'] = UPDATE
|
||||||
@ -535,6 +536,10 @@ def auth_req():
|
|||||||
else:
|
else:
|
||||||
session['message'] = ""
|
session['message'] = ""
|
||||||
conf.clear()
|
conf.clear()
|
||||||
|
try:
|
||||||
|
sem.release()
|
||||||
|
except RuntimeError as e:
|
||||||
|
print("RuntimeError: cannot release un-acquired lock")
|
||||||
return redirect(url_for("signin"))
|
return redirect(url_for("signin"))
|
||||||
else:
|
else:
|
||||||
if request.endpoint in ['signin', 'signout', 'auth', 'settings', 'update_acct', 'update_pwd',
|
if request.endpoint in ['signin', 'signout', 'auth', 'settings', 'update_acct', 'update_pwd',
|
||||||
@ -836,6 +841,7 @@ def get_conf(config_name):
|
|||||||
config = get_dashboard_conf()
|
config = get_dashboard_conf()
|
||||||
sort = config.get("Server", "dashboard_sort")
|
sort = config.get("Server", "dashboard_sort")
|
||||||
peer_display_mode = config.get("Peers", "peer_display_mode")
|
peer_display_mode = config.get("Peers", "peer_display_mode")
|
||||||
|
wg_ip = config.get("Peers","remote_endpoint")
|
||||||
if "Address" not in config_interface:
|
if "Address" not in config_interface:
|
||||||
conf_address = "N/A"
|
conf_address = "N/A"
|
||||||
else:
|
else:
|
||||||
@ -849,7 +855,7 @@ def get_conf(config_name):
|
|||||||
"listen_port": get_conf_listen_port(config_name),
|
"listen_port": get_conf_listen_port(config_name),
|
||||||
"running_peer": get_conf_running_peer_number(config_name),
|
"running_peer": get_conf_running_peer_number(config_name),
|
||||||
"conf_address": conf_address,
|
"conf_address": conf_address,
|
||||||
"wg_ip": config.get("Peers","remote_endpoint"),
|
"wg_ip": wg_ip,
|
||||||
"sort_tag": sort,
|
"sort_tag": sort,
|
||||||
"dashboard_refresh_interval": int(config.get("Server", "dashboard_refresh_interval")),
|
"dashboard_refresh_interval": int(config.get("Server", "dashboard_refresh_interval")),
|
||||||
"peer_display_mode": peer_display_mode
|
"peer_display_mode": peer_display_mode
|
||||||
@ -858,7 +864,7 @@ def get_conf(config_name):
|
|||||||
conf_data['checked'] = "nope"
|
conf_data['checked'] = "nope"
|
||||||
else:
|
else:
|
||||||
conf_data['checked'] = "checked"
|
conf_data['checked'] = "checked"
|
||||||
print(config.get("Peers","remote_endpoint"))
|
print(wg_ip)
|
||||||
config.clear()
|
config.clear()
|
||||||
return jsonify(conf_data)
|
return jsonify(conf_data)
|
||||||
# return render_template('get_conf.html', conf_data=conf_data, wg_ip=config.get("Peers","remote_endpoint"), sort_tag=sort,
|
# return render_template('get_conf.html', conf_data=conf_data, wg_ip=config.get("Peers","remote_endpoint"), sort_tag=sort,
|
||||||
|
@ -379,5 +379,6 @@ main{
|
|||||||
#conf_status_btn.info_loading{
|
#conf_status_btn.info_loading{
|
||||||
height: 38px;
|
height: 38px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
animation: loading 2s infinite ease-in-out;
|
animation: loading 3s infinite ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
1
src/static/css/dashboard.min.css
vendored
Normal file
1
src/static/css/dashboard.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
@-webkit-keyframes rotating{0%{-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{0%{-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading{0%,to{background-color:#dfdfdf}50%{background-color:#adadad}}@-moz-keyframes loading{0%,to{background-color:#dfdfdf}50%{background-color:#adadad}}body{font-size:.875rem}.feather{width:16px;height:16px;vertical-align:text-bottom}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:100;padding:48px 0 0;box-shadow:inset -1px 0 0 rgba(0,0,0,.1)}.sidebar-sticky{position:relative;top:0;height:calc(100vh - 48px);padding-top:.5rem;overflow-x:hidden;overflow-y:auto}@supports ((position:-webkit-sticky) or (position:sticky)){.sidebar-sticky{position:-webkit-sticky;position:sticky}}.sidebar .nav-link{font-weight:500;color:#333;transition:.2s cubic-bezier(.82,-.07,0,1.01)}.nav-link:hover{padding-left:30px}.sidebar .nav-link .feather{margin-right:4px;color:#999}.sidebar .nav-link.active{color:#007bff}.sidebar .nav-link.active .feather,.sidebar .nav-link:hover .feather{color:inherit}.sidebar-heading{font-size:.75rem;text-transform:uppercase}.navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem;background-color:rgba(0,0,0,.25);box-shadow:inset -1px 0 0 rgba(0,0,0,.25)}.navbar .navbar-toggler{top:.25rem;right:1rem}.navbar .form-control{padding:.75rem 1rem;border-width:0;border-radius:0}.form-control-dark{color:#fff;background-color:rgba(255,255,255,.1);border-color:rgba(255,255,255,.1)}.form-control-dark:focus{border-color:transparent;box-shadow:0 0 0 3px rgba(255,255,255,.25)}.dot{width:10px;height:10px;border-radius:50px;display:inline-block;margin-left:10px}.dot-running{background-color:#28a745!important;box-shadow:0 0 0 .2rem #28a74545}.h6-dot-running{margin-left:.3rem}.dot-stopped{background-color:#6c757d!important}.card-running{border-color:#28a745}.info h6{line-break:anywhere;transition:.2s ease-in-out}.info .row .col-sm{display:flex;flex-direction:column}.info .row .col-sm small{display:flex}.info .row .col-sm small strong:last-child(1){margin-left:auto!important}.btn-control{border:0!important;padding:0 1rem 0 0}.btn-control:active,.btn-control:focus{background-color:transparent!important;border:0!important;box-shadow:none}.share_peer_btn_group .btn-control{padding:0 0 0 1rem}.btn-control:hover{background:#fff}.btn-delete-peer:hover{color:#dc3545}.btn-setting-peer:hover{color:#007bff}.btn-download-peer:hover{color:#17a2b8}.login-container{padding:2rem}@media (max-width:992px){.card-col{margin-bottom:1rem}}.switch{font-size:2rem}.switch:hover{text-decoration:none}.btn-group-label:hover{color:#007bff;border-color:#007bff;background:#fff}@media (max-width:768px){.peer_data_group{text-align:left}}.index-switch{text-align:right}main{margin-bottom:3rem}.peer_list{margin-bottom:7rem}@media (max-width:768px){.add_btn{bottom:1.5rem!important}.peer_list{margin-bottom:4rem!important}}.add_btn{position:fixed;bottom:3rem;right:2rem;z-index:99;border-radius:100px!important;padding:10px 20px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.rotating::before{-webkit-animation:rotating .75s linear infinite;-moz-animation:rotating .75s linear infinite;-ms-animation:rotating .75s linear infinite;-o-animation:rotating .75s linear infinite;animation:rotating .75s linear infinite}.peer_private_key_textbox_switch{position:absolute;right:2rem;transform:translateY(-28px);font-size:1.2rem;cursor:pointer}#peer_private_key_textbox,#private_key,#public_key{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.progress-bar{transition:.3s ease-in-out}.key{transition:.2s ease-in-out;cursor:pointer}.key:hover{color:#007bff}.card,.form-control{border-radius:10px}.peer_list .card .button-group{height:22px}.btn{border-radius:8px}.modal-content{border-radius:10px}.tooltip-inner{font-size:.8rem}#conf_status_btn,.conf_card{transition:.2s ease-in-out}.conf_card:hover{border-color:#007bff;cursor:pointer}.info_loading{animation:loading 2s infinite ease-in-out;border-radius:5px;height:19px;transition:.3s ease-in-out}#conf_status_btn.info_loading{height:38px;border-radius:5px;animation:loading 3s infinite ease-in-out}
|
@ -1,5 +1,10 @@
|
|||||||
let $body = $("body");
|
let $body = $("body");
|
||||||
|
|
||||||
|
function roundN(value, digits) {
|
||||||
|
let tenToN = 10 ** digits;
|
||||||
|
return (Math.round(value * tenToN)) / tenToN;
|
||||||
|
}
|
||||||
|
|
||||||
// Progress Bar
|
// Progress Bar
|
||||||
let $progress_bar = $(".progress-bar");
|
let $progress_bar = $(".progress-bar");
|
||||||
function startProgressBar(){
|
function startProgressBar(){
|
||||||
@ -13,9 +18,11 @@ function startProgressBar(){
|
|||||||
stillLoadingProgressBar();
|
stillLoadingProgressBar();
|
||||||
},300);
|
},300);
|
||||||
}
|
}
|
||||||
|
|
||||||
function stillLoadingProgressBar(){
|
function stillLoadingProgressBar(){
|
||||||
$progress_bar.css("transition", "3s ease-in-out").css("width", "75%");
|
$progress_bar.css("transition", "3s ease-in-out").css("width", "75%");
|
||||||
}
|
}
|
||||||
|
|
||||||
function endProgressBar(){
|
function endProgressBar(){
|
||||||
$progress_bar.css("transition", "0.3s ease-in-out").css("width","100%");
|
$progress_bar.css("transition", "0.3s ease-in-out").css("width","100%");
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
@ -433,7 +440,7 @@ $body.on("click", ".display_mode", function(){
|
|||||||
Array($(".peer_list").children()).forEach(function(child){
|
Array($(".peer_list").children()).forEach(function(child){
|
||||||
$(child).removeClass().addClass("col-sm-6 col-lg-4");
|
$(child).removeClass().addClass("col-sm-6 col-lg-4");
|
||||||
});
|
});
|
||||||
showToast("Displaying as Grid");
|
showToast("Displaying as Grids");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
src/static/js/configuration.min.js
vendored
Normal file
1
src/static/js/configuration.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -14,12 +14,7 @@ $(".conf_dropdown").change(function (){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// Ping Tools
|
// Ping Tools
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$(".send_ping").click(function (){
|
$(".send_ping").click(function (){
|
||||||
$(this).attr("disabled","disabled")
|
$(this).attr("disabled","disabled")
|
||||||
$(this).html("Pinging...")
|
$(this).html("Pinging...")
|
||||||
|
1
src/static/js/tools.min.js
vendored
Normal file
1
src/static/js/tools.min.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
$(".ip_dropdown").change(function(){$(".modal.show .btn").removeAttr("disabled")});$(".conf_dropdown").change(function(){$(".modal.show .ip_dropdown").html('<option value="none" selected="selected" disabled>Loading...');$.ajax({url:"/get_ping_ip",method:"POST",data:"config="+$(this).children("option:selected").val(),success:function(res){$(".modal.show .ip_dropdown").html("");$(".modal.show .ip_dropdown").append('<option value="none" selected="selected" disabled>Choose an IP');$(".modal.show .ip_dropdown").append(res)}})});$(".send_ping").click(function(){$(this).attr("disabled","disabled");$(this).html("Pinging...");$("#ping_modal .form-control").attr("disabled","disabled");$.ajax({method:"POST",data:"ip="+$(":selected",$("#ping_modal .ip_dropdown")).val()+"&count="+$("#ping_modal .ping_count").val(),url:"/ping_ip",success:function(res){$(".ping_result tbody").html("");html='<tr><th scope="row">Address</th><td>'+res["address"]+"</td></tr>"+'<tr><th scope="row">Is Alive</th><td>'+res["is_alive"]+"</td></tr>"+'<tr><th scope="row">Min RTT</th><td>'+res["min_rtt"]+"ms</td></tr>"+'<tr><th scope="row">Average RTT </th><td>'+res["avg_rtt"]+"ms</td></tr>"+'<tr><th scope="row">Max RTT</th><td>'+res["max_rtt"]+"ms</td></tr>"+'<tr><th scope="row">Package Sent</th><td>'+res["package_sent"]+"</td></tr>"+'<tr><th scope="row">Package Received</th><td>'+res["package_received"]+"</td></tr>"+'<tr><th scope="row">Package Loss</th><td>'+res["package_loss"]+"</td></tr>";$(".ping_result tbody").html(html);$(".send_ping").removeAttr("disabled");$(".send_ping").html("Ping");$("#ping_modal .form-control").removeAttr("disabled")}})});$(".send_traceroute").click(function(){$(this).attr("disabled","disabled");$(this).html("Tracing...");$("#traceroute_modal .form-control").attr("disabled","disabled");$.ajax({url:"/traceroute_ip",method:"POST",data:"ip="+$(":selected",$("#traceroute_modal .ip_dropdown")).val(),success:function(res){$(".traceroute_result tbody").html("");for(i in res){$(".traceroute_result tbody").append('<tr><th scope="row">'+res[i]["hop"]+"</th><td>"+res[i]["ip"]+"</td><td>"+res[i]["avg_rtt"]+"</td><td>"+res[i]["min_rtt"]+"</td><td>"+res[i]["max_rtt"]+"</td></tr>")}$(".send_traceroute").removeAttr("disabled");$(".send_traceroute").html("Traceroute");$("#traceroute_modal .form-control").removeAttr("disabled")}})});
|
@ -329,12 +329,8 @@
|
|||||||
{% include "tools.html" %}
|
{% include "tools.html" %}
|
||||||
</body>
|
</body>
|
||||||
{% include "footer.html" %}
|
{% include "footer.html" %}
|
||||||
<script src="{{ url_for('static',filename='js/configuration.js') }}"></script>
|
<script src="{{ url_for('static',filename='js/configuration.min.js') }}"></script>
|
||||||
<script>
|
<script>
|
||||||
function roundN(value, digits) {
|
|
||||||
var tenToN = 10 ** digits;
|
|
||||||
return /*Math.trunc*/(Math.round(value * tenToN)) / tenToN;
|
|
||||||
}
|
|
||||||
let load_timeout;
|
let load_timeout;
|
||||||
let load_interval = 0;
|
let load_interval = 0;
|
||||||
let conf_name = "{{ conf_data['name'] }}"
|
let conf_name = "{{ conf_data['name'] }}"
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF" crossorigin="anonymous"></script>
|
||||||
<script src="{{ url_for('static',filename='js/tools.js') }}"></script>
|
<script src="{{ url_for('static',filename='js/tools.min.js') }}"></script>
|
||||||
|
Loading…
Reference in New Issue
Block a user