| 84 | } |
| 85 | |
| 86 | function defaultHtmlContent( |
| 87 | { |
| 88 | userDirectories, |
| 89 | userFiles, |
| 90 | currentPath, |
| 91 | baseUrl, |
| 92 | isFileSharingAllowed, |
| 93 | areDirectoryDownloadsAllowed, |
| 94 | initialSortBy, |
| 95 | initialSortOrder, |
| 96 | }: { |
| 97 | userDirectories: Directory[]; |
| 98 | userFiles: DirectoryFile[]; |
| 99 | currentPath: string; |
| 100 | baseUrl: string; |
| 101 | isFileSharingAllowed: boolean; |
| 102 | areDirectoryDownloadsAllowed: boolean; |
| 103 | initialSortBy: string; |
| 104 | initialSortOrder: string; |
| 105 | }, |
| 106 | ) { |
| 107 | return html` |
| 108 | <main id="main"> |
| 109 | <section id="main-files"> |
| 110 | ${Loading()} |
| 111 | </section> |
| 112 | </main> |
| 113 | |
| 114 | <script type="module"> |
| 115 | import { h, render, Fragment } from 'preact'; |
| 116 | |
| 117 | // Imported files need some preact globals to work |
| 118 | window.h = h; |
| 119 | window.Fragment = Fragment; |
| 120 | |
| 121 | import MainFiles from '/public/components/files/MainFiles.js'; |
| 122 | |
| 123 | const mainFilesElement = document.getElementById('main-files'); |
| 124 | |
| 125 | if (mainFilesElement) { |
| 126 | const mainFilesApp = h(MainFiles, { |
| 127 | initialDirectories: ${JSON.stringify(userDirectories)}, |
| 128 | initialFiles: ${JSON.stringify(userFiles)}, |
| 129 | initialPath: ${JSON.stringify(currentPath)}, |
| 130 | baseUrl: ${JSON.stringify(baseUrl)}, |
| 131 | isFileSharingAllowed: ${JSON.stringify(isFileSharingAllowed)}, |
| 132 | areDirectoryDownloadsAllowed: ${JSON.stringify(areDirectoryDownloadsAllowed)}, |
| 133 | initialSortBy: ${JSON.stringify(initialSortBy)}, |
| 134 | initialSortOrder: ${JSON.stringify(initialSortOrder)}, |
| 135 | }); |
| 136 | |
| 137 | render(mainFilesApp, mainFilesElement); |
| 138 | |
| 139 | document.getElementById('loading')?.remove(); |
| 140 | } |
| 141 | </script> |
| 142 | `; |
| 143 | } |