11 Commits

Author SHA1 Message Date
051cadca66 Start updating paraglide to v2 2025-07-01 20:51:59 +02:00
1114fe7565 🔥 Remove prettier 2025-07-01 19:58:36 +02:00
f11ed70b85 Update git domain 2025-07-01 19:55:54 +02:00
bce965ba2a 🎨 Fix lint errors using Biome 2025-07-01 19:52:28 +02:00
0337e34af5 🎨 Fix lint errors using Biome 2025-07-01 19:50:35 +02:00
45226136f3 🎨 Format using Biome 2025-07-01 19:45:02 +02:00
a859439353 Adde Biome formatter and linter 2025-07-01 19:43:59 +02:00
969660abc8 ❄️ Add Nix shell 2025-07-01 19:20:26 +02:00
99aced7367 📦 Update dependencies 2025-07-01 19:09:53 +02:00
78b333e9f7 ✍️ Update TODO.md 2025-07-01 19:09:24 +02:00
1d04befff1 🐛 Fix trailing slash 2025-07-01 19:08:34 +02:00
11 changed files with 42 additions and 71 deletions

View File

@ -4,7 +4,9 @@ on:
push:
branches:
- master
- develop
pull_request:
branches:
- master
jobs:
build:
@ -13,9 +15,5 @@ jobs:
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Build production
run: docker compose up -d --build prod
if: gitea.ref == 'refs/heads/master'
- name: Build develop
run: docker compose up -d --build dev
if: gitea.ref == 'refs/heads/develop'
- name: Run docker-compose
run: docker compose up -d --build

View File

@ -9,10 +9,9 @@
- [ ] Type slug of project
## CI/CD
- [x] Staging environment
- [x] Deploy to staging environment on push to develop
- [x] Deploy to production environment on push to master
- [ ] Staging environment .env file
- [ ] Staging environment
- [ ] Deploy to staging environment on push to master
- [ ] Deploy to production environment on push tag to master
## SEO
- [ ] Meta tags on each page

View File

@ -1,20 +1,9 @@
services:
prod:
hostname: martials.no
container_name: "martials.no"
web:
container_name: martials.no
restart: always
build:
context: .
dockerfile: Dockerfile
ports:
- "4321:4321"
dev:
hostname: dev.martials.no
container_name: "dev.martials.no"
restart: always
build:
context: .
dockerfile: Dockerfile
ports:
- "4322:4321"

6
middleware.ts Normal file
View File

@ -0,0 +1,6 @@
import { paraglideMiddleware } from "@/paraglide/server";
import { defineMiddleware } from "astro/middleware"
export const onRequest = defineMiddleware((context, next) => {
return paraglideMiddleware(context.request, () => next());
});

View File

@ -2,12 +2,11 @@
import GiteaLink from "./links/GiteaLink.astro"
import PajamasIcon from "./icons/PajamasIcon.astro"
import ExternalLink from "./links/ExternalLink.astro"
import LanguageButtonGroup from "./LanguageButtonGroup.svelte"
import LanguageButtonGroup from "./LanguageButtonGroup.astro"
import { GIT_URL, STATUS_URL } from "astro:env/client"
import * as m from "@/paraglide/messages"
const giteaLink = `${GIT_URL}/martials/martials.no`
const pathname = Astro.url.pathname
---
<div class="divider bg-inherit"></div>
@ -29,5 +28,5 @@ const pathname = Astro.url.pathname
{m.status()}
</ExternalLink>
</div>
<LanguageButtonGroup client:load />
<LanguageButtonGroup />
</div>

View File

@ -15,7 +15,7 @@ const isEnglish = pathname.startsWith("/en")
class:list={[
"btn join-item !text-cat-text border-cat-surface0",
!isEnglish ? "bg-cat-mantle" : "bg-cat-base",
]} client:load>Norsk</LocaleLink
]}>Norsk</LocaleLink
>
<LocaleLink
to={currentPath as NavLink}
@ -23,6 +23,6 @@ const isEnglish = pathname.startsWith("/en")
class:list={[
"btn join-item !text-cat-text border-cat-surface0",
isEnglish ? "bg-cat-mantle" : "bg-cat-base",
]} client:load>English</LocaleLink
]}>English</LocaleLink
>
</div>

View File

@ -1,29 +0,0 @@
<script lang="ts">
import { getLocale, type Locale, setLocale } from "@/paraglide/runtime"
const isEnglish = getLocale() === "en"
function updateLocale(lang: Locale) {
setLocale(lang)
}
</script>
<div class="join">
<button
onclick={() => updateLocale("nb")}
class={[
"btn join-item !text-cat-text border-cat-surface0",
!isEnglish ? "bg-cat-mantle" : "bg-cat-base",
]}>Norsk
</button
>
<button
onclick={() => updateLocale("en")}
class={[
"btn join-item !text-cat-text border-cat-surface0",
isEnglish ? "bg-cat-mantle" : "bg-cat-base",
]}>English
</button
>
</div>

View File

@ -11,7 +11,6 @@ interface Props extends ComponentProps {
const { to, class: clazz, lang = getLocale() } = Astro.props
---
<!-- TODO currently not working on Paraglide 2 https://github.com/opral/inlang-paraglide-js/issues/472 -->
<a href={localizeHref(to, { locale: lang })} class={clazz}>
<slot />
</a>

View File

@ -1,6 +0,0 @@
import { paraglideMiddleware } from "@/paraglide/server"
import { defineMiddleware } from "astro/middleware"
export const onRequest = defineMiddleware((context, next) => {
return paraglideMiddleware(context.request, () => next());
});

View File

@ -1,9 +1,17 @@
---
import ProjectPage from "@/components/projects/ProjectPage.astro"
import { type GetStaticPathsResult } from "astro"
import "@/styles/global.css"
// Prerender must be false for paraglide js
export const prerender = false
// Prerender the page as static HTML during build
export const prerender = true
export function getStaticPaths(): GetStaticPathsResult {
return [
{ params: { project: "homepage" } },
{ params: { project: "sb1budget" } },
]
}
const { project } = Astro.params
---

View File

@ -1,11 +1,19 @@
---
import ProjectPage from "@/components/projects/ProjectPage.astro"
import { type GetStaticPathsResult } from "astro"
import "@/styles/global.css"
// Prerender must be false for paraglide js
export const prerender = false
// Prerender the page as static HTML during build
export const prerender = true
export function getStaticPaths(): GetStaticPathsResult {
return [
{ params: { project: "homepage" } },
{ params: { project: "sb1budget" } },
]
}
const { project } = Astro.params
---
<ProjectPage project={ project as string } />
<ProjectPage project={project as string} />