[O] Show icon
This commit is contained in:
+12
@@ -1,3 +1,4 @@
|
|||||||
|
import mime from 'mime';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { Component, createResource, createSignal, For, lazy, Show } from 'solid-js';
|
import { Component, createResource, createSignal, For, lazy, Show } from 'solid-js';
|
||||||
|
|
||||||
@@ -9,6 +10,16 @@ function sizeFmt(size: number) {
|
|||||||
var i = size == 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024));
|
var i = size == 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024));
|
||||||
return (size / Math.pow(1024, i)).toFixed(1) + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i];
|
return (size / Math.pow(1024, i)).toFixed(1) + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getIcon(f)
|
||||||
|
{
|
||||||
|
if (f.type == "directory") return "/mime/folder.svg"
|
||||||
|
|
||||||
|
const sp = f.name.split(".")
|
||||||
|
const m = mime.getType(sp[sp.length - 1])
|
||||||
|
if (m) return `/mime/${m.replace("/", "-")}.svg`
|
||||||
|
else return '/mime/application-blank.svg'
|
||||||
|
}
|
||||||
export default function App() {
|
export default function App() {
|
||||||
const [api] = createResource(fetchApi)
|
const [api] = createResource(fetchApi)
|
||||||
|
|
||||||
@@ -20,6 +31,7 @@ export default function App() {
|
|||||||
<div class="flex flex-col gap-1">
|
<div class="flex flex-col gap-1">
|
||||||
<For each={api()}>{(f, i) =>
|
<For each={api()}>{(f, i) =>
|
||||||
<span class="w-full flex gap-4 transition-all duration-300 bg-dark-800 hover:bg-dark-300 hover:duration-0 rounded-xl p-2 items-center">
|
<span class="w-full flex gap-4 transition-all duration-300 bg-dark-800 hover:bg-dark-300 hover:duration-0 rounded-xl p-2 items-center">
|
||||||
|
<img class="w-10" src={getIcon(f)}></img>
|
||||||
<span class="flex-1 font-bold">{f.name}</span>
|
<span class="flex-1 font-bold">{f.name}</span>
|
||||||
<Show when={f.size !== undefined}>
|
<Show when={f.size !== undefined}>
|
||||||
<span class="text-right basis-30">{sizeFmt(f.size)}</span>
|
<span class="text-right basis-30">{sizeFmt(f.size)}</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user