Fix website doc search (#6134)

NEXT_PUBLIC environnement variable values are set at build time and not
run time.
Build is currently performed in Github actions so setting those vars at
runtime has no effect.
We can use a package to automatically pass those variables at runtime
This commit is contained in:
Félix Malfait
2024-07-04 16:46:18 +02:00
committed by GitHub
parent 6cd154aac6
commit aa2218900c
4 changed files with 165 additions and 2 deletions

View File

@ -14,6 +14,7 @@
"database:generate:pg": "npx drizzle-kit generate:pg --config=src/database/drizzle-posgres.config.ts"
},
"dependencies": {
"next-runtime-env": "^3.2.2",
"postgres": "^3.4.3"
}
}

View File

@ -1,5 +1,6 @@
import { DocSearch } from '@docsearch/react';
import { StoredDocSearchHit } from '@docsearch/react/dist/esm/types';
import { env } from 'next-runtime-env';
interface AlgoliaHit extends StoredDocSearchHit {
_snippetResult?: {
@ -47,8 +48,8 @@ export const AlgoliaDocSearch = ({ pathname }: AlgoliaDocSearchProps) => {
</a>
</section>
)}
appId={process.env.NEXT_PUBLIC_ALGOLIA_APP_ID ?? ''}
apiKey={process.env.NEXT_PUBLIC_ALGOLIA_API_KEY ?? ''}
appId={env('NEXT_PUBLIC_ALGOLIA_APP_ID') ?? ''}
apiKey={env('NEXT_PUBLIC_ALGOLIA_API_KEY') ?? ''}
indexName={`twenty-${indexName}`}
/>
);

View File

@ -1,5 +1,6 @@
import { Metadata } from 'next';
import { Gabarito, Inter } from 'next/font/google';
import { PublicEnvScript } from 'next-runtime-env';
import { AppHeader } from '@/app/_components/ui/layout/header';
@ -40,6 +41,7 @@ export default function RootLayout({
return (
<html lang="en" className={`${gabarito.variable} ${inter.variable}`}>
<body>
<PublicEnvScript />
<EmotionRootStyleRegistry>
<AppHeader />
<div className="container">{children}</div>