Skip to content

Commit 0015f82

Browse files
revert change from gillian and tiff's thing (#364)
* revert change from gillian and tiff's thing * fixed redirection --------- Co-authored-by: gpalmer27 <palmer.gi@northeastern.edu>
1 parent 69aaada commit 0015f82

File tree

2 files changed

+46
-29
lines changed

2 files changed

+46
-29
lines changed

apps/web/src/app/(pages)/(dashboard)/(roles)/page.tsx

Lines changed: 45 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,20 @@ export default function Roles() {
5353

5454
const [isSidebarOpen, setIsSidebarOpen] = useState(false);
5555

56+
const typeParam = searchParams.get("type");
57+
5658
const [selectedType, setSelectedType] = useState<
5759
"roles" | "companies" | "all"
58-
>("all");
60+
>(() => {
61+
if (
62+
typeParam === "roles" ||
63+
typeParam === "companies" ||
64+
typeParam === "all"
65+
) {
66+
return typeParam;
67+
}
68+
return "all";
69+
});
5970

6071
const [selectedFilter, setSelectedFilter] = useState<
6172
"default" | "rating" | "newest" | "oldest" | undefined
@@ -275,44 +286,39 @@ export default function Roles() {
275286
const companySlug = roleItem.companySlug ?? createSlug(companyName);
276287
const roleSlug = roleItem.slug;
277288

278-
if (
279-
companyName &&
280-
(companyParam !== companySlug || roleParam !== roleSlug)
281-
) {
282-
// Preserve search param
283-
const currentSearch = params.get("search");
284-
params.delete("search");
285-
286-
params.set("company", companySlug);
287-
params.set("role", roleSlug);
289+
// Preserve search param
290+
const currentSearch = params.get("search");
291+
params.delete("search");
288292

289-
// Add search back at the end
290-
if (currentSearch) {
291-
params.set("search", currentSearch);
292-
}
293+
params.set("company", companySlug);
294+
params.set("role", roleSlug);
295+
params.set("type", selectedType);
293296

294-
router.push(`/?${params.toString()}`);
297+
// Add search back at the end
298+
if (currentSearch) {
299+
params.set("search", currentSearch);
295300
}
301+
302+
router.push(`/?${params.toString()}`);
296303
} else {
297304
// For companies, use the company parameter with the name
298305
const companyItem = selectedItem as CompanyType & { slug?: string };
299306
const companySlug = companyItem.slug;
300307

301-
if (companyParam !== companySlug || roleParam !== null) {
302-
// Preserve search param
303-
const currentSearch = params.get("search");
304-
params.delete("search");
308+
// Preserve search param
309+
const currentSearch = params.get("search");
310+
params.delete("search");
305311

306-
params.delete("role");
307-
params.set("company", companySlug);
312+
params.delete("role");
313+
params.set("company", companySlug);
314+
params.set("type", selectedType);
308315

309-
// Add search back at the end
310-
if (currentSearch) {
311-
params.set("search", currentSearch);
312-
}
313-
314-
router.push(`/?${params.toString()}`);
316+
// Add search back at the end
317+
if (currentSearch) {
318+
params.set("search", currentSearch);
315319
}
320+
321+
router.push(`/?${params.toString()}`);
316322
}
317323
}
318324
}, [
@@ -388,6 +394,17 @@ export default function Roles() {
388394
setCurrentPage(1);
389395
}, [selectedFilter, searchValue, selectedType]);
390396

397+
useEffect(() => {
398+
const typeParam = searchParams.get("type");
399+
if (
400+
typeParam === "roles" ||
401+
typeParam === "companies" ||
402+
typeParam === "all"
403+
) {
404+
setSelectedType(typeParam);
405+
}
406+
}, [searchParams]);
407+
391408
const totalPages =
392409
rolesAndCompanies.data &&
393410
"totalCount" in rolesAndCompanies.data &&

apps/web/src/app/_components/companies/all-company-roles.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export default function RenderAllRoles({ company }: RenderAllRolesProps) {
3737
className="p-2"
3838
onClick={() =>
3939
router.push(
40-
`/?company=${company?.name.toLowerCase()}&role=${role.title.toLowerCase().replace(/ /g, "-")}`,
40+
`/?company=${company?.name.toLowerCase()}&role=${role.title.toLowerCase().replace(/ /g, "-")}&type=roles`,
4141
)
4242
}
4343
>

0 commit comments

Comments
 (0)