summaryrefslogtreecommitdiffhomepage
path: root/packages/storybook/.storybook/mocks/app/context/sync.ts
blob: bfc49dc83a99e85d6309a9a5eba801acb1017583 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { createStore } from "solid-js/store"

const [data, setData] = createStore({
  session: [] as Array<{ id: string; parentID?: string }>,
  permission: {} as Record<string, Array<{ id: string; sessionID: string; permission: string; patterns: string[] }>>,
  question: {} as Record<string, Array<{ id: string; questions: unknown[] }>>,
  session_diff: {} as Record<string, Array<{ file: string }>>,
  message: {
    "story-session": [] as Array<{ id: string; role: string }>,
  } as Record<string, Array<{ id: string; role: string }>>,
  session_status: {} as Record<string, { type: "idle" | "busy" }>,
  agent: [{ name: "build", mode: "task", hidden: false }],
  command: [{ name: "fix", description: "Run fix command", source: "project" }],
})

export function useSync() {
  return {
    data,
    set(...input: unknown[]) {
      ;(setData as (...args: unknown[]) => void)(...input)
    },
    session: {
      get(id: string) {
        return { id }
      },
      optimistic: {
        add() {},
        remove() {},
      },
    },
  }
}