[resumes][feat] Add sign in button on browse page

pull/349/head
Tan Su Yin 3 years ago
parent 001a18649b
commit 05bc460a7e

@ -23,6 +23,9 @@ import {
} from '~/components/resumes/browse/constants'; } from '~/components/resumes/browse/constants';
import FilterPill from '~/components/resumes/browse/FilterPill'; import FilterPill from '~/components/resumes/browse/FilterPill';
import ResumeReviewsTitle from '~/components/resumes/ResumeReviewsTitle'; import ResumeReviewsTitle from '~/components/resumes/ResumeReviewsTitle';
import SignInButton from '~/components/resumes/SignInButton';
import { trpc } from '~/utils/trpc';
import type { Resume } from '~/types/resume'; import type { Resume } from '~/types/resume';
@ -44,37 +47,50 @@ const filters = [
}, },
]; ];
import { trpc } from '~/utils/trpc';
export default function ResumeHomePage() { export default function ResumeHomePage() {
const { data: sessionData } = useSession(); const { data: sessionData } = useSession();
const router = useRouter(); const router = useRouter();
const [tabsValue, setTabsValue] = useState(BROWSE_TABS_VALUES.ALL); const [tabsValue, setTabsValue] = useState(BROWSE_TABS_VALUES.ALL);
const [searchValue, setSearchValue] = useState(''); const [searchValue, setSearchValue] = useState('');
const [resumes, setResumes] = useState<Array<Resume>>([]); const [resumes, setResumes] = useState<Array<Resume>>([]);
const [renderSignInButton, setRenderSignInButton] = useState(false);
const [signInButtonText, setSignInButtonText] = useState('');
const allResumesQuery = trpc.useQuery(['resumes.resume.findAll'], { const allResumesQuery = trpc.useQuery(['resumes.resume.findAll'], {
enabled: tabsValue === BROWSE_TABS_VALUES.ALL, enabled: tabsValue === BROWSE_TABS_VALUES.ALL,
onSuccess: (data) => { onSuccess: (data) => {
setResumes(data); setResumes(data);
setRenderSignInButton(false);
}, },
}); });
const starredResumesQuery = trpc.useQuery( const starredResumesQuery = trpc.useQuery(
['resumes.resume.user.findUserStarred'], ['resumes.resume.user.findUserStarred'],
{ {
enabled: tabsValue === BROWSE_TABS_VALUES.STARRED, enabled: tabsValue === BROWSE_TABS_VALUES.STARRED,
onError: () => {
setResumes([]);
setRenderSignInButton(true);
setSignInButtonText('to view starred resumes');
},
onSuccess: (data) => { onSuccess: (data) => {
setResumes(data); setResumes(data);
}, },
retry: false,
}, },
); );
const myResumesQuery = trpc.useQuery( const myResumesQuery = trpc.useQuery(
['resumes.resume.user.findUserCreated'], ['resumes.resume.user.findUserCreated'],
{ {
enabled: tabsValue === BROWSE_TABS_VALUES.MY, enabled: tabsValue === BROWSE_TABS_VALUES.MY,
onError: () => {
setResumes([]);
setRenderSignInButton(true);
setSignInButtonText('to view your submitted resumes');
},
onSuccess: (data) => { onSuccess: (data) => {
setResumes(data); setResumes(data);
}, },
retry: false,
}, },
); );
@ -277,6 +293,9 @@ export default function ResumeHomePage() {
</div> </div>
) : ( ) : (
<div className="col-span-10 pr-8"> <div className="col-span-10 pr-8">
{renderSignInButton && (
<SignInButton text={signInButtonText} />
)}
<ul role="list"> <ul role="list">
{resumes.map((resumeObj) => ( {resumes.map((resumeObj) => (
<li key={resumeObj.id}> <li key={resumeObj.id}>

Loading…
Cancel
Save