import { createSignal, createEffect, For, Show } from "solid-js"; import { useNavigate, useLocation, useSearchParams } from "@solidjs/router"; import Check from "~/components/icons/Check"; import UpDownArrows from "~/components/icons/UpDownArrows"; const sorting = [ { val: "Newest" }, { val: "Oldest" }, { val: "Most Liked" }, { val: "Most Read" }, { val: "Most Comments" }, ]; export interface PostSortingSelectProps { type: "blog" | "project"; } export default function PostSortingSelect(props: PostSortingSelectProps) { const [selected, setSelected] = createSignal(sorting[0]); const [isOpen, setIsOpen] = createSignal(false); const navigate = useNavigate(); const location = useLocation(); const [searchParams] = useSearchParams(); const currentFilters = () => searchParams.filter || null; createEffect(() => { let newRoute = location.pathname + "?sort=" + selected().val.toLowerCase(); if (currentFilters()) { newRoute += "&filter=" + currentFilters(); } navigate(newRoute); }); const handleSelect = (sort: { val: string }) => { setSelected(sort); setIsOpen(false); }; return (