|
24 | 24 |
|
25 | 25 | <div class="container-fluid p-2"> |
26 | 26 | <div class=" mb-1"> |
27 | | - <div class="form-check form-switch float-start form-select-lg me-2" style="padding-top: 1px; padding-bottom: 0;" |
| 27 | + <div class="form-check form-switch float-start form-select-lg me-2 pb-0" style="padding-top: 1px;" |
28 | 28 | data-bs-title="Disable/Enable Mouseover Preview." data-bs-placement="bottom" data-bs-toggle="tooltip" data-bs-trigger="hover"> |
29 | 29 | <input class="form-check-input" id="popupPreview" type="checkbox" role="switch"> |
30 | | - <label class="form-check-label visually-hidden" for="popupPreview" aria-describedby="popupPreviewHelp"></label> |
| 30 | + <label class="form-check-label visually-hidden" for="popupPreview" aria-describedby="popupPreviewHelp">Popup Preview</label> |
31 | 31 | </div> |
32 | 32 | <a id="always-auth" class="d-none btn btn-sm btn-outline-warning float-start add-auth" role="button" |
33 | 33 | data-bs-title="Update Authentication with Current Site." data-bs-placement="bottom" data-bs-toggle="tooltip" data-bs-trigger="hover"> |
@@ -57,42 +57,113 @@ <h3 class="my-0">Django Files</h3> |
57 | 57 |
|
58 | 58 | <table id="files-table" class="d-none table table-striped table-hover table-sm small align-middle mb-0"> |
59 | 59 | <caption class="visually-hidden">Recent Uploads</caption> |
60 | | - <thead class="visually-hidden"><tr><th>Copy</th><th>File URL</th><th>Delete</th></tr></thead> |
| 60 | + <thead class="visually-hidden"><tr><th>Menu</th><th>File URL</th></tr></thead> |
61 | 61 | <tbody></tbody> |
62 | 62 | <tfoot class="d-none"> |
63 | 63 | <tr> |
64 | 64 | <td colspan="align-middle" style="width: 20px;"><i class="fa-solid fa-spinner fa-spin"></i></td> |
65 | 65 | <td class="placeholder-glow"><span class="placeholder" style="width: 100%;"></span></td> |
66 | | - <td class="placeholder-glow" style="width: 20px;"><i class="fa-solid fa-circle-dot fa-xs"></i></td> |
67 | 66 | </tr> |
68 | 67 | </tfoot> |
69 | 68 | </table> |
70 | 69 | </div> |
71 | 70 |
|
72 | 71 | <div aria-live="polite" aria-atomic="true" class=""> |
73 | | - <div id="toast-container" class="toast-container bottom-0 end-0 p-3"></div> |
| 72 | + <div id="toast-container" class="toast-container d-flex flex-column-reverse top-0 start-0 p-3"></div> |
74 | 73 | </div> |
75 | 74 |
|
76 | 75 | <div class="d-none"> |
77 | | - <div class="toast align-items-center border-0 mt-3" role="alert" aria-live="assertive" aria-atomic="true" data-bs-delay="5000"> |
78 | | - <div class="d-flex"> |
79 | | - <div class="toast-body small"></div> |
80 | | - <button type="button" class="btn-close btn-close-white me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button> |
81 | | - </div> |
| 76 | + <div class="toast align-items-center border-0 mb-3" role="alert" aria-live="assertive" aria-atomic="true" data-bs-delay="5000"> |
| 77 | + <div class="toast-body text-break small"></div> |
82 | 78 | </div> |
83 | | -</div> |
| 79 | + |
| 80 | + <input id="ctx-menu-row" type="hidden" value=""> |
| 81 | + |
| 82 | + <ul class="dropdown-menu py-1"> |
| 83 | + <li class="small"><a class="dropdown-item clip copy-link"> |
| 84 | + <i class="fa-solid fa-copy link-body-emphasis me-3"></i> Copy Share Link</a></li> |
| 85 | + <li class="small"><a class="dropdown-item clip copy-raw"> |
| 86 | + <i class="fa-regular fa-copy link-body-emphasis me-3"></i> Copy Raw Link</a></li> |
| 87 | + <li><hr class="dropdown-divider my-1"></li> |
| 88 | + <li class="small"><a class="dropdown-item clip raw" href=""> |
| 89 | + <i class="fa-solid fa-arrow-up-right-from-square link-body-emphasis me-3"></i> Open Raw File</a></li> |
| 90 | + <li class="small"><a class="dropdown-item" data-action="delete"> |
| 91 | + <i class="fa-regular fa-trash-can link-danger me-3"></i> Delete File</a></li> |
| 92 | + <li><hr class="dropdown-divider my-1"></li> |
| 93 | + <li class="dropdown-item-text text-center text-break small clip mouse-link py-0"></li> |
| 94 | + <li class="dropdown-item-text text-center file-icons"> |
| 95 | + <span class="text-body-tertiary view-text">0</span> |
| 96 | + <i class="fa-solid fa-eye text-body-tertiary mx-1"></i> |
| 97 | + <a data-action="private"><i class="fa-solid fa-lock mx-1 text-body-tertiary"></i></a> |
| 98 | + <a class="pass-link" data-action="password"><i class="fa-solid fa-key mx-1 text-body-tertiary"></i></a> |
| 99 | + <a class="text-decoration-none link-body-emphasis" data-action="expire"> |
| 100 | + <i class="fa-solid fa-hourglass-start mx-1 text-body-tertiary"></i> |
| 101 | + <span class="expr-text"></span></a> |
| 102 | + </li> |
| 103 | + </ul> |
| 104 | +</div> <!-- d-none --> |
84 | 105 |
|
85 | 106 | <div class="modal fade" id="delete-modal" tabindex="-1" aria-hidden="true"> |
86 | 107 | <div class="modal-dialog modal-dialog-centered"> |
87 | 108 | <div class="modal-content"> |
88 | 109 | <div class="modal-body text-center"> |
89 | 110 | <p>Are you sure you want to delete this file?</p> |
90 | | - <p><kbd id="delete-name" class="text-break"></kbd></p> |
| 111 | + <p class="text-break"><kbd class="file-name"></kbd></p> |
| 112 | + </div> |
| 113 | + <div class="modal-footer"> |
| 114 | + <button type="button" class="btn btn-danger me-auto" id="confirm-delete"> |
| 115 | + <i class="fa-regular fa-trash-can me-2"></i> Delete</button> |
| 116 | + <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> |
| 117 | + Close <i class="fa-solid fa-xmark ms-2"></i></button> |
| 118 | + </div> |
| 119 | +</div> <!-- modal-content --> |
| 120 | +</div> <!-- modal-dialog --> |
| 121 | +</div> <!-- modal --> |
| 122 | + |
| 123 | +<div class="modal fade" id="expire-modal" tabindex="-1" aria-hidden="true"> |
| 124 | +<div class="modal-dialog modal-dialog-centered"> |
| 125 | +<div class="modal-content"> |
| 126 | + <div class="modal-body"> |
| 127 | + <p class="text-center"> |
| 128 | + Set the file's expiration. <br> |
| 129 | + For examples, see |
| 130 | + <a href="https://github.com/onegreyonewhite/pytimeparse2#pytimeparse2-time-expression-parser" target="_blank" rel="noopener"> |
| 131 | + this README.md</a>. |
| 132 | + </p> |
| 133 | + <p class="text-center text-break"><kbd class="file-name"></kbd></p> |
| 134 | + <form id="expire-form"> |
| 135 | + <label for="expire-input" class="form-label"><i class="fa-solid fa-hourglass-start me-1"></i> Expiration</label> |
| 136 | + <input id="expire-input" aria-describedby="expire-input-help" class="form-control" type="text" autocomplete="off"> |
| 137 | + <div class="form-text" id="expire-input-help" >File Expiration (Blank to Disable Expiration).</div> |
| 138 | + </form> |
| 139 | + </div> |
| 140 | + <div class="modal-footer"> |
| 141 | + <button type="submit" form="expire-form" class="btn btn-success me-auto"> |
| 142 | + <i class="fa-regular fa-floppy-disk me-2"></i> Save</button> |
| 143 | + <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> |
| 144 | + Close <i class="fa-solid fa-xmark ms-2"></i></button> |
| 145 | + </div> |
| 146 | +</div> <!-- modal-content --> |
| 147 | +</div> <!-- modal-dialog --> |
| 148 | +</div> <!-- modal --> |
| 149 | + |
| 150 | +<div class="modal fade" id="password-modal" tabindex="-1" aria-hidden="true"> |
| 151 | +<div class="modal-dialog modal-dialog-centered"> |
| 152 | +<div class="modal-content"> |
| 153 | + <div class="modal-body"> |
| 154 | + <p class="text-center">Set the file's Password.</p> |
| 155 | + <p class="text-center text-break"><kbd class="file-name"></kbd></p> |
| 156 | + <form id="password-form"> |
| 157 | + <label for="password-input" class="form-label"><i class="fa-solid fa-key me-1"></i> Password</label> |
| 158 | + <input id="password-input" aria-describedby="password-input-help" class="form-control" type="text" autocomplete="off"> |
| 159 | + <div class="form-text" id="password-input-help" >File Password (Blank to Disable Password).</div> |
| 160 | + </form> |
91 | 161 | </div> |
92 | 162 | <div class="modal-footer"> |
93 | | - <button type="button" class="btn btn-danger" id="confirm-delete"> |
94 | | - Delete <i class="fa-regular fa-trash-can ms-1"></i></button> |
95 | | - <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> |
| 163 | + <button type="submit" form="password-form" class="btn btn-success me-auto"> |
| 164 | + <i class="fa-regular fa-floppy-disk me-2"></i> Save</button> |
| 165 | + <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> |
| 166 | + Close <i class="fa-solid fa-xmark ms-2"></i></button> |
96 | 167 | </div> |
97 | 168 | </div> <!-- modal-content --> |
98 | 169 | </div> <!-- modal-dialog --> |
|
0 commit comments