From 599e2bff00903d29ff602c8923003abed340a519 Mon Sep 17 00:00:00 2001 From: maany Date: Tue, 21 Jan 2025 22:53:23 +0100 Subject: [PATCH] login: animate login page, fix vo index #508 --- package-lock.json | 105 +++++++++++++++++- package.json | 1 + public/rucio-logo.png | Bin 0 -> 24036 bytes .../pages/legacy/Login/Login.tsx | 22 +++- src/middleware.ts | 2 +- 5 files changed, 124 insertions(+), 6 deletions(-) create mode 100644 public/rucio-logo.png diff --git a/package-lock.json b/package-lock.json index ff39ecb0e..da5ce26c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rucio-webui", - "version": "0.1.0", + "version": "36.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "rucio-webui", - "version": "0.1.0", + "version": "36.0.1", "dependencies": { "@builder.io/partytown": "^0.7.6", "@next/font": "13.1.6", @@ -39,6 +39,7 @@ "flowbite-datepicker": "^1.2.2", "inversify": "^6.0.1", "iron-session": "^6.3.1", + "motion": "^12.0.1", "ndjson": "^2.0.0", "next": "^13.5.6", "react": "18.2.0", @@ -13601,6 +13602,33 @@ "node": ">= 0.6" } }, + "node_modules/framer-motion": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.0.1.tgz", + "integrity": "sha512-u6p0Qc4cY/AEQAtrC7qiYlXla39qnWoI4JXY7OCNBDXwJ5yRBD8HU+RhaOqqziw2m/b0BDh32f44W94+wXonMQ==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.0.0", + "motion-utils": "^12.0.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -16899,6 +16927,47 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true }, + "node_modules/motion": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/motion/-/motion-12.0.1.tgz", + "integrity": "sha512-CiC/81Fyla3xsyInx/YvleVyiJNzeVDIwteb0sg/Ow2U3tvjCx4cMhvJCGBJ71ivvbLX8G9p0YVI8OIbb6C4rQ==", + "license": "MIT", + "dependencies": { + "framer-motion": "^12.0.1", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/motion-dom": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.0.0.tgz", + "integrity": "sha512-CvYd15OeIR6kHgMdonCc1ihsaUG4MYh/wrkz8gZ3hBX/uamyZCXN9S9qJoYF03GqfTt7thTV/dxnHYX4+55vDg==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.0.0" + } + }, + "node_modules/motion-utils": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.0.0.tgz", + "integrity": "sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA==", + "license": "MIT" + }, "node_modules/mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", @@ -31901,6 +31970,16 @@ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, + "framer-motion": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.0.1.tgz", + "integrity": "sha512-u6p0Qc4cY/AEQAtrC7qiYlXla39qnWoI4JXY7OCNBDXwJ5yRBD8HU+RhaOqqziw2m/b0BDh32f44W94+wXonMQ==", + "requires": { + "motion-dom": "^12.0.0", + "motion-utils": "^12.0.0", + "tslib": "^2.4.0" + } + }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -34330,6 +34409,28 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true }, + "motion": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/motion/-/motion-12.0.1.tgz", + "integrity": "sha512-CiC/81Fyla3xsyInx/YvleVyiJNzeVDIwteb0sg/Ow2U3tvjCx4cMhvJCGBJ71ivvbLX8G9p0YVI8OIbb6C4rQ==", + "requires": { + "framer-motion": "^12.0.1", + "tslib": "^2.4.0" + } + }, + "motion-dom": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.0.0.tgz", + "integrity": "sha512-CvYd15OeIR6kHgMdonCc1ihsaUG4MYh/wrkz8gZ3hBX/uamyZCXN9S9qJoYF03GqfTt7thTV/dxnHYX4+55vDg==", + "requires": { + "motion-utils": "^12.0.0" + } + }, + "motion-utils": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.0.0.tgz", + "integrity": "sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA==" + }, "mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", diff --git a/package.json b/package.json index 36050ee7f..028bb5df6 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "flowbite-datepicker": "^1.2.2", "inversify": "^6.0.1", "iron-session": "^6.3.1", + "motion": "^12.0.1", "ndjson": "^2.0.0", "next": "^13.5.6", "react": "18.2.0", diff --git a/public/rucio-logo.png b/public/rucio-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a5d8afc2e35e410ac8a49523c63f02eb22a55d7b GIT binary patch literal 24036 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 literal 0 HcmV?d00001 diff --git a/src/component-library/pages/legacy/Login/Login.tsx b/src/component-library/pages/legacy/Login/Login.tsx index d02a7cece..db588fb38 100644 --- a/src/component-library/pages/legacy/Login/Login.tsx +++ b/src/component-library/pages/legacy/Login/Login.tsx @@ -17,6 +17,8 @@ import { H2 } from '../../../atoms/legacy/text/headings/H2/H2'; import { P } from '../../../atoms/legacy/text/content/P/P'; import { HiArrowRight } from 'react-icons/hi'; import Link from 'next/link'; +import Image from 'next/image'; +import { motion } from 'motion/react'; const BackToDashboardButton = (props: { account: string }) => { return ( @@ -103,7 +105,7 @@ export const Login = ({ const isLoggedIn = loginViewModel.isLoggedIn && loginViewModel.accountActive !== undefined; const [showUserPassLoginForm, setShowUserPassLoginForm] = useState(false); - const [selectedVOTab, setSelectedVOTab] = useState(1); + const [selectedVOTab, setSelectedVOTab] = useState(0); const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); @@ -163,8 +165,19 @@ export const Login = ({ } }, [loginViewModel, authViewModel]); + const logoVariants = { + hidden: { opacity: 0, scale: 0.8 }, + visible: { opacity: 1, scale: 1, transition: { duration: 0.5 } }, + }; + + const formVariants = { + hidden: { opacity: 0, scale: 1.5 }, + visible: { opacity: 1, scale: 1, transition: { duration: 0.5 } }, + }; + const getLoginForm = () => { return ( +
-
-

Rucio Login

+
+ + Rucio Logo +
+ ); }; diff --git a/src/middleware.ts b/src/middleware.ts index 679d28431..094d290b4 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -19,7 +19,7 @@ export const config = { * - _next/image (image optimization files) * - favicon.ico (favicon file) */ - '/((?!api/auth|_next/static|_next/image|favicon.ico|auth/.*).*)', + '/((?!api/auth|_next/static|_next/image|.*\\.png$|.*\\.jpg$|favicon.ico|auth/.*).*)', ], };