From cb14f0d32029cafe1d1cfa52df582cd892d3d16c Mon Sep 17 00:00:00 2001 From: Mohan K Date: Tue, 22 Sep 2026 17:14:15 +0530 Subject: [PATCH] feat: redesign admin login page to be ultra premium and fix tailwind keyframes --- frontend/src/LoginPage.jsx | 135 ++++++++++++++++++++++-------------- frontend/tailwind.config.js | 19 +++++ patch.json | 2 +- payload.json | 15 ++-- 4 files changed, 111 insertions(+), 60 deletions(-) diff --git a/frontend/src/LoginPage.jsx b/frontend/src/LoginPage.jsx index 7b96ced..f7a6aaf 100644 --- a/frontend/src/LoginPage.jsx +++ b/frontend/src/LoginPage.jsx @@ -6,69 +6,102 @@ const LoginPage = () => { const [credentials, setCredentials] = useState({ email: '', password: '' }); const [showPassword, setShowPassword] = useState(false); const [error, setError] = useState(''); + const [isLoading, setIsLoading] = useState(false); const navigate = useNavigate(); const handleSubmit = (e) => { e.preventDefault(); setError(''); + setIsLoading(true); - if (credentials.email === 'admin@limelite.com' && credentials.password === 'admin@2026') { - navigate('/admin/dashboard'); - } else { - setError('Incorrect admin credentials'); - } + // Simulate a slight network delay for a premium feel + setTimeout(() => { + if (credentials.email === 'admin@limelite.com' && credentials.password === 'admin@2026') { + navigate('/admin/dashboard'); + } else { + setError('Incorrect admin credentials'); + setIsLoading(false); + } + }, 800); }; return ( -
-
-
-
- Limelite -
-
+
+ {/* Background Ambient Glows */} +
+
- {error &&

{error}

} - -
-
- - setCredentials({ ...credentials, email: e.target.value })} - /> -
-
- -
- setCredentials({ ...credentials, password: e.target.value })} - /> - +
+
+
+
+
+ Limelite +
+

Admin Portal

+

Secure access to Limelite dashboard

- - + + {error && ( +
+

{error}

+
+ )} + +
+
+ + setCredentials({ ...credentials, email: e.target.value })} + /> +
+
+ +
+ setCredentials({ ...credentials, password: e.target.value })} + /> + +
+
+ +
+
); diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js index 38f1464..4dd12c0 100644 --- a/frontend/tailwind.config.js +++ b/frontend/tailwind.config.js @@ -17,6 +17,25 @@ module.exports = { sans: ['"Albert Sans"', 'sans-serif'], serif: ['"Playfair Display"', 'serif'], }, + keyframes: { + shimmer: { + '100%': { transform: 'translateX(100%)' }, + }, + fadeIn: { + '0%': { opacity: 0 }, + '100%': { opacity: 1 }, + }, + shake: { + '0%, 100%': { transform: 'translateX(0)' }, + '10%, 30%, 50%, 70%, 90%': { transform: 'translateX(-5px)' }, + '20%, 40%, 60%, 80%': { transform: 'translateX(5px)' }, + } + }, + animation: { + shimmer: 'shimmer 1.5s infinite', + fadeIn: 'fadeIn 0.5s ease-out', + shake: 'shake 0.5s cubic-bezier(.36,.07,.19,.97) both', + } }, }, plugins: [], diff --git a/patch.json b/patch.json index e9911eb..cba54f5 100644 --- a/patch.json +++ b/patch.json @@ -1,3 +1,3 @@ { - "base_directory": "." + "build_pack": "dockercompose" } diff --git a/payload.json b/payload.json index ec023d4..9fdf668 100644 --- a/payload.json +++ b/payload.json @@ -1,10 +1,9 @@ { - "project_uuid": "kozt3dmpa63penhin84sb8r0", - "environment_name": "production", - "server_uuid": "jrcjtobvncyba40v3vi6pzqe", - "name": "limelite-faceanalyzer", - "git_repository": "https://mohanki:48d38a221949649fdf1b470bbd037de9a5e6c564@git.digifox.live/mohanki/limelite_faceanalyzer.git", - "git_branch": "master", - "build_pack": "dockercompose", - "ports_exposes": "9500" + "project_uuid": "kozt3dmpa63penhin84sb8r0", + "server_uuid": "jrcjtobvncyba40v3vi6pzqe", + "environment_name": "production", + "git_repository": "https://mohanki:48d38a221949649fdf1b470bbd037de9a5e6c564@git.digifox.live/mohanki/limelite_faceanalyzer.git", + "git_branch": "master", + "build_pack": "dockercompose", + "name": "limelite-faceanalyzer-v2" }