Compare commits

...

4 Commits

Author SHA1 Message Date
Tim 4802c78156 refactor: switch notification icons to iconpark 2025-09-06 13:50:39 +08:00
tim 05d56df44e fix 2025-09-06 11:47:18 +08:00
Tim 5b0cbe8ce9 Merge pull request #898 from nagisa77/codex/adapt-basetimeline-for-icon-park
Adapt BaseTimeline for IconPark icons
2025-09-06 11:44:42 +08:00
Tim 140d33d024 feat: support IconPark icons in BaseTimeline 2025-09-06 11:44:13 +08:00
3 changed files with 28 additions and 24 deletions
+5 -1
View File
@@ -7,7 +7,11 @@
@click="item.iconClick && item.iconClick()" @click="item.iconClick && item.iconClick()"
> >
<BaseImage v-if="item.src" :src="item.src" class="timeline-img" alt="timeline item" /> <BaseImage v-if="item.src" :src="item.src" class="timeline-img" alt="timeline item" />
<i v-else-if="item.icon" :class="item.icon"></i> <component
v-else-if="item.icon && (typeof item.icon !== 'string' || !item.icon.includes(' '))"
:is="item.icon"
:size="20"
/>
<BaseImage v-else-if="item.emoji" :src="item.emoji" class="timeline-emoji" alt="emoji" /> <BaseImage v-else-if="item.emoji" :src="item.emoji" class="timeline-emoji" alt="emoji" />
</div> </div>
<div class="timeline-content"> <div class="timeline-content">
+22 -22
View File
@@ -9,28 +9,28 @@ export const notificationState = reactive({
}) })
const iconMap = { const iconMap = {
POST_VIEWED: 'fas fa-eye', POST_VIEWED: 'HistoryIcon',
COMMENT_REPLY: 'fas fa-reply', COMMENT_REPLY: 'MessageOne',
POST_REVIEWED: 'fas fa-shield-alt', POST_REVIEWED: 'CheckCorrect',
POST_REVIEW_REQUEST: 'fas fa-gavel', POST_REVIEW_REQUEST: 'FileText',
POST_UPDATED: 'fas fa-comment-dots', POST_UPDATED: 'Edit',
USER_ACTIVITY: 'fas fa-user', USER_ACTIVITY: 'UserIcon',
FOLLOWED_POST: 'fas fa-feather-alt', FOLLOWED_POST: 'Pin',
USER_FOLLOWED: 'fas fa-user-plus', USER_FOLLOWED: 'AddUser',
USER_UNFOLLOWED: 'fas fa-user-minus', USER_UNFOLLOWED: 'ReduceUser',
POST_SUBSCRIBED: 'fas fa-bookmark', POST_SUBSCRIBED: 'Bookmark',
POST_UNSUBSCRIBED: 'fas fa-bookmark', POST_UNSUBSCRIBED: 'Bookmark',
REGISTER_REQUEST: 'fas fa-user-clock', REGISTER_REQUEST: 'AlarmClock',
ACTIVITY_REDEEM: 'fas fa-coffee', ACTIVITY_REDEEM: 'PaperMoneyTwo',
POINT_REDEEM: 'fas fa-gift', POINT_REDEEM: 'Gift',
LOTTERY_WIN: 'fas fa-trophy', LOTTERY_WIN: 'MedalOne',
LOTTERY_DRAW: 'fas fa-bullhorn', LOTTERY_DRAW: 'Fireworks',
POLL_VOTE: 'fas fa-square-poll-vertical', POLL_VOTE: 'ChartHistogram',
POLL_RESULT_OWNER: 'fas fa-flag-checkered', POLL_RESULT_OWNER: 'RankingList',
POLL_RESULT_PARTICIPANT: 'fas fa-flag-checkered', POLL_RESULT_PARTICIPANT: 'ChartLine',
MENTION: 'fas fa-at', MENTION: 'HashtagKey',
POST_DELETED: 'fas fa-trash', POST_DELETED: 'ClearIcon',
POST_FEATURED: 'fas fa-star', POST_FEATURED: 'Star',
} }
export async function fetchUnreadCount() { export async function fetchUnreadCount() {
+1 -1
View File
@@ -23,7 +23,7 @@ export default (apiBaseUrl, websiteBaseUrl) => {
return ( return (
body.map((item) => ({ body.map((item) => ({
value: `[🔗${item.title}](${websiteBaseUrl}/posts/${item.id})`, value: `[🔗${item.title}](${websiteBaseUrl}/posts/${item.id})`,
html: `<div><i class="fas fa-link"></i> ${item.title}</div>`, html: `<div><link-icon /> ${item.title}</div>`,
})) ?? [] })) ?? []
) )
} else { } else {