diff --git a/src/lib/components/database/cells/CharacterNameCell.svelte b/src/lib/components/database/cells/CharacterNameCell.svelte
new file mode 100644
index 00000000..ef5439a1
--- /dev/null
+++ b/src/lib/components/database/cells/CharacterNameCell.svelte
@@ -0,0 +1,67 @@
+
+
+
+
+
+
{displayName}
+ {#if hasSeason || hasSeries}
+
+ {#if hasSeason}
+
+ {/if}
+ {#if hasSeries}
+
+ {/if}
+
+ {/if}
+
+
+
diff --git a/src/lib/components/tags/CharacterTag.svelte b/src/lib/components/tags/CharacterTag.svelte
new file mode 100644
index 00000000..c44264e3
--- /dev/null
+++ b/src/lib/components/tags/CharacterTag.svelte
@@ -0,0 +1,182 @@
+
+
+
+
+{#if shouldRender}
+
+ {displayText}
+
+{/if}
+
+
diff --git a/src/routes/(app)/database/characters/+page.svelte b/src/routes/(app)/database/characters/+page.svelte
index 5e536c00..d799fc7d 100644
--- a/src/routes/(app)/database/characters/+page.svelte
+++ b/src/routes/(app)/database/characters/+page.svelte
@@ -6,6 +6,7 @@
// Svelte components
import CharacterImageCell from '$lib/components/database/cells/CharacterImageCell.svelte'
+ import CharacterNameCell from '$lib/components/database/cells/CharacterNameCell.svelte'
import CharacterUncapCell from '$lib/components/database/cells/CharacterUncapCell.svelte'
import DatabaseGridWithProvider from '$lib/components/database/DatabaseGridWithProvider.svelte'
import ElementCell from '$lib/components/database/cells/ElementCell.svelte'
@@ -28,12 +29,7 @@
header: 'Name',
flexgrow: 1,
sort: true,
- template: (nameObj: { en: any; ja: any }) => {
- if (!nameObj) return '—'
- if (typeof nameObj === 'string') return nameObj
- // Handle {en: "...", ja: "..."} structure
- return nameObj.en || nameObj.ja || '—'
- }
+ cell: CharacterNameCell
},
{
id: 'rarity',