{"version":3,"file":"FilterBar-JE4cKzUR.js","sources":["../../../app/frontend/pages/Brochure/Directory/Lists/FilterBar.jsx"],"sourcesContent":["import { useState, useEffect } from \"react\"\nimport { useForm, router, usePage } from \"@inertiajs/react\"\nimport Filter from \"./Filter\"\n\nexport default function FilterBar({ data, setData, isDirty }) {\n const { categories, languages } = usePage().props\n\n const filterValues = {\n sort: [\n { value: \"free\", label: \"Free Subscribers\", icon: \"📧\" },\n { value: \"paid\", label: \"Paid Subscribers\", icon: \"💸\" },\n { value: \"trending\", label: \"Trending\", icon: \"📈\" },\n ],\n categories: [\n { value: \"all\", label: \"All Categories\", icon: \"🏷️\" },\n ...categories.map((category) => ({\n value: `${category.handle}`,\n icon: category.emoji,\n label: category.name,\n })),\n ],\n languages: [\n { value: \"all\", label: \"All Languages\", icon: \"🌎\" },\n ...languages.map((language) => ({\n value: language.code,\n icon: language.emoji,\n label: language.name,\n })),\n ],\n }\n\n useEffect(() => {\n onFilter()\n }, [isDirty])\n\n const onFilter = (event) => {\n event && event.preventDefault()\n if (!isDirty) {\n return\n }\n\n if (data.category !== \"all\") {\n router.get(\n `/directory/category/${data.category}`,\n {\n query: data.query,\n language: data.language,\n sort: data.sort,\n },\n { preserveScroll: true }\n )\n } else if (data.language !== \"all\") {\n router.get(\n `/directory/language/${data.language}`,\n {\n query: data.query,\n sort: data.sort,\n },\n { preserveScroll: true }\n )\n } else {\n router.get(\n \"/directory\",\n {\n query: data.query,\n language: data.language,\n category: data.category,\n sort: data.sort,\n },\n { preserveScroll: true }\n )\n }\n\n // Scroll to filterbar position\n const beforeFilterBar = document.getElementById(\"before-filter-bar\")\n if (beforeFilterBar) {\n const filterBarTop = beforeFilterBar.getBoundingClientRect().bottom\n window.scrollTo({\n top: filterBarTop + window.scrollY,\n behavior: \"smooth\",\n })\n }\n }\n\n return (\n