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
55 lines
1.1 KiB
TypeScript
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',
|
|
},
|
|
},
|
|
)
|