diff options
| author | 2025-12-26 22:39:23 +0800 | |
|---|---|---|
| committer | 2025-12-26 22:39:23 +0800 | |
| commit | 32ca410f4edbff578d71781d943c41573912f476 (patch) | |
| tree | 49f7e1e5602657d23945082fe273fc4802959a40 /src/lib/components/MirrorSelector.svelte | |
Initial commitmain
Diffstat (limited to 'src/lib/components/MirrorSelector.svelte')
| -rw-r--r-- | src/lib/components/MirrorSelector.svelte | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/lib/components/MirrorSelector.svelte b/src/lib/components/MirrorSelector.svelte new file mode 100644 index 0000000..7db4885 --- /dev/null +++ b/src/lib/components/MirrorSelector.svelte @@ -0,0 +1,26 @@ +<script lang="ts"> + import { selectedDomain } from '$lib/stores/mirror'; + + interface Props { + domains: string[]; + } + + let { domains }: Props = $props(); + + function getHostname(url: string) { + try { + return new URL(url).hostname; + } catch { + return url; + } + } +</script> + +<div class="controls"> + <label for="mirror-select">Select Mirror: </label> + <select id="mirror-select" bind:value={$selectedDomain}> + {#each domains as domain} + <option value={domain}>{getHostname(domain)}</option> + {/each} + </select> +</div> |
