New Commit: Add Constitution reader and retire docs hub This commit removes the legacy Documents Hub page and its stylesheet, and adds a new United States Constitution entry to the library catalog. It includes a local reader page and cover image so the document can be read directly from the site, replacing the old static documents listing with a focused reading experience.
Repository: Hestenb62/_legacy_backup
Author: Hesten Berger
Commit Message: Add Constitution reader and retire docs hub This commit removes the legacy Documents Hub page and its stylesheet, and adds a new United States Constitution entry to the library catalog. It includes a local reader page and cover image so the document can be read directly from the site, replacing the old static documents listing with a focused reading experience.
URL: https://github.com/Hestenb62/_legacy_backup/commit/6858dc5cb8f001d3b47092da1fbe0c323fc73fab
Code Changes:
diff --git a/assets/css/pages/documents.css b/assets/css/pages/documents.css
deleted file mode 100644
index 021d7f6..0000000
--- a/assets/css/pages/documents.css
+++ /dev/null
@@ -1,180 +0,0 @@
-/* assets/css/pages/documents.css */
-
-.documents-summary {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
- gap: 1rem;
- margin-bottom: 2rem;
-}
-
-.documents-stat {
- background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(14, 116, 144, 0.08));
- border: 1px solid var(--color-border);
- border-radius: 1rem;
- padding: 1rem;
- text-align: center;
-}
-
-.documents-stat-number {
- display: block;
- font-size: 1.75rem;
- font-weight: 800;
- color: var(--color-primary);
- line-height: 1.1;
-}
-
-.documents-stat-label {
- display: block;
- margin-top: 0.25rem;
- color: var(--color-text-muted);
- font-size: 0.875rem;
-}
-
-.documents-quick-links {
- margin-bottom: 2rem;
-}
-
-.documents-chip-wrap {
- display: flex;
- flex-wrap: wrap;
- gap: 0.75rem;
-}
-
-.documents-chip-link {
- display: inline-flex;
- align-items: center;
- gap: 0.5rem;
- padding: 0.6rem 0.85rem;
- border-radius: 9999px;
- text-decoration: none;
- color: var(--color-text-main);
- border: 1px solid var(--color-border);
- background-color: rgba(255, 255, 255, 0.75);
- font-weight: 600;
- transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
-}
-
-.documents-chip-link:hover,
-.documents-chip-link:focus-visible {
- transform: translateY(-1px);
- box-shadow: var(--shadow-md);
- border-color: var(--color-primary);
-}
-
-.documents-controls {
- display: grid;
- grid-template-columns: 1fr;
- gap: 0.75rem;
- margin-bottom: 2rem;
-}
-
-.documents-search,
-.documents-select {
- width: 100%;
- border: 1px solid var(--color-border);
- border-radius: 0.75rem;
- padding: 0.7rem 0.85rem;
- background-color: #fff;
- color: var(--color-text-main);
-}
-
-.documents-search:focus,
-.documents-select:focus {
- outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, white);
- border-color: var(--color-primary);
-}
-
-.documents-grid {
- display: grid;
- grid-template-columns: 1fr;
- gap: 1rem;
-}
-
-.document-card {
- border: 1px solid var(--color-border);
- border-radius: 1rem;
- background: linear-gradient(180deg, #ffffff, #f8fbff);
- box-shadow: var(--shadow-sm);
- overflow: hidden;
-}
-
-.document-card-link {
- display: block;
- text-decoration: none;
- color: inherit;
- padding: 1rem;
-}
-
-.document-card-top {
- display: flex;
- align-items: flex-start;
- justify-content: space-between;
- gap: 0.75rem;
-}
-
-.document-card-title {
- margin: 0;
- color: var(--color-text-main);
- font-size: 1.05rem;
- line-height: 1.35;
-}
-
-.document-card-type {
- flex-shrink: 0;
- font-size: 0.7rem;
- font-weight: 700;
- letter-spacing: 0.04em;
- padding: 0.2rem 0.5rem;
- border-radius: 9999px;
- background-color: rgba(37, 99, 235, 0.1);
- color: var(--color-primary);
- border: 1px solid rgba(37, 99, 235, 0.2);
-}
-
-.document-card-path {
- margin: 0.65rem 0;
- color: var(--color-text-muted);
- font-size: 0.9rem;
- word-break: break-word;
-}
-
-.document-card-meta {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 0.6rem;
- font-size: 0.8rem;
- color: var(--color-text-muted);
-}
-
-.document-card-category {
- display: inline-block;
- padding: 0.2rem 0.55rem;
- border-radius: 9999px;
- background-color: rgba(14, 116, 144, 0.1);
- border: 1px solid rgba(14, 116, 144, 0.2);
- color: #0f4d62;
- font-weight: 600;
-}
-
-.documents-empty {
- margin-top: 1.25rem;
- color: var(--color-text-muted);
- text-align: center;
-}
-
-@media (min-width: 768px) {
- .documents-controls {
- grid-template-columns: 1.5fr 1fr 1fr;
- }
-
- .documents-grid {
- grid-template-columns: repeat(2, minmax(0, 1fr));
- }
-}
-
-@media (min-width: 1200px) {
- .documents-grid {
- grid-template-columns: repeat(3, minmax(0, 1fr));
- }
-}
diff --git a/documents.php b/documents.php
deleted file mode 100644
index 612bd2b..0000000
--- a/documents.php
+++ /dev/null
@@ -1,401 +0,0 @@
-<?php
-$pageTitle = "Documents Hub - Hesten's Learning";
-$pageDescription = "Browse and read essential student documents, guides, and reference files.";
-$pageKeywords = "documents, hub, resources, reading, study guide";
-$pageAuthor = "Hesten's Learning";
-
-include 'src/header.php';
-
-// Manually registered documents database
-$documents = [
- 'universal-numbering-system' => [
- 'id' => 'universal-numbering-system',
- 'title' => 'Universal Numbering System Architecture',
- 'description' => 'Detailed technical design, structure, and applications of the Universal Numbering System.',
- 'category' => 'Reference',
- 'type' => 'PDF',
- 'url' => '/Universal%20Numbering%20System%20Architecture.pdf',
- 'icon' => 'fa-file-pdf',
- 'embeddable' => true
- ],
- 'curriculum-guide' => [
- 'id' => 'curriculum-guide',
- 'title' => 'Curriculum Standards Guide',
- 'description' => 'Framework, milestones, and academic standards maps designed for student progress.',
- 'category' => 'Curriculum',
- 'type' => 'Guide',
- 'url' => '/curriculum.php',
- 'icon' => 'fa-book-open',
- 'embeddable' => false
- ],
- 'assessment-guide' => [
- 'id' => 'assessment-guide',
- 'title' => 'Student Self-Assessment Guide',
- 'description' => 'Overview of the assessment engine, diagnostic tracking, and reporting tools.',
- 'category' => 'Assessment',
- 'type' => 'Guide',
- 'url' => '/assessment.php',
- 'icon' => 'fa-tasks',
- 'embeddable' => false
- ],
- 'skills-dictionary' => [
- 'id' => 'skills-dictionary',
- 'title' => 'Skills & Vocabulary Dictionary',
- 'description' => 'An interactive dictionary mapping definitions, phonics, and skills categories.',
- 'category' => 'Reference',
- 'type' => 'Tool',
- 'url' => '/skills-dictionary.php',
- 'icon' => 'fa-spell-check',
- 'embeddable' => false
- ],
- 'help-center' => [
- 'id' => 'help-center',
- 'title' => 'Help Center & PWA Offline Guide',
- 'description' => 'Frequently asked questions, accessibility controls, and offline accessibility instructions.',
- 'category' => 'Support',
- 'type' => 'Guide',
- 'url' => '/help-center.php',
- 'icon' => 'fa-life-ring',
- 'embeddable' => false
- ]
-];
-
-// Compute statistics and filters
-$categoryCounts = [];
-$typeCounts = [];
-foreach ($documents as $doc) {
- $cat = $doc['category'];
- $type = $doc['type'];
- $categoryCounts[$cat] = ($categoryCounts[$cat] ?? 0) + 1;
- $typeCounts[$type] = ($typeCounts[$type] ?? 0) + 1;
-}
-ksort($categoryCounts);
-ksort($typeCounts);
-?>
-
-<link rel="stylesheet" href="/assets/css/pages/documents.css">
-<style>
- /* Popup Modal Styles */
- .doc-popup-backdrop {
- position: fixed;
- top: 0;
- left: 0;
- width: 100vw;
- height: 100vh;
- background: rgba(15, 23, 42, 0.6);
- backdrop-filter: blur(8px);
- z-index: 9999;
- display: none; /* Controlled via JS */
- align-items: center;
- justify-content: center;
- padding: 1.5rem;
- }
- .doc-popup-container {
- background: var(--color-bg-surface);
- border: 1px solid var(--color-border);
- border-radius: 1.5rem;
- width: 100%;
- max-width: 950px;
- height: 90vh;
- max-height: 800px;
- display: flex;
- flex-direction: column;
- overflow: hidden;
- box-shadow: var(--shadow-2xl);
- animation: popup-scale-in 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
- }
- @keyframes popup-scale-in {
- from {