Files
embyhomescreenedit/src/lib/Icon.svelte
T

108 lines
2.4 KiB
Svelte
Raw Normal View History

2026-04-25 22:57:08 +12:00
<script>
export let name = 'spark';
export let size = 16;
export let stroke = 1.8;
const paths = {
edit: [
'M3 21h3.8L19.4 8.4a2.2 2.2 0 0 0 0-3.1l-.7-.7a2.2 2.2 0 0 0-3.1 0L3 17.2V21Z',
'M13.5 6.5l4 4'
],
sync: [
'M17 3l4 4-4 4',
'M3 7h18',
'M7 21l-4-4 4-4',
'M21 17H3'
],
settings: [
'M12 8.5a3.5 3.5 0 1 1 0 7a3.5 3.5 0 0 1 0-7Z',
'M19.4 15a1 1 0 0 0 .2 1.1l.1.1a1.2 1.2 0 0 1 0 1.7l-1.4 1.4a1.2 1.2 0 0 1-1.7 0l-.1-.1a1 1 0 0 0-1.1-.2a1 1 0 0 0-.6.9V21a1.2 1.2 0 0 1-1.2 1.2h-2a1.2 1.2 0 0 1-1.2-1.2v-.2a1 1 0 0 0-.6-.9a1 1 0 0 0-1.1.2l-.1.1a1.2 1.2 0 0 1-1.7 0L4.3 18a1.2 1.2 0 0 1 0-1.7l.1-.1a1 1 0 0 0 .2-1.1a1 1 0 0 0-.9-.6H3.5A1.2 1.2 0 0 1 2.3 13v-2a1.2 1.2 0 0 1 1.2-1.2h.2a1 1 0 0 0 .9-.6a1 1 0 0 0-.2-1.1l-.1-.1a1.2 1.2 0 0 1 0-1.7l1.4-1.4a1.2 1.2 0 0 1 1.7 0l.1.1a1 1 0 0 0 1.1.2a1 1 0 0 0 .6-.9V3A1.2 1.2 0 0 1 10.5 1.8h2A1.2 1.2 0 0 1 13.7 3v.2a1 1 0 0 0 .6.9a1 1 0 0 0 1.1-.2l.1-.1a1.2 1.2 0 0 1 1.7 0L18.6 5a1.2 1.2 0 0 1 0 1.7l-.1.1a1 1 0 0 0-.2 1.1a1 1 0 0 0 .9.6h.2A1.2 1.2 0 0 1 20.6 11v2a1.2 1.2 0 0 1-1.2 1.2h-.2a1 1 0 0 0-.9.8Z'
],
collections: [
'M4 7.5h16',
'M4 12h16',
'M4 16.5h10',
'M17.5 14.5v6',
'M14.5 17.5h6'
],
user: [
'M12 12a4 4 0 1 0 0-8a4 4 0 0 0 0 8Z',
'M4 20a8 8 0 0 1 16 0'
],
resume: [
'M7 5v14l11-7Z'
],
items: [
'M4 6.5h16',
'M4 12h16',
'M4 17.5h16'
],
userviews: [
'M4 5h7v6H4Z',
'M13 5h7v6h-7Z',
'M4 13h7v6H4Z',
'M13 13h7v6h-7Z'
],
boxset: [
'M4 8l8-4l8 4-8 4-8-4Z',
'M4 8v8l8 4l8-4V8'
],
latestepisodereleases: [
'M4 18h16',
'M7 18V9l5-4l5 4v9'
],
latestmoviereleases: [
'M4 7h16v10H4Z',
'M8 7V5',
'M16 7V5',
'M8 17v2',
'M16 17v2'
],
latestmediablock: [
'M4 6h16',
'M4 12h10',
'M4 18h16'
],
spark: [
'M12 3l1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3Z'
],
search: [
'M11 18a7 7 0 1 0 0-14a7 7 0 0 0 0 14Z',
'M20 20l-3.5-3.5'
],
activity: [
'M5 12h3l2-5l4 10l2-5h3'
],
plus: [
'M12 5v14',
'M5 12h14'
]
};
$: selectedPaths = paths[name] || paths.spark;
</script>
<svg
class="icon"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width={stroke}
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
{#each selectedPaths as path}
<path d={path}></path>
{/each}
</svg>
<style>
.icon {
display: block;
flex: none;
}
</style>