ci: add api path
This commit is contained in:
@@ -2,6 +2,16 @@ import createClient from 'openapi-fetch'
|
||||
|
||||
import { type schema } from './schema'
|
||||
|
||||
function getApiBaseUrl(): string {
|
||||
if (typeof import.meta !== 'undefined' && import.meta.env?.PUBLIC_API_URL) {
|
||||
return import.meta.env.PUBLIC_API_URL
|
||||
}
|
||||
if (typeof process !== 'undefined' && process.env.PUBLIC_API_URL) {
|
||||
return process.env.PUBLIC_API_URL
|
||||
}
|
||||
return 'http://localhost:1337/api/'
|
||||
}
|
||||
|
||||
export const client = createClient<schema>({
|
||||
baseUrl: 'http://localhost:1337/api/',
|
||||
baseUrl: getApiBaseUrl(),
|
||||
})
|
||||
|
||||
@@ -1,50 +1,28 @@
|
||||
---
|
||||
export const prerender = true
|
||||
|
||||
import Layout from '../layouts/Layout.astro'
|
||||
import '../styles/globals.css'
|
||||
import { Header } from '../sections/Header'
|
||||
import { Footer } from '../sections/Footer'
|
||||
import { Enum_Category_Group } from '../graphql/graphql'
|
||||
import { CategoryView } from '../views/CategoryView'
|
||||
import type { MenuItemsQuery } from '../graphql/graphql'
|
||||
import type { SiteConfigContact } from '../lib/cms/contact/types'
|
||||
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'
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const [siteResult, menuItemsResult] = await Promise.all([siteConfigQuery.execute(), menuItemsQuery.execute()])
|
||||
if (siteResult.errors?.length) {
|
||||
throw new Error(siteResult.errors.map(e => e.message).join(', '))
|
||||
}
|
||||
const contacts = siteResult.data?.siteConfig?.contacts?.filter(c => c != null) ?? []
|
||||
if (menuItemsResult.errors?.length) {
|
||||
throw new Error(menuItemsResult.errors.map(e => e.message).join(', '))
|
||||
}
|
||||
const menuItems = (menuItemsResult.data?.categories?.filter(c => c != null) ?? []).sort(
|
||||
(a, b) => a.sortOrder - b.sortOrder
|
||||
)
|
||||
const solutionCategories = menuItems.filter(c => c.group === Enum_Category_Group.Solution)
|
||||
const serviceCategories = menuItems.filter(c => c.group === Enum_Category_Group.Service)
|
||||
|
||||
return menuItems.map(category => ({
|
||||
params: { slug: category.slug },
|
||||
props: {
|
||||
contacts,
|
||||
solutionCategories,
|
||||
serviceCategories,
|
||||
},
|
||||
}))
|
||||
const [siteResult, menuItemsResult] = await Promise.all([siteConfigQuery.execute(), menuItemsQuery.execute()])
|
||||
if (siteResult.errors?.length) {
|
||||
throw new Error(siteResult.errors.map(e => e.message).join(', '))
|
||||
}
|
||||
|
||||
interface Props {
|
||||
contacts: SiteConfigContact[]
|
||||
solutionCategories: NonNullable<MenuItemsQuery['categories'][number]>[]
|
||||
serviceCategories: NonNullable<MenuItemsQuery['categories'][number]>[]
|
||||
const contacts = siteResult.data?.siteConfig?.contacts?.filter(c => c != null) ?? []
|
||||
if (menuItemsResult.errors?.length) {
|
||||
throw new Error(menuItemsResult.errors.map(e => e.message).join(', '))
|
||||
}
|
||||
const menuItems = (menuItemsResult.data?.categories?.filter(c => c != null) ?? []).sort(
|
||||
(a, b) => a.sortOrder - b.sortOrder
|
||||
)
|
||||
const solutionCategories = menuItems.filter(c => c.group === Enum_Category_Group.Solution)
|
||||
const serviceCategories = menuItems.filter(c => c.group === Enum_Category_Group.Service)
|
||||
|
||||
const { contacts, solutionCategories, serviceCategories } = Astro.props as Props
|
||||
const slug = Astro.params.slug
|
||||
|
||||
if (!slug) {
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
export const prerender = true
|
||||
|
||||
import Layout from '../layouts/Layout.astro'
|
||||
import '../styles/globals.css'
|
||||
import { Header } from '../sections/Header'
|
||||
|
||||
Reference in New Issue
Block a user