- {isLoading ? '加载中...' : error ? '请求错误' : data?.data} + {isLoading ? '加载中...' : error ? '请求错误' : data?.summary}
{isLoading && (
diff --git a/src/hooks/app/use-ack-read-count.ts b/src/hooks/app/use-ack-read-count.ts
new file mode 100644
index 000000000..be8e1f01a
--- /dev/null
+++ b/src/hooks/app/use-ack-read-count.ts
@@ -0,0 +1,11 @@
+import { useEffect } from "react"
+import { apiClient } from "~/utils/client"
+
+export const useAckReadCount = (
+ type: 'post' | 'note',
+ id: string
+) => {
+ useEffect(() => {
+ apiClient.ack.read(type, id)
+ }, [id])
+}
\ No newline at end of file
diff --git a/src/hooks/app/use-music.ts b/src/hooks/app/use-music.ts
index afb57a4f0..967ff1f3d 100644
--- a/src/hooks/app/use-music.ts
+++ b/src/hooks/app/use-music.ts
@@ -1,7 +1,4 @@
-import { useEffect, useMemo } from 'react'
-
-import type { NoteMusicRecord } from '@mx-space/api-client'
-
+import { useEffect } from 'react'
import { useMusicStore } from '~/atoms/music'
export const useMusic = (musicList: number[] | null) => {
@@ -24,13 +21,6 @@ export const useMusic = (musicList: number[] | null) => {
}, [musicList])
}
-export const useNoteMusic = (music?: NoteMusicRecord[]) => {
- const ids = useMemo(
- () =>
- music && Array.isArray(music) && music.length > 0
- ? music.filter((m) => m.id && m.type === 'netease').map((m) => ~~m.id)
- : null,
- [music],
- )
- useMusic(ids)
+export const useNoteMusic = (music?: string) => {
+ useMusic(music ? [parseInt(music)] : null)
}
diff --git a/src/pages/notes/[id].tsx b/src/pages/notes/[id].tsx
index e1507363e..9afb7ca45 100644
--- a/src/pages/notes/[id].tsx
+++ b/src/pages/notes/[id].tsx
@@ -50,6 +50,7 @@ import { noop } from '~/utils/utils'
import { Seo } from '../../components/app/Seo'
import { isDev } from '../../utils/env'
+import { AckRead } from '~/components/common/AckRead'
const NoteTopic = lazy(() =>
import('~/components/in-page/Note/NoteTopic').then((mo) => ({
@@ -159,7 +160,8 @@ const NoteView: React.FC<{ id: string }> = memo((props) => {
note.title,
`手记${note.topic ? ` / ${note.topic.name}` : ''}`,
)
- useNoteMusic(note.music)
+ // Music is deprecated. Use custom meta instead.
+ useNoteMusic(note.meta?.music)
useJumpToSimpleMarkdownRender(note.id)
const { title, id, text } = note
@@ -178,9 +180,9 @@ const NoteView: React.FC<{ id: string }> = memo((props) => {
}`
}, [note.count.like, note.count.read, note.created, note.modified, wordCount])
- const isSecret = note.secret ? dayjs(note.secret).isAfter(new Date()) : false
- const secretDate = useMemo(() => new Date(note.secret!), [note.secret])
- const dateFormat = note.secret
+ const isSecret = note.publicAt ? dayjs(note.publicAt).isAfter(new Date()) : false
+ const secretDate = useMemo(() => new Date(note.publicAt!), [note.publicAt])
+ const dateFormat = note.publicAt
? Intl.DateTimeFormat('zh-cn', {
hour12: false,
hour: 'numeric',
@@ -214,6 +216,7 @@ const NoteView: React.FC<{ id: string }> = memo((props) => {
return (
<>
+