|
|
@ -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}>
|
|
|
|