import {useUserProfile} from '@app/profile/requests/use-user-profile'; import React, {Fragment, useContext} from 'react'; import {PageMetaTags} from '@common/http/page-meta-tags'; import {PageStatus} from '@common/http/page-status'; import {SitePageLayout} from '@app/site-page-layout'; import {User} from '@common/auth/user'; import {Tabs} from '@common/ui/tabs/tabs'; import {TabList} from '@common/ui/tabs/tab-list'; import {Tab} from '@common/ui/tabs/tab'; import {Trans} from '@common/i18n/trans'; import {Link, Outlet, useLocation} from 'react-router-dom'; import {SiteConfigContext} from '@common/core/settings/site-config-context'; import {message} from '@common/i18n/message'; import {ProfilePageHeader} from '@app/profile/header/profile-page-header'; const PageTabs = [ {uri: 'lists', label: message('Lists')}, {uri: 'ratings', label: message('Ratings')}, {uri: 'reviews', label: message('Reviews')}, {uri: 'comments', label: message('Comments')}, {uri: 'followers', label: message('Followers')}, {uri: 'followed-users', label: message('Following')}, ]; export function UserProfilePage() { const query = useUserProfile(); const content = query.data ? ( ) : ( ); return {content}; } interface PageContentProps { user: User; } function PageContent({user}: PageContentProps) { return (
); } interface ProfileTabsProps { user: User; } function ProfileTabs({user}: ProfileTabsProps) { const { auth: {getUserProfileLink}, } = useContext(SiteConfigContext); const profileLink = getUserProfileLink!(user); const {pathname} = useLocation(); const tabName = pathname.split('/').pop(); let selectedTab = PageTabs.findIndex(tab => tab.uri === tabName); if (selectedTab === -1) { selectedTab = 0; } return ( {PageTabs.map(tab => ( ))}
); }