export const useBiFilters = () => { const route = useRoute() const period = useState('bi_period', () => route.query?.period as string ?? 'last_week') const orgId = useState('bi_org_id', () => route.query?.org_id as string ?? '') const orgName = useState('bi_org_name', () => '') const periodOptions = [ { label: 'Today', value: 'today' }, { label: 'Yesterday', value: 'yesterday' }, { label: '7 Days', value: 'last_week' }, { label: '30 Days', value: 'last_month' }, { label: 'Quarter', value: 'last_quarter' }, { label: '1 Year', value: 'last_year' }, ] const setPeriod = (val: string) => { period.value = val } const setOrg = (id: string, name: string = '') => { orgId.value = id orgName.value = name } const clearOrg = () => { orgId.value = '' orgName.value = '' } const queryParams = computed(() => { const params: Record = { period: period.value } if (orgId.value) { params.org_id = orgId.value } return params }) const queryString = computed(() => { const parts: string[] = [`period=${period.value}`] if (orgId.value) { parts.push(`org_id=${orgId.value}`) } return parts.join('&') }) return { period, orgId, orgName, periodOptions, setPeriod, setOrg, clearOrg, queryParams, queryString, } }