Files
policy-ui/app/composables/useClientFavorites.ts
Jordan Weingarten 67482f6629 WIP jordan
2026-04-16 11:11:44 -05:00

36 lines
1.0 KiB
TypeScript

/**
* Client favorites — star customers for quick dashboard access.
* Persisted in localStorage. Stores customer IDs.
*/
import { useLocalStorageRef } from '~/utils/useLocalStorageRef'
const KEY = 'policy-ui-client-favorites-v1'
export function useClientFavorites() {
const favoriteIds = useLocalStorageRef<string[]>(KEY, () => [])
function isFavorite(customerId: string) {
return favoriteIds.value.includes(customerId)
}
function toggleFavorite(customerId: string) {
if (isFavorite(customerId)) {
favoriteIds.value = favoriteIds.value.filter(id => id !== customerId)
} else {
favoriteIds.value = [customerId, ...favoriteIds.value]
}
}
function addFavorite(customerId: string) {
if (!isFavorite(customerId)) {
favoriteIds.value = [customerId, ...favoriteIds.value]
}
}
function removeFavorite(customerId: string) {
favoriteIds.value = favoriteIds.value.filter(id => id !== customerId)
}
return { favoriteIds, isFavorite, toggleFavorite, addFavorite, removeFavorite }
}