diff --git a/.vscode/settings.json b/.vscode/settings.json index 44d37069..cc6432af 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -130,4 +130,14 @@ "editor.tabSize": 4 }, "git.ignoreLimitWarning": true, + "[javascript][javascriptreact]": { + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "never" + } + }, + "[typescript][typescriptreact]": { + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit" + } + }, } diff --git a/README.md b/README.md index 8cfcbf1e..9a817ee0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # nextjs-ninja -This is a starter template that integrates nextjs, mui and firebase for typescript. +A starter template for TypeScript that includes nextjs app routing, React-bootstrap, i18next, and Firebase. ## Folder and file Structure @@ -9,11 +9,12 @@ The folder and file structure is based on nextjs app router [Next.js Project Str ```txt . ├── app/ # App Router -│ └── [lang]/ # Dynamic route segment +│ └── [lng]/ # Dynamic route segment │ │ └── / # Route segment │ │ │ └── _components/ # Opt folder and all child segments out of routing │ │ ├── layout.ts # Layout │ │ └── page.ts # Page +│ ├── i18n/ │ ├── icon.ts # Generated App Icon │ ├── apple-icon.ts # Generated Apple App Icon │ ├── opengraph-image.ts # Generated Open Graph image @@ -49,6 +50,10 @@ The folder and file structure is based on nextjs app router [Next.js Project Str npx create-next-app@latest . --typescript ``` +```shell +npm install server-only +``` + Set the current Node.js version. ```shell @@ -74,6 +79,12 @@ npm install zod react-hook-form @hookform/resolvers # npm install yup formik ``` +Generate RFC-compliant UUIDs in JavaScript + +```shell +npm install uuid @types/uuid +``` + Start the development server. ```shell @@ -84,6 +95,7 @@ npm run dev - [EsLint](docs/EsLint.md) - [Firebase](docs/Firebase.md) +- [i18next](docs/i18next.md) ## Usage @@ -106,6 +118,12 @@ Start the firebase emulator. firebase emulators:start ``` +Set the expiration of a preview channel + +```shell +firebase hosting:channel:deploy preview --expires 1d +``` + Start firebase deployment. ```shell diff --git a/app/[lang]/(auth)/farewell/page.tsx b/app/[lang]/(auth)/farewell/page.tsx deleted file mode 100644 index 505eeb76..00000000 --- a/app/[lang]/(auth)/farewell/page.tsx +++ /dev/null @@ -1,29 +0,0 @@ -'use client'; - -import Link from 'next/link'; -import Container from 'react-bootstrap/Container'; - -import { Area, Footer } from '@/components/layout'; - -export default function Page({ params }: { params: { lang: string } }): JSX.Element { - return ( - <> - - -

Farewell

-
-

- Your are one of the best people. -
- I will never forget you! -
- Until we meet again! -

- Home -
-
- -