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))',