dify/web/app/components/snippets/store/index.ts
FFXN ca2755e0c1
feat: refine snippet siderbar and support RBAC. (#38134)
Co-authored-by: JzoNg <jzongcode@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-29 06:03:40 +00:00

30 lines
715 B
TypeScript

'use client'
import type { SnippetDetail, SnippetInputField } from '@/models/snippet'
import { create } from 'zustand'
type SnippetNavigationState = {
snippet?: SnippetDetail
snippetId?: string
readonly: boolean
onFieldsChange?: (fields: SnippetInputField[]) => void
}
type SnippetDetailUIState = {
setNavigationState: (state: SnippetNavigationState) => void
reset: () => void
} & SnippetNavigationState
const initialState = {
readonly: true,
snippet: undefined,
snippetId: undefined,
onFieldsChange: undefined,
}
export const useSnippetDetailStore = create<SnippetDetailUIState>(set => ({
...initialState,
setNavigationState: state => set(state),
reset: () => set(initialState),
}))