Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[close #20] 그룹 공지 작성, 출결 관리 페이지 임시 구현 #25

Merged
merged 4 commits into from
Mar 26, 2024
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
Binary file added public/attendance.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/noticeEx.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions src/app/attendance/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import { Button } from "@nextui-org/react";
import Image from "next/image";
import Link from "next/link";

export default function AttendancePage() {
return (
<>
<div
style={{
display: "flex",
justifyContent: "center",
paddingTop: "10rem",
}}
>
<Image
src="/attendance.png"
alt="Image of something relevant"
width={1000}
height={250}
></Image>
</div>
<div
style={{
display: "flex",
justifyContent: "center",
paddingTop: "2rem",
}}
>
<Button color="primary">
<Link href="/">돌아가기</Link>
</Button>
</div>
</>
);
}
81 changes: 81 additions & 0 deletions src/containers/group/detail/contents/Attendance.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
.container {
display: flex;
flex-direction: column;
width: 100%;
height: 78vh;
padding: 2rem;
background-color: #f0f2f5;
border-radius: 1rem;
min-width: 40rem;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.title {
font-size: 1.8rem;
font-weight: 700;
color: #333;
text-align: left;
margin-bottom: 1rem;
}

.buttonContainer {
display: flex;
justify-content: flex-start;
margin-bottom: 1rem;
}

.button {
background-color: #007bff;
color: #fff;
border-radius: 0.5rem;
padding: 0.8rem 1.5rem;
cursor: pointer;
transition: background-color 0.2s ease-in-out;
}

.button:hover {
background-color: #0067cc;
}

.summary {
flex: 1;
display: flex;
flex-direction: column;
gap: 1rem;
}

.attendanceRate {
font-size: 16px;
font-weight: bold;
color: #666;
}

.absent,
.late {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.5rem;
border: 1px solid #ddd;
border-radius: 0.5rem;
padding: 1rem;
}

.absentTitle,
.lateTitle {
font-weight: bold;
color: #333;
}

.absentList,
.lateList {
list-style: none;
padding: 0;
margin: 0;
}

.absentList li,
.lateList li {
margin-bottom: 0.3rem;
color: #666;
}
36 changes: 32 additions & 4 deletions src/containers/group/detail/contents/Attendance.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,36 @@
import { Button } from "@nextui-org/react";
import styles from "./Attendance.module.css";
import Link from "next/link";

export default function Attendance() {
return (
<div>
<h1>Attendance</h1>
<div>출석 관리 페이지입니다.</div>
</div>
<>
<h1 className={styles.title}>출결 관리</h1>
<div className={styles.container}>
<div className={styles.buttonContainer}>
<Button color="primary">
<Link href="/attendance">출석 화면</Link>
</Button>
</div>
<div className={styles.summary}>
<div className={styles.attendanceRate}>금일 출석률: 88% (22/25)</div>
<div className={styles.absent}>
<h3 className={styles.absentTitle}>금일 결석 인원</h3>
<ul className={styles.absentList}>
<li>김철수</li>
<li>홍길동</li>
<li>이영희</li>
</ul>
</div>
<div className={styles.late}>
<h3 className={styles.lateTitle}>금일 지각 인원</h3>
<ul className={styles.lateList}>
<li>박철수</li>
<li>김영희</li>
</ul>
</div>
</div>
</div>
</>
);
}
20 changes: 20 additions & 0 deletions src/containers/group/detail/contents/GroupNotice.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
.container {
display: flex;
flex-direction: column;
width: 100%;
height: 78vh;
padding: 2rem;
background-color: #f5f5f5;
flex-grow: 1;
min-width: 40rem;
border-radius: 1rem;
}

.title {
font-size: 1.8rem;
font-weight: 700;
color: #000000;
text-align: left;
padding-left: 0.5rem;
padding-bottom: 1.5rem;
}
20 changes: 16 additions & 4 deletions src/containers/group/detail/contents/GroupNotice.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
import Image from "next/image";
import styles from "./GroupNotice.module.css";

export default function GroupNotice() {
return (
<div>
<h1>Group Notice</h1>
<div>공지사항 페이지입니다.</div>
</div>
<>
<h1 className={styles.title}>공지사항</h1>
<div className={styles.container}>
<div>
<Image
src="/noticeEx.png"
alt="Image of something relevant"
width={560}
height={250}
/>
</div>
</div>
</>
);
}
4 changes: 3 additions & 1 deletion src/containers/main/Main.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ export default function Main() {
얼굴 인식으로 편하게 출결을 관리하세요. <br />
안심 등하원 메시지로 자녀의 출결을 확인하세요
</p>
<PositiveButton text="무료로 시작하기" />
<Link href="/group">
<PositiveButton text="그룹 미리보기" />
</Link>
</div>
<div>
<Image
Expand Down
Loading