diff --git a/native/desktop/maplefile/frontend/package-lock.json b/native/desktop/maplefile/frontend/package-lock.json index 8714611..2cbc3d6 100644 --- a/native/desktop/maplefile/frontend/package-lock.json +++ b/native/desktop/maplefile/frontend/package-lock.json @@ -50,6 +50,7 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -463,6 +464,7 @@ "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" @@ -530,6 +532,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.25", "caniuse-lite": "^1.0.30001754", @@ -1213,6 +1216,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -1225,6 +1229,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -1411,6 +1416,7 @@ "integrity": "sha512-K/jGKL/PgbIgKCiJo5QbASQhFiV02X9Jh+Qq0AKCRCRKZtOTVi4t6wh75FDpGf2N9rYOnzH87OEFQNaFy6pdxQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.15.9", "postcss": "^8.4.18", diff --git a/web/maplefile-frontend/src/components/UIX/ProgressIndicator/ProgressIndicator.jsx b/web/maplefile-frontend/src/components/UIX/ProgressIndicator/ProgressIndicator.jsx index 009787c..2aed9bc 100644 --- a/web/maplefile-frontend/src/components/UIX/ProgressIndicator/ProgressIndicator.jsx +++ b/web/maplefile-frontend/src/components/UIX/ProgressIndicator/ProgressIndicator.jsx @@ -34,6 +34,8 @@ const ProgressIndicator = memo(function ProgressIndicator({ textSecondary: getThemeClasses("text-secondary"), stepInactive: getThemeClasses("step-inactive"), stepInactiveText: getThemeClasses("step-inactive-text"), + stepCompleted: getThemeClasses("step-completed"), + stepCompletedLine: getThemeClasses("step-completed-line"), }), [getThemeClasses], ); @@ -67,7 +69,7 @@ const ProgressIndicator = memo(function ProgressIndicator({
)} diff --git a/web/maplefile-frontend/src/components/UIX/themes/index.js b/web/maplefile-frontend/src/components/UIX/themes/index.js index 9aacac5..0e9b766 100644 --- a/web/maplefile-frontend/src/components/UIX/themes/index.js +++ b/web/maplefile-frontend/src/components/UIX/themes/index.js @@ -216,6 +216,8 @@ const getThemeConfigs = () => { "progress-bar-fill": "bg-blue-500", "step-inactive": "bg-gray-300", "step-inactive-text": "text-gray-600", + "step-completed": "bg-green-500", + "step-completed-line": "bg-green-500", // Search filter "search-bg": "bg-gray-50", @@ -421,6 +423,8 @@ const getThemeConfigs = () => { "progress-bar-fill": "bg-red-500", "step-inactive": "bg-gray-300", "step-inactive-text": "text-gray-600", + "step-completed": "bg-green-500", + "step-completed-line": "bg-green-500", // Search filter "search-bg": "bg-gray-50", @@ -627,6 +631,8 @@ const getThemeConfigs = () => { "progress-bar-fill": "bg-purple-500", "step-inactive": "bg-gray-300", "step-inactive-text": "text-gray-600", + "step-completed": "bg-green-500", + "step-completed-line": "bg-green-500", // Search filter "search-bg": "bg-gray-50", @@ -832,6 +838,8 @@ const getThemeConfigs = () => { "progress-bar-fill": "bg-green-500", "step-inactive": "bg-gray-300", "step-inactive-text": "text-gray-600", + "step-completed": "bg-emerald-500", + "step-completed-line": "bg-emerald-500", // Search filter "search-bg": "bg-gray-50", @@ -1037,6 +1045,8 @@ const getThemeConfigs = () => { "progress-bar-fill": "bg-slate-500", "step-inactive": "bg-gray-300", "step-inactive-text": "text-gray-600", + "step-completed": "bg-green-500", + "step-completed-line": "bg-green-500", // Search filter "search-bg": "bg-gray-50", diff --git a/web/maplefile-frontend/src/index.css b/web/maplefile-frontend/src/index.css index eb84a07..3c1386b 100644 --- a/web/maplefile-frontend/src/index.css +++ b/web/maplefile-frontend/src/index.css @@ -242,7 +242,7 @@ h6 { @keyframes fade-in-up { from { opacity: 0; - transform: translateY(10px); + transform: translateY(30px); } to { opacity: 1; @@ -293,13 +293,37 @@ h6 { } } +@keyframes blob { + 0% { + transform: translate(0px, 0px) scale(1); + } + 33% { + transform: translate(30px, -50px) scale(1.1); + } + 66% { + transform: translate(-20px, 20px) scale(0.9); + } + 100% { + transform: translate(0px, 0px) scale(1); + } +} + +@keyframes swipe { + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(100%); + } +} + /* Animation Classes */ .animate-fade-in { animation: fade-in var(--transition-slow) ease-out; } .animate-fade-in-up { - animation: fade-in-up var(--transition-slow) ease-out; + animation: fade-in-up 0.6s ease-out forwards; } .animate-fade-in-down { @@ -318,6 +342,34 @@ h6 { animation: pulse-soft 2s ease-in-out infinite; } +.animate-blob { + animation: blob 7s infinite; +} + +.animation-delay-2000 { + animation-delay: 2s; +} + +.animation-delay-4000 { + animation-delay: 4s; +} + +/* Button swipe effect */ +.button-swipe-effect::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); + transform: translateX(-100%); +} + +.button-swipe-effect:active:not(:disabled)::before { + animation: swipe 0.6s ease-out; +} + /* Hover Lift Effect */ .hover-lift { @apply transition-transform duration-200 hover:-translate-y-1; diff --git a/web/maplefile-frontend/src/pages/Anonymous/Login/RequestOTT.jsx b/web/maplefile-frontend/src/pages/Anonymous/Login/RequestOTT.jsx index c382c39..627581e 100644 --- a/web/maplefile-frontend/src/pages/Anonymous/Login/RequestOTT.jsx +++ b/web/maplefile-frontend/src/pages/Anonymous/Login/RequestOTT.jsx @@ -3,7 +3,7 @@ import { useState, useEffect, useRef, useCallback } from "react"; import { useNavigate, Link } from "react-router"; import { useServices } from "../../../services/Services"; -import { Card, Input, Button, Alert, GDPRFooter } from "../../../components/UIX"; +import { Card, Input, Button, Alert, GDPRFooter, ProgressIndicator, Divider } from "../../../components/UIX"; import { useUIXTheme } from "../../../components/UIX/themes/useUIXTheme"; import { ArrowRightIcon, @@ -205,32 +205,15 @@ const RequestOTT = () => {
{/* Progress Indicator */} -
-
-
-
- 1 -
- - Email - -
-
-
-
- 2 -
- Verify -
-
-
-
- 3 -
- Access -
-
-
+ {/* Welcome Message */}
@@ -247,7 +230,7 @@ const RequestOTT = () => { {/* Login Form */}
@@ -332,16 +315,7 @@ const RequestOTT = () => { -
-
-
-
-
- - New to MapleFile? - -
-
+ {/* Register Link */} @@ -372,68 +346,7 @@ const RequestOTT = () => {
{/* Footer */} - - - {/* Animation Styles */} - +
); };