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} -