From 9b432543a079c5373c5f2850f1f571d79324930f Mon Sep 17 00:00:00 2001
From: D4DavidG
Date: Sat, 8 Aug 2026 19:45:51 -0400
Subject: [PATCH] Rebuild site: nav bar, light/dark mode, new favicon, asset
cleanup
Stylesheet
- Consolidate styles.css: drop dead rules (.project-header, .fitness-functions,
.pocket-professors) and fold the accreted "FIX 1-4" override block into the
rules it was patching; header.glass was declared three times.
- Remove the --neon alias. It was declared as `--neon: var(--accent)` on :root,
so it resolved against the :root accent and ignored the per-page theme,
leaving aqua/gold pages with green headings, links and outlines.
Nav
- Replace the top nav pill row with a fixed horizontal bar: icon above label,
evenly spaced, collapsing to small icons only while scrolling down.
- Inline SVG icons for every section on all four pages, plus a DG logo item
linking to the top of the page.
Light / dark mode
- Add a mode toggle at the end of the bar; persists to localStorage and falls
back to prefers-color-scheme. A tiny inline head script applies the mode
before first paint so the page cannot flash.
- Split the accent into --accent (glow/fill) and --accent-ink (text). The neon
accents measure ~1.3:1 on a light panel, so links and headings use a darkened
per-theme ink. All text now clears WCAG AA in both modes.
- Parameterise the grid, vignette and cursor glow; `screen` blending only
brightens, so light mode multiplies a darker halo instead.
Assets
- Regenerate the favicon set from the DG logo with a transparent background;
trim the head from five icon links to three.
- Convert screenshots and the profile photo to WebP with dimensions and lazy
loading (5.8 MB -> 810 KB), and delete the superseded originals.
Fixes
- Extract the mouse-glow IIFE and year script into a shared main.js; the
contact manager page had registered two competing scroll listeners.
- Correct the self-referential "Back to Resume" link on the resume page.
Co-Authored-By: Claude Opus 5
---
fitnessfunctions.html | 132 ++--
images/1.png | Bin 0 -> 105408 bytes
images/2.png | Bin 0 -> 105540 bytes
images/bg-bottom.gif | Bin 0 -> 4155774 bytes
images/favicon-16.png | Bin 508 -> 0 bytes
images/favicon-180.png | Bin 17286 -> 18260 bytes
images/favicon-192.png | Bin 18815 -> 19846 bytes
images/favicon-256.png | Bin 28175 -> 0 bytes
images/favicon-32.png | Bin 1431 -> 0 bytes
images/favicon-48.png | Bin 2589 -> 0 bytes
images/favicon-512.png | Bin 73053 -> 0 bytes
images/favicon-64.png | Bin 3904 -> 0 bytes
images/favicon.ico | Bin 8742 -> 51833 bytes
images/fitnessfunctions/addClass.png | Bin 86561 -> 0 bytes
images/fitnessfunctions/addClass.webp | Bin 0 -> 20416 bytes
images/fitnessfunctions/adminDashboard.png | Bin 262145 -> 0 bytes
images/fitnessfunctions/adminDashboard.webp | Bin 0 -> 24752 bytes
images/fitnessfunctions/availableClasses.png | Bin 299351 -> 0 bytes
images/fitnessfunctions/availableClasses.webp | Bin 0 -> 49632 bytes
images/fitnessfunctions/capacityFull.png | Bin 7961 -> 0 bytes
images/fitnessfunctions/capacityFull.webp | Bin 0 -> 5436 bytes
images/fitnessfunctions/classEnrollments.png | Bin 281016 -> 0 bytes
images/fitnessfunctions/classEnrollments.webp | Bin 0 -> 54768 bytes
images/fitnessfunctions/codeStructure.png | Bin 124875 -> 0 bytes
images/fitnessfunctions/codeStructure.webp | Bin 0 -> 99628 bytes
images/fitnessfunctions/databaseSchema.png | Bin 41345 -> 0 bytes
images/fitnessfunctions/databaseSchema.webp | Bin 0 -> 24144 bytes
images/fitnessfunctions/login.png | Bin 273942 -> 0 bytes
images/fitnessfunctions/login.webp | Bin 0 -> 11834 bytes
images/fitnessfunctions/manageClasses.png | Bin 289012 -> 0 bytes
images/fitnessfunctions/manageClasses.webp | Bin 0 -> 47876 bytes
images/fitnessfunctions/manageInstructors.png | Bin 345244 -> 0 bytes
.../fitnessfunctions/manageInstructors.webp | Bin 0 -> 34018 bytes
images/fitnessfunctions/memberDashboard.png | Bin 318767 -> 0 bytes
images/fitnessfunctions/memberDashboard.webp | Bin 0 -> 23956 bytes
images/fitnessfunctions/myClassess.png | Bin 312426 -> 0 bytes
images/fitnessfunctions/myClassess.webp | Bin 0 -> 36988 bytes
images/fitnessfunctions/validationCheck.png | Bin 16111 -> 0 bytes
images/fitnessfunctions/validationCheck.webp | Bin 0 -> 10478 bytes
images/gorilla-home-page.png | Bin 1713523 -> 0 bytes
images/gorilla-home-page.webp | Bin 0 -> 202938 bytes
images/pocketprofessors.png | Bin 333574 -> 0 bytes
images/pocketprofessors.webp | Bin 0 -> 38056 bytes
images/professorpannel.png | Bin 829888 -> 0 bytes
images/professorpannel.webp | Bin 0 -> 97542 bytes
images/profile.jpg | Bin 421755 -> 0 bytes
images/profile.webp | Bin 0 -> 13842 bytes
images/titlecardforpp.png | Bin 134063 -> 0 bytes
images/titlecardforpp.webp | Bin 0 -> 33804 bytes
index.html | 129 ++--
main.js | 93 +++
project-contact-manager.html | 130 ++--
project-pocketprofessors.html | 107 +--
styles.css | 634 ++++++++++--------
54 files changed, 739 insertions(+), 486 deletions(-)
create mode 100644 images/1.png
create mode 100644 images/2.png
create mode 100644 images/bg-bottom.gif
delete mode 100644 images/favicon-16.png
delete mode 100644 images/favicon-256.png
delete mode 100644 images/favicon-32.png
delete mode 100644 images/favicon-48.png
delete mode 100644 images/favicon-512.png
delete mode 100644 images/favicon-64.png
delete mode 100644 images/fitnessfunctions/addClass.png
create mode 100644 images/fitnessfunctions/addClass.webp
delete mode 100644 images/fitnessfunctions/adminDashboard.png
create mode 100644 images/fitnessfunctions/adminDashboard.webp
delete mode 100644 images/fitnessfunctions/availableClasses.png
create mode 100644 images/fitnessfunctions/availableClasses.webp
delete mode 100644 images/fitnessfunctions/capacityFull.png
create mode 100644 images/fitnessfunctions/capacityFull.webp
delete mode 100644 images/fitnessfunctions/classEnrollments.png
create mode 100644 images/fitnessfunctions/classEnrollments.webp
delete mode 100644 images/fitnessfunctions/codeStructure.png
create mode 100644 images/fitnessfunctions/codeStructure.webp
delete mode 100644 images/fitnessfunctions/databaseSchema.png
create mode 100644 images/fitnessfunctions/databaseSchema.webp
delete mode 100644 images/fitnessfunctions/login.png
create mode 100644 images/fitnessfunctions/login.webp
delete mode 100644 images/fitnessfunctions/manageClasses.png
create mode 100644 images/fitnessfunctions/manageClasses.webp
delete mode 100644 images/fitnessfunctions/manageInstructors.png
create mode 100644 images/fitnessfunctions/manageInstructors.webp
delete mode 100644 images/fitnessfunctions/memberDashboard.png
create mode 100644 images/fitnessfunctions/memberDashboard.webp
delete mode 100644 images/fitnessfunctions/myClassess.png
create mode 100644 images/fitnessfunctions/myClassess.webp
delete mode 100644 images/fitnessfunctions/validationCheck.png
create mode 100644 images/fitnessfunctions/validationCheck.webp
delete mode 100644 images/gorilla-home-page.png
create mode 100644 images/gorilla-home-page.webp
delete mode 100644 images/pocketprofessors.png
create mode 100644 images/pocketprofessors.webp
delete mode 100644 images/professorpannel.png
create mode 100644 images/professorpannel.webp
delete mode 100644 images/profile.jpg
create mode 100644 images/profile.webp
delete mode 100644 images/titlecardforpp.png
create mode 100644 images/titlecardforpp.webp
create mode 100644 main.js
diff --git a/fitnessfunctions.html b/fitnessfunctions.html
index 962bcb8..768f298 100644
--- a/fitnessfunctions.html
+++ b/fitnessfunctions.html
@@ -6,20 +6,62 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
FitnessFunctions
@@ -34,7 +76,7 @@
FitnessFunctions
-
Overview
+
Overview
FitnessFunctions is a solo-built role-based web app that manages gym instructors,
class schedules, and member enrollments. I designed and implemented the full system end-to-end:
@@ -43,7 +85,7 @@
Overview
and drop classes. Enrollment totals update per class to enforce capacity limits.
-
Key Features
+
Key Features
Solo Project: Role-based class enrollment system · PHP + MySQL
Authentication + Roles: users log in and are routed to Admin or Member dashboards.
@@ -53,7 +95,7 @@
Key Features
Capacity Tracking: “Enrolled” count updates and classes can show Full.
-
Technologies
+
Technologies
Frontend: HTML, CSS (custom neon dashboard UI)
Backend: PHP
@@ -61,76 +103,89 @@
Technologies
Environment: Apache (localhost development)
-
Screenshots
+
Screenshots
-
+ Login page with test accounts.
-
+ Admin dashboard navigation.
-
+ Admin: Manage instructors (CRUD).
-
+ Admin: Manage classes (CRUD + capacity).
-
+ Admin: View class enrollments (who is enrolled in each class).
-
+ Member dashboard.
-
+ Member: Browse available classes and see enrollment counts.
-
+ Member: View enrolled classes and drop if needed.
-
Implementation Proof (Business Logic + Data)
+
Implementation Proof (Business Logic + Data)
-
+ Add Class form (admin). Scheduling + instructor assignment + capacity input.
-
+ Client-side validation: required fields prevent submitting an empty form.
-
+ Capacity logic: class marked Full when enrollment reaches capacity.
-
+ Database schema (MySQL) showing core tables: users, instructors, classes, enrollments.
-
+ Project structure (PHP pages + handlers + DB connection).
-
Download
+
Download
You can download the full project files here:
FitnessFunctions.zip
@@ -145,30 +200,5 @@