From a51b57258e66de0c4628c1d90929f60b816fcb80 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 13 May 2024 03:47:09 -0700 Subject: feat(badges): remove source from tooltip --- src/lib/User/BadgeWall/Badges.svelte | 5 ----- src/lib/User/BadgeWall/FallbackBadge.svelte | 5 +++-- src/lib/User/BadgeWall/badge.ts | 13 +++++++++++++ 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}` : ''}`} > + 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; +}; -- cgit v1.2.3