diff --git a/.dockerignore b/.dockerignore
index 3b502a79..1af289fa 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -5,4 +5,5 @@ dist
.gitignore
docker-compose.yml
**/.next
-**/.env
\ No newline at end of file
+**/.env
+**/.env.local
\ No newline at end of file
diff --git a/.env.example b/.env.example
index a526ca8e..e5535b86 100644
--- a/.env.example
+++ b/.env.example
@@ -4,4 +4,6 @@ INTANIA_AUTH_APP_ID=
INTANIA_AUTH_SECRET=
INTANIA_AUTH_REDIRECT_URL=
-JWT_SECRET=
\ No newline at end of file
+JWT_SECRET=
+
+NEXT_PUBLIC_NODE_ENV=
\ No newline at end of file
diff --git a/.github/workflows/build-web.yaml b/.github/workflows/build-web.yaml
index 83242f68..5f6f07d8 100644
--- a/.github/workflows/build-web.yaml
+++ b/.github/workflows/build-web.yaml
@@ -10,10 +10,6 @@ on:
env:
IMAGE_NAME: ${{ github.repository }}-web
- #NEXT_PUBLIC_API_SERVER_URL: ${{ secrets.NEXT_PUBLIC_API_SERVER_URL }}
- #INTANIA_AUTH_APP_ID: ${{ secrets.INTANIA_AUTH_APP_ID }}
- #INTANIA_AUTH_REDIRECT_URL: ${{ secrets.INTANIA_AUTH_REDIRECT_URL }}
- #JWT_SECRET: ${{ secrets.JWT_SECRET }}
jobs:
build:
@@ -56,11 +52,6 @@ jobs:
echo "tags = $RESULT"
echo "tags=$RESULT" >> "$GITHUB_OUTPUT"
- #- name: Create env File
- # run: |
- # touch .env
- # echo NEXT_PUBLIC_API_SERVER_URL=${{ secrets.NEXT_PUBLIC_API_SERVER_URL }} >> .env
-
- name: Build Docker image with multiple tags
run: |
tags="${{ steps.tags.outputs.tags }}"
diff --git a/apps/web/package.json b/apps/web/package.json
index a3f5fcfe..72e6f829 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -42,6 +42,7 @@
"moment": "^2.30.1",
"moment-timezone": "^0.5.45",
"next": "^14.2.1",
+ "next-runtime-env": "^3.2.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-hook-form": "^7.51.5",
diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx
index b49b58e8..28a5f7e1 100644
--- a/apps/web/src/app/layout.tsx
+++ b/apps/web/src/app/layout.tsx
@@ -1,47 +1,48 @@
-import "../styles/globals.css";
-import { Inter } from "next/font/google";
-import localFont from "next/font/local";
+import '../styles/globals.css';
+import { Inter } from 'next/font/google';
+import localFont from 'next/font/local';
+import { PublicEnvScript } from 'next-runtime-env';
-const inter = Inter({ subsets: ["latin"] });
+const inter = Inter({ subsets: ['latin'] });
const sukhumvitSet = localFont({
src: [
{
- path: "../../public/fonts/SukhumvitSet-Bold.ttf",
- weight: "700",
- style: "normal",
+ path: '../../public/fonts/SukhumvitSet-Bold.ttf',
+ weight: '700',
+ style: 'normal',
},
{
- path: "../../public/fonts/SukhumvitSet-SemiBold.ttf",
- weight: "600",
- style: "normal",
+ path: '../../public/fonts/SukhumvitSet-SemiBold.ttf',
+ weight: '600',
+ style: 'normal',
},
{
- path: "../../public/fonts/SukhumvitSet-Medium.ttf",
- weight: "500",
- style: "normal",
+ path: '../../public/fonts/SukhumvitSet-Medium.ttf',
+ weight: '500',
+ style: 'normal',
},
{
- path: "../../public/fonts/SukhumvitSet-Text.ttf",
- weight: "400",
- style: "normal",
+ path: '../../public/fonts/SukhumvitSet-Text.ttf',
+ weight: '400',
+ style: 'normal',
},
{
- path: "../../public/fonts/SukhumvitSet-Light.ttf",
- weight: "300",
- style: "normal",
+ path: '../../public/fonts/SukhumvitSet-Light.ttf',
+ weight: '300',
+ style: 'normal',
},
{
- path: "../../public/fonts/SukhumvitSet-Thin.ttf",
- weight: "100",
- style: "normal",
+ path: '../../public/fonts/SukhumvitSet-Thin.ttf',
+ weight: '100',
+ style: 'normal',
},
],
- variable: "--sukhumvit-set-font",
+ variable: '--sukhumvit-set-font',
});
export const metadata = {
- title: "ESC Project Tracker",
- description: "ESC Project Tracker",
+ title: 'ESC Project Tracker',
+ description: 'ESC Project Tracker',
};
export default function RootLayout({
@@ -53,8 +54,9 @@ export default function RootLayout({
+
-
+
{children}
diff --git a/apps/web/src/app/login/route.ts b/apps/web/src/app/login/route.ts
index ad3bdecc..29a3591e 100644
--- a/apps/web/src/app/login/route.ts
+++ b/apps/web/src/app/login/route.ts
@@ -1,8 +1,8 @@
-import { env } from '@/src/env';
+import { env } from 'next-runtime-env';
import { redirect } from 'next/navigation';
export async function GET() {
redirect(
- `https://account.intania.org/?appId=${env.INTANIA_AUTH_APP_ID}&callbackUrl=${env.INTANIA_AUTH_REDIRECT_URL}`,
+ `https://account.intania.org/?appId=${env('INTANIA_AUTH_APP_ID')}&callbackUrl=${env('INTANIA_AUTH_REDIRECT_URL')}`,
);
}
diff --git a/apps/web/src/app/page.tsx b/apps/web/src/app/page.tsx
index 8a1e82ea..00b3568a 100644
--- a/apps/web/src/app/page.tsx
+++ b/apps/web/src/app/page.tsx
@@ -2,15 +2,9 @@ import OnboardingPageHeader from '@/src/components/header/OnboardingPageHeader';
import { Button } from '@/src/components/ui/button';
import Image from 'next/image';
import Link from 'next/link';
-import { env } from '../env';
+import { env } from 'next-runtime-env';
export default function Page() {
- console.log(
- 'test',
- env.NEXT_PUBLIC_API_SERVER_URL,
- env.INTANIA_AUTH_REDIRECT_URL,
- );
-
return (
<>
@@ -29,12 +23,6 @@ export default function Page() {
ครบจบทุกกระบวนการ มาเริ่มต้นเอกสารกัน !
-
- debugs: {env.NEXT_PUBLIC_API_SERVER_URL}{' '}
- {process.env.NEXT_PUBLIC_API_SERVER_URL}{' '}
- {process.env.INTANIA_AUTH_REDIRECT_URL}{' '}
- {env.INTANIA_AUTH_REDIRECT_URL}
-