Skip to content
Merged
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
3 changes: 2 additions & 1 deletion 2025/messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
"description": "jsconf.jp is a JavaScript festival in Japan powered by Japan Node.js Association. This is the sixth time event of jsconf in Japan. We would love to become a bridge between Japanese Web Developers and International Web Developers.",
"eventDate": "November 16, 2025 (Sun)",
"companyAddress": "〒210-0024 27-7-903 Nisshincho Kawasaki-ku Kawasaki-shi Kanagawa",
"copyright": "© 2019-2025 JSConf JP"
"copyright": "© 2019-2025 JSConf JP",
"thankYou": "Thank you for joining us! Here are the event highlights!"
},
"navigation": {
"speakers": "Speakers",
Expand Down
3 changes: 2 additions & 1 deletion 2025/messages/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
"description": "jsconf.jp is a JavaScript festival in Japan powered by Japan Node.js Association. This is the sixth time event of jsconf in Japan. We would love to become a bridge between Japanese Web Developers and International Web Developers.",
"eventDate": "2025年11月16日(日)",
"companyAddress": "〒210-0024 神奈川県川崎市川崎区日進町27-7-903",
"copyright": "© 2019-2025 JSConf JP"
"copyright": "© 2019-2025 JSConf JP",
"thankYou": "ご参加いただきありがとうございました!イベントのハイライトはこちらです!"
},
"navigation": {
"speakers": "スピーカー",
Expand Down
39 changes: 13 additions & 26 deletions 2025/src/app/[locale]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
import { Metadata } from "next";
import Image from "next/image";
import { getTranslations, setRequestLocale } from "next-intl/server";
import { Button } from "@/components/Button";
import { Hero } from "@/components/Hero";
import { SponsorGrid } from "@/components/SponsorGrid";
import { Team } from "@/components/Team";
import { Venue } from "@/components/Venue";
import { SPONSORS } from "@/constants/sponsors";
import { Locale } from "@/i18n/constants";
import FloorMap from "../../../public/misc/floor-map.png";

type Params = { locale: Locale };

Expand Down Expand Up @@ -42,33 +39,23 @@ export default async function Page({ params }: Props) {
<Hero />
</div>

<div className="max-w-screen-md mx-auto mt-8 md:mt-32 flex flex-col gap-4">
<h2 className="text-3xl font-bold text-center">
{t("navigation.floorMap")}
</h2>
<div className="w-full">
<Image
alt={t("navigation.floorMap")}
src={FloorMap}
width={1192}
height={843}
className="w-full h-auto"
<div className="max-w-screen-md mx-auto mt-8 md:mt-16 flex flex-col gap-4 px-4 lg:px-0">
<p className="text-lg md:text-xl font-bold text-center">
{t("about.thankYou")}
</p>
<div className="w-full aspect-video">
<iframe
className="w-full h-full"
src="https://www.youtube.com/embed/me9KQ1SpKK4?si=byHOxwIpCcctOFyE"
title="YouTube video player"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerPolicy="strict-origin-when-cross-origin"
allowFullScreen
/>
</div>
</div>

<div className="max-w-screen-md mx-auto mt-8 md:mt-32 flex flex-col gap-4">
<h2 className="text-3xl font-bold text-center">
{t("navigation.venue")}
</h2>
<Venue locale={locale} />
<div className="flex items-center justify-center">
<Button href="/venue" variant="secondary" size="md">
{t("navigation.viewDetails")}
</Button>
</div>
</div>

<div className="max-w-screen-md mx-auto mt-8 md:mt-32 flex flex-col gap-4">
<h2 className="text-3xl font-bold text-center">
{t("navigation.sponsors")}
Expand Down
14 changes: 2 additions & 12 deletions 2025/src/components/GlobalNavigation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,6 @@ export function GlobalNavigation() {
label: t("sponsors"),
href: "/sponsors",
},
{
ready: true,
label: t("tickets"),
href: "https://pretix.eu/jsconfjp/2025/",
primary: true,
target: "_blank",
},
].map((item) => ({
...item,
active: pathname === item.href,
Expand Down Expand Up @@ -79,15 +72,13 @@ export function GlobalNavigation() {
</nav>
<nav className="flex-1 items-center gap-4 hidden lg:flex">
{[...spacerItems, ...readyItems].map(
({ label, href, primary, ready, active, target }) =>
({ label, href, ready, active }) =>
ready ? (
<Link
key={href}
href={href}
target={target}
className={clsx(
"py-5 h-full flex-1 flex items-center justify-center text-lg font-bold underline underline-offset-8 decoration-4",
primary && "bg-primary text-white hover:decoration-white",
active
? "decoration-primary"
: "decoration-transparent hover:decoration-dimmed",
Expand All @@ -110,13 +101,12 @@ export function GlobalNavigation() {
isOpen ? "visible" : "hidden",
)}
>
{readyItems.map(({ label, href, primary, active }) => (
{readyItems.map(({ label, href, active }) => (
<Link
key={href}
href={href}
className={clsx(
"py-4 flex-1 flex items-center justify-center text-md font-bold underline underline-offset-6 decoration-4",
primary && "bg-primary text-white hover:decoration-white",
active
? "decoration-primary"
: "decoration-transparent hover:decoration-dimmed",
Expand Down