[offers][feat] integrate location for offer table and profile

pull/501/head
Zhang Ziqing 3 years ago committed by Stuart Long Chay Boon
parent 76242c726c
commit c9b1fe30f6

@ -25,19 +25,14 @@ import type { DashboardOffer, GetOffersResponse, Paging } from '~/types/offers';
const NUMBER_OF_OFFERS_IN_PAGE = 10;
export type OffersTableProps = Readonly<{
cityFilter: string;
companyFilter: string;
companyName?: string;
countryFilter: string;
jobTitleFilter: string;
}>;
export default function OffersTable({
<<<<<<< HEAD
countryFilter,
companyName,
=======
cityFilter,
>>>>>>> ac2d047d ([offers][feat] integrate location for offer table and profile)
companyFilter,
jobTitleFilter,
}: OffersTableProps) {
@ -111,8 +106,6 @@ export default function OffersTable({
[
'offers.list',
{
// Location: 'Singapore, Singapore', // TODO: Geolocation
cityId: cityFilter,
companyId: companyFilter,
countryId: countryFilter,
currency,
@ -172,17 +165,11 @@ export default function OffersTable({
/>
))}
</DropdownMenu>
<<<<<<< HEAD
<div className="divide-x-slate-200 col-span-3 flex items-center justify-end space-x-4 divide-x">
<div className="justify-left flex items-center space-x-2 font-medium text-slate-700">
<span className="sr-only sm:not-sr-only sm:inline">
Display offers in
</span>
=======
<div className="divide-x-slate-200 flex items-center space-x-4 divide-x">
<div className="justify-left flex items-center space-x-2 font-medium text-slate-700">
<span>Display offers in</span>
>>>>>>> ac2d047d ([offers][feat] integrate location for offer table and profile)
<CurrencySelector
handleCurrencyChange={(value: string) => setCurrency(value)}
selectedCurrency={currency}
@ -303,4 +290,4 @@ export default function OffersTable({
/>
</div>
);
}
}

@ -3,30 +3,6 @@ import type { JobType } from '@prisma/client';
import type { MonthYear } from '~/components/shared/MonthYearPicker';
import type { Location } from '~/types/offers';
<<<<<<< HEAD
=======
export const HOME_URL = '/offers';
/*
* Offer Profile
*/
export const JobTypeLabel = {
FULLTIME: 'Full-time',
INTERN: 'Internship',
};
export enum EducationBackgroundType {
Bachelor = 'Bachelor',
Diploma = 'Diploma',
Masters = 'Masters',
PhD = 'PhD',
Professional = 'Professional',
Secondary = 'Secondary',
SelfTaught = 'Self-taught',
}
>>>>>>> ac2d047d ([offers][feat] integrate location for offer table and profile)
export type OffersProfilePostData = {
background: BackgroundPostData;
@ -57,13 +33,6 @@ type ExperiencePostData = {
id?: string;
jobType?: string | null;
level?: string | null;
<<<<<<< HEAD
<<<<<<< HEAD
=======
location?: Location | null;
>>>>>>> ac2d047d ([offers][feat] integrate location for offer table and profile)
=======
>>>>>>> a31230f7 ([offers][feat] Use city typeahead for location field)
monthlySalary?: Money | null;
title?: string | null;
totalCompensation?: Money | null;
@ -172,4 +141,4 @@ export type CommentEntity = {
replyingToId: string;
userId: string;
username: string;
};
};

@ -5,7 +5,6 @@ import { Banner } from '@tih/ui';
import { useGoogleAnalytics } from '~/components/global/GoogleAnalytics';
import OffersTable from '~/components/offers/table/OffersTable';
import CitiesTypeahead from '~/components/shared/CitiesTypeahead';
import CompaniesTypeahead from '~/components/shared/CompaniesTypeahead';
import Container from '~/components/shared/Container';
import CountriesTypeahead from '~/components/shared/CountriesTypeahead';
@ -13,22 +12,10 @@ import type { JobTitleType } from '~/components/shared/JobTitles';
import { JobTitleLabels } from '~/components/shared/JobTitles';
import JobTitlesTypeahead from '~/components/shared/JobTitlesTypahead';
<<<<<<< HEAD
<<<<<<< HEAD
import { useSearchParamSingle } from '~/utils/offers/useSearchParam';
export default function OffersHomePage() {
const [countryFilter, setCountryFilter] = useState('');
=======
import CitiesTypeahead from '../../components/shared/CitiesTypeahead';
=======
>>>>>>> d6d25df3 ([offers][chore] fix import of cities typeahead)
export default function OffersHomePage() {
const [jobTitleFilter, setjobTitleFilter] = useState('software-engineer');
const [companyFilter, setCompanyFilter] = useState('');
const [cityFilter, setCityFilter] = useState('');
>>>>>>> ac2d047d ([offers][feat] integrate location for offer table and profile)
const { event: gaEvent } = useGoogleAnalytics();
const [selectedCompanyName, setSelectedCompanyName] =
@ -48,7 +35,6 @@ export default function OffersHomePage() {
</Link>
.
</Banner>
<<<<<<< HEAD
<div className="text-primary-600 flex items-center justify-end space-x-1 bg-slate-100 px-4 pt-4 sm:text-lg">
<span>
<MapPinIcon className="flex h-7 w-7" />
@ -66,23 +52,6 @@ export default function OffersHomePage() {
});
} else {
setCountryFilter('');
=======
<div className="text-primary-600 flex items-center justify-end space-x-1 bg-slate-100 px-4 pt-4">
<span>
<MapPinIcon className="flex h-7 w-7" />
</span>
<CitiesTypeahead
isLabelHidden={true}
placeholder="All Cities"
onSelect={(option) => {
if (option) {
setCityFilter(option.value);
gaEvent({
action: `offers.table_filter_city_${option.value}`,
category: 'engagement',
label: 'Filter by city',
});
>>>>>>> ac2d047d ([offers][feat] integrate location for offer table and profile)
}
}}
/>
@ -162,18 +131,12 @@ export default function OffersHomePage() {
</div>
<Container className="pb-20 pt-10">
<OffersTable
<<<<<<< HEAD
companyFilter={selectedCompanyId}
companyName={selectedCompanyName}
countryFilter={countryFilter}
jobTitleFilter={selectedJobTitleId ?? ''}
=======
cityFilter={cityFilter}
companyFilter={companyFilter}
jobTitleFilter={jobTitleFilter}
>>>>>>> ac2d047d ([offers][feat] integrate location for offer table and profile)
/>
</Container>
</main>
);
}
}
Loading…
Cancel
Save