🐛 Fix: Defer list.js script loading

Fixes #1, the JavaScript ran before the DOM fully loaded.
This commit is contained in:
James Musselman 2024-06-26 11:36:53 -05:00
parent d28ca728f9
commit 68eef8524c
No known key found for this signature in database
GPG key ID: 1DAEFF35ECB5D6DB

View file

@ -1,19 +1,20 @@
<!DOCTYPE html> <!doctype html>
<html data-bs-theme="dark"> <html data-bs-theme="dark">
<head>
<head>
<title>List Files</title> <title>List Files</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"> <link
<link rel="icon" href="/static/favicon.ico" type="image/x-icon"> rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
/>
<link rel="icon" href="/static/favicon.ico" type="image/x-icon" />
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="/static/build/list.js" type="text/javascript"></script> <script src="/static/build/list.js" type="text/javascript" defer></script>
<script src="/static/build/darkmode.js" type="text/javascript"></script> <script src="/static/build/darkmode.js" type="text/javascript"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
</head> <body>
<body>
<div id="page-container" class="container"> <div id="page-container" class="container">
<h1>Welcome, {{.Username}}!</h1> <h1>Welcome, {{.Username}}!</h1>
@ -23,11 +24,27 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">Upload File</h5> <h5 class="modal-title">Upload File</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button
type="button"
class="btn-close"
data-bs-dismiss="modal"
aria-label="Close"
></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form method="post" action="/upload" enctype="multipart/form-data"> <form
<input type="file" name="file" id="file" accept=".md,.html" multiple required /><br /><br /> method="post"
action="/upload"
enctype="multipart/form-data"
>
<input
type="file"
name="file"
id="file"
accept=".md,.html"
multiple
required
/><br /><br />
<button type="submit" class="btn btn-primary">Upload</button> <button type="submit" class="btn btn-primary">Upload</button>
</form> </form>
</div> </div>
@ -41,13 +58,29 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">Create New File</h5> <h5 class="modal-title">Create New File</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button
type="button"
class="btn-close"
data-bs-dismiss="modal"
aria-label="Close"
></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form id="newFileForm" method="post" action="/create"> <form id="newFileForm" method="post" action="/create">
<label for="newFileName">File Name:</label> <label for="newFileName">File Name:</label>
<input type="text" name="newFileName" id="newFileName" required><br /><br /> <input
<button type="submit" id="createNewFile" class="btn btn-primary">Create</button> type="text"
name="newFileName"
id="newFileName"
required
/><br /><br />
<button
type="submit"
id="createNewFile"
class="btn btn-primary"
>
Create
</button>
</form> </form>
</div> </div>
</div> </div>
@ -56,22 +89,44 @@
<div id="buttons-container" class="d-flex justify-content-between"> <div id="buttons-container" class="d-flex justify-content-between">
<div> <div>
<button id="openUploadModal" class="btn btn-primary" data-bs-toggle="modal" <button
data-bs-target="#uploadModal">Upload File</button> id="openUploadModal"
class="btn btn-primary"
data-bs-toggle="modal"
data-bs-target="#uploadModal"
>
Upload File
</button>
</div> </div>
<div> <div>
<button id="openNewFileModal" class="btn btn-primary" data-bs-toggle="modal" <button
data-bs-target="#newFileModal">Create New File</button> id="openNewFileModal"
class="btn btn-primary"
data-bs-toggle="modal"
data-bs-target="#newFileModal"
>
Create New File
</button>
</div> </div>
<div> <div>
<button id="openDeleteFileModal" class="btn btn-primary" data-bs-toggle="modal" <button
data-bs-target="#deleteFileModal">Delete Files</button> id="openDeleteFileModal"
class="btn btn-primary"
data-bs-toggle="modal"
data-bs-target="#deleteFileModal"
>
Delete Files
</button>
</div> </div>
<div> <div>
<button id="exportFolder" class="btn btn-primary">Export Folder</button> <button id="exportFolder" class="btn btn-primary">
Export Folder
</button>
</div> </div>
<div> <div>
<button onclick="location.href='/logout'" class="btn btn-primary">Logout</button> <button onclick="location.href='/logout'" class="btn btn-primary">
Logout
</button>
</div> </div>
</div> </div>
@ -81,25 +136,49 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">Delete Files</h5> <h5 class="modal-title">Delete Files</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button
type="button"
class="btn-close"
data-bs-dismiss="modal"
aria-label="Close"
></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form id="deleteForm" action="/delete" method="post"> <form id="deleteForm" action="/delete" method="post">
<div class="checklist"> <div class="checklist">
{{range .Files}} {{range .Files}}
<label> <label>
<input type="checkbox" name="filesToDelete[]" value="{{.Filename}}"> <input
type="checkbox"
name="filesToDelete[]"
value="{{.Filename}}"
/>
{{.Filename}} {{.Filename}}
</label> </label>
<br> <br />
{{end}} {{end}}
</div> </div>
<button type="button" data-bs-dismiss="modal" class="btn btn-secondary">Cancel</button> <button
<button type="button" id="checkAll" class="btn btn-primary">Check All</button> type="button"
<button type="submit" id="deleteSelected" class="btn btn-danger">Delete Selected</button> data-bs-dismiss="modal"
class="btn btn-secondary"
>
Cancel
</button>
<button type="button" id="checkAll" class="btn btn-primary">
Check All
</button>
<button
type="submit"
id="deleteSelected"
class="btn btn-danger"
>
Delete Selected
</button>
</form> </form>
</div> </div>
</div>Invalid Date </div>
Invalid Date
</div> </div>
</div> </div>
<table class="table"> <table class="table">
@ -114,7 +193,9 @@
{{range .Files}} {{range .Files}}
<tr> <tr>
<td> <td>
<a class="link-offset-2" href="/edit?filename={{.Filename}}">{{.Filename}}</a> <a class="link-offset-2" href="/edit?filename={{.Filename}}"
>{{.Filename}}</a
>
</td> </td>
<td> <td>
<span class="creation-time" data-unix="{{.CreationTime}}"></span> <span class="creation-time" data-unix="{{.CreationTime}}"></span>
@ -127,5 +208,6 @@
</tbody> </tbody>
</table> </table>
</div> </div>
</body> </body>
</html> </html>