Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/frontend-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
github_token: ${{ secrets.GITHUB_TOKEN }}
workdir: ./client
reporter: github-pr-review
fail_level: error
fail_on_error: true

build:
name: Build
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/issue-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,3 @@ jobs:
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/issue-labeler-config.yml
enable-versioned-regex: false # or true, depending on your needs
74 changes: 0 additions & 74 deletions biome.json

This file was deleted.

8 changes: 5 additions & 3 deletions client/apps/landing-page/astro.config.mjs
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import mdx from "@astrojs/mdx";
import sitemap from "@astrojs/sitemap";
import vue from "@astrojs/vue";
import tailwindcss from "@tailwindcss/vite";
import { defineConfig } from "astro/config";
import icon from "astro-icon";
import { defineConfig } from "astro/config";
import { BASE_URL } from "./src/consts.ts";
import { DEFAULT_LOCALE_SETTING, LOCALES_SETTING } from "./src/i18n/locales";

import tailwindcss from "@tailwindcss/vite";

import vue from "@astrojs/vue";

import { remarkReadingTime } from "./src/utils/remark-reading-time.mjs";

// https://astro.build/config
Expand Down
3 changes: 0 additions & 3 deletions client/apps/landing-page/biome.json

This file was deleted.

41 changes: 19 additions & 22 deletions client/apps/landing-page/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"node": ">=22.0.0",
"pnpm": ">=10.0.0"
},
"packageManager": "pnpm@10.12.1",
"packageManager": "pnpm@10.11.1",
"repository": {
"type": "git",
"url": "https://github.com/dallay/hatchgrid.git",
Expand All @@ -19,11 +19,7 @@
"bugs": {
"url": "https://github.com/dallay/hatchgrid/issues"
},
"keywords": [
"hatchgrid",
"landing-page",
"astro"
],
"keywords": ["hatchgrid", "landing-page", "astro"],
"author": "Hatchgrid Team",
"scripts": {
"update": "pnpm update",
Expand All @@ -32,46 +28,47 @@
"start": "astro dev --open",
"build": "astro check && astro build",
"preview": "astro preview",
"check": "astro check && biome check . --fix",
"check": "astro check && biome check --write .",
"astro": "astro",
"test": "vitest run",
"test:watch": "vitest",
"structure": "npx --yes tree-extended -max=5 -max-show-not-empty -gitignore > docs/structure.md && echo '```' >> docs/structure.md && cat docs/structure.md | sed -i '' -e '1i\\\n```plaintext' docs/structure.md && echo '# Project Structure\n' | cat - docs/structure.md > temp && mv temp docs/structure.md"
},
"dependencies": {
"@astrojs/check": "^0.9.4",
"@astrojs/mdx": "^4.3.0",
"@astrojs/mdx": "^4.2.6",
"@astrojs/rss": "^4.0.12",
"@astrojs/sitemap": "^3.4.1",
"@astrojs/vue": "^5.1.0",
"@astrojs/vue": "^5.0.13",
"@hatchgrid/utilities": "workspace:*",
"@iconify-json/openmoji": "^1.2.9",
"@iconify-json/tabler": "^1.2.19",
"@tailwindcss/vite": "^4.1.10",
"@vee-validate/zod": "^4.15.1",
"@tailwindcss/vite": "^4.1.8",
"@vee-validate/zod": "^4.15.0",
"@vueuse/core": "^13.3.0",
"astro": "^5.9.4",
"astro": "^5.9.0",
"astro-icon": "^1.1.5",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-vue-next": "^0.517.0",
"lucide-vue-next": "^0.513.0",
"mdast-util-to-string": "^4.0.0",
"reading-time": "^1.5.0",
"reka-ui": "^2.3.1",
"tailwindcss": "^4.1.10",
"reka-ui": "^2.3.0",
"tailwindcss": "^4.1.8",
"tw-animate-css": "^1.3.4",
"vee-validate": "^4.15.1",
"vue": "^3.5.17",
"vee-validate": "^4.15.0",
"vue": "^3.5.16",
"vue-sonner": "^2.0.0",
"zod": "^3.25.67"
"zod": "^3.25.56"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@hatchgrid/config": "workspace:*",
"@tailwindcss/typography": "^0.5.16",
"happy-dom": "^18.0.1",
"sharp": "^0.34.2",
"tailwind-merge": "^3.3.1",
"happy-dom": "^17.6.3",
"sharp": "^0.34.1",
"tailwind-merge": "^3.3.0",
"typescript": "^5.8.3",
"vitest": "^3.2.4"
"vitest": "^3.2.2"
}
}
38 changes: 14 additions & 24 deletions client/apps/landing-page/public/manifest.json
Original file line number Diff line number Diff line change
@@ -1,26 +1,16 @@
{
"name": "Hatchgrid",
"short_name": "Hatchgrid",
"description": "Hatchgrid Landing Page",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#ffffff",
"icons": [
{ "src": "/favicon.ico", "type": "image/x-icon", "sizes": "16x16 32x32" },
{ "src": "/icon-192.png", "type": "image/png", "sizes": "192x192" },
{ "src": "/icon-512.png", "type": "image/png", "sizes": "512x512" },
{
"src": "/icon-192-maskable.png",
"type": "image/png",
"sizes": "192x192",
"purpose": "maskable"
},
{
"src": "/icon-512-maskable.png",
"type": "image/png",
"sizes": "512x512",
"purpose": "maskable"
}
]
"name": "Hatchgrid",
"short_name": "Hatchgrid",
"description": "Hatchgrid Landing Page",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#ffffff",
"icons": [
{ "src": "/favicon.ico", "type": "image/x-icon", "sizes": "16x16 32x32" },
{ "src": "/icon-192.png", "type": "image/png", "sizes": "192x192" },
{ "src": "/icon-512.png", "type": "image/png", "sizes": "512x512" },
{ "src": "/icon-192-maskable.png", "type": "image/png", "sizes": "192x192", "purpose": "maskable" },
{ "src": "/icon-512-maskable.png", "type": "image/png", "sizes": "512x512", "purpose": "maskable" }
]
}
5 changes: 2 additions & 3 deletions client/apps/landing-page/src/components/BackToTop.astro
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
---
import type { HTMLAttributes } from "astro/types";
import { Icon } from "astro-icon/components";
import { type Lang, useTranslations } from "@/i18n";
import { cn } from "@/lib/utils";

import { Icon } from "astro-icon/components";
import type { HTMLAttributes } from "astro/types";
interface Props extends HTMLAttributes<"button"> {}
const { ...attrs } = Astro.props;

Expand Down
4 changes: 1 addition & 3 deletions client/apps/landing-page/src/components/Brand.astro
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
---
import type { HTMLAttributes } from "astro/types";
import { SITE_TITLE } from "@/consts";
import { type Lang, useTranslatedPath, useTranslations } from "@/i18n";
import { cn } from "@/lib/utils";

import type { HTMLAttributes } from "astro/types";
interface Props extends HTMLAttributes<"a"> {}
const { class: className, ...attrs } = Astro.props as Props;
const lang = Astro.currentLocale as Lang;
const t = useTranslations(lang);
const translatePath = useTranslatedPath(lang);

import Logo from "../assets/hatchgrid.svg";
---

Expand Down
5 changes: 2 additions & 3 deletions client/apps/landing-page/src/components/FAQCard.astro
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
import { render } from "astro:content";
import type { HTMLAttributes } from "astro/types";
import { Icon } from "astro-icon/components";
import { type Lang, useTranslations } from "@/i18n";
import { cn } from "@/lib/utils";
import type FAQ from "@/models/faq/faq.model";

import { Icon } from "astro-icon/components";
import type { HTMLAttributes } from "astro/types";
interface Props extends HTMLAttributes<"details"> {
faq: FAQ;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
import type { HTMLAttributes } from "astro/types";
import { type Lang, useTranslations } from "@/i18n";
import { cn } from "@/lib/utils";

import type { HTMLAttributes } from "astro/types";
interface Props extends HTMLAttributes<"span"> {
date: Date;
}
Expand Down
2 changes: 1 addition & 1 deletion client/apps/landing-page/src/components/IconButton.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import type { HTMLAttributes } from "astro/types";
import { cn } from "@/lib/utils";
import type { HTMLAttributes } from "astro/types";

export interface Props extends HTMLAttributes<"button"> {}
const { class: className, ...attrs } = Astro.props;
Expand Down
2 changes: 1 addition & 1 deletion client/apps/landing-page/src/components/Link.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import type { HTMLAttributes } from "astro/types";
import { cn } from "@/lib/utils";
import type { HTMLAttributes } from "astro/types";
import { type ButtonVariants, buttonVariants } from "./ui/button";

interface Props extends HTMLAttributes<"a"> {
Expand Down
4 changes: 2 additions & 2 deletions client/apps/landing-page/src/components/NavMenus.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
<script setup lang="ts">
import { Menu } from "lucide-vue-next"; // Assuming lucide-vue-next is installed
import { ref } from "vue";
import { Button } from "@/components/ui/button";
import {
NavigationMenu,
Expand All @@ -17,6 +15,8 @@ import {
SheetTitle,
SheetTrigger,
} from "@/components/ui/sheet";
import { Menu } from "lucide-vue-next"; // Assuming lucide-vue-next is installed
import { ref } from "vue";

import { type Lang, useTranslatedPath, useTranslations } from "@/i18n";
import type { MenuItem } from "@/models/menu/menu.type";
Expand Down
3 changes: 1 addition & 2 deletions client/apps/landing-page/src/components/ReadingTime.astro
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
import type { HTMLAttributes } from "astro/types";
import { type Lang, useTranslations } from "@/i18n";
import { cn } from "@/lib/utils";

import type { HTMLAttributes } from "astro/types";
interface Props extends HTMLAttributes<"span"> {
readingTime: string;
}
Expand Down
4 changes: 2 additions & 2 deletions client/apps/landing-page/src/components/ThemeToggle.astro
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
import type { HTMLAttributes } from "astro/types";
import { Icon } from "astro-icon/components";
import { type Lang, useTranslations } from "@/i18n";
import { cn } from "@/lib/utils";
import { Icon } from "astro-icon/components";
import type { HTMLAttributes } from "astro/types";
import IconButton from "./IconButton.astro";

export interface Props extends HTMLAttributes<"button"> {}
Expand Down
2 changes: 1 addition & 1 deletion client/apps/landing-page/src/components/Waitlist.astro
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
import type { HTMLAttributes } from "astro/types";
import CTAEmail from "@/components/cta-email/CTAEmail.vue";
import { type Lang, useTranslations } from "@/i18n";
import { cn } from "@/lib/utils";
import type { HTMLAttributes } from "astro/types";

interface Props extends HTMLAttributes<"section"> {
title?: string;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<script setup lang="ts">
import { toTypedSchema } from "@vee-validate/zod";
import { useForm } from "vee-validate";
import type { HTMLAttributes } from "vue";
import { computed } from "vue";
import type { HTMLAttributes } from "vue";

import {
type CTAEmailButtonVariants,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { cva, type VariantProps } from "class-variance-authority";
import { type VariantProps, cva } from "class-variance-authority";

export { default as CTAEmail } from "./CTAEmail.vue";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// Write <head> tag settings for each locale

import type { Lang } from "@/i18n";

const locale = Astro.currentLocale as Lang;
---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
import type { HTMLAttributes } from "astro/types";
import { Icon } from "astro-icon/components";
import { getLocalePaths, type Lang, LOCALES, useTranslations } from "@/i18n";
import { LOCALES, type Lang, getLocalePaths, useTranslations } from "@/i18n";
import { cn } from "@/lib/utils";
import { Icon } from "astro-icon/components";
import type { HTMLAttributes } from "astro/types";

interface Props extends HTMLAttributes<"label"> {
variant?: "text" | "flags";
Expand Down
Loading