[questions][ui] add view all questions in landing

pull/517/head
Jeff Sieu 3 years ago
parent d47b3d74bf
commit 86fb943b23

@ -20,15 +20,13 @@ export type LandingQueryData = {
companySlug: string;
location: string;
questionType: QuestionsQuestionType;
};
} | null;
export type LandingComponentProps = {
onLanded: (data: LandingQueryData) => void;
};
export default function LandingComponent({
onLanded: handleLandingQuery,
}: LandingComponentProps) {
export default function LandingComponent({ onLanded }: LandingComponentProps) {
const defaultCompany = useDefaultCompany();
const defaultLocation = useDefaultLocation();
@ -84,7 +82,7 @@ export default function LandingComponent({
Know the{' '}
<span className="text-primary-700">
latest SWE interview questions
</span>{' '}
</span>{' '}
asked by top companies.
</p>
</header>
@ -118,22 +116,34 @@ export default function LandingComponent({
}}
/>
</div>
<Button
addonPosition="end"
icon={ArrowSmallRightIcon}
label="Go"
size="md"
variant="primary"
onClick={() => {
if (company !== undefined && location !== undefined) {
return handleLandingQuery({
companySlug: companyOptionToSlug(company),
location: locationOptionToSlug(location),
questionType,
});
}
}}
/>
<div className="flex items-center gap-2">
<Button
addonPosition="end"
icon={ArrowSmallRightIcon}
label="Go"
size="md"
variant="primary"
onClick={() => {
if (company !== undefined && location !== undefined) {
onLanded({
companySlug: companyOptionToSlug(company),
location: locationOptionToSlug(location),
questionType,
});
}
}}
/>
<Button
addonPosition="end"
icon={ArrowSmallRightIcon}
label="View all questions"
size="md"
variant="secondary"
onClick={() => {
onLanded(null);
}}
/>
</div>
</div>
<div className="flex justify-center">
<iframe

@ -10,6 +10,14 @@ export default function QuestionsHomePage() {
const router = useRouter();
const handleLandingQuery = async (data: LandingQueryData) => {
if (data === null) {
// Go to browse page
router.push({
pathname: '/questions/browse',
});
return;
}
const { companySlug, location, questionType } = data;
// Go to browse page

Loading…
Cancel
Save