feat: Leads-Aktionsbuttons icon-only + WOID des Akquise-Tickets
- Maps/Website/Repo nur noch Icon (title/aria-label bleiben) - WOID je Lead als klickbarer Chip -> /tickets?woid= (Lead->Kunde->Akquise-Ticket, live in useLeads gejoint) - useWorkorders: woid server-seitig filterbar (macht den bisher wirkungslosen WOID-Filter nutzbar) - TicketsPage: ?woid= Deep-Link liest Param, filtert ueber alle Status Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
4c305fcd46
commit
fe3e39bd04
4 files changed
+93
-9
No files matched your search
@@ -1,4 +1,5 @@
|
||||
import { useState } from 'react'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { useSearchParams } from 'react-router-dom'
|
||||
import { FaAngleDown, FaSpinner, FaPlus, FaList, FaSliders } from 'react-icons/fa6'
|
||||
import { useWorkorders } from '../hooks/useWorkorders'
|
||||
import { useCustomers } from '../hooks/useCustomers'
|
||||
@@ -35,6 +36,18 @@ export default function TicketsPage() {
|
||||
const [showCreateModal, setShowCreateModal] = useState(false)
|
||||
const [showOverviewModal, setShowOverviewModal] = useState(false)
|
||||
const [showAdvanced, setShowAdvanced] = useState(false)
|
||||
const [searchParams] = useSearchParams()
|
||||
|
||||
// Deep-Link aus den Leads: /tickets?woid=123 -> Filter vorbelegen + anwenden
|
||||
// (ueber ALLE Status, damit das Ticket unabhaengig vom Status gefunden wird)
|
||||
useEffect(() => {
|
||||
const w = searchParams.get('woid')
|
||||
if (!w) return
|
||||
setLocalFilters((p) => ({ ...p, woid: w }))
|
||||
setShowAdvanced(true)
|
||||
setStatusSel(ALL_STATUSES)
|
||||
setFilters((prev) => ({ ...prev, status: ALL_STATUSES, woid: w }))
|
||||
}, [searchParams])
|
||||
|
||||
const applyFilters = () => {
|
||||
setFilters((prev) => ({
|
||||
|
||||
Reference in new issue
Block a user