From ed1ff60bb2918bdd7cb926309026f05e23914406 Mon Sep 17 00:00:00 2001
From: haeni82 <2021111929@dgu.ac.kr>
Date: Mon, 23 Mar 2026 17:08:13 +0900
Subject: [PATCH 1/4] =?UTF-8?q?design:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?=
=?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=B0=98=EC=9D=91=ED=98=95=20?=
=?UTF-8?q?=EC=A0=81=EC=9A=A9=20=EB=B0=8F=20=EB=8B=A4=ED=81=AC=EB=AA=A8?=
=?UTF-8?q?=EB=93=9C=20=EC=A0=9C=EA=B1=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/page/Login/LoginPage.tsx | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/src/page/Login/LoginPage.tsx b/src/page/Login/LoginPage.tsx
index b63a92c..d5bd04a 100644
--- a/src/page/Login/LoginPage.tsx
+++ b/src/page/Login/LoginPage.tsx
@@ -1,7 +1,6 @@
import { useState, useEffect } from "react";
import { motion, AnimatePresence } from "framer-motion";
import GradientButton from "../../components/common/GradientButton";
-import { useSettingStore } from "../../store/settingStore";
import logo from "../../assets/img/logo.svg";
import backgroundImg from "../../assets/img/background.png";
import loginBg1 from "../../assets/img/loginBg1.png";
@@ -22,8 +21,6 @@ export default function LoginPage() {
const [password, setPassword] = useState("");
const [isLoading, setIsLoading] = useState(false);
const [error, setError] = useState("");
- const darkMode = useSettingStore((state) => state.darkMode);
- const largeTextMode = useSettingStore((state) => state.largeTextMode);
const navigate = useNavigate();
const setUserInfo = useUserStore((state) => state.setUserInfo);
const appType = getAppType();
@@ -93,12 +90,9 @@ export default function LoginPage() {
};
return (
- // Layout과 동일한 래퍼 구조
-
+
{/* 슬라이딩 배경 */}
@@ -116,7 +110,6 @@ export default function LoginPage() {
{/* 콘텐츠 */}
- {/* 로고 */}
- {/* 입력 폼 */}
- {/* 에러 메시지 */}
{error && (
{error}
@@ -171,7 +162,6 @@ export default function LoginPage() {
)}
- {/* 로그인 버튼 */}
Date: Mon, 23 Mar 2026 17:37:50 +0900
Subject: [PATCH 2/4] =?UTF-8?q?design:=20=EB=B2=84=ED=8A=BC=20hover,=20foc?=
=?UTF-8?q?us=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/GradientButton.tsx | 15 +++++-
src/components/common/RangeSlider.tsx | 64 ++++++++++++++----------
src/page/Policy/Policy.tsx | 6 ++-
3 files changed, 55 insertions(+), 30 deletions(-)
diff --git a/src/components/common/GradientButton.tsx b/src/components/common/GradientButton.tsx
index 0767618..7a99c11 100644
--- a/src/components/common/GradientButton.tsx
+++ b/src/components/common/GradientButton.tsx
@@ -31,17 +31,28 @@ export default function GradientButton({
}: Props) {
return (
+ input[type="range"]::-webkit-slider-thumb {
+ appearance: none;
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background: rgba(217, 217, 217, 0.2);
+ border: 2px solid white;
+ cursor: pointer;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+ transition: width 0.15s, height 0.15s, box-shadow 0.15s;
+ }
+ input[type="range"]::-webkit-slider-thumb:hover {
+ width: 26px;
+ height: 26px;
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
+ }
+ input[type="range"]::-moz-range-thumb {
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background: rgba(217, 217, 217, 0.2);
+ border: 2px solid white;
+ cursor: pointer;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+ transition: width 0.15s, height 0.15s, box-shadow 0.15s;
+ }
+ input[type="range"]::-moz-range-thumb:hover {
+ width: 26px;
+ height: 26px;
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
+ }
+ input[type="range"]:disabled::-webkit-slider-thumb {
+ background: #9CA3AF;
+ }
+ input[type="range"]:disabled::-moz-range-thumb {
+ background: #9CA3AF;
+ }
+`}
);
}
diff --git a/src/page/Policy/Policy.tsx b/src/page/Policy/Policy.tsx
index beac748..314f87b 100644
--- a/src/page/Policy/Policy.tsx
+++ b/src/page/Policy/Policy.tsx
@@ -183,7 +183,8 @@ export default function Policy() {
>