From 40274ef28c5f16ed8b87905e5204e39225786eeb Mon Sep 17 00:00:00 2001 From: xmflsct Date: Tue, 18 Apr 2023 22:53:50 +0200 Subject: [PATCH] Add new neodb cards --- fastlane/metadata/zh-Hans/release_notes.txt | 3 +- src/components/Timeline/Shared/Card/Neodb.tsx | 71 +++++++++++++------ 2 files changed, 52 insertions(+), 22 deletions(-) diff --git a/fastlane/metadata/zh-Hans/release_notes.txt b/fastlane/metadata/zh-Hans/release_notes.txt index 2fa814ec..e358eec0 100644 --- a/fastlane/metadata/zh-Hans/release_notes.txt +++ b/fastlane/metadata/zh-Hans/release_notes.txt @@ -1,2 +1,3 @@ toooting愉快!此版本包括以下改进和修复: -- 新增希腊语 \ No newline at end of file +- 新增希腊语 +- 新增neodb专辑、播客及剧集卡片 \ No newline at end of file diff --git a/src/components/Timeline/Shared/Card/Neodb.tsx b/src/components/Timeline/Shared/Card/Neodb.tsx index 0e8c453e..2e02f28a 100644 --- a/src/components/Timeline/Shared/Card/Neodb.tsx +++ b/src/components/Timeline/Shared/Card/Neodb.tsx @@ -17,20 +17,17 @@ export const CardNeodb: React.FC = ({ card }) => { const { colors } = useTheme() const segments = Linking.parse(card.url).path?.split('/') - if ( - !segments || - !( - segments[0] === 'movie' || - segments[0] === 'book' || - (segments[0] === 'tv' && segments[1] !== 'season') || - segments[0] === 'game' - ) - ) + if (!segments || !['movie', 'book', 'tv', 'game', 'album', 'podcast'].includes(segments[0])) return null const [headingLines, setHeadingLines] = useState(3) - const { data } = useNeodbQuery({ path: `${segments[0]}/${segments[1]}` }) + const { data } = useNeodbQuery({ + path: + segments[0] === 'tv' && segments[1] === 'season' + ? `${segments[0]}${segments[1]}/${segments[2]}` + : `${segments[0]}/${segments[1]}` + }) if (!data) return null @@ -110,17 +107,32 @@ export const CardNeodb: React.FC = ({ card }) => { /> ) case 'tv': - return ( - - ) + if (segments[1] === 'season') { + return ( + + ) + } else { + return ( + + ) + } case 'game': return ( = ({ card }) => { ]} /> ) + case 'album': + return ( + + ) + case 'podcast': + return ( + + ) default: return null }