@@ -3,7 +3,9 @@ import { StoryViewer } from '@/features/story-viewer/ui/StoryViewer'
33import { useStoryFeedQuery } from '@/entities/story/model/hooks/useStoryFeedQuery'
44import { useQuery } from '@tanstack/react-query'
55import { getStoryDetail } from '@/entities/story/api/getStoryDetail'
6+ import { useProfile } from '@/entities/user/model/hooks/useProfile'
67import { useMemo } from 'react'
8+ import type { StoryFeedItem } from '@/entities/story/model/types'
79
810export const Route = createFileRoute ( '/stories/$user_id' ) ( {
911 component : RouteComponent ,
@@ -12,13 +14,25 @@ export const Route = createFileRoute('/stories/$user_id')({
1214function RouteComponent ( ) {
1315 const { user_id } = Route . useParams ( )
1416 const { data : feedData } = useStoryFeedQuery ( )
17+ const { data : profileData } = useProfile ( Number ( user_id ) )
1518
1619 const { data : detailData , isLoading : isDetailLoading } = useQuery ( {
1720 queryKey : [ 'stories' , 'user' , user_id ] ,
1821 queryFn : ( ) => getStoryDetail ( user_id ) ,
1922 enabled : ! ! user_id ,
2023 } )
2124
25+ const detailUser : StoryFeedItem | undefined = useMemo ( ( ) => {
26+ if ( ! detailData || ! profileData ) return undefined
27+ return {
28+ userId : String ( profileData . userId ) ,
29+ nickname : profileData . nickname ,
30+ profileImageUrl : profileData . profileImageUrl ,
31+ hasUnseenStory : detailData . hasUnseenStory ,
32+ stories : detailData . stories ,
33+ }
34+ } , [ detailData , profileData ] )
35+
2236 const mergedFeed = useMemo ( ( ) => {
2337 if ( ! feedData ) return [ ]
2438
@@ -44,7 +58,7 @@ function RouteComponent() {
4458 < StoryViewer
4559 feed = { mergedFeed }
4660 userId = { user_id }
47- detailUser = { detailData }
61+ detailUser = { detailUser }
4862 isDetailLoading = { isDetailLoading }
4963 />
5064 </ div >
0 commit comments