aboutsummaryrefslogtreecommitdiff
path: root/src/lib/User
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-05-13 03:47:09 -0700
committerFuwn <[email protected]>2024-05-13 03:47:09 -0700
commita51b57258e66de0c4628c1d90929f60b816fcb80 (patch)
treec19a49014a75c95dd11536f365c2572afe1dd4ec /src/lib/User
parentrefactor(badges): move badges display to component (diff)
downloaddue.moe-a51b57258e66de0c4628c1d90929f60b816fcb80.tar.xz
due.moe-a51b57258e66de0c4628c1d90929f60b816fcb80.zip
feat(badges): remove source from tooltip
Diffstat (limited to 'src/lib/User')
-rw-r--r--src/lib/User/BadgeWall/Badges.svelte5
-rw-r--r--src/lib/User/BadgeWall/FallbackBadge.svelte5
-rw-r--r--src/lib/User/BadgeWall/badge.ts13
3 files changed, 16 insertions, 7 deletions
diff --git a/src/lib/User/BadgeWall/Badges.svelte b/src/lib/User/BadgeWall/Badges.svelte
index 2821ae15..4a73b06c 100644
--- a/src/lib/User/BadgeWall/Badges.svelte
+++ b/src/lib/User/BadgeWall/Badges.svelte
@@ -63,11 +63,6 @@
if (hiddenInput instanceof HTMLInputElement)
hiddenInput.value = badge.hidden ? 'Hidden' : 'Shown';
}}
- title={`${dev ? `${badge.id}\n` : ''}${
- badge.time ? $locale().dateFormatter(databaseTimeToDate(badge.time)) : ''
- }${badge.description ? `, ${badge.description}` : ''}${
- badge.designer ? `\nDesigner: ${badge.designer}` : ''
- }${badge.source ? `\nSource: ${badge.source}` : ''}`}
>
<FallbackImage
source={cdn(thumbnail(badge.image))}
diff --git a/src/lib/User/BadgeWall/FallbackBadge.svelte b/src/lib/User/BadgeWall/FallbackBadge.svelte
index 829cb71b..8317b2e0 100644
--- a/src/lib/User/BadgeWall/FallbackBadge.svelte
+++ b/src/lib/User/BadgeWall/FallbackBadge.svelte
@@ -1,4 +1,5 @@
<script lang="ts">
+ import { classifyDesignerName } from './badge';
import locale from '$stores/locale';
import { tweened } from 'svelte/motion';
import type { Badge } from '../../Database/userBadges';
@@ -67,8 +68,8 @@
content={`${dev && !awc ? `${badge.id}\n` : ''}${
badge.time ? $locale().dateFormatter(databaseTimeToDate(badge.time)) : ''
}${badge.description ? `${awc ? '' : '\n'}${badge.description}` : ''}${
- badge.designer ? `\nDesigner: ${badge.designer}` : ''
- }${badge.source ? `\nSource: ${badge.source}` : ''}`}
+ badge.designer ? `\nDesigner: ${classifyDesignerName(badge.designer)}` : ''
+ }`}
pin={`badge-${awc ? index : badge.id}`}
pinPosition="top"
relative
diff --git a/src/lib/User/BadgeWall/badge.ts b/src/lib/User/BadgeWall/badge.ts
index 7e6b7254..fb02f3c5 100644
--- a/src/lib/User/BadgeWall/badge.ts
+++ b/src/lib/User/BadgeWall/badge.ts
@@ -3,3 +3,16 @@ import type { Badge } from '$lib/Database/userBadges';
export interface IndexedBadge extends Badge {
index: number;
}
+
+export const classifyDesignerName = (designer: string) => {
+ let name = designer;
+ const anilistUser = designer.match(/https?:\/\/anilist\.co\/user\/([^/]+)\/?/);
+
+ if (anilistUser) {
+ name = `@${anilistUser[1]}`;
+ } else if (!designer.toLowerCase().startsWith('@')) {
+ name = `@${designer}`;
+ }
+
+ return name;
+};