diff --git a/backend/vaa-strapi/src/extensions/documentation/documentation/1.0.0/full_documentation.json b/backend/vaa-strapi/src/extensions/documentation/documentation/1.0.0/full_documentation.json index a61f01f06..722cdb86a 100644 --- a/backend/vaa-strapi/src/extensions/documentation/documentation/1.0.0/full_documentation.json +++ b/backend/vaa-strapi/src/extensions/documentation/documentation/1.0.0/full_documentation.json @@ -14,7 +14,7 @@ "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, - "x-generation-date": "2026-01-28T15:08:12.363Z" + "x-generation-date": "2026-01-28T18:13:51.743Z" }, "x-strapi-config": { "plugins": [ diff --git a/backend/vaa-strapi/src/functions/generateMockData.ts b/backend/vaa-strapi/src/functions/generateMockData.ts index bb8fd9bc7..1b3d46eb3 100644 --- a/backend/vaa-strapi/src/functions/generateMockData.ts +++ b/backend/vaa-strapi/src/functions/generateMockData.ts @@ -6,7 +6,7 @@ * debugging & developing mock data generation functionality. */ -import { type Faker, faker, fakerFI, fakerSV } from '@faker-js/faker'; +import { faker, fakerFI, fakerSV } from '@faker-js/faker'; import crypto from 'crypto'; import { loadDefaultAppSettings } from './loadDefaultAppSettings'; import mockAdmins from './mockData/mockAdmins.json'; @@ -20,6 +20,7 @@ import { generateMockDataOnInitialise, generateMockDataOnRestart } from '../cons import { API } from '../util/api'; import { getDynamicTranslations } from '../util/appCustomization'; import { dropAllCollections } from '../util/drop'; +import type { Faker } from '@faker-js/faker'; import type { AnswerValue, LocalizedAnswer, LocalizedString, QuestionTypeSettings } from '@openvaa/app-shared'; import type { Data } from '@strapi/strapi'; diff --git a/backend/vaa-strapi/src/plugins/openvaa-admin-tools/admin/src/pages/HomePage.tsx b/backend/vaa-strapi/src/plugins/openvaa-admin-tools/admin/src/pages/HomePage.tsx index ed9b48420..52b5443f8 100644 --- a/backend/vaa-strapi/src/plugins/openvaa-admin-tools/admin/src/pages/HomePage.tsx +++ b/backend/vaa-strapi/src/plugins/openvaa-admin-tools/admin/src/pages/HomePage.tsx @@ -1,8 +1,4 @@ -import { Card } from '@strapi/design-system'; -import { Flex } from '@strapi/design-system'; -import { Main, Typography } from '@strapi/design-system'; -import { Accordion } from '@strapi/design-system'; -import { Box } from '@strapi/design-system'; +import { Accordion, Box, Card, Flex, Main, Typography } from '@strapi/design-system'; import { CandidateNominatorFileImport } from '../components/CandidateNominatorFileImport'; import { DeleteData } from '../components/DeleteData'; import { FindData } from '../components/FindData'; diff --git a/backend/vaa-strapi/src/util/appSettings.ts b/backend/vaa-strapi/src/util/appSettings.ts index 3d8869bc1..1143faf41 100644 --- a/backend/vaa-strapi/src/util/appSettings.ts +++ b/backend/vaa-strapi/src/util/appSettings.ts @@ -1,5 +1,5 @@ -import { type DynamicSettings, dynamicSettings } from '@openvaa/app-shared'; -import type { QuestionInCardContent } from '@openvaa/app-shared'; +import { dynamicSettings } from '@openvaa/app-shared'; +import type { DynamicSettings, QuestionInCardContent } from '@openvaa/app-shared'; import type { Data } from '@strapi/strapi'; /** diff --git a/frontend/src/lib/api/adapters/apiRoute/apiRouteAdapter.ts b/frontend/src/lib/api/adapters/apiRoute/apiRouteAdapter.ts index 7fc7129d4..211e5bdad 100644 --- a/frontend/src/lib/api/adapters/apiRoute/apiRouteAdapter.ts +++ b/frontend/src/lib/api/adapters/apiRoute/apiRouteAdapter.ts @@ -1,6 +1,7 @@ -import { API_ROUTES, type ApiGetRoute, type ApiPostRoute, type ApiRouteReturnType } from './apiRoutes'; +import { API_ROUTES } from './apiRoutes'; import type { UniversalAdapter } from '$lib/api/base/universalAdapter'; import type { ApiRouteAdapter, ApiRouteGetOptions, ApiRoutePostOptions } from './apiRouteAdapter.type'; +import type { ApiGetRoute, ApiPostRoute, ApiRouteReturnType } from './apiRoutes'; /** * A mixin for all ApiRoute Data API services, implementing `apiGet` and `apiPost` methods. diff --git a/frontend/src/lib/api/adapters/apiRoute/apiRoutes.ts b/frontend/src/lib/api/adapters/apiRoute/apiRoutes.ts index e6a7d4d9c..a8ae7928e 100644 --- a/frontend/src/lib/api/adapters/apiRoute/apiRoutes.ts +++ b/frontend/src/lib/api/adapters/apiRoute/apiRoutes.ts @@ -1,6 +1,7 @@ -import { DP_METHOD, type DPDataType } from '$lib/api/base/dataTypes'; +import { DP_METHOD } from '$lib/api/base/dataTypes'; import { API_ROOT } from '$lib/api/base/universalApiRoutes'; import type { DataApiActionResult } from '$lib/api/base/actionResult.type'; +import type { DPDataType } from '$lib/api/base/dataTypes'; export const API_GET_ROUTES = Object.fromEntries( Object.keys(DP_METHOD).map((collection) => [collection, `${API_ROOT}/data/${collection}`]) diff --git a/frontend/src/lib/api/adapters/strapi/dataProvider/strapiDataProvider.ts b/frontend/src/lib/api/adapters/strapi/dataProvider/strapiDataProvider.ts index 011f5fcc7..54c5e6381 100644 --- a/frontend/src/lib/api/adapters/strapi/dataProvider/strapiDataProvider.ts +++ b/frontend/src/lib/api/adapters/strapi/dataProvider/strapiDataProvider.ts @@ -1,10 +1,4 @@ -import { - type AnyQuestionVariantData, - type ConstituencyData, - type ConstituencyGroupData, - ENTITY_TYPE, - type QuestionCategoryData -} from '@openvaa/data'; +import { ENTITY_TYPE } from '@openvaa/data'; import { UniversalDataProvider } from '$lib/api/base/universalDataProvider'; import { translate, translateObject } from '$lib/i18n'; import { strapiAdapterMixin } from '../strapiAdapter'; @@ -23,6 +17,12 @@ import { import { parseEntityType } from '../utils/parseEntityType'; import { parseQuestionCategoryCustomData } from '../utils/parseQuestionCategoryCustomData'; import { parseQuestionCustomData } from '../utils/parseQuestionCustomData'; +import type { + AnyQuestionVariantData, + ConstituencyData, + ConstituencyGroupData, + QuestionCategoryData +} from '@openvaa/data'; import type { DPDataType } from '$lib/api/base/dataTypes'; import type { GetAppCustomizationOptions, diff --git a/frontend/src/lib/api/adapters/strapi/strapiAdapter.ts b/frontend/src/lib/api/adapters/strapi/strapiAdapter.ts index c5259463a..4e37ef863 100644 --- a/frontend/src/lib/api/adapters/strapi/strapiAdapter.ts +++ b/frontend/src/lib/api/adapters/strapi/strapiAdapter.ts @@ -1,10 +1,11 @@ import { ENTITY_TYPE } from '@openvaa/data'; import { browser } from '$app/environment'; import { constants } from '$lib/utils/constants'; -import { STRAPI_API, STRAPI_AUTH_APIS, type StrapiApi, type StrapiApiReturnType } from './strapiApi'; +import { STRAPI_API, STRAPI_AUTH_APIS } from './strapiApi'; import type { WithAuth, WithTargetEntity } from '$lib/api/base/dataWriter.type'; import type { UniversalAdapter } from '$lib/api/base/universalAdapter'; import type { StrapiAdapter, StrapiApiGetOptions, StrapiApiPostOptions } from './strapiAdapter.type'; +import type { StrapiApi, StrapiApiReturnType } from './strapiApi'; import type { StrapiResult } from './strapiData.type'; /** diff --git a/frontend/src/lib/api/adapters/strapi/utils/parseCandidate.ts b/frontend/src/lib/api/adapters/strapi/utils/parseCandidate.ts index 3095b7a92..1256d0a1f 100644 --- a/frontend/src/lib/api/adapters/strapi/utils/parseCandidate.ts +++ b/frontend/src/lib/api/adapters/strapi/utils/parseCandidate.ts @@ -1,7 +1,8 @@ -import { type CandidateData, ENTITY_TYPE } from '@openvaa/data'; +import { ENTITY_TYPE } from '@openvaa/data'; import { formatId } from '$lib/api/utils/formatId'; import { parseAnswers } from '$lib/api/utils/parseAnswers'; import { parseImage } from './parseImage'; +import type { CandidateData } from '@openvaa/data'; import type { LocalizedAnswers, LocalizedCandidateData } from '$lib/api/base/dataWriter.type'; import type { StrapiCandidateData, StrapiUpdateCandidateReturnData } from '../strapiData.type'; diff --git a/frontend/src/lib/api/adapters/strapi/utils/parseNominations.ts b/frontend/src/lib/api/adapters/strapi/utils/parseNominations.ts index 070cbdaa6..277b9977f 100644 --- a/frontend/src/lib/api/adapters/strapi/utils/parseNominations.ts +++ b/frontend/src/lib/api/adapters/strapi/utils/parseNominations.ts @@ -1,17 +1,17 @@ -import { - type AnyEntityVariantData, - type AnyNominationVariantPublicData, - type CandidateData, - ENTITY_TYPE, - type OrganizationData, - type PublicAllianceNominationData, - type PublicCandidateNominationData, - type PublicOrganizationNominationData -} from '@openvaa/data'; +import { ENTITY_TYPE } from '@openvaa/data'; import { logDebugError } from '$lib/utils/logger'; import { parseBasics, parseCandidate, parseOrganization, parseRelationIds, parseSingleRelationId } from '../utils'; import type { CustomData } from '@openvaa/app-shared'; import type { Id } from '@openvaa/core'; +import type { + AnyEntityVariantData, + AnyNominationVariantPublicData, + CandidateData, + OrganizationData, + PublicAllianceNominationData, + PublicCandidateNominationData, + PublicOrganizationNominationData +} from '@openvaa/data'; import type { StrapiAllianceData, StrapiNominationData } from '../strapiData.type'; /** diff --git a/frontend/src/lib/api/adapters/strapi/utils/parseOrganization.ts b/frontend/src/lib/api/adapters/strapi/utils/parseOrganization.ts index 1a77f50f3..6e89f8643 100644 --- a/frontend/src/lib/api/adapters/strapi/utils/parseOrganization.ts +++ b/frontend/src/lib/api/adapters/strapi/utils/parseOrganization.ts @@ -1,7 +1,8 @@ -import { ENTITY_TYPE, type OrganizationData } from '@openvaa/data'; +import { ENTITY_TYPE } from '@openvaa/data'; import { parseAnswers } from '$lib/api/utils/parseAnswers'; import { parseBasics } from './parseBasics'; import { parseImage } from './parseImage'; +import type { OrganizationData } from '@openvaa/data'; import type { StrapiPartyData } from '../strapiData.type'; export function parseOrganization(data: StrapiPartyData, locale: string | null): OrganizationData { diff --git a/frontend/src/lib/api/adapters/strapi/utils/parseQuestionType.ts b/frontend/src/lib/api/adapters/strapi/utils/parseQuestionType.ts index 0bc9bcd87..205f0d3eb 100644 --- a/frontend/src/lib/api/adapters/strapi/utils/parseQuestionType.ts +++ b/frontend/src/lib/api/adapters/strapi/utils/parseQuestionType.ts @@ -1,7 +1,8 @@ -import { type AnyQuestionVariantData, type Choice, QUESTION_TYPE } from '@openvaa/data'; +import { QUESTION_TYPE } from '@openvaa/data'; import { formatId } from '$lib/api/utils/formatId'; import { translate } from '$lib/i18n'; import type { LocalizedChoice, QuestionSettingsDateType } from '@openvaa/app-shared'; +import type { AnyQuestionVariantData, Choice } from '@openvaa/data'; import type { StrapiQuestionTypeData } from '../strapiData.type'; export function parseQuestionType( diff --git a/frontend/src/lib/api/base/dataTypes.ts b/frontend/src/lib/api/base/dataTypes.ts index fca63cd72..b67f51222 100644 --- a/frontend/src/lib/api/base/dataTypes.ts +++ b/frontend/src/lib/api/base/dataTypes.ts @@ -5,9 +5,9 @@ import type { AnyQuestionVariantData, ConstituencyData, ConstituencyGroupData, - ElectionData + ElectionData, + QuestionCategoryData } from '@openvaa/data'; -import type { QuestionCategoryData } from '@openvaa/data'; import type { AppCustomization } from '$lib/contexts/app'; import type { DataProvider } from './dataProvider.type'; diff --git a/frontend/src/lib/api/base/universalAdapter.ts b/frontend/src/lib/api/base/universalAdapter.ts index 02a3fddb5..09ad8cbb2 100644 --- a/frontend/src/lib/api/base/universalAdapter.ts +++ b/frontend/src/lib/api/base/universalAdapter.ts @@ -3,7 +3,8 @@ import { constants } from '$lib/utils/constants'; import { addHeader } from '../utils/addHeader'; import { hasAuthHeaders } from '../utils/authHeaders'; import { cachifyUrl } from '../utils/cachifyUrl'; -import { type ParsedResponse, parseResponse, type ResponseParser } from '../utils/parseResponse'; +import { parseResponse } from '../utils/parseResponse'; +import type { ParsedResponse, ResponseParser } from '../utils/parseResponse'; import type { AdapterConfig, FetchOptions, GetOptions, PostOptions, SearchParams } from './universalAdapter.type'; const DEFAULT_PARSER = 'json' as const; diff --git a/frontend/src/lib/api/utils/filterEntitiesByNomination.test.ts b/frontend/src/lib/api/utils/filterEntitiesByNomination.test.ts index 20254c6e7..56383f97e 100644 --- a/frontend/src/lib/api/utils/filterEntitiesByNomination.test.ts +++ b/frontend/src/lib/api/utils/filterEntitiesByNomination.test.ts @@ -1,6 +1,7 @@ -import { type AnyEntityVariantData, type AnyNominationVariantPublicData, ENTITY_TYPE } from '@openvaa/data'; +import { ENTITY_TYPE } from '@openvaa/data'; import { describe, expect, test } from 'vitest'; import { filterEntitiesByNomination, parseEntitiesFromNominations } from './filterEntitiesByNomination'; +import type { AnyEntityVariantData, AnyNominationVariantPublicData } from '@openvaa/data'; const nominations: Array = [ { diff --git a/frontend/src/lib/api/utils/filterEntitiesByNomination.ts b/frontend/src/lib/api/utils/filterEntitiesByNomination.ts index 74523729f..5cb4b3ed7 100644 --- a/frontend/src/lib/api/utils/filterEntitiesByNomination.ts +++ b/frontend/src/lib/api/utils/filterEntitiesByNomination.ts @@ -1,10 +1,6 @@ -import { - type AnyEntityVariantData, - type AnyNominationVariantPublicData, - ENTITY_TYPE, - type EntityType -} from '@openvaa/data'; +import { ENTITY_TYPE } from '@openvaa/data'; import type { Id } from '@openvaa/core'; +import type { AnyEntityVariantData, AnyNominationVariantPublicData, EntityType } from '@openvaa/data'; /** * Filter the entities to those that are included in the possibly nested nominations. diff --git a/frontend/src/lib/api/utils/parseResponse.test.ts b/frontend/src/lib/api/utils/parseResponse.test.ts index 1d8cdca76..ee3f42f19 100644 --- a/frontend/src/lib/api/utils/parseResponse.test.ts +++ b/frontend/src/lib/api/utils/parseResponse.test.ts @@ -1,5 +1,6 @@ import { describe, expect, test, vi } from 'vitest'; -import { parseResponse, type ResponseParser } from './parseResponse'; +import { parseResponse } from './parseResponse'; +import type { ResponseParser } from './parseResponse'; describe('parseResponse', () => { test('should parse json response', async () => { diff --git a/frontend/src/lib/api/utils/translateHeroContent.ts b/frontend/src/lib/api/utils/translateHeroContent.ts index fb72f89fa..1f9e6ef7c 100644 --- a/frontend/src/lib/api/utils/translateHeroContent.ts +++ b/frontend/src/lib/api/utils/translateHeroContent.ts @@ -1,5 +1,6 @@ -import { type HeroContent, isEmoji, isImage, isLocalizedObject, type LocalizedHeroContent } from '@openvaa/app-shared'; +import { isEmoji, isImage, isLocalizedObject } from '@openvaa/app-shared'; import { translateObject } from '$lib/i18n'; +import type { HeroContent, LocalizedHeroContent } from '@openvaa/app-shared'; /** * Translate possibly localized hero content object into a `HeroContent` object. diff --git a/frontend/src/lib/candidate/components/passwordValidator/PasswordValidator.svelte b/frontend/src/lib/candidate/components/passwordValidator/PasswordValidator.svelte index 24ff46356..467262b40 100644 --- a/frontend/src/lib/candidate/components/passwordValidator/PasswordValidator.svelte +++ b/frontend/src/lib/candidate/components/passwordValidator/PasswordValidator.svelte @@ -38,12 +38,13 @@ When using this component, the `validPassword` property should be bound to a boo --> diff --git a/frontend/src/lib/components/headingGroup/HeadingGroup.type.ts b/frontend/src/lib/components/headingGroup/HeadingGroup.type.ts index ce735acd2..5ea881724 100644 --- a/frontend/src/lib/components/headingGroup/HeadingGroup.type.ts +++ b/frontend/src/lib/components/headingGroup/HeadingGroup.type.ts @@ -1,4 +1,5 @@ import type { AriaRole, SvelteHTMLElements } from 'svelte/elements'; + export type HeadingGroupProps = SvelteHTMLElements['hgroup'] & { /** * The Aria role description of the `
` element. diff --git a/frontend/src/lib/components/headingGroup/PreHeading.svelte b/frontend/src/lib/components/headingGroup/PreHeading.svelte index 6787d4b1e..ac73c40d4 100644 --- a/frontend/src/lib/components/headingGroup/PreHeading.svelte +++ b/frontend/src/lib/components/headingGroup/PreHeading.svelte @@ -20,6 +20,7 @@ Used for a pre-title, or kicker, above the main title of a page within a `Headin diff --git a/frontend/src/lib/components/headingGroup/PreHeading.type.ts b/frontend/src/lib/components/headingGroup/PreHeading.type.ts index e6fba3bf4..f265f9487 100644 --- a/frontend/src/lib/components/headingGroup/PreHeading.type.ts +++ b/frontend/src/lib/components/headingGroup/PreHeading.type.ts @@ -1,4 +1,5 @@ import type { SvelteHTMLElements } from 'svelte/elements'; + export type PreHeadingProps = SvelteHTMLElements['p'] & { /** * The Aria role description of the `

` element representing diff --git a/frontend/src/lib/components/heroEmoji/HeroEmoji.type.ts b/frontend/src/lib/components/heroEmoji/HeroEmoji.type.ts index 084234790..94ca86ced 100644 --- a/frontend/src/lib/components/heroEmoji/HeroEmoji.type.ts +++ b/frontend/src/lib/components/heroEmoji/HeroEmoji.type.ts @@ -1,4 +1,5 @@ import type { SvelteHTMLElements } from 'svelte/elements'; + export type HeroEmojiProps = SvelteHTMLElements['div'] & { /** * The emoji to use. Note that all non-emoji characters will be removed. If `undefined` the component will not be rendered at all. @default `undefined` diff --git a/frontend/src/lib/components/input/Input.svelte b/frontend/src/lib/components/input/Input.svelte index 97a028dc8..affb5fc26 100644 --- a/frontend/src/lib/components/input/Input.svelte +++ b/frontend/src/lib/components/input/Input.svelte @@ -53,7 +53,7 @@ The input itself is wrapped in multiple container elements, the outermost of whi