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) {