Files
dancefinder-app/app/store/index.ts
T
argoyleandClaude Opus 5.5 ce43a97e03
dancefinder-app / build (pull_request) Successful in 5m33s
dancefinder-app / deploy-prod-frostmoln (pull_request) Skipped
fix(deps): update typescript-vue-apollo to v6 for codegen v8
typescript-vue-apollo 5.x fails plugin validation under @graphql-codegen/cli 8
("The path argument must be of type string"). 6.0.0 targets plugin-helpers 8.

typescript-operations v7 emits every schema type used in a document, so
running it in the same output as the typescript plugin produced a duplicate
Range declaration. Split codegen into schema.ts (typescript) and
operations.ts (operations, vue-apollo, fragment-matcher) with
importSchemaTypesFrom, matching the Shiny frontend layout, and import
Event, DanceHallDistance and Range from the schema file.

Lockfile regenerated in cypress/base:26.13.0 to keep Linux optional deps.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ECBwyGcBKZhkRgyVyrLXPo
2026-11-12 10:42:25 +01:00

55 lines
1.1 KiB
TypeScript

import { defineStore } from 'pinia'
import { ref } from 'vue'
import { Range } from '~~/graphql/generated/schema'
export const useState = defineStore(
'state',
() => {
const title = ref<string>('')
const darkMode = ref(false)
const locale = ref('sv')
const range = ref<Range | undefined>(Range.OneWeek)
const search = ref('')
const includeHidden = ref(false)
const setTitle = (s: string) => {
title.value = s
}
const setDarkMode = (b: boolean) => {
darkMode.value = b
}
const setLocale = (l: string) => {
locale.value = l
}
const setSearch = (s: string) => {
search.value = s
}
const setIncludeHidden = (b: boolean) => {
includeHidden.value = b
}
const setRange = (r: Range | undefined) => {
range.value = r
}
return {
title,
darkMode,
locale,
search,
includeHidden,
range,
setTitle,
setDarkMode,
setLocale,
setSearch,
setIncludeHidden,
setRange,
}
},
{
persist: {
storage: localStorage,
key: 'dancefinder_state',
},
},
)