better code

Massimo Melina committed May 20, 2023 at 18:53 UTC 6346d88ae213ca5868ce365081c99271d6952580
1 file changed +27 -27
frontend/src/icons.ts
+27 -27
@@ -3,32 +3,32 @@
3 import { state, useSnapState } from './state'
4 import { createElement as h, memo } from 'react'
5
6 -const SYS_ICONS = {
7 - login: '👤:user',
8 - user: '👤:user',
9 - filter: '✂',
10 - search: '🔍',
11 - search_off: '❌:cancel',
12 - stop: '⏹️',
13 - settings: '⚙:cog',
14 - archive: '📦',
15 - logout: '🚪',
16 - home: '🏠',
17 - parent: '⬅:left',
18 - folder: '📂',
19 - file: '📄:doc',
20 - spinner: '🎲:spin6 spinner',
21 - password: '🗝️:key',
22 - download: '⬇️',
23 - upload: '⬆️',
24 - reload: '🔄:reload',
25 - lock: '🔒:lock',
26 - admin: '👑:crown',
27 - check: '✔️',
28 - to_start: '◀',
29 - to_end: '▶',
30 - menu: '☰',
31 - list: '☰:menu'
6 +const SYS_ICONS: Record<string, string[]> = {
7 + login: ['👤','user'],
8 + user: ['👤','user'],
9 + filter: ['✂'],
10 + search: ['🔍'],
11 + search_off: ['❌','cancel'],
12 + stop: ['⏹️'],
13 + settings: ['⚙','cog'],
14 + archive: ['📦'],
15 + logout: ['🚪'],
16 + home: ['🏠'],
17 + parent: ['⬅','left'],
18 + folder: ['📂'],
19 + file: ['📄','doc'],
20 + spinner: ['🎲','spin6 spinner'],
21 + password: ['🗝️','key'],
22 + download: ['⬇️'],
23 + upload: ['⬆️'],
24 + reload: ['🔄','reload'],
25 + lock: ['🔒','lock'],
26 + admin: ['👑','crown'],
27 + check: ['✔️'],
28 + to_start: ['◀'],
29 + to_end: ['▶'],
30 + menu: ['☰'],
31 + list: ['☰','menu']
32 }
33
34 document.fonts.ready.then(async ()=> {
@@ -40,7 +40,7 @@ document.fonts.ready.then(async ()=> {
40
41 interface IconProps { name:string, className?:string, alt?:string, [rest:string]: any }
42 export const Icon = memo(({ name, alt, className='', ...props }: IconProps) => {
43 - const [emoji,clazz] = ((SYS_ICONS as any)[name] || name).split(':')
43 + const [emoji,clazz] = SYS_ICONS[name] || name.split(':')
44 const { iconsClass } = useSnapState()
45 className += ' icon'
46 const nameIsEmoji = name.length <= 2