feat: Implement mobile application and lead processing utilities.

This commit is contained in:
2026-02-19 14:21:51 +01:00
parent fca42db4d2
commit c53a71a5f9
120 changed files with 24080 additions and 851 deletions

View File

@@ -1,19 +1,31 @@
import { trpc } from '@/lib/trpc'
import { MOCK_MEMBERS } from '@/lib/mock-data'
import { useMembersFilterStore } from '@/store/members.store'
export function useMembersList() {
const search = useMembersFilterStore((s) => s.search)
const nurAusbildungsbetriebe = useMembersFilterStore(
(s) => s.nurAusbildungsbetriebe
)
const nurAusbildungsbetriebe = useMembersFilterStore((s) => s.nurAusbildungsbetriebe)
return trpc.members.list.useQuery({
search: search || undefined,
ausbildungsbetrieb: nurAusbildungsbetriebe || undefined,
status: 'aktiv',
})
let data = MOCK_MEMBERS.filter((m) => m.status === 'aktiv')
if (search) {
const q = search.toLowerCase()
data = data.filter(
(m) =>
m.name.toLowerCase().includes(q) ||
m.betrieb.toLowerCase().includes(q) ||
m.ort.toLowerCase().includes(q) ||
m.sparte.toLowerCase().includes(q)
)
}
if (nurAusbildungsbetriebe) {
data = data.filter((m) => m.istAusbildungsbetrieb)
}
return { data, isLoading: false, refetch: () => {}, isRefetching: false }
}
export function useMemberDetail(id: string) {
return trpc.members.byId.useQuery({ id })
const data = MOCK_MEMBERS.find((m) => m.id === id) ?? null
return { data, isLoading: false }
}