diff --git a/frontend/.yarnrc.yml b/frontend/.yarnrc.yml new file mode 100644 index 0000000..063ed60 --- /dev/null +++ b/frontend/.yarnrc.yml @@ -0,0 +1,8 @@ +approvedGitRepositories: + - "**" + +enableScripts: true + +nodeLinker: node-modules + +npmMinimalAgeGate: 0 diff --git a/frontend/src/App.css b/frontend/src/App.css index e69de29..3fc8113 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -0,0 +1,7 @@ +#root { + height: 100%; + box-shadow: 1px 1px 20px 1px rgba(68, 68, 68, 0.5); + border-radius: 40px; + border: 1px solid #444; + overflow: hidden; +} \ No newline at end of file diff --git a/frontend/src/assets/LOGO.png b/frontend/src/assets/LOGO.png new file mode 100644 index 0000000..dd873a7 Binary files /dev/null and b/frontend/src/assets/LOGO.png differ diff --git a/frontend/src/assets/PC.png b/frontend/src/assets/PC.png new file mode 100644 index 0000000..7a2613d Binary files /dev/null and b/frontend/src/assets/PC.png differ diff --git a/frontend/src/assets/bg_login.png b/frontend/src/assets/bg_login.png new file mode 100644 index 0000000..11695f1 Binary files /dev/null and b/frontend/src/assets/bg_login.png differ diff --git a/frontend/src/assets/graphics.png b/frontend/src/assets/graphics.png new file mode 100644 index 0000000..d7b9856 Binary files /dev/null and b/frontend/src/assets/graphics.png differ diff --git a/frontend/src/assets/paper.png b/frontend/src/assets/paper.png new file mode 100644 index 0000000..6ae78e9 Binary files /dev/null and b/frontend/src/assets/paper.png differ diff --git a/frontend/src/features/auth/components/AuthComponent.css b/frontend/src/features/auth/components/AuthComponent.css index e69de29..21dc39c 100644 --- a/frontend/src/features/auth/components/AuthComponent.css +++ b/frontend/src/features/auth/components/AuthComponent.css @@ -0,0 +1,144 @@ +form { + display: flex; + flex-direction: column; + background-color: whitesmoke; + width: 100%; + padding: 10%; + justify-content: space-between; + height: 100%; +} +.Title { + font-size: 32px; + font-weight: bold; + text-align: left; + line-height: 45px; + letter-spacing: 1.2px; + +} +.Description{ + font-size: medium; + font-size: 20px; + line-height: 30px; + +} +.Fields { + line-height: 40px; + font-weight: bold; + font-size: 20px; + +} +.wrapper_1 { + background-color: whitesmoke; + width: 40%; +} +input { + line-height: 40px; + border-radius: 16px; + border: 1px solid rgba(68, 68, 68, 0.3); + font-size: large; +} + +.footer{ + display: flex; + padding-top: 10%; + justify-content: space-between; +} + + +.submitbtn { + display: flex; + justify-content: center; + padding-top: 10%; + padding-bottom: 20px; +} +#submit { + background-color: #087A55; + height: 50px; + width: 100%; + color: white; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + gap: 10px; + font-size: larger; + font-weight: 500; +} +.submit-arrow { + width: 30px; + height: 30px; +} +.email-icon, .pass-icon { + height: 25px; + position: absolute; + left: 15px; + top: 50%; + transform: translateY(-50%); + pointer-events: none; + transition: opacity 0.2s ease; +} +.email_field, .pass_field { + position: relative; + width: 100%; +} +.email_field input, .pass_field input { + width: 100%; + padding: 12px 15px 12px 45px; + transition: padding-left 0.2s ease; +} +.pass_field input { + padding-right: 45px; +} +.toggle-password { + position: absolute; + right: 15px; + top: 50%; + transform: translateY(-50%); + background: none; + border: none; + padding: 0; + display: flex; + align-items: center; + cursor: pointer; +} +.toggle-password svg { + width: 22px; + height: 22px; +} +.email_field input:focus, +.email_field input:not(:placeholder-shown) { + padding-left: 15px; +} +.email_field input:focus + .email-icon, +.email_field input:not(:placeholder-shown) + .email-icon { + opacity: 0; +} + +.pass_field input:focus, +.pass_field input:not(:placeholder-shown) { + padding-left: 15px; +} +.pass_field input:focus + .pass-icon, +.pass_field input:not(:placeholder-shown) + .pass-icon { + opacity: 0; +} +.forgot_link { + color: #087A55; + font-weight: 600; + +} + +label { + + display: flex; + flex-direction: row; + align-items: center; + gap: 16px; + accent-color: #087A55; + +} +label input[type="checkbox"] { + width: 25px; + height: 25px; + border-radius: 10px; +} diff --git a/frontend/src/features/auth/components/AuthComponent.tsx b/frontend/src/features/auth/components/AuthComponent.tsx index 322af52..2f0771a 100644 --- a/frontend/src/features/auth/components/AuthComponent.tsx +++ b/frontend/src/features/auth/components/AuthComponent.tsx @@ -6,33 +6,86 @@ export function Auth():ReactElement { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [rememberMe, setRememberMe] = useState(false); + const [showPassword, setShowPassword] = useState(false); return ( -