feat: hashes in avatar file names (closes #19)

This commit is contained in:
Sam 2023-03-13 02:04:09 +01:00
parent e36bd247f5
commit 163e7c3fd6
Signed by: sam
GPG key ID: B4EF20DDE721CAA1
17 changed files with 133 additions and 77 deletions

View file

@ -1,9 +1,11 @@
import { PUBLIC_BASE_URL } from "$env/static/public";
export interface User {
id: string;
name: string;
display_name: string | null;
bio: string | null;
avatar_urls: string[];
avatar: string | null;
links: string[];
names: FieldEntry[];
@ -47,7 +49,7 @@ export interface PartialMember {
name: string;
display_name: string | null;
bio: string | null;
avatar_urls: string[];
avatar: string | null;
links: string[];
names: FieldEntry[];
pronouns: Pronoun[];
@ -63,7 +65,7 @@ export interface MemberPartialUser {
id: string;
name: string;
display_name: string | null;
avatar_urls: string[];
avatar: string | null;
}
export interface APIError {
@ -98,3 +100,21 @@ export enum ErrorCode {
RequestTooBig = 4001,
}
export const userAvatars = (user: User | MeUser | MemberPartialUser) => {
if (!user.avatar) return [];
return [
`${PUBLIC_BASE_URL}/media/users/${user.id}/${user.avatar}.webp`,
`${PUBLIC_BASE_URL}/media/users/${user.id}/${user.avatar}.webp`,
];
};
export const memberAvatars = (member: Member | PartialMember) => {
if (!member.avatar) return [];
return [
`${PUBLIC_BASE_URL}/media/members/${member.id}/${member.avatar}.webp`,
`${PUBLIC_BASE_URL}/media/members/${member.id}/${member.avatar}.webp`,
];
};