From 5ac812ef0552f7ec3082e4a261bf9309cafd864e Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Mon, 16 Feb 2026 03:29:05 +0000 Subject: [PATCH] Final3 --- api/update_theme.php | 21 ++ assets/css/dashboard.css | 139 ++++++++++ assets/css/style.css | 42 +++ assets/pasted-20260216-030508-3bcfe590.png | Bin 0 -> 50466 bytes ballot.php | 304 +++++++++++++++------ candidate_management.php | 2 +- create_election.php | 2 +- dashboard.php | 2 +- election_history.php | 2 +- includes/sidebar.php | 4 + index.php | 102 ++++++- manage_candidates.php | 2 +- officers_management.php | 2 +- reports_audit.php | 2 +- search_results.php | 2 +- settings.php | 164 +++++++++++ view_election.php | 2 +- view_results.php | 2 +- voter_management.php | 2 +- 19 files changed, 693 insertions(+), 105 deletions(-) create mode 100644 api/update_theme.php create mode 100644 assets/pasted-20260216-030508-3bcfe590.png create mode 100644 settings.php diff --git a/api/update_theme.php b/api/update_theme.php new file mode 100644 index 0000000..f3ca96e --- /dev/null +++ b/api/update_theme.php @@ -0,0 +1,21 @@ + false, 'error' => 'Invalid theme']); + exit; +} + +try { + $stmt = db()->prepare("UPDATE users SET theme = ? WHERE id = ?"); + $stmt->execute([$theme, $_SESSION['user_id']]); + echo json_encode(['success' => true]); +} catch (Exception $e) { + echo json_encode(['success' => false, 'error' => $e->getMessage()]); +} diff --git a/assets/css/dashboard.css b/assets/css/dashboard.css index c8aa7e1..73a0516 100644 --- a/assets/css/dashboard.css +++ b/assets/css/dashboard.css @@ -415,3 +415,142 @@ body.dashboard-body { gap: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } + +/* Dark Theme Variables */ +body.dark-theme { + --bg-light: #0f172a; + --sidebar-bg: #1e293b; + --sidebar-text: #94a3b8; + --border-color: #334155; + --sidebar-active-bg: #334155; + --sidebar-active-text: #6366f1; + color: #f1f5f9; +} + +body.dark-theme .top-header { + background: #1e293b; + border-color: #334155; +} + +body.dark-theme .stat-card, +body.dark-theme .analytics-card, +body.dark-theme .content-section, +body.dark-theme .settings-card, +body.dark-theme .modal-content { + background: #1e293b; + border-color: #334155; +} + +body.dark-theme .sidebar-brand, +body.dark-theme .user-name, +body.dark-theme .stat-value, +body.dark-theme .card-title, +body.dark-theme .section-title, +body.dark-theme .settings-info h3, +body.dark-theme .modal-title, +body.dark-theme h1 { + color: #f1f5f9 !important; +} + +body.dark-theme .welcome-msg, +body.dark-theme .user-role, +body.dark-theme .stat-label, +body.dark-theme .settings-info p { + color: #94a3b8; +} + +body.dark-theme .search-bar { + background: #334155; +} + +body.dark-theme .search-bar input { + color: #f1f5f9; +} + +body.dark-theme .election-table th { + background: #334155; + color: #94a3b8; + border-color: #475569; +} + +body.dark-theme .election-table td { + border-color: #334155; + color: #cbd5e1; +} + +body.dark-theme .nav-item:hover { + background: #334155; +} + +body.dark-theme .flatlogic-badge { + background: #1e293b; + color: #f1f5f9; +} + +/* Global Dark Theme Overrides */ +body.dark-theme .audit-table, +body.dark-theme .audit-table th, +body.dark-theme .table-container, +body.dark-theme .content-section, +body.dark-theme .settings-card { + background: #1e293b !important; + border-color: #334155 !important; +} + +body.dark-theme .audit-table td, +body.dark-theme .election-table td { + color: #cbd5e1 !important; + border-color: #334155 !important; +} + +body.dark-theme .audit-table th, +body.dark-theme .election-table th { + background: #334155 !important; + color: #94a3b8 !important; + border-color: #475569 !important; +} + +body.dark-theme .action-badge { + background: #334155; + color: #94a3b8; + padding: 2px 8px; + border-radius: 4px; + font-size: 0.75rem; +} + +body.dark-theme input, +body.dark-theme select, +body.dark-theme textarea { + background-color: #334155 !important; + border-color: #475569 !important; + color: #f1f5f9 !important; +} + +body.dark-theme .sidebar-brand, +body.dark-theme .user-name, +body.dark-theme .stat-value, +body.dark-theme .card-title, +body.dark-theme .section-title, +body.dark-theme .settings-info h3, +body.dark-theme .modal-title, +body.dark-theme h1, +body.dark-theme h2, +body.dark-theme h3 { + color: #f1f5f9 !important; +} + +body.dark-theme .nav-item { + color: #94a3b8; +} + +body.dark-theme .nav-item:hover { + background: #334155; + color: #f1f5f9; +} + +body.dark-theme .nav-item.active { + background: #334155; + color: #6366f1; +} + + diff --git a/assets/css/style.css b/assets/css/style.css index a3e865c..67998b3 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -156,3 +156,45 @@ body { .col-12 { flex: 0 0 100%; max-width: 100%; padding: 0.75rem; } .col-md-6 { flex: 0 0 50%; max-width: 50%; padding: 0.75rem; } .col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; padding: 0.75rem; } + +/* Dark Mode */ +body.dark-theme { + --bg-color: #0f172a; + --surface-color: #1e293b; + --border-color: #334155; + --text-main: #f1f5f9; + --text-muted: #94a3b8; +} + +body.dark-theme .navbar { + background: #1e293b; + border-color: #334155; +} + +body.dark-theme .brand { + color: #f1f5f9; +} + +body.dark-theme .btn-outline { + border-color: #475569; + color: #f1f5f9; +} + +body.dark-theme .btn-outline:hover { + background: #334155; +} + +body.dark-theme .table th { + border-color: #475569; +} + +body.dark-theme .table td { + border-color: #334155; +} + +body.dark-theme .form-control { + background-color: #334155; + border-color: #475569; + color: #f1f5f9; +} + diff --git a/assets/pasted-20260216-030508-3bcfe590.png b/assets/pasted-20260216-030508-3bcfe590.png new file mode 100644 index 0000000000000000000000000000000000000000..2d468bf253b86942234f89119c6c233337fa983f GIT binary patch literal 50466 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 vf(;;k->>%1TMprepare("SELECT COUNT(*) FROM votes WHERE election_id = ? AND voter_id = ?"); $check->execute([$id, $user['id']]); if ($check->fetchColumn() > 0) { - header("Location: view_results.php?id=$id&error=AlreadyVoted"); + header("Location: index.php?error=already_voted"); exit; } @@ -44,6 +44,7 @@ $endTime = strtotime($election['end_date_and_time']) * 1000; - + + +
-

Cast Your Vote

-

Select one candidate for each position

+

+

Review the candidates carefully and cast your secure vote below.

@@ -360,86 +521,59 @@ $endTime = strtotime($election['end_date_and_time']) * 1000;
- -
- -
-
- -
-

-

Your choice matters. Review the candidates carefully and cast your secure vote below.

-
- -
- - - $pos): ?> -
-
- - +
+
+

Ready to submit?

+

Review your selections

- - prepare($sql); - $cStmt->execute($params); - $candidates = $cStmt->fetchAll(); - ?> - - -
-

No candidates available for your track.

-
- -
- - - -
- +
- - -
-
-

READY TO SUBMIT?

-

Review your selections

-
-
+ + + +
+ © Click to Vote | High School Online Election System +
+ diff --git a/candidate_management.php b/candidate_management.php index 1b79d8f..8595570 100644 --- a/candidate_management.php +++ b/candidate_management.php @@ -175,7 +175,7 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Online Election System } - + diff --git a/create_election.php b/create_election.php index 70cc12d..b969a16 100644 --- a/create_election.php +++ b/create_election.php @@ -19,7 +19,7 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Online Election System