From ebd5b3cc82831a8f326d74023b10002382c1379a Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Fri, 26 Sep 2025 05:49:41 +0000 Subject: [PATCH] 1 --- assets/css/custom.css | 130 +++++++++++++++++++++++++++++++ assets/js/main.js | 45 +++++++++++ dashboard.php | 68 ++++++++++++++++ index.php | 175 ++++++++++++------------------------------ login.php | 28 +++++++ logout.php | 7 ++ 6 files changed, 328 insertions(+), 125 deletions(-) create mode 100644 assets/css/custom.css create mode 100644 assets/js/main.js create mode 100644 dashboard.php create mode 100644 login.php create mode 100644 logout.php diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..4e838e7 --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,130 @@ +@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap'); + +:root { + --primary-color: #4A90E2; + --secondary-color: #50E3C2; + --background-color: #F4F7F6; + --surface-color: #FFFFFF; + --text-color: #333333; + --light-text-color: #FFFFFF; + --border-radius: 0.5rem; + --shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +} + +body { + font-family: 'Poppins', sans-serif; + background-color: var(--background-color); + color: var(--text-color); + margin: 0; + padding: 0; + display: flex; + align-items: center; + justify-content: center; + min-height: 100vh; +} + +.login-container { + width: 100%; + height: 100vh; + display: flex; + align-items: center; + justify-content: center; + background: linear-gradient(rgba(74, 144, 226, 0.8), rgba(80, 227, 194, 0.8)), url('https://picsum.photos/seed/schoolhero/1600/900') no-repeat center center; + background-size: cover; +} + +.login-card { + background: var(--surface-color); + padding: 2.5rem 2rem; + border-radius: var(--border-radius); + box-shadow: var(--shadow); + width: 100%; + max-width: 400px; + text-align: center; + animation: fadeIn 0.5s ease-in-out; +} + +@keyframes fadeIn { + from { opacity: 0; transform: translateY(-10px); } + to { opacity: 1; transform: translateY(0); } +} + +.login-card img.logo { + width: 150px; + margin-bottom: 1rem; +} + +.login-card h1 { + margin-bottom: 0.5rem; + font-weight: 700; + color: var(--text-color); +} + +.login-card p.tagline { + margin-bottom: 2rem; + color: #666; +} + +.form-group { + margin-bottom: 1.5rem; + text-align: left; +} + +.form-group label { + display: block; + margin-bottom: 0.5rem; + font-weight: 600; +} + +.form-control, .form-select { + width: 100%; + padding: 0.75rem; + border: 1px solid #ccc; + border-radius: var(--border-radius); + box-sizing: border-box; + transition: border-color 0.3s; +} + +.form-control:focus, .form-select:focus { + outline: none; + border-color: var(--primary-color); +} + +.btn-login { + width: 100%; + padding: 0.85rem; + border: none; + border-radius: var(--border-radius); + background-color: var(--primary-color); + color: var(--light-text-color); + font-size: 1rem; + font-weight: 600; + cursor: pointer; + transition: background-color 0.3s, transform 0.2s; +} + +.btn-login:hover { + background-color: #357ABD; + transform: translateY(-2px); +} + +.footer { + position: absolute; + bottom: 1rem; + color: var(--light-text-color); + text-align: center; + width: 100%; + font-size: 0.9rem; +} + +#error-message { + color: #721c24; /* Dark red text */ + background-color: #f8d7da; /* Light red background */ + border: 1px solid #f5c6cb; /* Red border */ + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border-radius: var(--border-radius); + display: none; /* Hidden by default */ + text-align: center; + font-size: 0.9rem; +} \ No newline at end of file diff --git a/assets/js/main.js b/assets/js/main.js new file mode 100644 index 0000000..dfa400d --- /dev/null +++ b/assets/js/main.js @@ -0,0 +1,45 @@ +document.addEventListener('DOMContentLoaded', function() { + const loginForm = document.getElementById('loginForm'); + const errorMessage = document.getElementById('error-message'); + const submitButton = loginForm.querySelector('button[type="submit"]'); + + if (loginForm) { + loginForm.addEventListener('submit', function(e) { + const role = document.getElementById('role').value; + const username = document.getElementById('username').value.trim(); + const password = document.getElementById('password').value.trim(); + + // Reset error message + errorMessage.style.display = 'none'; + errorMessage.textContent = ''; + + // Validation + if (!role) { + e.preventDefault(); + errorMessage.textContent = 'Please select your role.'; + errorMessage.style.display = 'block'; + return; + } + if (!username) { + e.preventDefault(); + errorMessage.textContent = 'Please enter your User ID / Email.'; + errorMessage.style.display = 'block'; + return; + } + if (!password) { + e.preventDefault(); + errorMessage.textContent = 'Please enter your password.'; + errorMessage.style.display = 'block'; + return; + } + + // If validation passes, provide user feedback + if (submitButton) { + submitButton.textContent = 'Logging in...'; + submitButton.disabled = true; + } + + console.log('Form submitted with:', { role, username }); + }); + } +}); \ No newline at end of file diff --git a/dashboard.php b/dashboard.php new file mode 100644 index 0000000..2a6c4b6 --- /dev/null +++ b/dashboard.php @@ -0,0 +1,68 @@ + + + + + + + Dashboard - School Management System + + + + + + + +
+
+
+

Welcome, !

+

You are logged in as a .

+

This is a placeholder dashboard. More features coming soon!

+
+
+
+ + + + \ No newline at end of file diff --git a/index.php b/index.php index 6f7ffab..b5a5ac5 100644 --- a/index.php +++ b/index.php @@ -1,131 +1,56 @@ - - + - - - New Style - - - - + + + + + + + + + Login - School Management System + + -
-
-

Analyzing your requirements and generating your website…

-
- Loading… -
-

AI is collecting your requirements and applying the first changes.

-

This page will update automatically as the plan is implemented.

-

Runtime: PHP — UTC

+ + -
- + + + + - + \ No newline at end of file diff --git a/login.php b/login.php new file mode 100644 index 0000000..0cedf7a --- /dev/null +++ b/login.php @@ -0,0 +1,28 @@ + $username, + 'role' => $role +]; + +// Redirect to a role-based dashboard +// This is a placeholder. In a real app, you'd have separate dashboards. +header('Location: dashboard.php'); +exit(); + +?> \ No newline at end of file diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..65f7f33 --- /dev/null +++ b/logout.php @@ -0,0 +1,7 @@ + \ No newline at end of file