Skip to content
This repository has been archived by the owner on Jul 8, 2024. It is now read-only.

Commit

Permalink
Update members
Browse files Browse the repository at this point in the history
  • Loading branch information
Yasamato committed May 31, 2024
1 parent 0275455 commit f2be5aa
Show file tree
Hide file tree
Showing 23 changed files with 552 additions and 165 deletions.
12 changes: 7 additions & 5 deletions @types/i18next.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,25 @@
*/
import "i18next";

import type common from "../public/locales/de/common.json";
import type navbar from "../public/locales/de/navbar.json";
import type footer from "../public/locales/de/footer.json";
import type history from "../public/locales/de/history.json";
import type members from "../public/locales/de/members.json";
import type navbar from "../public/locales/de/navbar.json";
import type affiliated from "../public/locales/de/affiliated.json";
import type sponsors from "../public/locales/de/sponsors.json";

interface I18nNamespaces {
common: typeof common;
navbar: typeof navbar;
footer: typeof footer;
history: typeof history;
members: typeof members;
navbar: typeof navbar;
affiliated: typeof affiliated;
sponsors: typeof sponsors;
}

declare module "i18next" {
interface CustomTypeOptions {
defaultNS: "common";
defaultNS: "history";
resources: I18nNamespaces;
}
}
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Install dependencies only when needed
FROM oven/bun:1.1.8-alpine AS deps
FROM oven/bun:1.1.10-alpine AS deps
WORKDIR /app

COPY package.json bun.lockb ./
Expand Down
11 changes: 11 additions & 0 deletions app/[lng]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import Sponsors from "../../components/members/Sponsors";
import BVSRTimeline from "../../components/BVSRTimeline";
import HeroContent from "../../components/HeroContent/HeroContent";
import Members from "../../components/members/Members";
import Affilliated from "../../components/members/Affiliated";

export async function generateMetadata({
params: { lng },
Expand All @@ -24,9 +25,19 @@ export default async function LandingPage({
}) {
return (
<>
{/*
<Container mb="xs">
<Alert title={"Save the date!"} color={"orange"}>
<Link href={"https://seesat.eu/bvsr_conference_2024/"}>
{t("save_the_date")}
</Link>
</Alert>
</Container>
*/}
<HeroContent lng={lng} />
<BVSRTimeline lng={lng} />
<Members lng={lng} />
<Affilliated lng={lng} />
<Sponsors lng={lng} />
</>
);
Expand Down
5 changes: 5 additions & 0 deletions app/i18n/locales/de/affiliated.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"title": "Korrespondenzmitglieder",
"astg_desc": "Aerospace Team Graz e.V.",
"tu_wien_spaceteam_desc": "TU Wien Space Team e.V."
}
6 changes: 3 additions & 3 deletions app/i18n/locales/de/history.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@
"title": "3. BVSR Konferenz",
"text": "Dritte BVSR Konferenz in Friedrichshafen"
},
"join_aux_moon": {
"title": "Beitritt Auxspace e.V. & Moon Space e.V.",
"text": "Die Vereine Auxspace e.V. & Moon Aixperts e.V. treten dem BVSR auf der Jahreshauptversammlung bei."
"join_sporg_aux_moon_astg_twst": {
"title": "Beitritt Spaceflight Rocketry Gießen e.V., Auxspace e.V. & Moon Space e.V. sowie Aerospace Team Graz e.V. & TU Wien Space Team e.V.",
"text": "Auf der Jahreshauptversammlung treten die Vereine Spaceflight Rocketry Gießen e.V., Auxspace e.V. & Moon Aixperts e.V. sowie die Korrespondenzmitglieder Aerospace Team Graz e.V. & TU Wien Space Team e.V. treten dem BVSR bei"
},
"4th_conference": {
"title": "4. BVSR Konferenz",
Expand Down
3 changes: 2 additions & 1 deletion app/i18n/locales/de/members.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"members": "Mitglieder",
"title": "Mitglieder",
"visit": "Besuche",
"warr_desc": "WARR e.V. ist angesiedelt in München, wurde während des \"Space Race\" in den 1960er gegründet und ist Deutschlands größte Space-Studentengruppe.",
"ksat_desc": "KSat e.V. ist eine Space-Studentengruppe an der Universität Stuttgart, fokusiert auf Kleinsatelliten und Experimente in Mikrogravität.",
Expand All @@ -12,6 +12,7 @@
"sta_desc": "Das Space Team Aachen e. V. ist die studentische Initiative für alle studentischen Raumfahrtprojekte in Aachen. Neben mehreren Raketenprojekten entwickelt das STA Rover, CubeSats und raumfahrtbezogene Experimente.",
"erig_desc": "Die ERIG e.V. ist eine studentische Initiative an der TU Braunschweig welche sich mit der Entwicklung und Fertigung von Experimentalraketen, Mikrogravitations- und Höhenforschungsexperimenten, CubeSats und deren Nutzlasten, sowie Rovern beschäftigt.",
"bears_desc": "BEARS e.V. ist der erste studentische Raumfahrtverein in der Hauptstadt. Die Leidenschaft für Raketen, Roboter, Wissenschaft und alles was noch kommt ist grenzenlos in Berlin!",
"sprog_desc": "Spaceflight Rocketry Gießen e.V. aka SPROG ist ein studentischer Verein an der Justus-Liebig Universität und der Technischen Hochschule Mittelhessen in Gießen, welcher sich mit der Entwicklung und dem Bau von Experimentalraketen beschäftigt.",
"aux_desc": "Auxspace e.V.",
"moon_desc": "Moon Aixperts e.V."
}
2 changes: 1 addition & 1 deletion app/i18n/locales/de/sponsors.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"title": "Fördermitglieder",
"ohb": "Die OHB System AG ist eines der führenden Raumfahrtunternehmen Europas. Der Systemanbieter gehört zum Hochtechnologiekonzern OHB SE, in dem über 3.000 Mitarbeitende an europäischen Raumfahrtprogrammen arbeiten."
"ohb_desc": "Die OHB System AG ist eines der führenden Raumfahrtunternehmen Europas. Der Systemanbieter gehört zum Hochtechnologiekonzern OHB SE, in dem über 3.000 Mitarbeitende an europäischen Raumfahrtprogrammen arbeiten."
}
5 changes: 5 additions & 0 deletions app/i18n/locales/en/affiliated.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"title": "Corresponding Members",
"astg_desc": "Aerospace Team Graz e.V.",
"tu_wien_spaceteam_desc": "TU Wien Space Team e.V."
}
6 changes: 3 additions & 3 deletions app/i18n/locales/en/history.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@
"title": "2nd BVSR Conference",
"text": "Over 140 registered participants participated at the 2nd BVSR Conference in Stuttgart"
},
"join_aux_moon": {
"title": "Addition of Auxspace e.V. and Moon Aixperts e.V.",
"text": "The associations Auxspace e.V. & Moon Aixperts e.V. joined the BVSR during the annual general meeting"
"join_sporg_aux_moon_astg_twst": {
"title": "Addition of Spaceflight Rocketry Gießen e.V., Auxspace e.V. & Moon Space e.V. as well as Aerospace Team Graz e.V. & TU Wien Space Team e.V.",
"text": "During the annual general meeting the associations Spaceflight Rocketry Gießen e.V., Auxspace e.V. & Moon Aixperts e.V. as well as the Corresponding Members Aerospace Team Graz e.V. & TU Wien Space Team e.V. join the BVSR"
},
"3rd_conference": {
"title": "3rd BVSR Conference",
Expand Down
3 changes: 2 additions & 1 deletion app/i18n/locales/en/members.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"members": "Members",
"title": "Members",
"visit": "Visit",
"warr_desc": "WARR e.V. was founded during the space race in the 1960s and is Germany's largest student space group. It is located in Munich.",
"ksat_desc": "KSat e.V. is a student space group at the University of Stuttgart, focusing on small Satellites and Experiments in Microgravity.",
Expand All @@ -12,6 +12,7 @@
"sta_desc": "Space Team Aachen e. V. is the student initiative for all student space projects in Aachen. In addition to several rocket projects, the STA develops rovers, CubeSats, and space-related experiments.",
"erig_desc": "ERIG e.V. is a student group associated with the TU Braunschweig that designs and builds sounding rockets, microgravity and high-altitude experiments, CubeSats and their payloads, and rovers.",
"bears_desc": "BEARS e.V. is the first space students club in the capital. Working with the greatest passion in rocketry, robotics, science and more to come in Berlin!",
"sprog_desc": "Spaceflight Rocketry Gießen e.V. aka SPROG is a student association at the Justus-Liebig-university and university of applied sciences in Giessen, which develops and constructs experimental rockets.",
"aux_desc": "Auxspace e.V.",
"moon_desc": "Moon Aixperts e.V."
}
2 changes: 1 addition & 1 deletion app/i18n/locales/en/sponsors.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"title": "Supporting Members",
"ohb": "The OHB System AG is one of the leading space companies in Europe. The system provider is part of the high-technology group OHB SE, where over 3,000 employees work on European space programs."
"ohb_desc": "The OHB System AG is one of the leading space companies in Europe. The system provider is part of the high-technology group OHB SE, where over 3,000 employees work on European space programs."
}
Binary file modified bun.lockb
Binary file not shown.
8 changes: 6 additions & 2 deletions components/BVSRTimeline.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,12 @@ export default async function BVSRTimeline({ lng }: { lng: string }) {
<TimelinePoint />
<TimelineContent>
<TimelineTime>16. May 2024</TimelineTime>
<TimelineTitle>{t("timeline.join_aux_moon.title")}</TimelineTitle>
<TimelineBody>{t("timeline.join_aux_moon.text")}</TimelineBody>
<TimelineTitle>
{t("timeline.join_sporg_aux_moon_astg_twst.title")}
</TimelineTitle>
<TimelineBody>
{t("timeline.join_sporg_aux_moon_astg_twst.text")}
</TimelineBody>
</TimelineContent>
</TimelineItem>

Expand Down
47 changes: 47 additions & 0 deletions components/members/Affiliated.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import MemberCard, { type MemberInfo } from "./MemberCard";

// member logos
import astgLogo from "./logos/ASTG.png";
import twstLogo from "./logos/TU-Wien-Space-Team.svg";

import { useTranslation } from "../../app/i18n/i18n";

export default async function Affiliated({ lng }: { lng: string }) {
const { t } = await useTranslation(lng, "affiliated");

const members: MemberInfo[] = [
{
img: astgLogo,
name: "ASTG",
desc: "astg_desc",
link: "https://astg.at",
},
{
img: twstLogo,
bdDarkImg: true,
name: "TU Wien Space Team",
desc: "tu_wien_spaceteam_desc",
link: "https://spaceteam.at",
},
];

return (
<div className="container flex flex-col gap-2 px-4">
<h2 className="text-2xl">{t("title")}</h2>

<div className="grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-3">
{members.map((member) => (
<MemberCard
key={member.name}
img={member.img}
bdDarkImg={member.bdDarkImg}
name={member.name}
desc={t(member.desc)}
link={member.link}
lng={lng}
/>
))}
</div>
</div>
);
}
71 changes: 44 additions & 27 deletions components/members/MemberCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,48 +3,65 @@ import Link from "next/link";
import { useTranslation } from "../../app/i18n/i18n";
import { Button } from "flowbite-react";

interface MemberCardProps {
lng: string;
export interface MemberInfo {
img: StaticImageData;
bdDarkImg?: boolean;
name: string;
description: string;
link: string;
desc: string;
link?: string;
}

export default async function MemberCard({
lng,
img,
bdDarkImg = false,
name,
description,
desc,
link,
}: MemberCardProps) {
}: {
lng: string;
} & MemberInfo) {
const { t } = await useTranslation(lng, "members");

const image = (
<div
className={
"rounded-lg px-2 py-1 " + (bdDarkImg ? "bg-gray-800" : "bg-white")
}
>
<div className="relative h-[140px]">
<Image src={img} fill={true} alt={name} className="object-contain" />
</div>
</div>
);

return (
<div className="space-between flex h-[440px] flex-col rounded-lg bg-[#eee] p-2 shadow dark:bg-gray-800">
<Link
href={link}
target={"_blank"}
className="cursor-pointer rounded-lg bg-white p-2"
>
<div className="relative h-[140px]">
<Image src={img} fill={true} alt={name} className="object-contain" />
</div>
</Link>
<div className="flex h-[410px] flex-col gap-2 rounded-lg bg-[#eee] p-2 shadow dark:bg-gray-800">
{link ? (
<Link href={link} target={"_blank"} className="cursor-pointer">
{image}
</Link>
) : (
image
)}

<div className="my-4">{name}</div>
<div className="mt-2 grow">
<h3 className="text-2xl">{name}</h3>

<div className="line-clamp-[8] grow text-sm">{description}</div>
<div className="line-clamp-[6]">{desc}</div>
</div>

<Button
as={Link}
href={link}
target="_blank"
color="blue"
className="mt-8 w-full"
>
{t("visit")} {name}
</Button>
{link && (
<Button
as={Link}
href={link}
target="_blank"
color="blue"
className="w-full"
>
{t("visit")} {name}
</Button>
)}
</div>
);
}
Loading

0 comments on commit f2be5aa

Please sign in to comment.