diff --git a/src/lib/features/database/characters/sections/CharacterMetadataSection.svelte b/src/lib/features/database/characters/sections/CharacterMetadataSection.svelte index f433b157..acfebef7 100644 --- a/src/lib/features/database/characters/sections/CharacterMetadataSection.svelte +++ b/src/lib/features/database/characters/sections/CharacterMetadataSection.svelte @@ -67,19 +67,27 @@ {#if editMode} - onAcceptSuggestion?.('name', suggestions?.nameEn)} + onDismissSuggestion={() => onDismissSuggestion?.('name')} /> - onAcceptSuggestion?.('nameJp', suggestions?.nameJp)} + onDismissSuggestion={() => onDismissSuggestion?.('nameJp')} /> - onAcceptSuggestion?.('granblueId', suggestions?.granblueId)} + onDismissSuggestion={() => onDismissSuggestion?.('granblueId')} /> {#if editMode} - onAcceptSuggestion?.('name', suggestions?.nameEn)} + onDismissSuggestion={() => onDismissSuggestion?.('name')} /> - onAcceptSuggestion?.('nameJp', suggestions?.nameJp)} + onDismissSuggestion={() => onDismissSuggestion?.('nameJp')} /> + {:else} diff --git a/src/lib/features/database/weapons/sections/WeaponMetadataSection.svelte b/src/lib/features/database/weapons/sections/WeaponMetadataSection.svelte index 6c948e64..8f5d908c 100644 --- a/src/lib/features/database/weapons/sections/WeaponMetadataSection.svelte +++ b/src/lib/features/database/weapons/sections/WeaponMetadataSection.svelte @@ -23,19 +23,27 @@ {#if editMode} - onAcceptSuggestion?.('name', suggestions?.nameEn)} + onDismissSuggestion={() => onDismissSuggestion?.('name')} /> - onAcceptSuggestion?.('nameJp', suggestions?.nameJp)} + onDismissSuggestion={() => onDismissSuggestion?.('nameJp')} /> ({ value: Number(value), diff --git a/src/routes/(app)/database/characters/import/+page.svelte b/src/routes/(app)/database/characters/import/+page.svelte index 1fa08074..9de9c4c6 100644 --- a/src/routes/(app)/database/characters/import/+page.svelte +++ b/src/routes/(app)/database/characters/import/+page.svelte @@ -13,6 +13,7 @@ buildGamewithUrl, buildKamigameUrl } from '$lib/utils/external-links' + import { getRarityPrefix } from '$lib/utils/rarity' // Components import CharacterUncapSection from '$lib/features/database/characters/sections/CharacterUncapSection.svelte' @@ -83,6 +84,23 @@ // Get selected entity data const selectedEntity = $derived(selectedWikiPage ? entities.get(selectedWikiPage) : null) + // Auto-generate wiki URLs when Name (JP) or Rarity changes + $effect(() => { + if (!selectedWikiPage) return + const formData = formDataByPage[selectedWikiPage] + if (!formData) return + + const nameJp = formData.nameJp + const rarity = formData.rarity + + if (nameJp) { + // Auto-generate wikiJa: "Name (JP) (SSR)" + formData.wikiJa = `${nameJp} (${getRarityPrefix(rarity)})` + // Auto-generate kamigame: "Name (JP)" for characters (no rarity prefix) + formData.kamigame = nameJp + } + }) + // Entity tabs for TabbedEntitySelector const entityTabs = $derived( Array.from(entities.entries()).map(([wikiPage, entity]) => ({ @@ -427,31 +445,6 @@ {:else if selectedWikiPage && formDataByPage[selectedWikiPage]}
- - - - - - - { + if (!selectedWikiPage) return + const formData = formDataByPage[selectedWikiPage] + if (!formData) return + + const nameJp = formData.nameJp + const rarity = formData.rarity + + if (nameJp) { + // Auto-generate wikiJa: "Name (JP) (SSR)" + formData.wikiJa = `${nameJp} (${getRarityPrefix(rarity)})` + // Auto-generate kamigame: "SSRName (JP)" for summons + formData.kamigame = `${getRarityPrefix(rarity)}${nameJp}` + } + }) + // Entity tabs for TabbedEntitySelector const entityTabs = $derived( Array.from(entities.entries()).map(([wikiPage, entity]) => ({ @@ -406,31 +424,6 @@ {:else if selectedWikiPage && formDataByPage[selectedWikiPage]}
- - - - - - { + if (!selectedWikiPage) return + const formData = formDataByPage[selectedWikiPage] + if (!formData) return + + const nameJp = formData.nameJp + const rarity = formData.rarity + + if (nameJp) { + // Auto-generate wikiJa: "Name (JP) (SSR)" + formData.wikiJa = `${nameJp} (${getRarityPrefix(rarity)})` + // Auto-generate kamigame: "SSRName (JP)" for weapons + formData.kamigame = `${getRarityPrefix(rarity)}${nameJp}` + } + }) + // Entity tabs for TabbedEntitySelector const entityTabs = $derived( Array.from(entities.entries()).map(([wikiPage, entity]) => ({ @@ -420,23 +438,6 @@ {:else if selectedWikiPage && formDataByPage[selectedWikiPage]}
- - - - -