diff --git a/src/lib/api/adapters/search.adapter.ts b/src/lib/api/adapters/search.adapter.ts index c13fbea9..d0085ef3 100644 --- a/src/lib/api/adapters/search.adapter.ts +++ b/src/lib/api/adapters/search.adapter.ts @@ -54,6 +54,8 @@ export interface SearchResult { series?: number /** URL for entity image */ imageUrl?: string + /** Type of entity (lowercase for compatibility) */ + type?: 'weapon' | 'character' | 'summon' /** Type of entity */ searchableType: 'Weapon' | 'Character' | 'Summon' } @@ -294,4 +296,4 @@ export class SearchAdapter extends BaseAdapter { * Default singleton instance for search operations * Use this for most search needs unless you need custom configuration */ -export const searchAdapter = new SearchAdapter(DEFAULT_ADAPTER_CONFIG) \ No newline at end of file +export const searchAdapter = new SearchAdapter(DEFAULT_ADAPTER_CONFIG) diff --git a/src/lib/components/Navigation.svelte b/src/lib/components/Navigation.svelte index 3cd6a15d..93a93181 100644 --- a/src/lib/components/Navigation.svelte +++ b/src/lib/components/Navigation.svelte @@ -191,7 +191,7 @@ - + @@ -201,7 +201,7 @@ {/if} {#if isAuth} - + {/if} diff --git a/src/lib/components/extra/GuidebookUnit.svelte b/src/lib/components/extra/GuidebookUnit.svelte index fa6ca6fa..605e06f9 100644 --- a/src/lib/components/extra/GuidebookUnit.svelte +++ b/src/lib/components/extra/GuidebookUnit.svelte @@ -1,13 +1,13 @@
    diff --git a/src/lib/components/sidebar/details/ItemHeader.svelte b/src/lib/components/sidebar/details/ItemHeader.svelte index 654de54b..d422801a 100644 --- a/src/lib/components/sidebar/details/ItemHeader.svelte +++ b/src/lib/components/sidebar/details/ItemHeader.svelte @@ -12,8 +12,8 @@ type: 'character' | 'weapon' | 'summon' item: GridCharacter | GridWeapon | GridSummon itemData: any - gridUncapLevel: number | null - gridTranscendence: number | null + gridUncapLevel: number | null | undefined + gridTranscendence: number | null | undefined } let { type, item, itemData, gridUncapLevel, gridTranscendence }: Props = $props() diff --git a/src/lib/components/ui/dropdown/DropdownItem.svelte b/src/lib/components/ui/dropdown/DropdownItem.svelte index 5399dadb..b8176ed3 100644 --- a/src/lib/components/ui/dropdown/DropdownItem.svelte +++ b/src/lib/components/ui/dropdown/DropdownItem.svelte @@ -7,21 +7,22 @@ type Props = { children: Snippet href?: string - asChild?: boolean class?: string } - const { children, href, asChild = false, class: className = '' }: Props = $props() + const { children, href, class: className = '' }: Props = $props() {#if href} - - - {@render children()} - + + {#snippet child({ props })} + + {@render children()} + + {/snippet} {:else} - + {@render children()} {/if} diff --git a/src/lib/components/uncap/TranscendenceStar.svelte b/src/lib/components/uncap/TranscendenceStar.svelte index 7205e8c2..d1faa6d8 100644 --- a/src/lib/components/uncap/TranscendenceStar.svelte +++ b/src/lib/components/uncap/TranscendenceStar.svelte @@ -10,7 +10,7 @@ type?: 'character' | 'weapon' | 'summon' editable?: boolean interactive?: boolean - tabIndex?: number + tabindex?: number onStarClick?: () => void onFragmentClick?: (newStage: number) => void onFragmentHover?: (newStage: number) => void @@ -22,7 +22,7 @@ type = 'character', editable = false, interactive = false, - tabIndex, + tabindex, onStarClick, onFragmentClick, onFragmentHover @@ -168,7 +168,7 @@ onclick={handleClick} onmouseleave={interactive ? handleMouseLeave : undefined} bind:this={starElement} - {tabIndex} + {tabindex} role={editable ? 'button' : undefined} aria-label={editable ? 'Transcendence star' : undefined} > @@ -399,4 +399,4 @@ transform: translateY(0); } } - \ No newline at end of file + diff --git a/src/lib/components/uncap/UncapIndicator.svelte b/src/lib/components/uncap/UncapIndicator.svelte index 413cb5a4..8e960b20 100644 --- a/src/lib/components/uncap/UncapIndicator.svelte +++ b/src/lib/components/uncap/UncapIndicator.svelte @@ -6,17 +6,17 @@ interface Props { type: 'character' | 'weapon' | 'summon' - rarity?: number - uncapLevel?: number - transcendenceStage?: number - flb?: boolean - ulb?: boolean - transcendence?: boolean - special?: boolean - className?: string - editable?: boolean - updateUncap?: (index: number) => void - updateTranscendence?: (index: number) => void + rarity?: number | undefined + uncapLevel?: number | null | undefined + transcendenceStage?: number | null | undefined + flb?: boolean | undefined + ulb?: boolean | undefined + transcendence?: boolean | undefined + special?: boolean | undefined + className?: string | undefined + editable?: boolean | undefined + updateUncap?: ((index: number) => void) | undefined + updateTranscendence?: ((index: number) => void) | undefined } interface StarRender { @@ -182,4 +182,4 @@ padding: 0; align-items: center; } - \ No newline at end of file + diff --git a/src/lib/components/uncap/UncapStar.svelte b/src/lib/components/uncap/UncapStar.svelte index 356cfbbc..b49a7b2d 100644 --- a/src/lib/components/uncap/UncapStar.svelte +++ b/src/lib/components/uncap/UncapStar.svelte @@ -7,7 +7,7 @@ flb?: boolean ulb?: boolean index: number - tabIndex?: number + tabindex?: number onStarClick: (index: number, empty: boolean) => void } @@ -17,7 +17,7 @@ flb = false, ulb = false, index, - tabIndex, + tabindex, onStarClick }: Props = $props() @@ -33,7 +33,7 @@ class:mlb={!special} class:flb class:ulb - {tabIndex} + {tabindex} onclick={handleClick} role="button" aria-label="Uncap star" @@ -106,4 +106,4 @@ } } } - \ No newline at end of file + diff --git a/src/lib/features/description/openDescriptionSidebar.svelte.ts b/src/lib/features/description/openDescriptionSidebar.svelte.ts index 09a20b1f..58d2a89e 100644 --- a/src/lib/features/description/openDescriptionSidebar.svelte.ts +++ b/src/lib/features/description/openDescriptionSidebar.svelte.ts @@ -2,10 +2,10 @@ import { sidebar } from '$lib/stores/sidebar.svelte' import DescriptionSidebar from '$lib/components/sidebar/DescriptionSidebar.svelte' interface DescriptionSidebarOptions { - title?: string - description?: string - canEdit?: boolean - onEdit?: () => void + title?: string | undefined + description?: string | undefined + canEdit?: boolean | undefined + onEdit?: (() => void) | undefined } export function openDescriptionSidebar(options: DescriptionSidebarOptions) { @@ -22,4 +22,4 @@ export function openDescriptionSidebar(options: DescriptionSidebarOptions) { export function closeDescriptionSidebar() { sidebar.close() -} \ No newline at end of file +} diff --git a/src/lib/features/job/openJobSidebar.svelte.ts b/src/lib/features/job/openJobSidebar.svelte.ts index c001fdc0..cff1446d 100644 --- a/src/lib/features/job/openJobSidebar.svelte.ts +++ b/src/lib/features/job/openJobSidebar.svelte.ts @@ -5,16 +5,16 @@ import type { Job, JobSkill } from '$lib/types/api/entities' import type { JobSkillList } from '$lib/types/api/party' interface JobSelectionOptions { - currentJobId?: string - onSelectJob?: (job: Job) => void + currentJobId?: string | undefined + onSelectJob?: ((job: Job) => void) | undefined } interface JobSkillSelectionOptions { - job?: Job - currentSkills?: JobSkillList + job?: Job | undefined + currentSkills?: JobSkillList | undefined targetSlot: number - onSelectSkill?: (skill: JobSkill) => void - onRemoveSkill?: () => void + onSelectSkill?: ((skill: JobSkill) => void) | undefined + onRemoveSkill?: (() => void) | undefined } export function openJobSelectionSidebar(options: JobSelectionOptions) { @@ -59,4 +59,4 @@ export function openJobSkillSelectionSidebar(options: JobSkillSelectionOptions) export function closeJobSidebar() { sidebar.close() -} \ No newline at end of file +} diff --git a/src/lib/utils/images.ts b/src/lib/utils/images.ts index a5d49330..00759843 100644 --- a/src/lib/utils/images.ts +++ b/src/lib/utils/images.ts @@ -51,8 +51,8 @@ export function getImageUrl( id: string | number | null | undefined, variant: ImageVariant, options?: { - pose?: string // For character poses - element?: number // For element-specific weapon grids + pose?: string | undefined // For character poses + element?: number | undefined // For element-specific weapon grids } ): string { // Return placeholder if no ID @@ -191,4 +191,4 @@ export function getWeaponGridImage( return getImageUrl('weapon', id, 'grid', { element: instanceElement }) } return getImageUrl('weapon', id, 'grid') -} \ No newline at end of file +}