feat: F015 shortlist management
3-panel Shortlists page with left list, center detail, right decision brief panel. AddToShortlistDialog wired into result feed cards and match detail. Full DRAFT→REVIEW_READY→FINALIZED workflow, AI-generated decision brief draft, duplicate prevention, and compare-view integration. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import { create } from 'zustand'
|
||||
import type { ShortlistItemInput } from '../domain/shortlist'
|
||||
|
||||
interface ShortlistStore {
|
||||
selectedShortlistId: string | null
|
||||
dialogOpen: boolean
|
||||
pendingItem: ShortlistItemInput | null
|
||||
setSelectedShortlist: (id: string | null) => void
|
||||
openAddDialog: (item: ShortlistItemInput) => void
|
||||
closeAddDialog: () => void
|
||||
}
|
||||
|
||||
export const useShortlistStore = create<ShortlistStore>((set) => ({
|
||||
selectedShortlistId: null,
|
||||
dialogOpen: false,
|
||||
pendingItem: null,
|
||||
setSelectedShortlist: (id) => set({ selectedShortlistId: id }),
|
||||
openAddDialog: (item) => set({ dialogOpen: true, pendingItem: item }),
|
||||
closeAddDialog: () => set({ dialogOpen: false, pendingItem: null }),
|
||||
}))
|
||||
Reference in New Issue
Block a user