admin/fs: show icon for nodes with masks

Massimo Melina committed Mar 2, 2022 at 16:25 UTC 26ae8b467bbd48f4776647def13ac3e1c2b13cc4
1 file changed +13 -12
admin/src/VfsTree.ts
+13 -12
@@ -2,11 +2,12 @@
2
3 import { makeStyles } from '@mui/styles'
4 import { state, useSnapState } from './state'
5 -import { createElement as h, ReactElement, useState } from 'react'
5 +import { createElement as h, Fragment, ReactElement, useState } from 'react'
6 import { TreeItem, TreeView } from '@mui/lab'
7 import {
8 ChevronRight,
9 ExpandMore,
10 + Face,
11 Folder,
12 Home,
13 InsertDriveFileOutlined,
@@ -60,17 +61,17 @@ export default function VfsTree({ id2node }:{ id2node: Map<string, VfsNode> }) {
61 if (folder && !isWindowsDrive(source) && source === name) // we need a way to show that the name we are displaying is a source in this ambiguous case, so we add a redundant ./
62 source = './' + source
63 return h(TreeItem, {
63 - label: !name ? h(Home)
64 - : h('div', { className: styles.label },
65 - h(folder ? FolderIcon : FileIcon),
66 - isRestricted(node.can_see) && h(RemoveRedEye),
67 - isRestricted(node.can_read) && h(Lock),
68 - !source?.endsWith(name) ? name
69 - : h('span', {},
70 - h('span', { className:styles.path }, source.slice(0,-name.length)),
71 - h('span', {}, source.slice(-name.length)),
72 - )
73 - ),
64 + label: h('div', { className: styles.label },
65 + h(!name ? Home : folder ? FolderIcon : FileIcon),
66 + isRestricted(node.can_see) && h(RemoveRedEye),
67 + isRestricted(node.can_read) && h(Lock),
68 + node.masks && h(Face),
69 + !source?.endsWith(name) ? name
70 + : h('span', {},
71 + h('span', { className:styles.path }, source.slice(0,-name.length)),
72 + h('span', {}, source.slice(-name.length)),
73 + )
74 + ),
75 key: name,
76 collapseIcon: h(ExpandMore, {
77 onClick(ev) {