mirror of
https://github.com/OctopusSuite/octopus-file-browser.git
synced 2026-10-15 08:57:53 +00:00
Build reusable octopus file browser
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import css from 'material-icon-theme/icons/css.svg';
|
||||
import file from 'material-icon-theme/icons/file.svg';
|
||||
import folder from 'material-icon-theme/icons/folder.svg';
|
||||
import git from 'material-icon-theme/icons/git.svg';
|
||||
import html from 'material-icon-theme/icons/html.svg';
|
||||
import image from 'material-icon-theme/icons/image.svg';
|
||||
import javascript from 'material-icon-theme/icons/javascript.svg';
|
||||
import json from 'material-icon-theme/icons/json.svg';
|
||||
import license from 'material-icon-theme/icons/license.svg';
|
||||
import markdown from 'material-icon-theme/icons/markdown.svg';
|
||||
import npm from 'material-icon-theme/icons/npm.svg';
|
||||
import svg from 'material-icon-theme/icons/svg.svg';
|
||||
import typescript from 'material-icon-theme/icons/typescript.svg';
|
||||
import vite from 'material-icon-theme/icons/vite.svg';
|
||||
import yaml from 'material-icon-theme/icons/yaml.svg';
|
||||
|
||||
const EXTENSIONS = { css, htm: html, html, jpeg: image, jpg: image, js: javascript,
|
||||
json, md: markdown, mjs: javascript, png: image, svg, ts: typescript, yaml, yml: yaml };
|
||||
|
||||
export function resolveIcon(entry) {
|
||||
if (entry.icon) return entry.icon;
|
||||
if (entry.type === 'directory') return folder;
|
||||
const name = entry.name.toLowerCase();
|
||||
if (name === 'license' || name.startsWith('license.')) return license;
|
||||
if (name === 'package.json' || name === 'package-lock.json') return npm;
|
||||
if (name.startsWith('vite.config.')) return vite;
|
||||
if (name.startsWith('.git')) return git;
|
||||
return EXTENSIONS[name.split('.').pop()] || file;
|
||||
}
|
||||
Reference in New Issue
Block a user