mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 01:00:34 +08:00
Chore: hide more folder in list page
This commit is contained in:
parent
807fc19a46
commit
a6f8cd53ac
@ -32,6 +32,11 @@ const priorityOrder: Record<'default' | string & {}, number> = {
|
||||
default: Number.MAX_VALUE
|
||||
};
|
||||
|
||||
const closedRootFolders = [
|
||||
'Mock',
|
||||
'Internal'
|
||||
];
|
||||
|
||||
async function copyDirContents(srcDir: string, destDir: string, promises: Array<Promise<VoidOrVoidArray>> = []): Promise<Array<Promise<VoidOrVoidArray>>> {
|
||||
for await (const entry of await fsp.opendir(srcDir)) {
|
||||
const src = path.join(srcDir, entry.name);
|
||||
@ -104,15 +109,18 @@ export const buildPublic = task(require.main === module, __filename)(async (span
|
||||
|
||||
const prioritySorter = (a: TreeType, b: TreeType) => ((priorityOrder[a.name] || priorityOrder.default) - (priorityOrder[b.name] || priorityOrder.default)) || fastStringCompare(a.name, b.name);
|
||||
|
||||
function treeHtml(tree: TreeTypeArray, level = 0) {
|
||||
function treeHtml(tree: TreeTypeArray, level = 0, closedFolderList: string[] = []): string {
|
||||
let result = '';
|
||||
tree.sort(prioritySorter);
|
||||
|
||||
for (let i = 0, len = tree.length; i < len; i++) {
|
||||
const entry = tree[i];
|
||||
const open = closedFolderList.includes(entry.name) ? '' : (level === 0 ? 'open' : '');
|
||||
|
||||
if (entry.type === TreeFileType.DIRECTORY) {
|
||||
result += html`
|
||||
<li class="folder">
|
||||
<details ${level === 0 ? 'open' : ''}>
|
||||
<details ${open}>
|
||||
<summary>${entry.name}</summary>
|
||||
<ul>${treeHtml(entry.children, level + 1)}</ul>
|
||||
</details>
|
||||
@ -708,7 +716,7 @@ function generateHtml(tree: TreeTypeArray) {
|
||||
<p>Last Build: ${new Date().toISOString()}</p>
|
||||
<br>
|
||||
<ul class="tree">
|
||||
${treeHtml(tree)}
|
||||
${treeHtml(tree, 0, closedRootFolders)}
|
||||
</ul>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user