feat: refactor website icon handling by moving utility functions to a dedicated module

This commit is contained in:
shuaiplus
2026-04-29 00:20:17 +08:00
parent 68ded534a4
commit 3c5f43ecc2
5 changed files with 29 additions and 47 deletions
+24
View File
@@ -0,0 +1,24 @@
import type { Cipher } from './types';
export function firstCipherUri(cipher: Cipher): string {
const uris = cipher.login?.uris || [];
for (const uri of uris) {
const raw = uri.decUri || uri.uri || '';
if (raw.trim()) return raw.trim();
}
return '';
}
export function hostFromUri(uri: string): string {
if (!uri.trim()) return '';
try {
const normalized = /^https?:\/\//i.test(uri) ? uri : `https://${uri}`;
return new URL(normalized).hostname || '';
} catch {
return '';
}
}
export function websiteIconUrl(host: string): string {
return `/icons/${encodeURIComponent(host)}/icon.png?fallback=404`;
}