Files
bilin/src/renderer/stores/useReferenceStore.ts
T
bing 8ce35a1e8e feat: ship v0.3.0 with P2.1 editor polish and P3 AI collaboration
Add chapter reorder, search replace, inspiration capture, and AI chat with context editing, settings, offline handling, and naming checks. Fix dev black screen by keeping process.env reads in the main process only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 16:33:56 +08:00

38 lines
919 B
TypeScript

import { create } from 'zustand'
type ReferenceTab = 'setting' | 'outline' | 'inspiration'
interface ReferenceState {
open: boolean
pinned: boolean
tab: ReferenceTab
query: string
pinnedIds: string[]
setOpen: (open: boolean) => void
setPinned: (pinned: boolean) => void
setTab: (tab: ReferenceTab) => void
setQuery: (query: string) => void
togglePin: (id: string) => void
}
export const useReferenceStore = create<ReferenceState>((set, get) => ({
open: false,
pinned: false,
tab: 'setting',
query: '',
pinnedIds: [],
setOpen: (open) => {
if (!open && get().pinned) return
set({ open })
},
setPinned: (pinned) => set({ pinned }),
setTab: (tab) => set({ tab }),
setQuery: (query) => set({ query }),
togglePin: (id) => {
const pinned = get().pinnedIds
set({
pinnedIds: pinned.includes(id) ? pinned.filter((x) => x !== id) : [...pinned, id]
})
}
}))