123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297 |
- <!doctype html>
- <html>
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <link rel="stylesheet" href="styles/styles.css" type="text/css">
- <script src="scripts/scripts.js" type="text/javascript"></script>
- <title>
- PotatoEgg cloud | {{#admin}}Admin panel{{/admin}}{{^admin}}Files{{/admin}}
- </title>
- </head>
- <body>
- <noscript>
- <div id="noscript-msg">
- <svg id="icon" class="icon alert">
- <use xlink:href="media/bootstrap-icons.svg#emoji-frown" />
- </svg>
- <span>I'm sorry but this site does not work without scripts! <a href="https://www.enable-javascript.com/">Learn more</a></span>
- </div>
- <script>
- // to make sure this message box is not shown for other users
- // (for those who uses javascript)
- var elms = document.querySelectorAll("#noscript-msg");
- elms.forEach(item => {
- item.style.display = "none";
- });
- </script>
- </noscript>
- <div class="page-header">
- <div class="header-left">
- <h1>PotatoEgg cloud</h1>
- </div>
- <div class="header-right">
- <span id="total-usage">Total used: {{totalsize}} | </span>
- <div class="dropdown-container">
- <svg id="options-btn" class="options-dropdown-icon" height="20px" width="20px" alt="...">
- <use xlink:href="media/bootstrap-icons.svg#three-dots-vertical" />
- </svg>
- <div class="dropdown-options">
- {{#admin}}
- <div class="dropdown-btn upload" onclick="show('#upload');">
- <svg id="upload-icon" class="option-icon">
- <use xlink:href="media/bootstrap-icons.svg#cloud-upload-fill" />
- </svg> Upload
- </div>
- <div class="dropdown-btn webupload" onclick="show('#upload_');">
- <svg id="webupload-icon" class="option-icon">
- <use xlink:href="media/bootstrap-icons.svg#cloud-arrow-up" />
- </svg> Upload from web
- </div>
- <div class="dropdown-btn chpass" onclick="show('#chpass');">
- <svg id="chpass-icon" class="option-icon">
- <use xlink:href="media/bootstrap-icons.svg#key">
- </svg> Change password
- </div>
- {{/admin}} {{^admin}}
- <div class="dropdown-btn login" onclick="location.href='/login'">
- <svg id="login-icon" class="option-icon">
- <use xlink:href="media/bootstrap-icons.svg#key" />
- </svg> Log in
- </div>
- {{/admin}} {{#admin}}
- <div class="dropdown-btn logout" onclick="location.href='/logout'">
- <svg id="logout-icon" class="option-icon">
- <use xlink:href="media/bootstrap-icons.svg#door-open-fill" />
- </svg> Log out
- </div>
- {{/admin}}
- </div>
- </div>
- </div>
- </div>
- <div class="page-container">{{#admin}}
- <div class="dialog msg" id="msg">
- <h1 id="title">some title here</h1>
- <svg id="close-x" class="close-x">
- <use xlink:href="media/bootstrap-icons.svg#x-circle-fill" />
- </svg>
- <div class="body">
- <svg id="icon" class="icon">
- <use xlink:href="media/bootstrap-icons.svg" />
- </svg>
- <p id="msg_txt">No message!</p>
- <div id="buttons" class="buttons">
- <button id="default-button" onclick="msg_ok();">Okay, bro</button>
- </div>
- </div>
- </div>
- <div class="dialog delete" id="delete">
- <h1 id="title">Are you sure?</h1>
- <svg id="close-x" class="close-x" onclick="delete_no();">
- <use xlink:href="media/bootstrap-icons.svg#x-circle-fill" />
- </svg>
- <div class="body">
- <svg class="icon alert">
- <use xlink:href="media/bootstrap-icons.svg#exclamation-triangle-fill" />
- </svg>
- <p id="msg_txt">Are you sure you want to delete this file?</p>
- <div class="buttons">
- <button class="no" onclick="delete_no();">No</button>
- <button class="yes" onclick="delete_yes();">Yes</button>
- </div>
- </div>
- </div>
- <div class="dialog modify desc" id="modify-desc">
- <h1 id="title">Change description</h1>
- <svg id="close-x" class="close-x" onclick="cancel();">
- <use xlink:href="media/bootstrap-icons.svg#x-circle-fill" />
- </svg>
- <div class="body">
- <input name="desc" placeholder="New description">
- <div class="buttons">
- <button onclick="modify_desc();">Apply</button>
- <button onclick="cancel();">Cancel</button>
- </div>
- </div>
- </div>
- <div class="dialog chpass" id="chpass">
- <h1 id="title">Change admin password</h1>
- <svg id="close-x" class="close-x" onclick="cancel();">
- <use xlink:href="media/bootstrap-icons.svg#x-circle-fill">
- </svg>
- <div class="body">
- <input name="oldp" type="password" placeholder="Your old password">
- <input name="newp" type="password" placeholder="Your new password">
- <input name="newp_r" type="password" placeholder="Retype your new password">
- <div class="buttons">
- <button onclick="chpass();">Change</button>
- <button onclick="cancel();">Cancel</button>
- </div>
- </div>
- </div>
- <div class="dialog modify pass" id="modify-pass">
- <h1 id="title">Change file password</h1>
- <svg id="close-x" class="close-x" onclick="cancel();">
- <use xlink:href="media/bootstrap-icons.svg#x-circle-fill" />
- </svg>
- <div class="body">
- <input name="pass" type="password" placeholder="New password">
- <input name="pass_retype" type="password" placeholder="Re-type password">
- <div class="buttons">
- <button onclick="modify_pass();">Apply</button>
- <button onclick="cancel();">Cancel</button>
- </div>
- </div>
- </div>
- <div class="dialog modify name" id="modify-name">
- <h1 id="title">Rename</h1>
- <svg id="close-x" class="close-x" onclick="cancel();">
- <use xlink:href="media/bootstrap-icons.svg#x-circle-fill" />
- </svg>
- <div class="body">
- <input name="name" placeholder="New name">
- <div class="buttons">
- <button onclick="modify_name();">Apply</button>
- <button onclick="cancel();">Cancel</button>
- </div>
- </div>
- </div>
- <div class="dialog upload" id="upload">
- <h1 id="title">Upload file</h1>
- <svg id="close-x" class="close-x" onclick="cancel();">
- <use xlink:href="media/bootstrap-icons.svg#x-circle-fill" />
- </svg>
- <div class="body">
- <form action="/upload" method="POST" enctype="multipart/form-data">
- <input name="desc" placeholder="Description (optional)">
- <input name="pwd" placeholder="Password (optional)" type="password">
- <input name="ufiles" type="file" multiple>
- <progress value="0" max="100"></progress>
- <div class="buttons">
- <input type="submit" value="Upload!">
- <button onclick="cancel();" type="button">Cancel</button>
- </div>
- </form>
- </div>
- </div>
- <div class="dialog upload_" id="upload_">
- <h1 id="title">Upload file from URL</h1>
- <div class="body">
- <form action="/upload_url" method="POST">
- <input name="url" placeholder="URL">
- <input name="name" placeholder="Name (optional)">
- <div class="buttons">
- <input type="submit" value="Download & Save">
- <button onclick="cancel();" type="button">Cancel</button>
- </div>
- </form>
- </div>
- </div>
- {{/admin}}
- <div class="content-wrap">
- <div id="table" class="details-view">
- <div class="table-header">
- <div></div>
- <div>Info</div>
- <div class="description">Description</div>
- {{#admin}}
- <div></div>
- {{/admin}}
- </div>
- <div id="toolbar">
- <div>
- <svg class="toolbar-icon" onclick="set_view('details-view');">
- <use href="media/bootstrap-icons.svg#list-ul" />
- </svg>
- <svg class="toolbar-icon" onclick="set_view('grid-view');">
- <use href="media/bootstrap-icons.svg#grid-fill" />
- </svg>
- </div>
- </div>
- <div class="files">
- {{#files}}
- <div class="table-item" title="{{desc}}">
- <div class="icon-container" onclick="location.href='/download?name={{name}}';">
- <svg class="icon {{type_class}}">
- <use href="media/bootstrap-icons.svg#{{type_icon}}" />
- </svg>
- </div>
- <div class="details" onclick="location.href='/download?name={{name}}';">
- <div class="info">
- <ul>
- <li>
- <a class="name" href="/download?name={{name}}">{{name}}</a>
- </li>
- <li>
- {{size}}
- </li>
- {{#admin}} {{#has_pass}}
- <li>
- password: {{pass}}
- </li>
- {{/has_pass}} {{/admin}}
- </ul>
- </div>
- <div class="description">{{desc}}</div>
- </div>
- {{#admin}}
- <div class="dropdown-container">
- <svg id="options-btn" class="options-dropdown-icon" height="32px" width="32px" alt="...">
- <use xlink:href="media/bootstrap-icons.svg#three-dots-vertical" />
- </svg>
- <div class="dropdown-options">
- <div class="dropdown-btn rename" onclick="mod_name('{{name}}');">
- <svg id="rename-icon" class="option-icon">
- <use xlink:href="media/bootstrap-icons.svg#pencil-square" />
- </svg> Rename
- </div>
- <div class="dropdown-btn rename" onclick="mod_desc('{{name}}');">
- <svg id="chdesc-icon" class="option-icon">
- <use xlink:href="media/bootstrap-icons.svg#pencil-square">
- </svg> Change description
- </div>
- <div class="dropdown-btn pass" onclick="mod_pass('{{name}}');">
- <svg id="pass-icon" class="option-icon">
- <use xlink:href="media/bootstrap-icons.svg#key" />
- </svg> Change password
- </div>
- <div class="dropdown-btn hash" onclick="hashsum('{{name}}');">
- <svg id="hash-icon" class="option-icon">
- <use xlink:href="media/bootstrap-icons.svg#hash" />
- </svg> Hashsum
- </div>
- <div class="dropdown-btn delete" onclick="delete_('{{name}}');">
- <svg id="delete-icon" class="option-icon">
- <use xlink:href="media/bootstrap-icons.svg#trash" />
- </svg> Delete
- </div>
- </div>
- </div>
- {{/admin}}
- </div>
- {{/files}}
- </div>
- </div>
- </div>
- <footer>
- <hr style="color: green" color="green">
- <hr style="color: white" color="white">
- <hr style="color: red" color="red">
- <p>
- PotatoEgg is a small web application written using the minimalistic web framework, <a href="https://cherrypy.org">
- CherryPy</a>
- </p>
- <p>The project is hosted on Notabug and is free/open source software under LGPL 3.0 or later.
- <a href="https://notabug.org/farooqkz/PotatoEgg">
- Browse source code
- </a>
- </p>
- </footer>
- </div>
- </body>
- </html>
|