Fix all TypeScript errors and remove Storybook
All checks were successful
Build Docker Image / build (push) Successful in 5m8s

- Remove all Storybook files and configuration
- Add type declarations for @vueuse/core, @formkit/core, vue3-apexcharts
- Fix TypeScript configuration (typeRoots, include paths)
- Fix Sentry config - move settings to plugin
- Fix nullable prop assignments with ?? operator
- Fix type narrowing issues with explicit type assertions
- Fix Card component linkable computed properties
- Update codegen with operationResultSuffix
- Fix GraphQL operation type definitions
This commit is contained in:
Ruslan Bakiev
2026-01-26 00:32:36 +07:00
parent b326d8cd76
commit 2b6cccdead
99 changed files with 419 additions and 1171 deletions

View File

@@ -319,20 +319,22 @@ const initClientClusteringLayers = async (map: MapboxMapType) => {
map.on('click', 'clusters', (e) => {
const features = map.queryRenderedFeatures(e.point, { layers: ['clusters'] })
if (!features.length) return
const clusterId = features[0].properties?.cluster_id
const feature = features[0]
if (!feature) return
const clusterId = feature.properties?.cluster_id
const source = map.getSource(sourceId.value) as mapboxgl.GeoJSONSource
source.getClusterExpansionZoom(clusterId, (err, zoom) => {
if (err) return
const geometry = features[0].geometry as GeoJSON.Point
const geometry = feature.geometry as GeoJSON.Point
map.easeTo({ center: geometry.coordinates as [number, number], zoom: zoom || 4 })
})
})
map.on('click', 'unclustered-point', (e) => {
const features = map.queryRenderedFeatures(e.point, { layers: ['unclustered-point'] })
if (!features.length) return
emit('select-item', features[0].properties?.uuid)
const feature = features[0]
if (!feature) return
emit('select-item', feature.properties?.uuid)
})
map.on('mouseenter', 'clusters', () => { map.getCanvas().style.cursor = 'pointer' })
@@ -406,8 +408,9 @@ const initClientClusteringLayers = async (map: MapboxMapType) => {
// Click handlers for related points
map.on('click', `${props.mapId}-related-circles`, (e) => {
const features = map.queryRenderedFeatures(e.point, { layers: [`${props.mapId}-related-circles`] })
if (!features.length) return
const props_data = features[0].properties
const feature = features[0]
if (!feature) return
const props_data = feature.properties as Record<string, any> | undefined
emit('select-item', props_data?.uuid, props_data)
})
@@ -500,9 +503,10 @@ const initServerClusteringLayers = async (map: MapboxMapType) => {
// Click on cluster to zoom in
map.on('click', 'server-clusters', (e) => {
const features = map.queryRenderedFeatures(e.point, { layers: ['server-clusters'] })
if (!features.length) return
const expansionZoom = features[0].properties?.expansionZoom
const geometry = features[0].geometry as GeoJSON.Point
const feature = features[0]
if (!feature) return
const expansionZoom = feature.properties?.expansionZoom
const geometry = feature.geometry as GeoJSON.Point
map.easeTo({
center: geometry.coordinates as [number, number],
zoom: expansionZoom || map.getZoom() + 2
@@ -512,8 +516,9 @@ const initServerClusteringLayers = async (map: MapboxMapType) => {
// Click on individual point - emit full properties
map.on('click', 'server-points', (e) => {
const features = map.queryRenderedFeatures(e.point, { layers: ['server-points'] })
if (!features.length) return
const props = features[0].properties || {}
const feature = features[0]
if (!feature) return
const props = feature.properties || {}
emit('select-item', props.id, props)
})
@@ -588,8 +593,9 @@ const initServerClusteringLayers = async (map: MapboxMapType) => {
// Click handlers for related points
map.on('click', `${props.mapId}-related-circles`, (e) => {
const features = map.queryRenderedFeatures(e.point, { layers: [`${props.mapId}-related-circles`] })
if (!features.length) return
const props_data = features[0].properties
const feature = features[0]
if (!feature) return
const props_data = feature.properties as Record<string, any> | undefined
emit('select-item', props_data?.uuid, props_data)
})