diff --git a/.copier-answers.yml b/.copier-answers.yml index 78b7166..47fe3c8 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,6 +1,6 @@ # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY -_commit: feeb1fb -_src_path: frontend-template +_commit: ad95f52 +_src_path: /home/hideyoshi/Programming/Work/HideyoshiSolutions/frontend-template author_email: vitor@hideyoshi.com.br author_github_url: https://github.com/HideyoshiNakazone author_name: Vitor Hideyoshi @@ -10,4 +10,4 @@ copyright_year: 2026 project_description: Personal Dev Blog project_name: hideyoshi-blog project_slug: hideyoshi-blog -project_url: https://blog.hideyoshi.com.br +project_url: https://hideyoshi.com.br diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..e2d79af --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,50 @@ +name: Build and Test + +on: + push: + +jobs: + run-test: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + lfs: 'true' + + - name: Cache node modules + id: cache-npm + uses: actions/cache@v4 + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ runner.os }}-node-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node-${{ matrix.node-version }}- + ${{ runner.os }}-node- + ${{ runner.os }}- + + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - name: Install dependencies + run: npm install + + - name: Run Lint + run: npm run lint + + - name: Run Build + run: npm run build + env: + NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${{ secrets.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY }} + + - name: Run Tests + run: npm run test diff --git a/components.json b/components.json index 65a98bf..a757838 100644 --- a/components.json +++ b/components.json @@ -12,14 +12,14 @@ }, "iconLibrary": "lucide", "rtl": false, - "aliases": { - "components": "@/ui/components", - "ui": "@/ui/components/shadcn", - "lib": "@/ui/components/shadcn/lib", - "utils": "@/ui/components/shadcn/lib/utils", - "hooks": "@/ui/hooks" - }, "menuColor": "default", "menuAccent": "subtle", + "aliases": { + "components": "@/ui/components", + "utils": "@/ui/components/shadcn/lib/utils", + "ui": "@/ui/components/shadcn", + "lib": "@/ui/components/shadcn/lib", + "hooks": "@/ui/hooks" + }, "registries": {} } diff --git a/src/app/globals.css b/src/app/globals.css index abdc6e6..6b6812b 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -2,6 +2,22 @@ @import 'tw-animate-css'; @import 'shadcn/tailwind.css'; + +html { + font-family: var(--font-source-code-pro), sans-serif; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + @apply font-bold; + font-family: var(--font-montserrat), sans-serif; +} + + @custom-variant dark (&:is(.dark *)); @theme inline { @@ -128,3 +144,19 @@ @apply font-sans; } } + + +@layer components { + .header-height { + @apply h-[8dvh] md:min-h-[60px]; + } + .footer-height { + @apply md:h-24; + } + .page-height { + @apply min-h-[calc(100dvh-8dvh)]; + } + .content-height { + @apply min-h-[calc(100dvh-8dvh-6rem)]; + } +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 78cca45..3ce288f 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -43,7 +43,7 @@ export default async function RootLayout({ className={`${montserrat.className} ${sourceCodePro.className}`} suppressHydrationWarning > -
+