Compare commits

..

1 commit

Author SHA1 Message Date
q3k 8e3606bd38 landing: do not mention how many tickets there are per space
Some checks failed
/ deploy (push) Failing after 2s
This seems like an internal detail, and is probably likely to change
(ie. we will issue more vouchers as they legitimately run out and if it
won't starve other spaces).
2025-04-13 16:26:41 +02:00
8 changed files with 13 additions and 96 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 1.6 MiB

View file

@ -243,7 +243,7 @@ export default function LandingPage(
</>
</NewSection>
<NewSection id="details">
<NewSection id="faq">
<>
<div>
<Heading>{t.details.title}</Heading>

View file

@ -14,17 +14,18 @@ export function NavContainer({ children, title, }: { children: React.ReactNode,
<div className="container mx-auto px-4">
<div className="flex items-center justify-between h-16">
<div className="flex gap-4">
<LanguageSelector />
<Link href="/" className="text-xl font-bold tracking-tighter hover:text-primary transition-colors">
<h1>{title}</h1>
</Link>
</div>
<div className="flex items-center">
{children}
<LanguageSelector />
<Button
variant="ghost"
size="icon"
onClick={() => setTheme(theme === "dark" ? "light" : "dark")}
className="ml-4"
>
{theme === "dark" ? (
<SunIcon className="h-5 w-5" />

View file

@ -3,8 +3,6 @@
import { Lang } from "@/i18n/locales";
import Link from "next/link";
import { useParams, usePathname } from "next/navigation";
import { Button } from "./button";
import { LanguagesIcon } from "lucide-react";
export const LanguageSelector = () => {
@ -17,22 +15,10 @@ export const LanguageSelector = () => {
}
const lang = params?.locale || 'pl';
const otherLang = replacements[lang];
const changedLang = pathname.replace(`/${lang}`, `/${otherLang}`)
const changedLang = pathname.replace(`/${lang}`, `/${replacements[lang]}`)
return (<>
<Button
variant="ghost"
size="icon"
className="md:ml-6 w-15"
>
<Link
href={changedLang}
className="flex space-x-2 items-center"
>
<LanguagesIcon className="h-5 w-5 mr-1" />
<span>{otherLang.toUpperCase()}</span>
</Link>
</Button>
</>);
if (lang === 'pl') return (<>
<Link suppressHydrationWarning className="pt-1" href={changedLang}>🇬🇧</Link></>);
if (lang === 'en') return (<>
<Link suppressHydrationWarning className="pt-1" href={changedLang}>🇵🇱</Link></>);
};

View file

@ -155,7 +155,3 @@
.z-max {
z-index: 10000;
}
section {
scroll-margin-top: calc(var(--spacing) * 16 + var(--spacing) * 4);
}

View file

@ -2,10 +2,11 @@ import { Sections } from "@/i18n/translations";
import { useLayoutEffect, useRef } from "react";
export const linksOrder: Array<Sections> = [
"details",
"title",
"about",
"tickets",
"cfp",
"details",
"contact"
]

View file

@ -44,7 +44,7 @@ const pl = {
tickets: {
title: "Bilety",
status: `Rusza sprzedaż pierwszej puli biletów na Cebula Camp 2025: Reaktywacja!
Od 20 kwietnia 2025 r. będzie można kupić bilet. Każdy z sześciu polskich Hackerspaceów ma voucher, który pozwala na zakup biletów. Skontaktuj się więc z najbliższym HS i zarezerwuj swój bilet jak najszybciej!
Od 20 kwietnia 2025 r. będzie można kupić bilet. Każdy z sześciu polskich Hackerspaceów ma voucher, który pozwala im kupić bilety. Skontaktuj się więc z najbliższym HS i zarezerwuj swój bilet jak najszybciej!
W miejscu, gdzie będzie nasz Camp, mamy do dyspozycji przestrzeń, którą wykorzystamy jako małe pole namiotowe. Jeżeli chcesz nocować w swoim namiocie, przy zakupie biletu dodaj nocleg na polu namiotowym jako dodatek do biletu. Nie pobieramy za to żadnych dodatkowych opłat, ale liczba miejsc jest ograniczona, a pula wspólna dla wszystkich.`,
link: "Kup bilet tutaj",