moving to /internal for a js dir, icons.svg Ive built, etc. and added route in files.py, updates all html to use new path
This commit is contained in:
@@ -7,19 +7,19 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<!-- font awesome -->
|
||||
<link rel="stylesheet" href="{{ url_for( 'static', filename='upstream/fontawesome-free-5.15.3-web/css/all.min.css' ) }}">
|
||||
<link rel="stylesheet" href="{{ url_for( 'internal', filename='upstream/fontawesome-free-5.15.3-web/css/all.min.css' ) }}">
|
||||
|
||||
<!-- Bootstrap CSS -->
|
||||
<link rel="stylesheet" href="{{ url_for( 'static', filename='upstream/bootstrap-5.0.2-dist/css/bootstrap.min.css' ) }}">
|
||||
<link rel="stylesheet" href="{{ url_for( 'static', filename='upstream/jquery.contextMenu.css' ) }}">
|
||||
<link rel="stylesheet" href="{{ url_for( 'internal', filename='upstream/bootstrap-5.0.2-dist/css/bootstrap.min.css' ) }}">
|
||||
<link rel="stylesheet" href="{{ url_for( 'internal', filename='upstream/jquery.contextMenu.css' ) }}">
|
||||
|
||||
<!-- code to get bootstrap to work -->
|
||||
<script src="{{ url_for( 'static', filename='upstream/jquery-3.6.0.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'static', filename='upstream/bootstrap-5.0.2-dist/js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'static', filename='upstream/jquery.contextMenu.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'static', filename='upstream/jquery.ui.position.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'internal', filename='upstream/jquery-3.6.0.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'internal', filename='upstream/bootstrap-5.0.2-dist/js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'internal', filename='upstream/jquery.contextMenu.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'internal', filename='upstream/jquery.ui.position.min.js')}}"></script>
|
||||
|
||||
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
|
||||
<link rel="shortcut icon" href="{{ url_for('internal', filename='favicon.ico') }}">
|
||||
|
||||
{% import "bootstrap/wtf.html" as wtf %}
|
||||
<style>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</select>
|
||||
<span class="input-group-text"> duplicates at a time
|
||||
<svg width="16" height="16" fill="currentColor">
|
||||
<use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#info" onMouseOver="$('#dbox').modal('show'); return false;"/>
|
||||
<use xlink:href="{{url_for('internal', filename='icons.svg')}}#info" onMouseOver="$('#dbox').modal('show'); return false;"/>
|
||||
</svg>
|
||||
</span>
|
||||
</div class="input-group">
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
{% set prv_disabled="disabled" %}
|
||||
{% endif %}
|
||||
<button id="prev" {{prv_disabled}} name="prev" class="prev sm-txt btn btn-outline-secondary">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#prev"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#prev"/></svg>
|
||||
</button>
|
||||
<span class="sm-txt my-auto"> {{how_many}} files </span>
|
||||
{% set nxt_disabled="" %}
|
||||
@@ -25,7 +25,7 @@
|
||||
{% set nxt_disabled="disabled" %}
|
||||
{% endif %}
|
||||
<button id="next" {{nxt_disabled}} name="next" class="next sm-txt btn btn-outline-secondary">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#next"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#next"/></svg>
|
||||
</button>
|
||||
</div class="col...">
|
||||
</div class="input-group...">
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
<div class="my-auto col col-auto">
|
||||
<span class="alert alert-primary py-2">
|
||||
{% if "files_ip" in request.url %}
|
||||
<svg width="20" height="20" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#import"/></svg>
|
||||
<svg width="20" height="20" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#import"/></svg>
|
||||
{% set tmp_path=cwd | replace( "static/Import", "" ) + "/" %}
|
||||
{% elif "files_sp" in request.url %}
|
||||
<svg width="20" height="20" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#db"/></svg>
|
||||
<svg width="20" height="20" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#db"/></svg>
|
||||
{% set tmp_path=cwd | replace( "static/Storage", "" ) + "/" %}
|
||||
{% elif "files_rbp" in request.url %}
|
||||
<svg width="20" height="20" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#trash"/></svg>
|
||||
<svg width="20" height="20" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#trash"/></svg>
|
||||
{% set tmp_path=cwd | replace( "static/Bin", "" ) + "/" %}
|
||||
{% endif %}
|
||||
{{tmp_path}}</span>
|
||||
@@ -45,7 +45,7 @@
|
||||
{% endif %}
|
||||
<div class="col flex-grow-1 my-auto d-flex justify-content-center w-100">
|
||||
<button id="prev" name="prev" class="prev sm-txt btn btn-outline-secondary">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#prev"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#prev"/></svg>
|
||||
</button>
|
||||
<span class="sm-txt my-auto"> {{how_many}} files </span>
|
||||
{% set nxt_disabled="" %}
|
||||
@@ -53,17 +53,17 @@
|
||||
{% set nxt_disabled="disabled" %}
|
||||
{% endif %}
|
||||
<button id="next" {{nxt_disabled}} name="next" class="next sm-txt btn btn-outline-secondary">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#next"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#next"/></svg>
|
||||
</button>
|
||||
<button id="move" disabled name="move" class="sm-txt btn btn-outline-primary ms-4" onClick="MoveDBox(); return false;">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#folder_plus"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#folder_plus"/></svg>
|
||||
</button>
|
||||
{% if "files_rbp" in request.url %}
|
||||
<button id="del" disabled name="del" class="sm-txt btn btn-outline-success mx-1" onClick="DelDBox('Restore'); return false;">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#trash"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#trash"/></svg>
|
||||
{% else %}
|
||||
<button id="del" disabled name="del" class="sm-txt btn btn-outline-danger mx-1" onClick="DelDBox('Delete'); return false;">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#trash"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#trash"/></svg>
|
||||
{% endif %}
|
||||
</button>
|
||||
</div>
|
||||
@@ -120,13 +120,13 @@
|
||||
{% if folders and entry_data|length == 0 %}
|
||||
{% if cwd != root %}
|
||||
<figure id="_back" class="dir entry m-1" ecnt="1" dir="{{cwd|ParentPath}}" type="Directory">
|
||||
<svg class="svg" width="{{size|int-22}}" height="{{size|int-22}}"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#folder_back"/></svg>
|
||||
<svg class="svg" width="{{size|int-22}}" height="{{size|int-22}}"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#folder_back"/></svg>
|
||||
<figcaption class="figure-caption text-center">Back</figcaption>
|
||||
</figure class="figure">
|
||||
<script>f=$('#_back'); w=f.find('svg').width(); f.find('figcaption').width(w);</script>
|
||||
{% else %}
|
||||
<div class="col col-auto g-0 m-1">
|
||||
<svg class="svg" width="{{size|int-22}}" height="{{size|int-22}}"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#folder_back_gray"/></svg>
|
||||
<svg class="svg" width="{{size|int-22}}" height="{{size|int-22}}"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#folder_back_gray"/></svg>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@@ -135,13 +135,13 @@
|
||||
{% if cwd != root %}
|
||||
<figure class="col col-auto g-0 dir entry m-1" ecnt="{{loop.index}}" dir="{{cwd|ParentPath}}" type="Directory">
|
||||
<svg class="svg" width="{{size|int-22}}" height="{{size|int-22}}" fill="currentColor">
|
||||
<use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#folder_back"/></svg>
|
||||
<use xlink:href="{{url_for('internal', filename='icons.svg')}}#folder_back"/></svg>
|
||||
<figcaption class="svg_cap figure-caption text-center">Back</figcaption>
|
||||
</figure class="figure">
|
||||
{% else %}
|
||||
{# create an even lighter-grey, unclickable back button - so folders dont jump around when you go into them #}
|
||||
<div class="col col-auto g-0 m-1">
|
||||
<svg class="svg" width="{{size|int-22}}" height="{{size|int-22}}"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#folder_back_gray"/></svg>
|
||||
<svg class="svg" width="{{size|int-22}}" height="{{size|int-22}}"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#folder_back_gray"/></svg>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@@ -172,22 +172,22 @@
|
||||
<a href="{{obj.in_dir.in_path.path_prefix}}/{{obj.in_dir.rel_path}}/{{obj.name}}"><img class="thumb" height="{{size}}" src="data:image/jpeg;base64,{{obj.file_details.thumbnail}}"></img></a>
|
||||
{% if search_term is defined %}
|
||||
<div style="position:absolute; bottom: 0px; left: 2px;">
|
||||
<svg width="16" height="16" fill="white"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#{{LocationIcon(obj)}}"/></svg>
|
||||
<svg width="16" height="16" fill="white"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#{{LocationIcon(obj)}}"/></svg>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div id="s{{obj.id}}" style="display:none; position:absolute; top: 50%; left:50%; transform:translate(-50%, -50%);">
|
||||
<img height="64px" src="static/throbber.gif"></img>
|
||||
<img height="64px" src="{{url_for('internal', filename='throbber.gif')}}"></img>
|
||||
</div>
|
||||
</div>
|
||||
{% elif obj.type.name == "Video" %}
|
||||
<div style="position:relative; width:100%">
|
||||
<a href="{{obj.in_dir.in_path.path_prefix}}/{{obj.in_dir.rel_path}}/{{obj.name}}"><img class="thumb" style="display:block" height="{{size}}" src="data:image/jpeg;base64,{{obj.file_details.thumbnail}}"></img></a>
|
||||
<div style="position:absolute; top: 0px; left: 2px;">
|
||||
<svg width="16" height="16" fill="white"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#film"/></svg>
|
||||
<svg width="16" height="16" fill="white"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#film"/></svg>
|
||||
</div>
|
||||
{% if search_term is defined %}
|
||||
<div style="position:absolute; bottom: 0px; left: 2px;">
|
||||
<svg width="16" height="16" fill="white"><use xlink:href="#{{url_for('static', filename='upstream/icons.svg')}}#{{LocationIcon(obj)}}"/></svg>
|
||||
<svg width="16" height="16" fill="white"><use xlink:href="#{{url_for('internal', filename='icons.svg')}}#{{LocationIcon(obj)}}"/></svg>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -205,7 +205,7 @@
|
||||
{% if dirname| TopLevelFolderOf(cwd) %}
|
||||
<figure class="col col-auto g-0 figure dir entry m-1" id={{obj.id}} ecnt={{loop.index}} dir="{{dirname}}" type="Directory">
|
||||
<svg class="svg" width="{{size|int-22}}" height="{{size|int-22}}" fill="currentColor">
|
||||
<use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#Directory"/></svg>
|
||||
<use xlink:href="{{url_for('internal', filename='icons.svg')}}#Directory"/></svg>
|
||||
<figcaption class="svg_cap figure-caption text-center text-wrap text-break">{{obj.name}}</figcaption>
|
||||
</figure class="figure">
|
||||
<script>f=$('#{{obj.id}}'); w=f.find('svg').width(); f.find('figcaption').width(w);</script>
|
||||
@@ -221,11 +221,11 @@
|
||||
<div class="row">
|
||||
<div class="col my-auto d-flex justify-content-center">
|
||||
<button onClick="$.each( $('#main_form').serializeArray() , function( index, value ) { $('#nav_form').append( '<input type=hidden name=' + value['name'] +' value='+value['value'] + '>' ); })" id="prev" name="prev" class="prev sm-txt btn btn-outline-secondary">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#prev"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#prev"/></svg>
|
||||
</button>
|
||||
<span class="sm-txt my-auto"> {{how_many}} files </span>
|
||||
<button onClick="$.each( $('#main_form').serializeArray() , function( index, value ) { $('#nav_form').append( '<input type=hidden name=' + value['name'] +' value='+value['value'] + '>' ); });" id="next" {{nxt_disabled}} name="next" class="next sm-txt btn btn-outline-secondary">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#next"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#next"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -363,7 +363,7 @@ function MoveDBox()
|
||||
div+=`
|
||||
<div class="input-group my-3">
|
||||
<alert class="alert alert-primary my-auto py-1">
|
||||
<svg width="20" height="20" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#db"/></svg>
|
||||
<svg width="20" height="20" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#db"/></svg>
|
||||
`
|
||||
sps={{StoragePathNames()|safe}}
|
||||
if( sps.length > 1 ) {
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<!-- Bootstrap CSS -->
|
||||
<link rel="stylesheet" href="{{ url_for( 'static', filename='upstream/bootstrap-5.0.2-dist/css/bootstrap.min.css' ) }}">
|
||||
<link rel="stylesheet" href="{{ url_for( 'static', filename='upstream/jquery.contextMenu.css' ) }}">
|
||||
<link rel="stylesheet" href="{{ url_for( 'internal', filename='upstream/bootstrap-5.0.2-dist/css/bootstrap.min.css' ) }}">
|
||||
<link rel="stylesheet" href="{{ url_for( 'internal', filename='upstream/jquery.contextMenu.css' ) }}">
|
||||
|
||||
<!-- code to get bootstrap to work -->
|
||||
<script src="{{ url_for( 'static', filename='upstream/jquery-3.6.0.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'static', filename='upstream/bootstrap-5.0.2-dist/js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'static', filename='upstream/jquery.contextMenu.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'static', filename='upstream/jquery.ui.position.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'internal', filename='upstream/jquery-3.6.0.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'internal', filename='upstream/bootstrap-5.0.2-dist/js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'internal', filename='upstream/jquery.contextMenu.min.js')}}"></script>
|
||||
<script src="{{ url_for( 'internal', filename='upstream/jquery.ui.position.min.js')}}"></script>
|
||||
|
||||
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
|
||||
<link rel="shortcut icon" href="{{ url_for('internal', filename='favicon.ico') }}">
|
||||
|
||||
{% import "bootstrap/wtf.html" as wtf %}
|
||||
</head>
|
||||
@@ -42,7 +42,8 @@
|
||||
|
||||
<div class="row px-3 my-5 col-6" style="border: 3px solid #5bc0de; border-radius: 15px;">
|
||||
<h3 class="my-3 text-center" style="color: #5bc0de">
|
||||
<svg width="64" height="64" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#pa_logo" /></svg> Photo Assistant Login</h3>
|
||||
{# <svg width="64" height="64" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#pa_logo" /></svg> Photo Assistant Login</h3> #}
|
||||
<svg width="64" height="64" fill="currentColor"><use xlink:href="internal/icons.svg#pa_logo" /></svg> Photo Assistant Login</h3>
|
||||
<form class="" method="POST">
|
||||
<div class="input-group">
|
||||
<label labelfor="username" class="text-right input-group-text col-4 text-info">Username:</label>
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
</div id="/RI*">
|
||||
{% endfor %}
|
||||
<div id="throb" style="display:none" class="col-1 px-0 {{offset}}">
|
||||
<img height="64px" src="{{url_for('static', filename='throbber.gif')}}"></img>
|
||||
<img height="64px" src="{{url_for('internal', filename='throbber.gif')}}"></img>
|
||||
</div>
|
||||
</div class="row col-12">
|
||||
<div class="row col-12">
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
$('#prev_faces').val($('#faces').prop('checked'))
|
||||
$('#prev_distance').val($('#distance').prop('checked'))
|
||||
">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#prev"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#prev"/></svg>
|
||||
</button>
|
||||
</form id="prev">
|
||||
{% endif %}
|
||||
@@ -196,7 +196,7 @@
|
||||
$('#next_faces').val($('#faces').prop('checked'))
|
||||
$('#next_distance').val($('#distance').prop('checked'))
|
||||
">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#next"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#next"/></svg>
|
||||
</button>
|
||||
</form id="next">
|
||||
{% endif %}
|
||||
@@ -208,7 +208,7 @@
|
||||
{# this whole div, just takes up the same space as the left button and is hidden for alignment only #}
|
||||
<div class="col col-auto">
|
||||
<button class="btn btn-outline-info" disabled style="visibility:hidden">
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#next"/></svg>
|
||||
<svg width="16" height="16" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#next"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
<span class="col col-auto my-auto">Show:</span>
|
||||
@@ -241,22 +241,22 @@
|
||||
</div>
|
||||
<div class="col col-auto pt-1">
|
||||
<button class="btn btn-outline-info p-1">
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#rot90"/></svg>
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#rot90"/></svg>
|
||||
</button>
|
||||
<button class="btn btn-outline-info p-1">
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#rot180"/></svg>
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#rot180"/></svg>
|
||||
</button>
|
||||
<button class="btn btn-outline-info p-1">
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#rot270"/></svg>
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#rot270"/></svg>
|
||||
</button>
|
||||
<button class="btn btn-outline-info p-1">
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#flip_h"/></svg>
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#flip_h"/></svg>
|
||||
</button>
|
||||
<button class="btn btn-outline-info p-1">
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#flip_v"/></svg>
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#flip_v"/></svg>
|
||||
</button>
|
||||
<button class="btn btn-outline-info p-1" onClick="document.getElementById('canvas').requestFullscreen()">
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('static', filename='upstream/icons.svg')}}#fullscreen"/></svg>
|
||||
<svg width="28" height="28" fill="currentColor"><use xlink:href="{{url_for('internal', filename='icons.svg')}}#fullscreen"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
</div class="row">
|
||||
|
||||
Reference in New Issue
Block a user