feat: emoji packs

This commit is contained in:
codytseng 2025-11-07 22:36:07 +08:00
parent 0e550d2511
commit 1e2385da3b
41 changed files with 646 additions and 59 deletions

View file

@ -341,6 +341,15 @@ export function createPinListDraftEvent(tags: string[][], content = ''): TDraftE
}
}
export function createUserEmojiListDraftEvent(tags: string[][], content = ''): TDraftEvent {
return {
kind: kinds.UserEmojiList,
content,
tags,
created_at: dayjs().unix()
}
}
export function createBlossomServerListDraftEvent(servers: string[]): TDraftEvent {
return {
kind: ExtendedKind.BLOSSOM_SERVER_LIST,

View file

@ -355,11 +355,14 @@ export function getEmojisAndEmojiSetsFromEvent(event: Event) {
return { emojis, emojiSetPointers }
}
export function getEmojisFromEvent(event: Event): TEmoji[] {
export function getEmojiPackInfoFromEvent(event: Event) {
let title: string | undefined
const emojis: TEmoji[] = []
event.tags.forEach(([tagName, ...tagValues]) => {
if (tagName === 'emoji' && tagValues.length >= 2) {
if (tagName === 'title' && tagValues[0]) {
title = tagValues[0]
} else if (tagName === 'emoji' && tagValues.length >= 2) {
emojis.push({
shortcode: tagValues[0],
url: tagValues[1]
@ -367,7 +370,12 @@ export function getEmojisFromEvent(event: Event): TEmoji[] {
}
})
return emojis
return { title, emojis }
}
export function getEmojisFromEvent(event: Event): TEmoji[] {
const info = getEmojiPackInfoFromEvent(event)
return info.emojis
}
export function getStarsFromRelayReviewEvent(event: Event): number {

View file

@ -71,6 +71,7 @@ export const toPostSettings = () => '/settings/posts'
export const toGeneralSettings = () => '/settings/general'
export const toAppearanceSettings = () => '/settings/appearance'
export const toTranslation = () => '/settings/translation'
export const toEmojiPackSettings = () => '/settings/emoji-packs'
export const toProfileEditor = () => '/profile-editor'
export const toRelay = (url: string) => `/relays/${encodeURIComponent(url)}`
export const toRelayReviews = (url: string) => `/relays/${encodeURIComponent(url)}/reviews`