diff --git a/app/src/pages/DirectoryListPage.jsx b/app/src/pages/DirectoryListPage.jsx new file mode 100644 index 0000000..d10434a --- /dev/null +++ b/app/src/pages/DirectoryListPage.jsx @@ -0,0 +1,67 @@ +import { useState, useMemo } from 'react'; +import { TeknavData } from '../../teknav-data.js'; +import { useNav, EmptyState, inputStyle } from '../../teknav-ui.jsx'; + +export function DirectoryListPage() { + const { navigate } = useNav(); + const [companies] = useState(() => TeknavData.companies ?? []); + const [search, setSearch] = useState(''); + + const filtered = useMemo(() => { + if (!search.trim()) return companies; + const q = search.trim().toLocaleLowerCase('fa-IR'); + return companies.filter((c) => + c.name.toLocaleLowerCase('fa-IR').includes(q) || + c.description.toLocaleLowerCase('fa-IR').includes(q) || + (c.techStack || []).some((t) => t.toLocaleLowerCase('en-US').includes(q)), + ); + }, [companies, search]); + + return ( +
+ پروفایل شرکتهای فناوری ایران همراه با استک فنی، اطلاعات تماس و نشان تأیید. +
+ setSearch(e.target.value)} + style={{ ...inputStyle, marginBottom: 24, width: '100%', maxWidth: 400 }} + /> + {filtered.length === 0 && ( +{company.description.slice(0, 100)}…
+