diff --git a/frontend/src/pages/admin/AttendanceCode.jsx b/frontend/src/pages/admin/AttendanceCode.jsx index 6e18188..79e0002 100644 --- a/frontend/src/pages/admin/AttendanceCode.jsx +++ b/frontend/src/pages/admin/AttendanceCode.jsx @@ -1,17 +1,60 @@ +import { useState } from "react"; +import api from "../../api/api"; import Header from "../../components/Header"; import style from "./AttendanceCode.module.css"; + const AttendanceCode = () => { + const [code, setCode] = useState(""); + + // 출석코드 생성 + const generateCode = async () => { + try { + const res = await api.post("/attendance/start"); + const newCode = res.data.data.code; + setCode(newCode); + } catch (error) { + alert( + "출석코드 생성 실패: " + (error.response?.data?.message || "서버 오류") + ); + } + }; + + // 출석코드 만료 + const expireCode = async () => { + try { + const res = await api.put("/attendance/expire-latest"); + alert(res.data.message || "출석코드가 만료되었습니다"); + setCode(""); + } catch (error) { + alert( + "출석코드 만료 실패: " + (error.response?.data?.message || "서버 오류") + ); + } + }; + return ( -
+
-
-
-
-
+ {[...Array(4)].map((_, i) => ( +
+ {code[i] || ""} +
+ ))} +
+
+ + + {code && ( + + )}
-
); }; + export default AttendanceCode; diff --git a/frontend/src/pages/admin/AttendanceCode.module.css b/frontend/src/pages/admin/AttendanceCode.module.css index e92a220..09977f1 100644 --- a/frontend/src/pages/admin/AttendanceCode.module.css +++ b/frontend/src/pages/admin/AttendanceCode.module.css @@ -3,6 +3,11 @@ height: 101px; background-color: #575757; border-radius: 21px; + font-size: 50px; + color: white; + display: flex; + justify-content: center; + align-items: center; border: 1px solid #a6a6a6; } .num_container { @@ -11,18 +16,24 @@ flex-direction: row; gap: 8px; } -.attendancecode_wraper { +.attendancecode_wrapper { display: flex; justify-content: center; flex-direction: column; align-items: center; } -.createbutton { +.button { width: 60px; height: 42px; background-color: #575757; border-radius: 21px; - margin-top: 60px; border: 1px solid #a6a6a6; color: white; } +.button_container { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + margin-top: 60px; +} diff --git a/frontend/src/pages/generation/Deposit.jsx b/frontend/src/pages/generation/Deposit.jsx index 8b9c17b..bf231b8 100644 --- a/frontend/src/pages/generation/Deposit.jsx +++ b/frontend/src/pages/generation/Deposit.jsx @@ -1,6 +1,5 @@ import Header from "../../components/Header"; import styles from "./Deposit.module.css"; -import axios from "axios"; import { useEffect, useState } from "react"; import api from "../../api/api";