diff --git a/frontend/app/globals.css b/frontend/app/globals.css
index d924e24..6f2d102 100644
--- a/frontend/app/globals.css
+++ b/frontend/app/globals.css
@@ -20,6 +20,8 @@
--accent-foreground: 222.2 47.4% 11.2%;
--destructive: 0 84.2% 60.2%;
--destructive-foreground: 210 40% 98%;
+ --success: 142 76.2% 36.3%;
+ --success-foreground: 0 0% 100%;
--border: 214.3 31.8% 91.4%;
--input: 214.3 31.8% 91.4%;
--ring: 222.2 84% 4.9%;
@@ -48,6 +50,8 @@
--accent-foreground: 210 40% 98%;
--destructive: 0 62.8% 30.6%;
--destructive-foreground: 210 40% 98%;
+ --success: 142 76.2% 36.3%;
+ --success-foreground: 0 0% 100%;
--border: 217.2 32.6% 17.5%;
--input: 217.2 32.6% 17.5%;
--ring: 212.7 26.8% 83.9%;
diff --git a/frontend/components/groups/group-header.tsx b/frontend/components/groups/group-header.tsx
index ba85dff..7243814 100644
--- a/frontend/components/groups/group-header.tsx
+++ b/frontend/components/groups/group-header.tsx
@@ -1,3 +1,120 @@
+import Link from 'next/link';
+import React from 'react';
+
+import { Badge } from '@/components/ui/badge';
+import { Button } from '@/components/ui/button';
+import { Card, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
+
+const group = {
+ id: 1,
+ name: 'Kir-Dev',
+ foundingYear: 2001,
+ isActive: true,
+ isSvieMember: false,
+ parent: 'Simonyi Károly Szakkollégium',
+ website: 'kir-dev.hu',
+ mailingList: 'hello@kir-dev.hu',
+ leader: 'Bujdosó "Bohóc" Gergő',
+ description:
+ 'A Szent Schönherz Senior Lovagrendben a BME Villamosmérnöki és Informatikai Karára kerülő elsősök nevelésével foglalkozunk. Figyelünk rájuk, segítjük a beilleszkedésüket az egyetemi életbe és koordináljuk a különböző közösségépítő és tanulmányi programokat (kirándulások, táborok, vacsorák, stb.). Lényeges részt vállalunk a kari Gólyatábor megszervezésében is. Szervezetünk fenti céljai mellett folyamatosan törekszünk tagjaink készségeinek fejlesztésére. Rendszeresen látogatunk és szervezünk tréningeket, csapatépítő táborokat, melyen karunk hallgatói vehetnek részt.',
+ members: [
+ {
+ name: 'Dr. Emma Kovács',
+ username: 'emma_k',
+ avatar: '/placeholder.svg?height=40&width=40',
+ currentRoles: ['Director', 'Professor'],
+ pastRoles: ['Researcher'],
+ joinDate: '2018.09.01',
+ statusUpdatedDate: '2023.01.15',
+ endDate: null,
+ status: 'active',
+ },
+ {
+ name: 'Máté Nagy',
+ username: 'mate_n',
+ avatar: '/placeholder.svg?height=40&width=40',
+ currentRoles: ['Rep', 'Coordinator'],
+ pastRoles: ['Intern'],
+ joinDate: '2020.03.15',
+ statusUpdatedDate: '2022.11.30',
+ endDate: null,
+ status: 'active',
+ },
+ {
+ name: 'Zsófia Tóth',
+ username: 'zsofia_t',
+ avatar: '/placeholder.svg?height=40&width=40',
+ currentRoles: ['Mentor', 'Facilitator'],
+ pastRoles: ['Speaker'],
+ joinDate: '2019.01.10',
+ statusUpdatedDate: '2023.06.22',
+ endDate: null,
+ status: 'passive',
+ },
+ {
+ name: 'Balázs Fekete',
+ username: 'balazs_f',
+ avatar: '/placeholder.svg?height=40&width=40',
+ currentRoles: ['Tech Lead', 'Researcher'],
+ pastRoles: ['Developer'],
+ joinDate: '2018.11.05',
+ statusUpdatedDate: '2023.03.01',
+ endDate: null,
+ status: 'active',
+ },
+ {
+ name: 'Eszter Varga',
+ username: 'eszter_v',
+ avatar: '/placeholder.svg?height=40&width=40',
+ currentRoles: ['Marketing', 'Social Media'],
+ pastRoles: ['Planner'],
+ joinDate: '2021.06.20',
+ statusUpdatedDate: '2023.09.10',
+ endDate: null,
+ status: 'passive',
+ },
+ {
+ name: 'Gábor Szilágyi',
+ username: 'gabor_s',
+ avatar: '/placeholder.svg?height=40&width=40',
+ currentRoles: ['Liaison', 'Advisor'],
+ pastRoles: ['Investor'],
+ joinDate: '2019.09.01',
+ statusUpdatedDate: '2023.12.31',
+ endDate: '2023.12.31',
+ status: 'archived',
+ },
+ ],
+};
+
export function GroupHeader() {
- return <>Group Header>;
+ const historyUrl = `/groups/${group.id}/history`;
+ return (
+
+
+
+
+
+ {group.name}
+
+ {group.isActive ? 'Aktív' : 'Inaktív'}
+
+
+ {group.isSvieMember ? 'SVIE tag' : 'Nem SVIE tag'}
+
+
+
{group.description}
+
+
+
+
+
+
+
+
+ );
}
diff --git a/frontend/components/ui/avatar.tsx b/frontend/components/ui/avatar.tsx
index 51e507b..383faaa 100644
--- a/frontend/components/ui/avatar.tsx
+++ b/frontend/components/ui/avatar.tsx
@@ -1,9 +1,9 @@
-"use client"
+'use client';
-import * as React from "react"
-import * as AvatarPrimitive from "@radix-ui/react-avatar"
+import * as AvatarPrimitive from '@radix-ui/react-avatar';
+import * as React from 'react';
-import { cn } from "@/lib/utils"
+import { cn } from '@/lib/utils';
const Avatar = React.forwardRef<
React.ElementRef,
@@ -11,26 +11,19 @@ const Avatar = React.forwardRef<
>(({ className, ...props }, ref) => (
-))
-Avatar.displayName = AvatarPrimitive.Root.displayName
+));
+Avatar.displayName = AvatarPrimitive.Root.displayName;
const AvatarImage = React.forwardRef<
React.ElementRef,
React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
-))
-AvatarImage.displayName = AvatarPrimitive.Image.displayName
+
+));
+AvatarImage.displayName = AvatarPrimitive.Image.displayName;
const AvatarFallback = React.forwardRef<
React.ElementRef,
@@ -38,13 +31,10 @@ const AvatarFallback = React.forwardRef<
>(({ className, ...props }, ref) => (
-))
-AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
+));
+AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
-export { Avatar, AvatarImage, AvatarFallback }
+export { Avatar, AvatarFallback, AvatarImage };
diff --git a/frontend/components/ui/badge.tsx b/frontend/components/ui/badge.tsx
index f000e3e..a706c80 100644
--- a/frontend/components/ui/badge.tsx
+++ b/frontend/components/ui/badge.tsx
@@ -1,36 +1,30 @@
-import * as React from "react"
-import { cva, type VariantProps } from "class-variance-authority"
+import { cva, type VariantProps } from 'class-variance-authority';
+import * as React from 'react';
-import { cn } from "@/lib/utils"
+import { cn } from '@/lib/utils';
const badgeVariants = cva(
- "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
+ 'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',
{
variants: {
variant: {
- default:
- "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
- secondary:
- "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
- destructive:
- "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
- outline: "text-foreground",
+ default: 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80',
+ secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',
+ destructive: 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',
+ outline: 'text-foreground',
+ success: 'border-transparent bg-success text-success-foreground hover:bg-success/80',
},
},
defaultVariants: {
- variant: "default",
+ variant: 'default',
},
}
-)
+);
-export interface BadgeProps
- extends React.HTMLAttributes,
- VariantProps {}
+export interface BadgeProps extends React.HTMLAttributes, VariantProps {}
function Badge({ className, variant, ...props }: BadgeProps) {
- return (
-
- )
+ return ;
}
-export { Badge, badgeVariants }
+export { Badge, badgeVariants };
diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js
index 94e8625..cf95fd7 100644
--- a/frontend/tailwind.config.js
+++ b/frontend/tailwind.config.js
@@ -35,6 +35,10 @@ module.exports = {
DEFAULT: 'hsl(var(--destructive))',
foreground: 'hsl(var(--destructive-foreground))',
},
+ success: {
+ DEFAULT: 'hsl(var(--success))',
+ foreground: 'hsl(var(--success-foreground))',
+ },
muted: {
DEFAULT: 'hsl(var(--muted))',
foreground: 'hsl(var(--muted-foreground))',