diff --git a/public/karihk/emk.jpg b/public/karihk/emk.jpg
new file mode 100644
index 0000000..25e7e72
Binary files /dev/null and b/public/karihk/emk.jpg differ
diff --git a/public/karihk/epk.jpg b/public/karihk/epk.jpg
new file mode 100644
index 0000000..3b5e8a8
Binary files /dev/null and b/public/karihk/epk.jpg differ
diff --git a/public/karihk/gpk.jpg b/public/karihk/gpk.jpg
new file mode 100644
index 0000000..24b7fec
Binary files /dev/null and b/public/karihk/gpk.jpg differ
diff --git a/public/karihk/gtk.png b/public/karihk/gtk.png
new file mode 100644
index 0000000..a142d11
Binary files /dev/null and b/public/karihk/gtk.png differ
diff --git a/public/karihk/kjk.png b/public/karihk/kjk.png
new file mode 100644
index 0000000..28d0ee2
Binary files /dev/null and b/public/karihk/kjk.png differ
diff --git a/public/karihk/ttk.jpg b/public/karihk/ttk.jpg
new file mode 100644
index 0000000..f7c713b
Binary files /dev/null and b/public/karihk/ttk.jpg differ
diff --git a/public/karihk/vbk.png b/public/karihk/vbk.png
new file mode 100644
index 0000000..78000cf
Binary files /dev/null and b/public/karihk/vbk.png differ
diff --git a/public/karihk/vik.png b/public/karihk/vik.png
new file mode 100644
index 0000000..b4a58b5
Binary files /dev/null and b/public/karihk/vik.png differ
diff --git a/public/kolik/baross.jpg b/public/kolik/baross.jpg
new file mode 100644
index 0000000..ca215c5
Binary files /dev/null and b/public/kolik/baross.jpg differ
diff --git a/public/kolik/bercsenyi.jpg b/public/kolik/bercsenyi.jpg
new file mode 100644
index 0000000..56b865e
Binary files /dev/null and b/public/kolik/bercsenyi.jpg differ
diff --git a/public/kolik/karman.jpg b/public/kolik/karman.jpg
new file mode 100644
index 0000000..03795b0
Binary files /dev/null and b/public/kolik/karman.jpg differ
diff --git a/public/kolik/martos.jpg b/public/kolik/martos.jpg
new file mode 100644
index 0000000..10df510
Binary files /dev/null and b/public/kolik/martos.jpg differ
diff --git a/public/kolik/schonherz.jpg b/public/kolik/schonherz.jpg
new file mode 100644
index 0000000..f943f4c
Binary files /dev/null and b/public/kolik/schonherz.jpg differ
diff --git a/public/kolik/vasarhelyi.jpg b/public/kolik/vasarhelyi.jpg
new file mode 100644
index 0000000..6e64a3b
Binary files /dev/null and b/public/kolik/vasarhelyi.jpg differ
diff --git a/public/kolik/wigner.jpg b/public/kolik/wigner.jpg
new file mode 100644
index 0000000..f3952a8
Binary files /dev/null and b/public/kolik/wigner.jpg differ
diff --git a/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/components/DormitoryAdmissionInformationContent.tsx b/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/components/DormitoryAdmissionInformationContent.tsx
new file mode 100644
index 0000000..e77a0ae
--- /dev/null
+++ b/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/components/DormitoryAdmissionInformationContent.tsx
@@ -0,0 +1,93 @@
+"use client";
+
+import {PostBlock} from "@/components/common/PageBlock";
+import DormitoryCardsComtainer from "./DormitoryCardsComtainer";
+import StudentUnionCardsComtainer from "./StudentUnionCardsComtainer";
+
+export interface DormitoryAdmissionInformationContent {
+ admission_information: {
+ title: string,
+ capacity: string,
+ capacity_p1: string,
+ capacity_p2: string,
+ application: string,
+ application_p1: string,
+ application_p2: string,
+ application_p3: string,
+ contacts: string,
+ contacts_p1: string,
+ contacts_p2: string,
+ contacts_p3: string,
+ dormitory: string
+ },
+ faculties: {
+ ÉMK: string,
+ GPK: string,
+ ÉPK: string,
+ VBK: string,
+ VIK: string,
+ GTK: string,
+ TTK: string,
+ KJK: string
+ }
+
+}
+
+
+export default function DormitoryAdmissionInformationContent({ content }: Readonly<{ content: DormitoryAdmissionInformationContent }>) {
+ const admission_information = content.admission_information;
+ return (
+
+
+
+ {admission_information.capacity}
+
+
+ {admission_information.capacity_p1}
+
+
+
+
+
+ {admission_information.capacity_p2}
+
+
+
+
+ {admission_information.application}
+
+
+ {admission_information.application_p1}
+
+
+ {admission_information.application_p2}
+
+ KEFIR
+
+ {admission_information.application_p3}
+
+
+
+
+
+ {admission_information.contacts}
+
+
+ {admission_information.contacts_p1}
+
+
+
+
+
+
+ {admission_information.contacts_p2}
+ {
+ info@bmeehk.hu
+ }
+ {admission_information.contacts_p3}
+
+
+
+
+ )}
+
diff --git a/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/components/DormitoryCardsComtainer.tsx b/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/components/DormitoryCardsComtainer.tsx
new file mode 100644
index 0000000..499dce9
--- /dev/null
+++ b/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/components/DormitoryCardsComtainer.tsx
@@ -0,0 +1,65 @@
+"use client";
+
+import { ImageCard } from "@/components/common/ImageCard";
+
+
+export default function DormitoryCardsComtainer({ dormitory} : Readonly<{ dormitory: string}>) {
+ const dimensions = {
+ width: 60,
+ height: 60
+ }
+ const imageFolder = "/kolik/"
+ const baross = {
+ imageSrc: imageFolder+"baross.jpg",
+ title: "Baross Gábor "+dormitory,
+ dimensions: dimensions,
+ href: "https://epiteszhk.bme.hu/kollegium/kollegiumaink/baross-gabor-kollegium/"
+ }
+ const bercsenyi = {
+ imageSrc: imageFolder+"bercsenyi.jpg",
+ title: "Bercsényi 28-30 "+dormitory,
+ dimensions: dimensions,
+ href: "https://bercsenyi.bme.hu/"
+ }
+ const karman = {
+ imageSrc: imageFolder+"karman.jpg",
+ title: "Kármán Tódor "+dormitory,
+ dimensions: dimensions,
+ href: "https://ttkhk.bme.hu/koli/karman-2/"
+ }
+ const martos = {
+ imageSrc: imageFolder+"martos.jpg",
+ title: "Martos "+dormitory,
+ dimensions: dimensions,
+ href: "https://martos.bme.hu/"
+ }
+ const schonherz = {
+ imageSrc: imageFolder+"schonherz.jpg",
+ title: "Schönherz "+dormitory,
+ dimensions: dimensions,
+ href: "https://sch.bme.hu/"
+ }
+ const vasarhelyi = {
+ imageSrc: imageFolder+"vasarhelyi.jpg",
+ title: "Vásárhelyi Pál "+dormitory,
+ dimensions: dimensions,
+ href: "https://vpk.bme.hu/"
+ }
+ const wigner = {
+ imageSrc: imageFolder+"wigner.jpg",
+ title: "Wigner Jenő "+dormitory,
+ dimensions: dimensions,
+ href: "https://wigner.bme.hu/"
+ }
+ return (
+
+
+
+
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/components/StudentUnionCardsComtainer.tsx b/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/components/StudentUnionCardsComtainer.tsx
new file mode 100644
index 0000000..683624e
--- /dev/null
+++ b/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/components/StudentUnionCardsComtainer.tsx
@@ -0,0 +1,74 @@
+"use client";
+import { DormitoryAdmissionInformationContent} from "./DormitoryAdmissionInformationContent";
+import { ImageCard } from "@/components/common/ImageCard";
+
+
+export default function StudentUnionCardsComtainer({ content }: Readonly<{ content: DormitoryAdmissionInformationContent; }>) {
+ const faculties = content.faculties;
+ const dimensions = {
+ width: 62,
+ height: 72
+ }
+ const imageFolder = "/karihk/"
+ const emk = {
+ imageSrc: imageFolder+"emk.jpg",
+ title: faculties.ÉMK,
+ dimensions: dimensions,
+ href: "https://emkhk.bme.hu/"
+ }
+ const epk = {
+ imageSrc: imageFolder+"epk.jpg",
+ title: faculties.ÉPK,
+ dimensions: dimensions,
+ href: "https://epiteszhk.bme.hu"
+ }
+ const gtk = {
+ imageSrc: imageFolder+"gtk.png",
+ title: faculties.GTK,
+ dimensions: dimensions,
+ href: "http://gtkhk.hu/"
+ }
+ const gpk = {
+ imageSrc: imageFolder+"gpk.jpg",
+ title: faculties.GPK,
+ dimensions: dimensions,
+ href: "https://ghk.bme.hu/"
+ }
+ const kjk = {
+ imageSrc: imageFolder+"kjk.png",
+ title: faculties.KJK,
+ dimensions: dimensions,
+ href: "http://kozlekhk.hu/"
+ }
+ const ttk = {
+ imageSrc: imageFolder+"ttk.jpg",
+ title: faculties.TTK,
+ dimensions: dimensions,
+ href: "https://ttkhk.bme.hu"
+ }
+ const vbk = {
+ imageSrc: imageFolder+"vbk.png",
+ title: faculties.VBK,
+ dimensions: dimensions,
+ href: "http://www.vegyeszhk.hu/"
+ }
+ const vik = {
+ imageSrc: imageFolder+"vik.png",
+ title: faculties.VIK,
+ dimensions: dimensions,
+ href: "https://vik.hk/"
+ }
+
+ return (
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/page.tsx b/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/page.tsx
new file mode 100644
index 0000000..97e77c0
--- /dev/null
+++ b/src/app/(app)/[lang]/kollegium/felveteli-tajekoztato/page.tsx
@@ -0,0 +1,26 @@
+import DormitoryAdmissionInformationContent from "@/app/(app)/[lang]/kollegium/felveteli-tajekoztato/components/DormitoryAdmissionInformationContent"
+import { PageHeader } from "@/components/common/PageHeader";
+import { getDictionary } from "@/get-dictionary";
+import { Locale } from "@/i18n-config";
+
+export default async function AdmissionInformationPage({
+ params }: Readonly<{ params: Promise<{ lang: Locale }> }>){
+ const { lang } = await params;
+ const dictionary = await getDictionary(lang);
+
+ const admission_information = dictionary.dormitories.admission_information;
+ const faculties = dictionary.faculties;
+ const content = {
+ admission_information,
+ faculties
+ }
+
+ return (
+
+ )
+}
diff --git a/src/app/(app)/[lang]/kollegium-szabalyzatok/loading.tsx b/src/app/(app)/[lang]/kollegium/kollegium-szabalyzatok/loading.tsx
similarity index 100%
rename from src/app/(app)/[lang]/kollegium-szabalyzatok/loading.tsx
rename to src/app/(app)/[lang]/kollegium/kollegium-szabalyzatok/loading.tsx
diff --git a/src/app/(app)/[lang]/kollegium-szabalyzatok/page.tsx b/src/app/(app)/[lang]/kollegium/kollegium-szabalyzatok/page.tsx
similarity index 100%
rename from src/app/(app)/[lang]/kollegium-szabalyzatok/page.tsx
rename to src/app/(app)/[lang]/kollegium/kollegium-szabalyzatok/page.tsx
diff --git a/src/app/(app)/components/navigation-items.ts b/src/app/(app)/components/navigation-items.ts
index 4d67347..f3e7c73 100644
--- a/src/app/(app)/components/navigation-items.ts
+++ b/src/app/(app)/components/navigation-items.ts
@@ -127,6 +127,9 @@ export function getNavigationItems(lang: string): NavigationItem[] {
targetBlank: false,
items: [
{ label: t("Bemutató", "Overview"), href: "#", targetBlank: false },
+ { label: t("Felvételi tájékoztató", "Admission Information"),
+ href: "/kollegium/felveteli-tajekoztato",
+ targetBlank: false },
{
label: t("Szabályzatok", "Regulations"),
href: link("/kollegium-szabalyzatok"),
diff --git a/src/app/(app)/globals.css b/src/app/(app)/globals.css
index 509519b..548553f 100644
--- a/src/app/(app)/globals.css
+++ b/src/app/(app)/globals.css
@@ -169,6 +169,15 @@
.hover\:bg-ehk-light-red:hover { background-color: var(--ehk-light-red); }
.hover\:text-ehk-light-red:hover { color: var(--ehk-light-red); }
.hover\:border-ehk-light-red:hover { border-color: var(--ehk-light-red); }
+
+ /*Global word break and hyphenation*/
+ /*Can be locally overridden by 'hypens-none' tailwind class for specific elements if needed*/
+ /*This code is placed here, in the utilites layer, because of CSS displaying priorities*/
+
+ p, h1, h2, h3, h4, h5, h6, li, a, span, div, button, input, textarea{
+ word-break: break-word;
+ hyphens: auto;
+}
}
@layer base {
diff --git a/src/components/common/ImageCard.tsx b/src/components/common/ImageCard.tsx
new file mode 100644
index 0000000..75ba8d3
--- /dev/null
+++ b/src/components/common/ImageCard.tsx
@@ -0,0 +1,48 @@
+"use client";
+import Image from "next/image";
+import { Card, CardContent } from "@/components/ui/card";
+
+interface ImageCardProps {
+ href: string;
+ dimensions: {
+ width: number;
+ height: number;
+ };
+ imageSrc: string;
+ title: string;
+ description?: string;
+}
+
+export function ImageCard({ content }: Readonly<{content: ImageCardProps }> ) {
+ const { href, imageSrc, title, description} = content;
+ const { width, height } = content.dimensions;
+ return (
+
+
+
+
+
+
+
+
+ {title}
+
+
{description}
+
+
+
+
+
+ )
+
+}
\ No newline at end of file
diff --git a/src/components/common/PageBlock.tsx b/src/components/common/PageBlock.tsx
new file mode 100644
index 0000000..36e1fc9
--- /dev/null
+++ b/src/components/common/PageBlock.tsx
@@ -0,0 +1,24 @@
+"use client"
+
+import * as React from "react"
+
+import { cn } from "@/lib/utils"
+import { Card, CardContent } from "@/components/ui/card";
+
+function PostBlock({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+export { PostBlock }
+
diff --git a/src/dictionaries/en.json b/src/dictionaries/en.json
index 462bba2..4436b1b 100644
--- a/src/dictionaries/en.json
+++ b/src/dictionaries/en.json
@@ -160,6 +160,23 @@
"knowledge_base": {
"title": "Cheat Sheets"
},
+ "dormitories":{
+ "admission_information": {
+ "title": "Dormitory Admission Information",
+ "capacity": "Capacity",
+ "capacity_p1": "Students of the Budapest University of Technology and Economics can get accommodation in a total of 7 dormitories:",
+ "capacity_p2": "Students of each faculty can move into the dormitories assigned to their faculty (you can find more information about this on the websites of the Faculty Student Unions).",
+ "application": "Application Process",
+ "application_p1": "You can apply for dormitory accommodation through the dormitory admission process. The USU has created the Unified Dormitory Admission System, which provides a framework for the faculties to carry out the applications, but you can find the exact regulations applicable to you on the website of the relevant Faculty Student Union.",
+ "application_p2": "The application submission interface for the admission process is ",
+ "application_p3": " the Unified Dormitory Admission and Information System (Egységes Kollégiumi Felvételi Rendszer), where you can log in with the Neptun-code (i.e., the BME Directory generated from it) received in the admission information package from the university.",
+ "contacts": "Contacts",
+ "contacts_p1": "Should you have any questions regarding dormitory accommodation, please contact the relevant Faculty Student Union, which can be reached at the following addresses:",
+ "contacts_p2": "For general inquiries, feel free to contact us at ",
+ "contacts_p3": ".",
+ "dormitory": "Dormitory"
+ }
+ },
"faculties": {
"ÉMK": "Faculty of Civil Engineering",
"GPK": "Faculty of Mechanical Engineering",
diff --git a/src/dictionaries/hu.json b/src/dictionaries/hu.json
index a21a7ae..52350c0 100644
--- a/src/dictionaries/hu.json
+++ b/src/dictionaries/hu.json
@@ -160,6 +160,23 @@
"knowledge_base": {
"title": "Kisokosok"
},
+ "dormitories":{
+ "admission_information": {
+ "title": "Kollégiumi felvételi tájékoztató",
+ "capacity": "Férőhelyek",
+ "capacity_p1": "A Budapesti Műszaki és Gazdaságtudományi Egyetem hallgatói összesen 7 kollégiumban kaphatnak férőhelyet: ",
+ "capacity_p2": "Minden kar hallgatói a karhoz rendelt kollégiumokba költözhetnek be (bővebb információt a kari Hallgatói Képviseletek honlapján találhatsz erről).",
+ "application": "Jelentkezés menete",
+ "application_p1": "Kollégiumi férőhelyben kollégiumi felvételi eljárás során részesülhettek. Az EHK a felvételi eljárás lebonyolítására megalkotta az Egységes Kollégiumi Felvételi Rendszert, ami egy keretet ad a karoknak a pályázat lebonyolítására, de a rád vonatkozó pontos szabályzatot az illetékes Kari Hallgatói Képviselet oldalán találod meg.",
+ "application_p2": "A felvételi pályázat leadási felülete a ",
+ "application_p3": ", azaz a Kollégiumi Egységes Felvételi és Információs Rendszer, ahova az egyetemtől kapott felvételi tájékoztató csomagban kapott Neptun-kóddal (azaz az ebből generált BME Címtárral) tudtok belépni.",
+ "contacts": "Elérhetőségek",
+ "contacts_p1": "Amennyiben bármilyen kérdésetek merül fel a kollégiumi elhelyezéssel kapcsolatban, forduljatok az illetékes Kari Hallgatói Képviselethez, melyek oldalát az alábbi címeken érhetitek el:",
+ "contacts_p2": "Általános ügyekben forduljatok bátran hozzánk az ",
+ "contacts_p3": " elérhetőségen.",
+ "dormitory": "Kollégium"
+ }
+ },
"faculties": {
"ÉMK": "Építőmérnöki Kar",
"GPK": "Gépészmérnöki Kar",