From 18fe4df9ef57e1926368be134f27dd6f2796825c Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 31 Aug 2025 11:10:10 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 모던한 디자인의 회원가입 페이지 구현 - 비밀번호 강도 표시기 추가 - 실시간 입력 검증 - /signup 라우트 추가 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- oauth/frontend/src/App.tsx | 2 + oauth/frontend/src/pages/SignupPage.tsx | 403 ++++++++++++++++++++++++ ref/image19.png | Bin 0 -> 33324 bytes ref/image20.png | Bin 0 -> 24423 bytes 4 files changed, 405 insertions(+) create mode 100644 oauth/frontend/src/pages/SignupPage.tsx create mode 100644 ref/image19.png create mode 100644 ref/image20.png diff --git a/oauth/frontend/src/App.tsx b/oauth/frontend/src/App.tsx index b19eae9..60e3e57 100644 --- a/oauth/frontend/src/App.tsx +++ b/oauth/frontend/src/App.tsx @@ -1,6 +1,7 @@ import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import LoginPage from './pages/LoginPage' +import SignupPage from './pages/SignupPage' import Dashboard from './pages/Dashboard' import Applications from './pages/Applications' import Profile from './pages/Profile' @@ -26,6 +27,7 @@ function App() { } /> + } /> } /> { + const [formData, setFormData] = useState({ + name: '', + email: '', + password: '', + confirmPassword: '', + organization: '', + agreeTerms: false + }) + const [showPassword, setShowPassword] = useState(false) + const [showConfirmPassword, setShowConfirmPassword] = useState(false) + const [isLoading, setIsLoading] = useState(false) + const [focusedInput, setFocusedInput] = useState(null) + const [passwordStrength, setPasswordStrength] = useState(0) + + const navigate = useNavigate() + + const checkPasswordStrength = (password: string) => { + let strength = 0 + if (password.length >= 8) strength++ + if (password.match(/[a-z]/) && password.match(/[A-Z]/)) strength++ + if (password.match(/[0-9]/)) strength++ + if (password.match(/[^a-zA-Z0-9]/)) strength++ + setPasswordStrength(strength) + } + + const handleInputChange = (e: React.ChangeEvent) => { + const { name, value, type, checked } = e.target + const newValue = type === 'checkbox' ? checked : value + + setFormData(prev => ({ + ...prev, + [name]: newValue + })) + + if (name === 'password') { + checkPasswordStrength(value) + } + } + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault() + + if (formData.password !== formData.confirmPassword) { + alert('비밀번호가 일치하지 않습니다.') + return + } + + setIsLoading(true) + + try { + const response = await fetch('/api/v1/auth/register', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + name: formData.name, + email: formData.email, + password: formData.password, + organization: formData.organization + }), + }) + + if (response.ok) { + navigate('/login') + } + } catch (error) { + console.error('Signup error:', error) + } finally { + setIsLoading(false) + } + } + + const getPasswordStrengthColor = () => { + switch(passwordStrength) { + case 0: return 'bg-gray-400' + case 1: return 'bg-red-500' + case 2: return 'bg-yellow-500' + case 3: return 'bg-blue-500' + case 4: return 'bg-green-500' + default: return 'bg-gray-400' + } + } + + const getPasswordStrengthText = () => { + switch(passwordStrength) { + case 0: return '' + case 1: return '약함' + case 2: return '보통' + case 3: return '강함' + case 4: return '매우 강함' + default: return '' + } + } + + return ( +
+ {/* Animated background elements */} +
+
+
+
+
+ + {/* Grid pattern overlay */} +
+ + {/* Main content */} +
+
+ + {/* Left side - Branding */} +
+
+
+
+ +
+

+ AiMond Authorization +

+
+

+ 새로운 계정을 생성하고 시작하세요 +

+
+ +
+
+
+ +
+
+

빠른 가입 절차

+

몇 가지 정보만으로 간단하게 가입 완료

+
+
+ +
+
+ +
+
+

엔터프라이즈 보안

+

최고 수준의 보안으로 데이터 보호

+
+
+ +
+
+ +
+
+

조직 단위 관리

+

팀과 조직을 효율적으로 관리

+
+
+
+
+ + {/* Right side - Signup Form */} +
+
+ {/* Form Header */} +
+

Create Account

+

새로운 계정을 생성하세요

+
+ + {/* Signup Form */} +
+ {/* Name Input */} +
+ +
+ setFocusedInput('name')} + onBlur={() => setFocusedInput(null)} + className="w-full px-4 py-3 bg-white/5 border border-white/10 rounded-xl text-white placeholder-gray-400 focus:outline-none focus:border-purple-400 focus:bg-white/10 transition-all duration-300" + placeholder="홍길동" + disabled={isLoading} + /> +
+
+
+ + {/* Email Input */} +
+ +
+ setFocusedInput('email')} + onBlur={() => setFocusedInput(null)} + className="w-full px-4 py-3 bg-white/5 border border-white/10 rounded-xl text-white placeholder-gray-400 focus:outline-none focus:border-purple-400 focus:bg-white/10 transition-all duration-300" + placeholder="your@email.com" + disabled={isLoading} + /> +
+
+
+ + {/* Organization Input */} +
+ +
+ setFocusedInput('organization')} + onBlur={() => setFocusedInput(null)} + className="w-full px-4 py-3 bg-white/5 border border-white/10 rounded-xl text-white placeholder-gray-400 focus:outline-none focus:border-purple-400 focus:bg-white/10 transition-all duration-300" + placeholder="AiMond Inc." + disabled={isLoading} + /> +
+
+
+ + {/* Password Input */} +
+ +
+ setFocusedInput('password')} + onBlur={() => setFocusedInput(null)} + className="w-full px-4 py-3 pr-12 bg-white/5 border border-white/10 rounded-xl text-white placeholder-gray-400 focus:outline-none focus:border-purple-400 focus:bg-white/10 transition-all duration-300" + placeholder="••••••••" + disabled={isLoading} + /> + +
+
+ {formData.password && ( +
+
+
+
+ {getPasswordStrengthText()} +
+ )} +
+ + {/* Confirm Password Input */} +
+ +
+ setFocusedInput('confirmPassword')} + onBlur={() => setFocusedInput(null)} + className="w-full px-4 py-3 pr-12 bg-white/5 border border-white/10 rounded-xl text-white placeholder-gray-400 focus:outline-none focus:border-purple-400 focus:bg-white/10 transition-all duration-300" + placeholder="••••••••" + disabled={isLoading} + /> + +
+
+
+ + {/* Terms Agreement */} +
+ + +
+ + {/* Submit Button */} + +
+ + {/* Sign in link */} +

+ 이미 계정이 있으신가요?{' '} + + 로그인하기 + +

+
+ + {/* Security Badge */} +
+ + 256-bit SSL 암호화로 보호됨 +
+
+
+
+
+ ) +} + +export default SignupPage \ No newline at end of file diff --git a/ref/image19.png b/ref/image19.png new file mode 100644 index 0000000000000000000000000000000000000000..8ff578333bed50e3e400eedcbeb86e4f18f39607 GIT binary patch literal 33324 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 PLRT+cznG_Q_vn8C%bRJi literal 0 HcmV?d00001 diff --git a/ref/image20.png b/ref/image20.png new file mode 100644 index 0000000000000000000000000000000000000000..008609929f3c53c8b01238110bcdcc11e710a299 GIT binary patch literal 24423 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 Tt`q}K89>_C^skm&v3&Xu%8~+6 literal 0 HcmV?d00001