summaryrefslogtreecommitdiffhomepage
path: root/packages/storybook/.storybook/mocks/app/context/permission.ts
blob: b6fb37d96b7e125373aee8bc1086a0f7c575f25e (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
const accepted = new Set<string>()

function key(sessionID: string, directory?: string) {
  return `${directory ?? ""}:${sessionID}`
}

export function usePermission() {
  return {
    autoResponds() {
      return false
    },
    isAutoAccepting(sessionID: string, directory?: string) {
      return accepted.has(key(sessionID, directory))
    },
    toggleAutoAccept(sessionID: string, directory?: string) {
      const next = key(sessionID, directory)
      if (accepted.has(next)) {
        accepted.delete(next)
        return
      }
      accepted.add(next)
    },
  }
}