feat: 💨

This commit is contained in:
codytseng
2025-12-15 21:57:54 +08:00
parent 36f6d810ac
commit 4eb68d36d4
18 changed files with 58 additions and 20 deletions

View File

@@ -18,7 +18,7 @@ import client from '@/services/client.service'
import userAggregationService, { TUserAggregation } from '@/services/user-aggregation.service' import userAggregationService, { TUserAggregation } from '@/services/user-aggregation.service'
import { TFeedSubRequest } from '@/types' import { TFeedSubRequest } from '@/types'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import { History, Loader, Pin, PinOff } from 'lucide-react' import { History, Loader, Star } from 'lucide-react'
import { Event, kinds } from 'nostr-tools' import { Event, kinds } from 'nostr-tools'
import { import {
forwardRef, forwardRef,
@@ -563,9 +563,13 @@ function UserAggregationItem({
? 'text-primary hover:text-primary/80' ? 'text-primary hover:text-primary/80'
: 'text-muted-foreground hover:text-foreground' : 'text-muted-foreground hover:text-foreground'
}`} }`}
title={pinned ? t('Unpin') : t('Pin')} title={pinned ? t('Unfollow Special') : t('Special Follow')}
> >
{loading ? <Loader className="animate-spin" /> : pinned ? <PinOff /> : <Pin />} {loading ? (
<Loader className="animate-spin" />
) : (
<Star className={pinned ? 'fill-primary stroke-primary' : ''} />
)}
</Button> </Button>
<button <button

View File

@@ -579,6 +579,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'متابعة خاصة',
'Unfollow Special': 'إلغاء المتابعة الخاصة'
} }
} }

View File

@@ -595,6 +595,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'Besonders Folgen',
'Unfollow Special': 'Besonders Entfolgen'
} }
} }

View File

@@ -582,6 +582,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'Special Follow',
'Unfollow Special': 'Unfollow Special'
} }
} }

View File

@@ -591,6 +591,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'Seguir Especial',
'Unfollow Special': 'Dejar de Seguir Especial'
} }
} }

View File

@@ -585,6 +585,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'دنبال کردن ویژه',
'Unfollow Special': 'لغو دنبال کردن ویژه'
} }
} }

View File

@@ -594,6 +594,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'Suivre Spécial',
'Unfollow Special': 'Ne Plus Suivre Spécial'
} }
} }

View File

@@ -586,6 +586,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'विशेष फ़ॉलो',
'Unfollow Special': 'विशेष अनफ़ॉलो'
} }
} }

View File

@@ -580,6 +580,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'Különleges Követés',
'Unfollow Special': 'Különleges Követés Megszüntetése'
} }
} }

View File

@@ -590,6 +590,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'Segui Speciale',
'Unfollow Special': 'Smetti di Seguire Speciale'
} }
} }

View File

@@ -585,6 +585,8 @@ export default {
'Hide completely': '完全に非表示', 'Hide completely': '完全に非表示',
'Show but hide content': '表示するがコンテンツを非表示', 'Show but hide content': '表示するがコンテンツを非表示',
'Show directly': '直接表示', 'Show directly': '直接表示',
'Click to view': 'クリックして表示' 'Click to view': 'クリックして表示',
'Special Follow': '特別フォロー',
'Unfollow Special': '特別フォロー解除'
} }
} }

View File

@@ -584,6 +584,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': '특별 팔로우',
'Unfollow Special': '특별 팔로우 해제'
} }
} }

View File

@@ -591,6 +591,8 @@ export default {
'Hide completely': 'Ukryj całkowicie', 'Hide completely': 'Ukryj całkowicie',
'Show but hide content': 'Pokaż, ale ukryj treść', 'Show but hide content': 'Pokaż, ale ukryj treść',
'Show directly': 'Pokaż bezpośrednio', 'Show directly': 'Pokaż bezpośrednio',
'Click to view': 'Wyświetl' 'Click to view': 'Wyświetl',
'Special Follow': 'Specjalne Śledzenie',
'Unfollow Special': 'Cofnij Specjalne Śledzenie'
} }
} }

View File

@@ -586,6 +586,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'Seguir Especial',
'Unfollow Special': 'Deixar de Seguir Especial'
} }
} }

View File

@@ -589,6 +589,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'Seguir Especial',
'Unfollow Special': 'Deixar de Seguir Especial'
} }
} }

View File

@@ -591,6 +591,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'Особая Подписка',
'Unfollow Special': 'Отменить Особую Подписку'
} }
} }

View File

@@ -578,6 +578,8 @@ export default {
'Hide completely': 'Hide completely', 'Hide completely': 'Hide completely',
'Show but hide content': 'Show but hide content', 'Show but hide content': 'Show but hide content',
'Show directly': 'Show directly', 'Show directly': 'Show directly',
'Click to view': 'Click to view' 'Click to view': 'Click to view',
'Special Follow': 'ติดตามพิเศษ',
'Unfollow Special': 'ยกเลิกติดตามพิเศษ'
} }
} }

View File

@@ -571,6 +571,8 @@ export default {
'Hide completely': '完全隐藏', 'Hide completely': '完全隐藏',
'Show but hide content': '显示但隐藏内容', 'Show but hide content': '显示但隐藏内容',
'Show directly': '直接显示', 'Show directly': '直接显示',
'Click to view': '点击查看' 'Click to view': '点击查看',
'Special Follow': '特别关注',
'Unfollow Special': '取消特别关注'
} }
} }