diff options
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> |
