Migrate to svelte 5

This commit is contained in:
kwaroran
2024-10-23 02:31:37 +09:00
parent e434c7ab96
commit c7330719ad
120 changed files with 2398 additions and 2033 deletions

View File

@@ -1,25 +1,33 @@
<script lang="ts">
import { run, stopPropagation } from 'svelte/legacy';
import { ColorSchemeTypeStore } from "src/ts/gui/colorscheme";
import { ParseMarkdown } from "src/ts/parser";
import { parseMultilangString, toLangName } from "src/ts/util";
export let value: string
export let markdown: boolean = false
let valueObject: {[code:string]:string} = parseMultilangString(value)
let selectedLang = "en"
interface Props {
value: string;
markdown?: boolean;
}
let { value, markdown = false }: Props = $props();
let valueObject: {[code:string]:string} = $state(parseMultilangString(value))
let selectedLang = $state("en")
if(valueObject["en"] === undefined){
selectedLang = "xx"
}
$: valueObject = parseMultilangString(value)
run(() => {
valueObject = parseMultilangString(value)
});
</script>
<div class="flex flex-col">
<div class="flex flex-wrap max-w-fit p-1 gap-2">
{#each Object.keys(valueObject) as lang}
{#if lang !== 'xx' || Object.keys(valueObject).length === 1}
<button class="bg-bgcolor py-2 rounded-lg px-4" class:ring-1={selectedLang === lang} on:click|stopPropagation={() => {
<button class="bg-bgcolor py-2 rounded-lg px-4" class:ring-1={selectedLang === lang} onclick={stopPropagation(() => {
selectedLang = lang
}}>{toLangName(lang)}</button>
})}>{toLangName(lang)}</button>
{/if}
{/each}
</div>