aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-04-30 17:21:43 -0700
committerFuwn <[email protected]>2024-04-30 17:21:43 -0700
commita16e30cac58086da50259aeefcfbe78211ea5dd2 (patch)
tree41b9f0624c4c21fb3dd1195b54484f93b439fd7a /src/lib
parentfeat(BadgePreview): simple source name (diff)
downloaddue.moe-a16e30cac58086da50259aeefcfbe78211ea5dd2.tar.xz
due.moe-a16e30cac58086da50259aeefcfbe78211ea5dd2.zip
feat(BadgePreview): simple designer link
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/User/BadgeWall/BadgePreview.svelte24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/lib/User/BadgeWall/BadgePreview.svelte b/src/lib/User/BadgeWall/BadgePreview.svelte
index 4c374a27..fba6e2e5 100644
--- a/src/lib/User/BadgeWall/BadgePreview.svelte
+++ b/src/lib/User/BadgeWall/BadgePreview.svelte
@@ -61,7 +61,6 @@
};
});
- // generate a tag for the source
const classifySource = (source: string) => {
let name = source;
const sourceLower = source.toLowerCase();
@@ -78,6 +77,24 @@
return `<a href="${source}" target="_blank">${name}</a>`;
};
+
+ const classifyDesigner = (designer: string) => {
+ let name = designer;
+ let userLink = designer;
+ const designerLower = designer.toLowerCase();
+ const anilistUser = designer.match(/https?:\/\/anilist\.co\/user\/([^/]+)\/?/);
+
+ if (anilistUser) {
+ name = anilistUser[1];
+ } else if (designerLower.startsWith('@')) {
+ name = designer.replace('@', '');
+ userLink = `https://anilist.co/user/${name}/`;
+ } else if (!designerLower.startsWith('http')) {
+ userLink = `https://anilist.co/user/${name}/`;
+ }
+
+ return `<a href="${userLink}" target="_blank">@${name}</a>`;
+ };
</script>
{#if selectedBadge}
@@ -120,7 +137,7 @@
{#if selectedBadge.designer}
<b>Designer:</b>
- {#if selectedBadge.designer.startsWith('http')}
+ <!-- {#if selectedBadge.designer.startsWith('http')}
<a href={selectedBadge.designer} target="_blank">
{selectedBadge.designer}
</a>
@@ -130,7 +147,8 @@
</a>
{:else}
{selectedBadge.designer}
- {/if}
+ {/if} -->
+ {@html classifyDesigner(selectedBadge.designer)}
<br />
{/if}