From 995b04f7557092cd8acc39d11791c7dbf21d431c Mon Sep 17 00:00:00 2001 From: Innei Date: Sun, 2 Jul 2023 12:18:19 +0800 Subject: [PATCH] feat: add media info Signed-off-by: Innei --- public/apps/cmusic.png | Bin 0 -> 43108 bytes src/app/(page-detail)/[slug]/layout.tsx | 5 +-- src/app/layout.tsx | 8 +++- .../[category]/[slug]/layout.tsx | 22 +++++------ .../layout/header/internal/Activity.tsx | 37 ++++++++++++++---- .../widgets/comment/CommentRoot.tsx | 8 ++-- 6 files changed, 53 insertions(+), 27 deletions(-) create mode 100644 public/apps/cmusic.png diff --git a/public/apps/cmusic.png b/public/apps/cmusic.png new file mode 100644 index 0000000000000000000000000000000000000000..32091be9617cdba992b0b23f5df6819d12fc0315 GIT binary patch literal 43108 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 literal 0 HcmV?d00001 diff --git a/src/app/(page-detail)/[slug]/layout.tsx b/src/app/(page-detail)/[slug]/layout.tsx index 5cb0a9edcb..29efa0bb4f 100644 --- a/src/app/(page-detail)/[slug]/layout.tsx +++ b/src/app/(page-detail)/[slug]/layout.tsx @@ -119,10 +119,7 @@ export default async (props: NextPageParams) => { {isCN ? ( ) : ( - + )} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 31e006cd03..cd47b496a9 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -2,6 +2,7 @@ import '../styles/index.css' import { Analytics } from '@vercel/analytics/react' import { ToastContainer } from 'react-toastify' +import type { AggregateRoot } from '@mx-space/api-client' import { ClerkProvider } from '@clerk/nextjs' @@ -20,8 +21,11 @@ import { init } from './init' init() +let aggregationData: AggregateRoot | null = null export const generateMetadata = defineMetadata(async (_, getData) => { - const { seo, url, user } = await getData() + const fetchedData = aggregationData ?? (await getData()) + aggregationData = fetchedData + const { seo, url, user } = fetchedData return { metadataBase: new URL(url.webUrl), @@ -93,6 +97,8 @@ export default async function RootLayout(props: Props) { ...queries.aggregation.root(), }) + aggregationData = data + return ( // diff --git a/src/app/posts/(post-detail)/[category]/[slug]/layout.tsx b/src/app/posts/(post-detail)/[category]/[slug]/layout.tsx index b498416435..775b27bf9b 100644 --- a/src/app/posts/(post-detail)/[category]/[slug]/layout.tsx +++ b/src/app/posts/(post-detail)/[category]/[slug]/layout.tsx @@ -89,20 +89,20 @@ export default async (props: NextPageParams) => {
{props.children} + + + {isCN ? ( + + ) : ( + + )} + - - - {isCN ? ( - - ) : ( - - )} -
) diff --git a/src/components/layout/header/internal/Activity.tsx b/src/components/layout/header/internal/Activity.tsx index 4bee7b4c39..00a9d6a80f 100644 --- a/src/components/layout/header/internal/Activity.tsx +++ b/src/components/layout/header/internal/Activity.tsx @@ -34,20 +34,28 @@ const appLabels: { [app: string]: string } = { NeteaseMusic: 'netease', iTerm2: 'iterm2', Xcode: 'xcode', + + cmusic: 'cmusic', } // autocorrect: true export function Activity() { const [isEnabled, setIsEnabled] = useState(true) - const { data: processName } = useQuery( + const { data } = useQuery( ['activity'], async () => { return await apiClient.proxy.fn.ps.update - .post() - .then((res) => res as string) + .post<{ + processName: string + mediaInfo?: { + title: string + artist: string + } + }>() + .then((res) => res) .catch((err: RequestError) => { err.status === 404 && setIsEnabled(false) - return '' + return { processName: '', mediaInfo: undefined } }) }, { @@ -58,12 +66,13 @@ export function Activity() { ) const ownerName = useAggregationSelector((data) => data.user.name) const memoProcessName = useMemo( - () => ({ processName: processName! }), - [processName], + () => ({ processName: data?.processName || '' }), + [data?.processName], ) - if (!processName) { + if (!data) { return null } + const { processName, mediaInfo: media } = data if (!appLabels[processName]) { console.log('Not collected process name: ', processName) return null @@ -71,6 +80,18 @@ export function Activity() { return ( + {!!media && ( + + + {ownerName} 正在听 {media.title} - {media.artist} + + + )} + ) } - +const cMusicProps = { processName: 'cmusic' } const TriggerComponent = memo<{ processName: string }>(({ processName }) => { diff --git a/src/components/widgets/comment/CommentRoot.tsx b/src/components/widgets/comment/CommentRoot.tsx index 064f5bb933..c941cd6ffe 100644 --- a/src/components/widgets/comment/CommentRoot.tsx +++ b/src/components/widgets/comment/CommentRoot.tsx @@ -13,7 +13,9 @@ export const CommentAreaRoot: FC< allowComment: boolean } > = (props) => { - if (!props.allowComment) { + const { allowComment, refId } = props + // 兜下后端的数据,默认开 + if (allowComment && typeof allowComment !== 'undefined') { return (

评论已关闭

) @@ -22,10 +24,10 @@ export const CommentAreaRoot: FC< return (
- +
- +
)