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

@@ -7,7 +7,7 @@
map-id="unified-catalog-map"
:point-color="mapPointColor"
:items="currentSelectionItems"
:hovered-id="hoveredItemId"
:hovered-id="hoveredItemId ?? undefined"
:show-panel="showPanel"
:filter-by-bounds="filterByBounds"
:related-points="relatedPoints"
@@ -48,7 +48,7 @@
@close="onInfoClose"
@add-to-filter="onInfoAddToFilter"
@open-info="onInfoOpenRelated"
@select-product="selectInfoProduct"
@select-product="(uuid: string | null) => uuid && selectInfoProduct(uuid)"
/>
<!-- Quote results: show offers after search -->

View File

@@ -98,7 +98,7 @@
>
<Stack gap="3">
<Stack gap="1">
<Text size="lg" weight="semibold">{{ offer.title }}</Text>
<Text size="lg" weight="semibold">{{ offer.productName }}</Text>
<Stack direction="row" align="center" gap="2">
<Icon name="lucide:map-pin" size="14" class="text-base-content/60" />
<Text tone="muted">{{ offer.locationName }}, {{ offer.locationCountry }}</Text>
@@ -231,7 +231,7 @@ const {
const isLoading = computed(() => productsPending.value || productOffersPending.value || suppliersPending.value)
const product = computed(() => findProduct(productsData.value?.getProducts || []))
const offers = computed(() => productOffersData.value?.getOffers || [])
const offers = computed(() => (productOffersData.value?.getOffers || []).filter((o): o is NonNullable<typeof o> => !!o))
const allSuppliers = computed(() => suppliersData.value?.getSupplierProfiles || [])
const productId = computed(() => route.params.id as string)
@@ -247,7 +247,7 @@ const uniqueSuppliers = computed(() => {
offers.value.forEach(offer => {
if (offer.teamUuid) {
const existing = suppliers.get(offer.teamUuid)
const supplierInfo = allSuppliers.value.find(s => s.teamUuid === offer.teamUuid)
const supplierInfo = allSuppliers.value.find(s => s && s.teamUuid === offer.teamUuid)
if (existing) {
existing.offersCount++
} else if (supplierInfo?.uuid) {
@@ -295,7 +295,7 @@ const mapLocations = computed(() => {
const priceRange = computed(() => {
const prices: number[] = []
offers.value.forEach(offer => {
offer.lines?.forEach((line: any) => {
(offer as any).lines?.forEach((line: any) => {
if (line?.productUuid === productId.value && line?.pricePerUnit) {
prices.push(Number(line.pricePerUnit))
}