feat(logos): Added funding logos and i18n for components

This commit is contained in:
Karl Ludwig Weise
2025-06-06 12:07:16 +02:00
parent 2cd81f377f
commit 38d8bb2ece
16 changed files with 551 additions and 31 deletions
+16 -4
View File
@@ -1,6 +1,7 @@
// @ts-check
import {defineConfig} from "astro/config";
import starlight from "@astrojs/starlight";
import tailwindcss from "@tailwindcss/vite";
// https://astro.build/config
export default defineConfig({
@@ -8,10 +9,12 @@ export default defineConfig({
locales: ["en", "de"],
defaultLocale: "en",
},
prefetch: true,
integrations: [
starlight({
title: "OpenReception",
defaultLocale: "en",
customCss: ["./src/styles/custom.css"],
head: [
{
tag: "script",
@@ -32,16 +35,22 @@ export default defineConfig({
label: "GitHub",
href: "https://github.com/open-reception/appointment-booking-software",
},
{
icon: "mastodon",
label: "Mastodon",
href: "https://mastodon.social/@openreception",
},
{
icon: "blueSky",
label: "Bluesky",
href: "https://bsky.app/profile/openreception.bsky.social",
},
],
sidebar: [
{
label: "Research",
autogenerate: {directory: "research"},
},
// {
// label: "Reference",
// autogenerate: {directory: "reference"},
// },
],
components: {
Footer: "./src/components/Footer.astro",
@@ -49,4 +58,7 @@ export default defineConfig({
},
}),
],
vite: {
plugins: [tailwindcss()],
},
});
+3 -1
View File
@@ -11,7 +11,9 @@
},
"dependencies": {
"@astrojs/starlight": "^0.34.3",
"@tailwindcss/vite": "^4.1.8",
"astro": "^5.6.1",
"sharp": "^0.32.5"
"sharp": "^0.32.5",
"tailwindcss": "^4.1.8"
}
}
+427 -16
View File
@@ -10,16 +10,26 @@ importers:
dependencies:
'@astrojs/starlight':
specifier: ^0.34.3
version: 0.34.3(astro@5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3))
version: 0.34.3(astro@5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0))
'@tailwindcss/vite':
specifier: ^4.1.8
version: 4.1.8(vite@6.3.5(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))
astro:
specifier: ^5.6.1
version: 5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3)
version: 5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0)
sharp:
specifier: ^0.32.5
version: 0.32.6
tailwindcss:
specifier: ^4.1.8
version: 4.1.8
packages:
'@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
'@astrojs/compiler@2.12.0':
resolution: {integrity: sha512-7bCjW6tVDpUurQLeKBUN9tZ5kSv5qYrGmcn0sG0IwacL7isR2ZbyyA3AdZ4uxsuUFOS2SlgReTH7wkxO6zpqWA==}
@@ -349,9 +359,28 @@ packages:
cpu: [x64]
os: [win32]
'@isaacs/fs-minipass@4.0.1':
resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
engines: {node: '>=18.0.0'}
'@jridgewell/gen-mapping@0.3.8':
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
engines: {node: '>=6.0.0'}
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
'@jridgewell/set-array@1.2.1':
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
'@jridgewell/sourcemap-codec@1.5.0':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
'@mdx-js/mdx@3.1.0':
resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
@@ -519,6 +548,96 @@ packages:
'@swc/helpers@0.5.17':
resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
'@tailwindcss/node@4.1.8':
resolution: {integrity: sha512-OWwBsbC9BFAJelmnNcrKuf+bka2ZxCE2A4Ft53Tkg4uoiE67r/PMEYwCsourC26E+kmxfwE0hVzMdxqeW+xu7Q==}
'@tailwindcss/oxide-android-arm64@4.1.8':
resolution: {integrity: sha512-Fbz7qni62uKYceWYvUjRqhGfZKwhZDQhlrJKGtnZfuNtHFqa8wmr+Wn74CTWERiW2hn3mN5gTpOoxWKk0jRxjg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
'@tailwindcss/oxide-darwin-arm64@4.1.8':
resolution: {integrity: sha512-RdRvedGsT0vwVVDztvyXhKpsU2ark/BjgG0huo4+2BluxdXo8NDgzl77qh0T1nUxmM11eXwR8jA39ibvSTbi7A==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@tailwindcss/oxide-darwin-x64@4.1.8':
resolution: {integrity: sha512-t6PgxjEMLp5Ovf7uMb2OFmb3kqzVTPPakWpBIFzppk4JE4ix0yEtbtSjPbU8+PZETpaYMtXvss2Sdkx8Vs4XRw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@tailwindcss/oxide-freebsd-x64@4.1.8':
resolution: {integrity: sha512-g8C8eGEyhHTqwPStSwZNSrOlyx0bhK/V/+zX0Y+n7DoRUzyS8eMbVshVOLJTDDC+Qn9IJnilYbIKzpB9n4aBsg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.8':
resolution: {integrity: sha512-Jmzr3FA4S2tHhaC6yCjac3rGf7hG9R6Gf2z9i9JFcuyy0u79HfQsh/thifbYTF2ic82KJovKKkIB6Z9TdNhCXQ==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
'@tailwindcss/oxide-linux-arm64-gnu@4.1.8':
resolution: {integrity: sha512-qq7jXtO1+UEtCmCeBBIRDrPFIVI4ilEQ97qgBGdwXAARrUqSn/L9fUrkb1XP/mvVtoVeR2bt/0L77xx53bPZ/Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
'@tailwindcss/oxide-linux-arm64-musl@4.1.8':
resolution: {integrity: sha512-O6b8QesPbJCRshsNApsOIpzKt3ztG35gfX9tEf4arD7mwNinsoCKxkj8TgEE0YRjmjtO3r9FlJnT/ENd9EVefQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
'@tailwindcss/oxide-linux-x64-gnu@4.1.8':
resolution: {integrity: sha512-32iEXX/pXwikshNOGnERAFwFSfiltmijMIAbUhnNyjFr3tmWmMJWQKU2vNcFX0DACSXJ3ZWcSkzNbaKTdngH6g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
'@tailwindcss/oxide-linux-x64-musl@4.1.8':
resolution: {integrity: sha512-s+VSSD+TfZeMEsCaFaHTaY5YNj3Dri8rST09gMvYQKwPphacRG7wbuQ5ZJMIJXN/puxPcg/nU+ucvWguPpvBDg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
'@tailwindcss/oxide-wasm32-wasi@4.1.8':
resolution: {integrity: sha512-CXBPVFkpDjM67sS1psWohZ6g/2/cd+cq56vPxK4JeawelxwK4YECgl9Y9TjkE2qfF+9/s1tHHJqrC4SS6cVvSg==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
bundledDependencies:
- '@napi-rs/wasm-runtime'
- '@emnapi/core'
- '@emnapi/runtime'
- '@tybys/wasm-util'
- '@emnapi/wasi-threads'
- tslib
'@tailwindcss/oxide-win32-arm64-msvc@4.1.8':
resolution: {integrity: sha512-7GmYk1n28teDHUjPlIx4Z6Z4hHEgvP5ZW2QS9ygnDAdI/myh3HTHjDqtSqgu1BpRoI4OiLx+fThAyA1JePoENA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@tailwindcss/oxide-win32-x64-msvc@4.1.8':
resolution: {integrity: sha512-fou+U20j+Jl0EHwK92spoWISON2OBnCazIc038Xj2TdweYV33ZRkS9nwqiUi2d/Wba5xg5UoHfvynnb/UB49cQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
'@tailwindcss/oxide@4.1.8':
resolution: {integrity: sha512-d7qvv9PsM5N3VNKhwVUhpK6r4h9wtLkJ6lz9ZY9aeZgrUWk1Z8VPyqyDT9MZlem7GTGseRQHkeB1j3tC7W1P+A==}
engines: {node: '>= 10'}
'@tailwindcss/vite@4.1.8':
resolution: {integrity: sha512-CQ+I8yxNV5/6uGaJjiuymgw0kEQiNKRinYbZXPdx1fk5WgiyReG0VaUx/Xq6aVNSUNJFzxm6o8FNKS5aMaim5A==}
peerDependencies:
vite: ^5.2.0 || ^6
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
@@ -724,6 +843,10 @@ packages:
chownr@1.1.4:
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
chownr@3.0.0:
resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
engines: {node: '>=18'}
ci-info@4.2.0:
resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==}
engines: {node: '>=8'}
@@ -859,6 +982,10 @@ packages:
end-of-stream@1.4.4:
resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
enhanced-resolve@5.18.1:
resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
engines: {node: '>=10.13.0'}
entities@6.0.0:
resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==}
engines: {node: '>=0.12'}
@@ -960,6 +1087,9 @@ packages:
github-slugger@2.0.0:
resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
h3@1.15.3:
resolution: {integrity: sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==}
@@ -1093,6 +1223,10 @@ packages:
resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
engines: {node: '>=16'}
jiti@2.4.2:
resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
hasBin: true
js-yaml@4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
@@ -1109,6 +1243,70 @@ packages:
resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
engines: {node: '>= 8'}
lightningcss-darwin-arm64@1.30.1:
resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [darwin]
lightningcss-darwin-x64@1.30.1:
resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
lightningcss-freebsd-x64@1.30.1:
resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
lightningcss-linux-arm-gnueabihf@1.30.1:
resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
lightningcss-linux-arm64-gnu@1.30.1:
resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
lightningcss-linux-arm64-musl@1.30.1:
resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
lightningcss-linux-x64-gnu@1.30.1:
resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
lightningcss-linux-x64-musl@1.30.1:
resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
lightningcss-win32-arm64-msvc@1.30.1:
resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
lightningcss-win32-x64-msvc@1.30.1:
resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
lightningcss@1.30.1:
resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
engines: {node: '>= 12.0.0'}
longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
@@ -1300,9 +1498,22 @@ packages:
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
minipass@7.1.2:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
minizlib@3.0.2:
resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
engines: {node: '>= 18'}
mkdirp-classic@0.5.3:
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
mkdirp@3.0.1:
resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
engines: {node: '>=10'}
hasBin: true
mrmime@2.0.1:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'}
@@ -1638,6 +1849,13 @@ packages:
style-to-object@1.0.8:
resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==}
tailwindcss@4.1.8:
resolution: {integrity: sha512-kjeW8gjdxasbmFKpVGrGd5T4i40mV5J2Rasw48QARfYeQ8YS9x02ON9SFWax3Qf616rt4Cp3nVNIj6Hd1mP3og==}
tapable@2.2.2:
resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==}
engines: {node: '>=6'}
tar-fs@2.1.2:
resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==}
@@ -1651,6 +1869,10 @@ packages:
tar-stream@3.1.7:
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
tar@7.4.3:
resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
engines: {node: '>=18'}
text-decoder@1.2.3:
resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==}
@@ -1898,6 +2120,15 @@ packages:
xxhash-wasm@1.1.0:
resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==}
yallist@5.0.0:
resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
engines: {node: '>=18'}
yaml@2.8.0:
resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==}
engines: {node: '>= 14.6'}
hasBin: true
yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
@@ -1933,6 +2164,11 @@ packages:
snapshots:
'@ampproject/remapping@2.3.0':
dependencies:
'@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
'@astrojs/compiler@2.12.0': {}
'@astrojs/internal-helpers@0.6.1': {}
@@ -1963,12 +2199,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@astrojs/mdx@4.2.6(astro@5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3))':
'@astrojs/mdx@4.2.6(astro@5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0))':
dependencies:
'@astrojs/markdown-remark': 6.3.1
'@mdx-js/mdx': 3.1.0(acorn@8.14.1)
acorn: 8.14.1
astro: 5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3)
astro: 5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0)
es-module-lexer: 1.7.0
estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5
@@ -1992,17 +2228,17 @@ snapshots:
stream-replace-string: 2.0.0
zod: 3.25.20
'@astrojs/starlight@0.34.3(astro@5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3))':
'@astrojs/starlight@0.34.3(astro@5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0))':
dependencies:
'@astrojs/markdown-remark': 6.3.1
'@astrojs/mdx': 4.2.6(astro@5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3))
'@astrojs/mdx': 4.2.6(astro@5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0))
'@astrojs/sitemap': 3.4.0
'@pagefind/default-ui': 1.3.0
'@types/hast': 3.0.4
'@types/js-yaml': 4.0.9
'@types/mdast': 4.0.4
astro: 5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3)
astro-expressive-code: 0.41.2(astro@5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3))
astro: 5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0)
astro-expressive-code: 0.41.2(astro@5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0))
bcp-47: 2.1.0
hast-util-from-html: 2.0.3
hast-util-select: 6.0.4
@@ -2242,8 +2478,27 @@ snapshots:
'@img/sharp-win32-x64@0.33.5':
optional: true
'@isaacs/fs-minipass@4.0.1':
dependencies:
minipass: 7.1.2
'@jridgewell/gen-mapping@0.3.8':
dependencies:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
'@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/set-array@1.2.1': {}
'@jridgewell/sourcemap-codec@1.5.0': {}
'@jridgewell/trace-mapping@0.3.25':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
'@mdx-js/mdx@3.1.0(acorn@8.14.1)':
dependencies:
'@types/estree': 1.0.7
@@ -2398,6 +2653,77 @@ snapshots:
dependencies:
tslib: 2.8.1
'@tailwindcss/node@4.1.8':
dependencies:
'@ampproject/remapping': 2.3.0
enhanced-resolve: 5.18.1
jiti: 2.4.2
lightningcss: 1.30.1
magic-string: 0.30.17
source-map-js: 1.2.1
tailwindcss: 4.1.8
'@tailwindcss/oxide-android-arm64@4.1.8':
optional: true
'@tailwindcss/oxide-darwin-arm64@4.1.8':
optional: true
'@tailwindcss/oxide-darwin-x64@4.1.8':
optional: true
'@tailwindcss/oxide-freebsd-x64@4.1.8':
optional: true
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.8':
optional: true
'@tailwindcss/oxide-linux-arm64-gnu@4.1.8':
optional: true
'@tailwindcss/oxide-linux-arm64-musl@4.1.8':
optional: true
'@tailwindcss/oxide-linux-x64-gnu@4.1.8':
optional: true
'@tailwindcss/oxide-linux-x64-musl@4.1.8':
optional: true
'@tailwindcss/oxide-wasm32-wasi@4.1.8':
optional: true
'@tailwindcss/oxide-win32-arm64-msvc@4.1.8':
optional: true
'@tailwindcss/oxide-win32-x64-msvc@4.1.8':
optional: true
'@tailwindcss/oxide@4.1.8':
dependencies:
detect-libc: 2.0.4
tar: 7.4.3
optionalDependencies:
'@tailwindcss/oxide-android-arm64': 4.1.8
'@tailwindcss/oxide-darwin-arm64': 4.1.8
'@tailwindcss/oxide-darwin-x64': 4.1.8
'@tailwindcss/oxide-freebsd-x64': 4.1.8
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.8
'@tailwindcss/oxide-linux-arm64-gnu': 4.1.8
'@tailwindcss/oxide-linux-arm64-musl': 4.1.8
'@tailwindcss/oxide-linux-x64-gnu': 4.1.8
'@tailwindcss/oxide-linux-x64-musl': 4.1.8
'@tailwindcss/oxide-wasm32-wasi': 4.1.8
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.8
'@tailwindcss/oxide-win32-x64-msvc': 4.1.8
'@tailwindcss/vite@4.1.8(vite@6.3.5(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))':
dependencies:
'@tailwindcss/node': 4.1.8
'@tailwindcss/oxide': 4.1.8
tailwindcss: 4.1.8
vite: 6.3.5(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
'@types/debug@4.1.12':
dependencies:
'@types/ms': 2.1.0
@@ -2477,12 +2803,12 @@ snapshots:
astring@1.9.0: {}
astro-expressive-code@0.41.2(astro@5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3)):
astro-expressive-code@0.41.2(astro@5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0)):
dependencies:
astro: 5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3)
astro: 5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0)
rehype-expressive-code: 0.41.2
astro@5.7.14(@types/node@22.15.21)(rollup@4.41.0)(typescript@5.8.3):
astro@5.7.14(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.41.0)(typescript@5.8.3)(yaml@2.8.0):
dependencies:
'@astrojs/compiler': 2.12.0
'@astrojs/internal-helpers': 0.6.1
@@ -2537,8 +2863,8 @@ snapshots:
unist-util-visit: 5.0.0
unstorage: 1.16.0
vfile: 6.0.3
vite: 6.3.5(@types/node@22.15.21)
vitefu: 1.0.6(vite@6.3.5(@types/node@22.15.21))
vite: 6.3.5(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
vitefu: 1.0.6(vite@6.3.5(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))
xxhash-wasm: 1.1.0
yargs-parser: 21.1.1
yocto-spinner: 0.2.3
@@ -2675,6 +3001,8 @@ snapshots:
chownr@1.1.4: {}
chownr@3.0.0: {}
ci-info@4.2.0: {}
cli-boxes@3.0.0: {}
@@ -2778,6 +3106,11 @@ snapshots:
dependencies:
once: 1.4.0
enhanced-resolve@5.18.1:
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.2
entities@6.0.0: {}
es-module-lexer@1.7.0: {}
@@ -2912,6 +3245,8 @@ snapshots:
github-slugger@2.0.0: {}
graceful-fs@4.2.11: {}
h3@1.15.3:
dependencies:
cookie-es: 1.2.2
@@ -3164,6 +3499,8 @@ snapshots:
dependencies:
is-inside-container: 1.0.0
jiti@2.4.2: {}
js-yaml@4.1.0:
dependencies:
argparse: 2.0.1
@@ -3174,6 +3511,51 @@ snapshots:
klona@2.0.6: {}
lightningcss-darwin-arm64@1.30.1:
optional: true
lightningcss-darwin-x64@1.30.1:
optional: true
lightningcss-freebsd-x64@1.30.1:
optional: true
lightningcss-linux-arm-gnueabihf@1.30.1:
optional: true
lightningcss-linux-arm64-gnu@1.30.1:
optional: true
lightningcss-linux-arm64-musl@1.30.1:
optional: true
lightningcss-linux-x64-gnu@1.30.1:
optional: true
lightningcss-linux-x64-musl@1.30.1:
optional: true
lightningcss-win32-arm64-msvc@1.30.1:
optional: true
lightningcss-win32-x64-msvc@1.30.1:
optional: true
lightningcss@1.30.1:
dependencies:
detect-libc: 2.0.4
optionalDependencies:
lightningcss-darwin-arm64: 1.30.1
lightningcss-darwin-x64: 1.30.1
lightningcss-freebsd-x64: 1.30.1
lightningcss-linux-arm-gnueabihf: 1.30.1
lightningcss-linux-arm64-gnu: 1.30.1
lightningcss-linux-arm64-musl: 1.30.1
lightningcss-linux-x64-gnu: 1.30.1
lightningcss-linux-x64-musl: 1.30.1
lightningcss-win32-arm64-msvc: 1.30.1
lightningcss-win32-x64-msvc: 1.30.1
longest-streak@3.1.0: {}
lru-cache@10.4.3: {}
@@ -3655,8 +4037,16 @@ snapshots:
minimist@1.2.8: {}
minipass@7.1.2: {}
minizlib@3.0.2:
dependencies:
minipass: 7.1.2
mkdirp-classic@0.5.3: {}
mkdirp@3.0.1: {}
mrmime@2.0.1: {}
ms@2.1.3: {}
@@ -4153,6 +4543,10 @@ snapshots:
dependencies:
inline-style-parser: 0.2.4
tailwindcss@4.1.8: {}
tapable@2.2.2: {}
tar-fs@2.1.2:
dependencies:
chownr: 1.1.4
@@ -4184,6 +4578,15 @@ snapshots:
fast-fifo: 1.3.2
streamx: 2.22.0
tar@7.4.3:
dependencies:
'@isaacs/fs-minipass': 4.0.1
chownr: 3.0.0
minipass: 7.1.2
minizlib: 3.0.2
mkdirp: 3.0.1
yallist: 5.0.0
text-decoder@1.2.3:
dependencies:
b4a: 1.6.7
@@ -4324,7 +4727,7 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
vite@6.3.5(@types/node@22.15.21):
vite@6.3.5(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0):
dependencies:
esbuild: 0.25.4
fdir: 6.4.4(picomatch@4.0.2)
@@ -4335,10 +4738,13 @@ snapshots:
optionalDependencies:
'@types/node': 22.15.21
fsevents: 2.3.3
jiti: 2.4.2
lightningcss: 1.30.1
yaml: 2.8.0
vitefu@1.0.6(vite@6.3.5(@types/node@22.15.21)):
vitefu@1.0.6(vite@6.3.5(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)):
optionalDependencies:
vite: 6.3.5(@types/node@22.15.21)
vite: 6.3.5(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
web-namespaces@2.0.1: {}
@@ -4365,6 +4771,11 @@ snapshots:
xxhash-wasm@1.1.0: {}
yallist@5.0.0: {}
yaml@2.8.0:
optional: true
yargs-parser@21.1.1: {}
yocto-queue@1.2.1: {}
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

+35 -3
View File
@@ -1,4 +1,36 @@
<footer>
<a href="https://ludwigweise.de/impressum">Imprint</a> |
<a href="https://ludwigweise.de/datenschutz">Privacy</a>
---
import {getLangFromUrl, useTranslations} from "../i18n/utils";
// @ts-expect-error
const lang = getLangFromUrl(Astro.url);
const t = useTranslations(lang);
---
<footer class="flex flex-col gap-8 pt-10">
<div class="flex flex-col gap-4">
<div class="text-gray-500">{t("footer.fundingFrom")}:</div>
<div
class="flex gap-10 items-start dark:bg-white dark:px-4 py-5 rounded-xl"
>
<a href="https://www.bmbf.de" target="_blank">
<img
src={lang === "de" ? "/BMFTR-de.webp" : "/BMFTR-en.webp"}
alt="Bundesministerium für Forschung, Technologie und Raumfahrt"
class="h-20 w-auto block"
/>
</a>
<a href="https://prototypefund.de" target="_blank">
<img
src="/PrototypeFund.png"
alt="Prototype Fund"
class="h-10 w-auto block"
/>
</a>
</div>
</div>
<div>
<a href="https://ludwigweise.de/impressum">{t("footer.imprint")}</a> |
<a href="https://ludwigweise.de/datenschutz">{t("footer.privacy")}</a>
</div>
</footer>
+11 -2
View File
@@ -2,8 +2,19 @@
title: OpenReception
description: Ende-zu-Ende verschlüsselte Platform für Terminbuchung
template: splash
banner:
content: |
Haben Sie eine Praxis?
<a href="/de/research/problem-analysis" class="underline">Nehmen Sie an unserer Problemanalyse teil</a>
hero:
tagline: Ende-zu-Ende verschlüsselte Platform für Terminbuchung.
actions:
- text: Auf GitHub ansehen
link: https://github.com/open-reception/appointment-booking-software
icon: external
variant: secondary
attrs:
rel: me
---
OpenReception wird von [Karl Ludwig Weise](https://ludwigweise.de) und [Hendrik Belitz](https://innovation-through-understanding.de/) im Rahmen des [PrototypeFund](https://prototypefund.de/) Jahrgangs eins entwickelt.
@@ -11,5 +22,3 @@ OpenReception wird von [Karl Ludwig Weise](https://ludwigweise.de) und [Hendrik
Wir entwickeln eine Online Terminbuchung für Arztpraxen und Gesundheitseinrichtungen.
> Haben Sie eine Praxis? [Nehmen Sie an unserer Problemanalyse teil](/de/research/problem-analysis).
Diese Projekt wird vom [Bundesministerium für Forschung, Technologie und Raumfahrt](https://www.bmbf.de) sowie dem [PrototypeFund](https://prototypefund.de/) gefördert.
@@ -1,6 +1,7 @@
---
title: Krypographie
description: Join our research and test group
draft: true
---
Weitere Informationen folgen in Kürze
+12 -3
View File
@@ -2,14 +2,23 @@
title: OpenReception
description: End-to-end encrypted appointment booking platform
template: splash
banner:
content: |
Do you have a medical practice?
<a href="/research/problem-analysis" class="underline">Participate in our development</a>
hero:
tagline: End-to-end encrypted appointment booking platform.
actions:
- text: View on GitHub
link: https://github.com/open-reception/appointment-booking-software
icon: external
variant: secondary
attrs:
rel: me
---
OpenReception is being developed by [Karl Ludwig Weise](https://ludwigweise.de) and [Hendrik Belitz](https://innovation-through-understanding.de/) as part of the [PrototypeFund](https://prototypefund.de/) year one.
We are developing an online appointment booking system for medical practices and healthcare facilities.
> Do you have a medical practice? [Participate in our development](./research/problem-analysis).
This project is funded by the [Federal Ministry of Research, Technology and Space](https://www.bmbf.de) and [PrototypeFund](https://prototypefund.de/).
> Do you have a medical practice? [Participate in our development](/research/problem-analysis).
+1
View File
@@ -1,6 +1,7 @@
---
title: Cryptography
description: Details zu unserer Kryptographie-Forschung
draft: true
---
More info coming soon.
+3 -1
View File
@@ -1,3 +1,5 @@
{
"sidebar.research": "Forschung"
"footer.imprint": "Impressum",
"footer.privacy": "Datenschutz",
"footer.fundingFrom": "Gefördert von"
}
+3 -1
View File
@@ -1,3 +1,5 @@
{
"sidebar.research": "Research"
"footer.imprint": "Imprint",
"footer.privacy": "Privacy",
"footer.fundingFrom": "With Funding from"
}
+14
View File
@@ -0,0 +1,14 @@
import EN from "../content/i18n/en.json";
import DE from "../content/i18n/de.json";
export const languages = {
en: "English",
de: "Deutsch",
};
export const defaultLang = "en";
export const ui = {
en: EN,
de: DE,
};
+13
View File
@@ -0,0 +1,13 @@
import {ui, defaultLang} from "./ui";
export function getLangFromUrl(url: URL) {
const [, lang] = url.pathname.split("/");
if (lang in ui) return lang as keyof typeof ui;
return defaultLang;
}
export function useTranslations(lang: keyof typeof ui) {
return function t(key: keyof (typeof ui)[typeof defaultLang]) {
return ui[lang][key] || ui[defaultLang][key];
};
}
+12
View File
@@ -0,0 +1,12 @@
@import "tailwindcss";
@custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));
@layer base {
ol,
ul,
menu {
list-style: inherit;
padding-left: 1.5rem;
}
}