diff --git a/assets/css/custom.css b/assets/css/custom.css index a3336f7..e4a1389 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -1,174 +1,56 @@ - -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Georgia&display=swap'); - :root { - --primary-color: #1a1a1a; - --secondary-color: #198754; /* Changed from #4f46e5 */ - --background-color: #f8f9fa; - --surface-color: #ffffff; - --text-color: #212529; - --border-radius: 0.5rem; - --border-radius-full: 9999px; - --spacing-1: 0.5rem; - --spacing-2: 1rem; - --spacing-3: 1.5rem; - --spacing-4: 2rem; + --primary-color: #556EE6; + --secondary-color: #F8B425; + --background-color: #F5F7FA; + --text-color: #333; + --light-gray: #E9ECEF; + --dark-gray: #7A7A7A; } body { background-color: var(--background-color); color: var(--text-color); font-family: 'Inter', sans-serif; - line-height: 1.6; - margin: 0; - padding: 0; } -h1, h2, h3, h4, h5, h6 { - font-family: 'Georgia', serif; - color: var(--primary-color); -} - -.header { - padding: var(--spacing-2) 0; - border-bottom: 1px solid #dee2e6; -} - -.logo { - font-family: 'Georgia', serif; - font-weight: bold; - font-size: 1.5rem; - color: var(--primary-color); - text-decoration: none; -} - -.hero { - color: white; - padding: 6rem 0; - text-align: center; - background: linear-gradient(135deg, #198754, #20c997); - position: relative; - overflow: hidden; -} - -.hero::before { - content: ''; - position: absolute; - bottom: -150px; - left: -50px; - width: 300px; - height: 300px; - background: white; - opacity: 0.1; - border-radius: 50%; - transform: rotate(45deg); -} - -.hero::after { - content: ''; - position: absolute; - top: -100px; - right: -100px; - width: 400px; - height: 400px; - background: white; - opacity: 0.1; - border-radius: 50%; -} - - -.hero h1 { - font-size: 3.5rem; - font-weight: 700; - margin-bottom: var(--spacing-2); - color: white; -} - -.hero p { - font-size: 1.25rem; - max-width: 600px; - margin: 0 auto; -} - -.survey-section { - padding: 4rem 0; -} - -.form-container { - background: var(--surface-color); - padding: var(--spacing-4); - border-radius: var(--border-radius); - box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05); - max-width: 600px; - margin: 0 auto; -} - -.form-group { - margin-bottom: var(--spacing-3); -} - -.form-label { - font-weight: bold; - display: block; - margin-bottom: var(--spacing-1); -} - -.form-control { - width: 100%; - padding: 0.75rem 1rem; - border: 1px solid #ced4da; - border-radius: var(--border-radius); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -.form-control:focus { - border-color: var(--secondary-color); - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +.navbar { + background-color: #fff; + border-bottom: 1px solid var(--light-gray); } .btn-primary { - background-color: var(--secondary-color); - border-color: var(--secondary-color); - color: white; - padding: 0.75rem 1.5rem; - font-size: 1rem; - font-weight: bold; - border-radius: var(--border-radius); - cursor: pointer; - transition: background-color 0.2s; - width: 100%; + background-color: var(--primary-color); + border-color: var(--primary-color); } .btn-primary:hover { - background-color: #157347; + background-color: #4055B2; + border-color: #4055B2; } -.footer { - padding: var(--spacing-3) 0; - border-top: 1px solid #dee2e6; - text-align: center; - font-size: 0.9rem; - color: #6c757d; +.btn-secondary { + background-color: var(--secondary-color); + border-color: var(--secondary-color); } -.footer a { - color: var(--secondary-color); - text-decoration: none; +.btn-secondary:hover { + background-color: #E0A01E; + border-color: #E0A01E; } -.footer a:hover { - text-decoration: underline; +a { + color: var(--primary-color); } -#success-message { - text-align: center; - padding: 2rem; - background-color: #e8f5e9; - color: #2e7d32; - border-radius: var(--border-radius); +a:hover { + color: #4055B2; } -.hidden { - display: none; +.card { + border: 1px solid var(--light-gray); + border-radius: 0.5rem; } + +.table { + border: 1px solid var(--light-gray); +} \ No newline at end of file diff --git a/assets/pasted-20251007-164125-74b145ee.png b/assets/pasted-20251007-164125-74b145ee.png new file mode 100644 index 0000000..2d2a9ef Binary files /dev/null and b/assets/pasted-20251007-164125-74b145ee.png differ diff --git a/register.php b/register.php index 4719df0..10b820a 100644 --- a/register.php +++ b/register.php @@ -33,9 +33,13 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $user_stmt->execute([$username, $email, $hashed_password]); $user_id = $pdo->lastInsertId(); - // Assign default role (Respondent) + // If this is the first user (id = 1), make them an Admin. Otherwise, assign Respondent. + $user_count_stmt = $pdo->query("SELECT COUNT(*) FROM users"); + $is_first_user = ($user_count_stmt->fetchColumn() == 1); + $default_role = $is_first_user ? 'Admin' : 'Respondent'; + $role_stmt = $pdo->prepare("SELECT id FROM roles WHERE role_name = ?"); - $role_stmt->execute(['Respondent']); + $role_stmt->execute([$default_role]); $role_id = $role_stmt->fetchColumn(); if ($role_id) { $user_role_stmt = $pdo->prepare("INSERT INTO user_roles (user_id, role_id) VALUES (?, ?)"); diff --git a/templates/footer.php b/templates/footer.php index 0b3af49..6be6d65 100644 --- a/templates/footer.php +++ b/templates/footer.php @@ -1,6 +1,6 @@ diff --git a/templates/header.php b/templates/header.php index aa74677..ba21da3 100644 --- a/templates/header.php +++ b/templates/header.php @@ -3,16 +3,21 @@ - <?= isset($pageTitle) ? htmlspecialchars($pageTitle) : 'Your Real Feedback' ?> + <?= isset($pageTitle) ? htmlspecialchars($pageTitle) : 'Flatlogic' ?> + + +