chore: add privacy policy and term of use
This commit is contained in:
@@ -585,39 +585,50 @@ input PaginationArg {
|
||||
start: Int
|
||||
}
|
||||
|
||||
enum PublicationFilter {
|
||||
HAS_PUBLISHED_VERSION
|
||||
HAS_PUBLISHED_VERSION_DOCUMENT
|
||||
MODIFIED
|
||||
NEVER_PUBLISHED
|
||||
NEVER_PUBLISHED_DOCUMENT
|
||||
PUBLISHED_WITHOUT_DRAFT
|
||||
PUBLISHED_WITH_DRAFT
|
||||
UNMODIFIED
|
||||
}
|
||||
|
||||
enum PublicationStatus {
|
||||
DRAFT
|
||||
PUBLISHED
|
||||
}
|
||||
|
||||
type Query {
|
||||
categories(filters: CategoryFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): [Category]!
|
||||
categories_connection(filters: CategoryFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): CategoryEntityResponseCollection
|
||||
category(documentId: ID!, hasPublishedVersion: Boolean, status: PublicationStatus = PUBLISHED): Category
|
||||
homePage(hasPublishedVersion: Boolean, status: PublicationStatus = PUBLISHED): HomePage
|
||||
i18NLocale(documentId: ID!, hasPublishedVersion: Boolean, status: PublicationStatus = PUBLISHED): I18NLocale
|
||||
i18NLocales(filters: I18NLocaleFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): [I18NLocale]!
|
||||
i18NLocales_connection(filters: I18NLocaleFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): I18NLocaleEntityResponseCollection
|
||||
categories(filters: CategoryFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): [Category]!
|
||||
categories_connection(filters: CategoryFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): CategoryEntityResponseCollection
|
||||
category(documentId: ID!, hasPublishedVersion: Boolean, publicationFilter: PublicationFilter, status: PublicationStatus = PUBLISHED): Category
|
||||
homePage(hasPublishedVersion: Boolean, publicationFilter: PublicationFilter, status: PublicationStatus = PUBLISHED): HomePage
|
||||
i18NLocale(documentId: ID!, hasPublishedVersion: Boolean, publicationFilter: PublicationFilter, status: PublicationStatus = PUBLISHED): I18NLocale
|
||||
i18NLocales(filters: I18NLocaleFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): [I18NLocale]!
|
||||
i18NLocales_connection(filters: I18NLocaleFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): I18NLocaleEntityResponseCollection
|
||||
me: UsersPermissionsMe
|
||||
reviewWorkflowsWorkflow(documentId: ID!, hasPublishedVersion: Boolean, status: PublicationStatus = PUBLISHED): ReviewWorkflowsWorkflow
|
||||
reviewWorkflowsWorkflowStage(documentId: ID!, hasPublishedVersion: Boolean, status: PublicationStatus = PUBLISHED): ReviewWorkflowsWorkflowStage
|
||||
reviewWorkflowsWorkflowStages(filters: ReviewWorkflowsWorkflowStageFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): [ReviewWorkflowsWorkflowStage]!
|
||||
reviewWorkflowsWorkflowStages_connection(filters: ReviewWorkflowsWorkflowStageFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): ReviewWorkflowsWorkflowStageEntityResponseCollection
|
||||
reviewWorkflowsWorkflows(filters: ReviewWorkflowsWorkflowFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): [ReviewWorkflowsWorkflow]!
|
||||
reviewWorkflowsWorkflows_connection(filters: ReviewWorkflowsWorkflowFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): ReviewWorkflowsWorkflowEntityResponseCollection
|
||||
siteConfig(hasPublishedVersion: Boolean, status: PublicationStatus = PUBLISHED): SiteConfig
|
||||
uploadFile(documentId: ID!, hasPublishedVersion: Boolean, status: PublicationStatus = PUBLISHED): UploadFile
|
||||
uploadFiles(filters: UploadFileFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): [UploadFile]!
|
||||
uploadFiles_connection(filters: UploadFileFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): UploadFileEntityResponseCollection
|
||||
usersPermissionsRole(documentId: ID!, hasPublishedVersion: Boolean, status: PublicationStatus = PUBLISHED): UsersPermissionsRole
|
||||
usersPermissionsRoles(filters: UsersPermissionsRoleFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): [UsersPermissionsRole]!
|
||||
usersPermissionsRoles_connection(filters: UsersPermissionsRoleFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): UsersPermissionsRoleEntityResponseCollection
|
||||
usersPermissionsUser(documentId: ID!, hasPublishedVersion: Boolean, status: PublicationStatus = PUBLISHED): UsersPermissionsUser
|
||||
usersPermissionsUsers(filters: UsersPermissionsUserFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): [UsersPermissionsUser]!
|
||||
usersPermissionsUsers_connection(filters: UsersPermissionsUserFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): UsersPermissionsUserEntityResponseCollection
|
||||
vendor(documentId: ID!, hasPublishedVersion: Boolean, status: PublicationStatus = PUBLISHED): Vendor
|
||||
vendors(filters: VendorFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): [Vendor]!
|
||||
vendors_connection(filters: VendorFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, sort: [String] = [], status: PublicationStatus = PUBLISHED): VendorEntityResponseCollection
|
||||
reviewWorkflowsWorkflow(documentId: ID!, hasPublishedVersion: Boolean, publicationFilter: PublicationFilter, status: PublicationStatus = PUBLISHED): ReviewWorkflowsWorkflow
|
||||
reviewWorkflowsWorkflowStage(documentId: ID!, hasPublishedVersion: Boolean, publicationFilter: PublicationFilter, status: PublicationStatus = PUBLISHED): ReviewWorkflowsWorkflowStage
|
||||
reviewWorkflowsWorkflowStages(filters: ReviewWorkflowsWorkflowStageFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): [ReviewWorkflowsWorkflowStage]!
|
||||
reviewWorkflowsWorkflowStages_connection(filters: ReviewWorkflowsWorkflowStageFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): ReviewWorkflowsWorkflowStageEntityResponseCollection
|
||||
reviewWorkflowsWorkflows(filters: ReviewWorkflowsWorkflowFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): [ReviewWorkflowsWorkflow]!
|
||||
reviewWorkflowsWorkflows_connection(filters: ReviewWorkflowsWorkflowFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): ReviewWorkflowsWorkflowEntityResponseCollection
|
||||
siteConfig(hasPublishedVersion: Boolean, publicationFilter: PublicationFilter, status: PublicationStatus = PUBLISHED): SiteConfig
|
||||
uploadFile(documentId: ID!, hasPublishedVersion: Boolean, publicationFilter: PublicationFilter, status: PublicationStatus = PUBLISHED): UploadFile
|
||||
uploadFiles(filters: UploadFileFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): [UploadFile]!
|
||||
uploadFiles_connection(filters: UploadFileFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): UploadFileEntityResponseCollection
|
||||
usersPermissionsRole(documentId: ID!, hasPublishedVersion: Boolean, publicationFilter: PublicationFilter, status: PublicationStatus = PUBLISHED): UsersPermissionsRole
|
||||
usersPermissionsRoles(filters: UsersPermissionsRoleFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): [UsersPermissionsRole]!
|
||||
usersPermissionsRoles_connection(filters: UsersPermissionsRoleFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): UsersPermissionsRoleEntityResponseCollection
|
||||
usersPermissionsUser(documentId: ID!, hasPublishedVersion: Boolean, publicationFilter: PublicationFilter, status: PublicationStatus = PUBLISHED): UsersPermissionsUser
|
||||
usersPermissionsUsers(filters: UsersPermissionsUserFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): [UsersPermissionsUser]!
|
||||
usersPermissionsUsers_connection(filters: UsersPermissionsUserFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): UsersPermissionsUserEntityResponseCollection
|
||||
vendor(documentId: ID!, hasPublishedVersion: Boolean, publicationFilter: PublicationFilter, status: PublicationStatus = PUBLISHED): Vendor
|
||||
vendors(filters: VendorFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): [Vendor]!
|
||||
vendors_connection(filters: VendorFiltersInput, hasPublishedVersion: Boolean, pagination: PaginationArg = {}, publicationFilter: PublicationFilter, sort: [String] = [], status: PublicationStatus = PUBLISHED): VendorEntityResponseCollection
|
||||
}
|
||||
|
||||
type ReviewWorkflowsWorkflow {
|
||||
@@ -703,7 +714,9 @@ type SiteConfig {
|
||||
createdAt: DateTime
|
||||
description: String
|
||||
documentId: ID!
|
||||
privacyPolicy: UploadFile
|
||||
publishedAt: DateTime
|
||||
termsOfUse: UploadFile
|
||||
title: String!
|
||||
updatedAt: DateTime
|
||||
}
|
||||
@@ -711,7 +724,9 @@ type SiteConfig {
|
||||
input SiteConfigInput {
|
||||
contacts: [ComponentSharedContactInput]
|
||||
description: String
|
||||
privacyPolicy: ID
|
||||
publishedAt: DateTime
|
||||
termsOfUse: ID
|
||||
title: String
|
||||
}
|
||||
|
||||
|
||||
7188
src/api/paths.ts
7188
src/api/paths.ts
File diff suppressed because it is too large
Load Diff
10
src/env.d.ts
vendored
10
src/env.d.ts
vendored
@@ -1 +1,11 @@
|
||||
/// <reference types="astro/client" />
|
||||
|
||||
interface ImportMetaEnv {
|
||||
readonly PUBLIC_API_URL: string
|
||||
readonly PUBLIC_GRAPHQL_URL: string
|
||||
readonly PUBLIC_UPLOADS_BASE_URL: string
|
||||
}
|
||||
|
||||
interface ImportMeta {
|
||||
readonly env: ImportMetaEnv
|
||||
}
|
||||
|
||||
@@ -11,6 +11,12 @@ export const siteConfigDocument = gql`
|
||||
value
|
||||
displayValue
|
||||
}
|
||||
privacyPolicy {
|
||||
url
|
||||
}
|
||||
termsOfUse {
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
@@ -825,6 +825,17 @@ export type PaginationArg = {
|
||||
start?: InputMaybe<Scalars['Int']['input']>;
|
||||
};
|
||||
|
||||
export enum PublicationFilter {
|
||||
HasPublishedVersion = 'HAS_PUBLISHED_VERSION',
|
||||
HasPublishedVersionDocument = 'HAS_PUBLISHED_VERSION_DOCUMENT',
|
||||
Modified = 'MODIFIED',
|
||||
NeverPublished = 'NEVER_PUBLISHED',
|
||||
NeverPublishedDocument = 'NEVER_PUBLISHED_DOCUMENT',
|
||||
PublishedWithoutDraft = 'PUBLISHED_WITHOUT_DRAFT',
|
||||
PublishedWithDraft = 'PUBLISHED_WITH_DRAFT',
|
||||
Unmodified = 'UNMODIFIED'
|
||||
}
|
||||
|
||||
export enum PublicationStatus {
|
||||
Draft = 'DRAFT',
|
||||
Published = 'PUBLISHED'
|
||||
@@ -866,6 +877,7 @@ export type QueryCategoriesArgs = {
|
||||
filters?: InputMaybe<CategoryFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -875,6 +887,7 @@ export type QueryCategories_ConnectionArgs = {
|
||||
filters?: InputMaybe<CategoryFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -883,12 +896,14 @@ export type QueryCategories_ConnectionArgs = {
|
||||
export type QueryCategoryArgs = {
|
||||
documentId: Scalars['ID']['input'];
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryHomePageArgs = {
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
|
||||
@@ -896,6 +911,7 @@ export type QueryHomePageArgs = {
|
||||
export type QueryI18NLocaleArgs = {
|
||||
documentId: Scalars['ID']['input'];
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
|
||||
@@ -904,6 +920,7 @@ export type QueryI18NLocalesArgs = {
|
||||
filters?: InputMaybe<I18NLocaleFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -913,6 +930,7 @@ export type QueryI18NLocales_ConnectionArgs = {
|
||||
filters?: InputMaybe<I18NLocaleFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -921,6 +939,7 @@ export type QueryI18NLocales_ConnectionArgs = {
|
||||
export type QueryReviewWorkflowsWorkflowArgs = {
|
||||
documentId: Scalars['ID']['input'];
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
|
||||
@@ -928,6 +947,7 @@ export type QueryReviewWorkflowsWorkflowArgs = {
|
||||
export type QueryReviewWorkflowsWorkflowStageArgs = {
|
||||
documentId: Scalars['ID']['input'];
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
|
||||
@@ -936,6 +956,7 @@ export type QueryReviewWorkflowsWorkflowStagesArgs = {
|
||||
filters?: InputMaybe<ReviewWorkflowsWorkflowStageFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -945,6 +966,7 @@ export type QueryReviewWorkflowsWorkflowStages_ConnectionArgs = {
|
||||
filters?: InputMaybe<ReviewWorkflowsWorkflowStageFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -954,6 +976,7 @@ export type QueryReviewWorkflowsWorkflowsArgs = {
|
||||
filters?: InputMaybe<ReviewWorkflowsWorkflowFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -963,6 +986,7 @@ export type QueryReviewWorkflowsWorkflows_ConnectionArgs = {
|
||||
filters?: InputMaybe<ReviewWorkflowsWorkflowFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -970,6 +994,7 @@ export type QueryReviewWorkflowsWorkflows_ConnectionArgs = {
|
||||
|
||||
export type QuerySiteConfigArgs = {
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
|
||||
@@ -977,6 +1002,7 @@ export type QuerySiteConfigArgs = {
|
||||
export type QueryUploadFileArgs = {
|
||||
documentId: Scalars['ID']['input'];
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
|
||||
@@ -985,6 +1011,7 @@ export type QueryUploadFilesArgs = {
|
||||
filters?: InputMaybe<UploadFileFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -994,6 +1021,7 @@ export type QueryUploadFiles_ConnectionArgs = {
|
||||
filters?: InputMaybe<UploadFileFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -1002,6 +1030,7 @@ export type QueryUploadFiles_ConnectionArgs = {
|
||||
export type QueryUsersPermissionsRoleArgs = {
|
||||
documentId: Scalars['ID']['input'];
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
|
||||
@@ -1010,6 +1039,7 @@ export type QueryUsersPermissionsRolesArgs = {
|
||||
filters?: InputMaybe<UsersPermissionsRoleFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -1019,6 +1049,7 @@ export type QueryUsersPermissionsRoles_ConnectionArgs = {
|
||||
filters?: InputMaybe<UsersPermissionsRoleFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -1027,6 +1058,7 @@ export type QueryUsersPermissionsRoles_ConnectionArgs = {
|
||||
export type QueryUsersPermissionsUserArgs = {
|
||||
documentId: Scalars['ID']['input'];
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
|
||||
@@ -1035,6 +1067,7 @@ export type QueryUsersPermissionsUsersArgs = {
|
||||
filters?: InputMaybe<UsersPermissionsUserFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -1044,6 +1077,7 @@ export type QueryUsersPermissionsUsers_ConnectionArgs = {
|
||||
filters?: InputMaybe<UsersPermissionsUserFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -1052,6 +1086,7 @@ export type QueryUsersPermissionsUsers_ConnectionArgs = {
|
||||
export type QueryVendorArgs = {
|
||||
documentId: Scalars['ID']['input'];
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
|
||||
@@ -1060,6 +1095,7 @@ export type QueryVendorsArgs = {
|
||||
filters?: InputMaybe<VendorFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -1069,6 +1105,7 @@ export type QueryVendors_ConnectionArgs = {
|
||||
filters?: InputMaybe<VendorFiltersInput>;
|
||||
hasPublishedVersion?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
pagination?: InputMaybe<PaginationArg>;
|
||||
publicationFilter?: InputMaybe<PublicationFilter>;
|
||||
sort?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||
status?: InputMaybe<PublicationStatus>;
|
||||
};
|
||||
@@ -1176,7 +1213,9 @@ export type SiteConfig = {
|
||||
createdAt?: Maybe<Scalars['DateTime']['output']>;
|
||||
description?: Maybe<Scalars['String']['output']>;
|
||||
documentId: Scalars['ID']['output'];
|
||||
privacyPolicy?: Maybe<UploadFile>;
|
||||
publishedAt?: Maybe<Scalars['DateTime']['output']>;
|
||||
termsOfUse?: Maybe<UploadFile>;
|
||||
title: Scalars['String']['output'];
|
||||
updatedAt?: Maybe<Scalars['DateTime']['output']>;
|
||||
};
|
||||
@@ -1191,7 +1230,9 @@ export type SiteConfigContactsArgs = {
|
||||
export type SiteConfigInput = {
|
||||
contacts?: InputMaybe<Array<InputMaybe<ComponentSharedContactInput>>>;
|
||||
description?: InputMaybe<Scalars['String']['input']>;
|
||||
privacyPolicy?: InputMaybe<Scalars['ID']['input']>;
|
||||
publishedAt?: InputMaybe<Scalars['DateTime']['input']>;
|
||||
termsOfUse?: InputMaybe<Scalars['ID']['input']>;
|
||||
title?: InputMaybe<Scalars['String']['input']>;
|
||||
};
|
||||
|
||||
@@ -1586,7 +1627,7 @@ export type MenuItemsQuery = { __typename?: 'Query', categories: Array<{ __typen
|
||||
export type SiteConfigQueryVariables = Exact<{ [key: string]: never; }>;
|
||||
|
||||
|
||||
export type SiteConfigQuery = { __typename?: 'Query', siteConfig?: { __typename?: 'SiteConfig', title: string, description?: string | null, contacts?: Array<{ __typename?: 'ComponentSharedContact', id: string, type: Enum_Componentsharedcontact_Type, value: string, displayValue?: string | null } | null> | null } | null };
|
||||
export type SiteConfigQuery = { __typename?: 'Query', siteConfig?: { __typename?: 'SiteConfig', title: string, description?: string | null, contacts?: Array<{ __typename?: 'ComponentSharedContact', id: string, type: Enum_Componentsharedcontact_Type, value: string, displayValue?: string | null } | null> | null, privacyPolicy?: { __typename?: 'UploadFile', url: string } | null, termsOfUse?: { __typename?: 'UploadFile', url: string } | null } | null };
|
||||
|
||||
export class TypedDocumentString<TResult, TVariables>
|
||||
extends String
|
||||
@@ -1743,6 +1784,12 @@ export const SiteConfigDocument = new TypedDocumentString(`
|
||||
value
|
||||
displayValue
|
||||
}
|
||||
privacyPolicy {
|
||||
url
|
||||
}
|
||||
termsOfUse {
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
`) as unknown as TypedDocumentString<SiteConfigQuery, SiteConfigQueryVariables>;
|
||||
25
src/lib/cms/uploads/url.ts
Normal file
25
src/lib/cms/uploads/url.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
const defaultUploadsBaseUrl = 'http://localhost:1337'
|
||||
|
||||
function getUploadsBaseUrl(): string {
|
||||
if (typeof import.meta !== 'undefined' && import.meta.env?.PUBLIC_UPLOADS_BASE_URL) {
|
||||
return import.meta.env.PUBLIC_UPLOADS_BASE_URL
|
||||
}
|
||||
if (typeof process !== 'undefined' && process.env.PUBLIC_UPLOADS_BASE_URL) {
|
||||
return process.env.PUBLIC_UPLOADS_BASE_URL
|
||||
}
|
||||
return defaultUploadsBaseUrl
|
||||
}
|
||||
|
||||
/** Resolves Strapi-relative upload paths using {@link PUBLIC_UPLOADS_BASE_URL}. */
|
||||
export function resolveUploadUrl(url: string | null | undefined): string | undefined {
|
||||
if (!url) {
|
||||
return undefined
|
||||
}
|
||||
if (/^https?:\/\//i.test(url)) {
|
||||
return url
|
||||
}
|
||||
|
||||
const base = getUploadsBaseUrl().replace(/\/$/, '')
|
||||
const path = url.startsWith('/') ? url : `/${url}`
|
||||
return `${base}${path}`
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import { CategoryView } from '../views/CategoryView'
|
||||
import { siteConfigQuery } from '../graphql-documents/site-config.gql.generated'
|
||||
import { menuItemsQuery } from '../graphql-documents/menu-items.gql.generated'
|
||||
import { categoryQuery } from '../graphql-documents/category.gql.generated'
|
||||
import { resolveUploadUrl } from '../lib/cms/uploads/url'
|
||||
|
||||
const [siteResult, menuItemsResult] = await Promise.all([siteConfigQuery.execute(), menuItemsQuery.execute()])
|
||||
if (siteResult.errors?.length) {
|
||||
@@ -17,6 +18,8 @@ const siteConfig = siteResult.data?.siteConfig
|
||||
const siteTitle = siteConfig?.title ?? ''
|
||||
const siteDescription = siteConfig?.description ?? ''
|
||||
const contacts = siteConfig?.contacts?.filter(c => c != null) ?? []
|
||||
const privacyPolicyUrl = resolveUploadUrl(siteConfig?.privacyPolicy?.url)
|
||||
const termsOfUseUrl = resolveUploadUrl(siteConfig?.termsOfUse?.url)
|
||||
if (menuItemsResult.errors?.length) {
|
||||
throw new Error(menuItemsResult.errors.map(e => e.message).join(', '))
|
||||
}
|
||||
@@ -61,6 +64,13 @@ const vendors = (category.vendors?.filter(v => v != null) ?? []).map(vendor => (
|
||||
<div class="min-h-screen bg-white w-full overflow-x-hidden">
|
||||
<Header client:load siteTitle={siteTitle} contacts={contacts} solutions={solutionCategories} services={serviceCategories} />
|
||||
<CategoryView client:load badge={badge} title={title} description={description} vendors={vendors} contacts={contacts} />
|
||||
<Footer client:load siteTitle={siteTitle} contacts={contacts} solutionCategories={solutionCategories} />
|
||||
<Footer
|
||||
client:load
|
||||
siteTitle={siteTitle}
|
||||
contacts={contacts}
|
||||
solutionCategories={solutionCategories}
|
||||
privacyPolicyUrl={privacyPolicyUrl}
|
||||
termsOfUseUrl={termsOfUseUrl}
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
@@ -8,6 +8,7 @@ import { Enum_Category_Group } from '../graphql/graphql'
|
||||
import { menuItemsQuery } from '../graphql-documents/menu-items.gql.generated'
|
||||
import { homePageQuery } from '../graphql-documents/home-page.gql.generated'
|
||||
import { siteConfigQuery } from '../graphql-documents/site-config.gql.generated'
|
||||
import { resolveUploadUrl } from '../lib/cms/uploads/url'
|
||||
|
||||
const [homeResult, siteResult, menuItemsResult] = await Promise.all([
|
||||
homePageQuery.execute(),
|
||||
@@ -30,6 +31,8 @@ const siteConfig = siteResult.data?.siteConfig
|
||||
const siteTitle = siteConfig?.title ?? ''
|
||||
const siteDescription = siteConfig?.description ?? ''
|
||||
const contacts = siteConfig?.contacts?.filter(c => c != null) ?? []
|
||||
const privacyPolicyUrl = resolveUploadUrl(siteConfig?.privacyPolicy?.url)
|
||||
const termsOfUseUrl = resolveUploadUrl(siteConfig?.termsOfUse?.url)
|
||||
const menuItems = (menuItemsResult.data?.categories?.filter(c => c != null) ?? []).sort(
|
||||
(a, b) => a.sortOrder - b.sortOrder
|
||||
)
|
||||
@@ -42,6 +45,13 @@ const serviceCategories = menuItems.filter(c => c.group === Enum_Category_Group.
|
||||
<div class="min-h-screen bg-white w-full overflow-x-hidden">
|
||||
<Header client:load siteTitle={siteTitle} contacts={contacts} solutions={solutionCategories} services={serviceCategories} />
|
||||
<HomePage client:load homePage={homePage} contacts={contacts} />
|
||||
<Footer client:load siteTitle={siteTitle} contacts={contacts} solutionCategories={solutionCategories} />
|
||||
<Footer
|
||||
client:load
|
||||
siteTitle={siteTitle}
|
||||
contacts={contacts}
|
||||
solutionCategories={solutionCategories}
|
||||
privacyPolicyUrl={privacyPolicyUrl}
|
||||
termsOfUseUrl={termsOfUseUrl}
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
@@ -10,9 +10,17 @@ export interface FooterProps {
|
||||
siteTitle?: string
|
||||
contacts?: readonly SiteConfigContact[]
|
||||
solutionCategories?: CategoryNavItem[]
|
||||
privacyPolicyUrl?: string
|
||||
termsOfUseUrl?: string
|
||||
}
|
||||
|
||||
export function Footer({ siteTitle = '', contacts = [], solutionCategories = [] }: FooterProps) {
|
||||
export function Footer({
|
||||
siteTitle = '',
|
||||
contacts = [],
|
||||
solutionCategories = [],
|
||||
privacyPolicyUrl,
|
||||
termsOfUseUrl,
|
||||
}: FooterProps) {
|
||||
return (
|
||||
<footer className="bg-gray-900 text-gray-400 pt-20 pb-10 border-t border-gray-800">
|
||||
<div className="max-w-400 mx-auto px-6 xl:px-12 2xl:px-16">
|
||||
@@ -109,12 +117,26 @@ export function Footer({ siteTitle = '', contacts = [], solutionCategories = []
|
||||
<div className="pt-8 border-t border-gray-800 flex flex-col md:flex-row justify-between items-center gap-4">
|
||||
<div>© 2025 {siteTitle}. Все права защищены.</div>
|
||||
<div className="flex gap-6">
|
||||
<a href="#" className="hover:text-blue-400 transition-colors">
|
||||
{privacyPolicyUrl ? (
|
||||
<a
|
||||
href={privacyPolicyUrl}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="hover:text-blue-400 transition-colors"
|
||||
>
|
||||
Политика конфиденциальности
|
||||
</a>
|
||||
<a href="#" className="hover:text-blue-400 transition-colors">
|
||||
) : null}
|
||||
{termsOfUseUrl ? (
|
||||
<a
|
||||
href={termsOfUseUrl}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="hover:text-blue-400 transition-colors"
|
||||
>
|
||||
Условия использования
|
||||
</a>
|
||||
) : null}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user