MCPcopy Create free account
hub / github.com/bewcloud/bewcloud / defaultHtmlContent

Function defaultHtmlContent

pages/files.ts:86–143  ·  view source on GitHub ↗
(
  {
    userDirectories,
    userFiles,
    currentPath,
    baseUrl,
    isFileSharingAllowed,
    areDirectoryDownloadsAllowed,
    initialSortBy,
    initialSortOrder,
  }: {
    userDirectories: Directory[];
    userFiles: DirectoryFile[];
    currentPath: string;
    baseUrl: string;
    isFileSharingAllowed: boolean;
    areDirectoryDownloadsAllowed: boolean;
    initialSortBy: string;
    initialSortOrder: string;
  },
)

Source from the content-addressed store, hash-verified

84}
85
86function 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}

Callers 1

getFunction · 0.70

Calls 1

LoadingFunction · 0.50

Tested by

no test coverage detected