{"version":3,"file":"Index-DcT6aKug.js","sources":["../../../app/frontend/pages/Brochure/Directory/Lists/Index.jsx"],"sourcesContent":["import { useState, useEffect } from \"react\"\nimport { useForm, router, usePage } from \"@inertiajs/react\"\nimport { Head } from \"@inertiajs/react\"\n\nimport Layout from \"../components/Layout\"\nimport SubstackCard from \"../components/SubstackCard\"\nimport FilterBar from \"./FilterBar\"\nimport AdCard from \"../components/AdCard\"\n\nexport default function Index({ substacks }) {\n const { filters, categories, languages } = usePage().props\n\n const [params, _setParams] = useState(() =>\n typeof window !== \"undefined\"\n ? new URLSearchParams(window.location.search)\n : new URLSearchParams()\n )\n\n const { data, setData, isDirty } = useForm({\n language: params.get(\"language\") || filters.language,\n category: params.get(\"category\") || filters.category,\n sort: params.get(\"sort\") || filters.sort,\n })\n\n const findCategoryByHandle = (handle) => {\n return categories.find((c) => c.handle === handle)\n }\n\n const findLanguageByCode = (code) => {\n return languages.find((l) => l.code === code)\n }\n\n const listAdjective = () => {\n let adjective = \"\"\n if (data.sort === \"paid\") {\n adjective = \"Earning \"\n }\n if (data.sort === \"trending\") {\n adjective = \"Trending\"\n }\n if (data.language !== \"all\") {\n let language = findLanguageByCode(data.language)\n adjective = ` ${adjective} ${language.name}`\n }\n return adjective\n }\n\n const listName = () => {\n if (data.category !== \"all\") {\n let c = findCategoryByHandle(data.category)\n return `Top ${listAdjective()} ${c.name} Substacks`\n }\n return `Discover the Top ${listAdjective()} Substack Newsletters`\n }\n\n const listDescription = () => {\n if (data.category !== \"all\") {\n let c = findCategoryByHandle(data.category)\n return c.description\n }\n return \"The #1 Directory of Substack Newsletters and Writers.\"\n }\n\n const listSeoTitle = () => {\n if (data.category !== \"all\") {\n let c = findCategoryByHandle(data.category)\n return `Top ${listAdjective()} ${c.name} Substacks · Sidestack.io`\n }\n return `Discover the Top ${listAdjective()} Substack Newsletters · Sidestack.io`\n }\n\n const listSeoDescription = () => {\n if (data.category !== \"all\") {\n let c = findCategoryByHandle(data.category)\n return `Explore our directory of the top ${listAdjective()} ${\n c.name\n } Substack newsletters and authors, featuring the most popular and influential writers across every category.`\n }\n return `Explore our directory of the top ${listAdjective()} Substack newsletters and authors, featuring the most popular and influential writers across every category.`\n }\n\n return (\n
\n \n Most Subscribers{\" \"}\n \n |{\" \"}\n \n Top Earning\n {\" \"}\n |{\" \"}\n \n Trending\n \n
\n