Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified web-app/assets/banners/2048-game.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/armstrong.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/blackjack21.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/calculator.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/coin-flip.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/collatz.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/color-palette.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/coordinate-polar-transform.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/derivative-calculator.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/dice-rolling.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/dots-boxes.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/emoji-memory.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/fibonacci.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/flames.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/flappy-game.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/hangman.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/math-quiz.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/morse-code.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/number-converter.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/number-guessing.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/pascal-triangle.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/password-forge.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/prime-analyzer.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added web-app/assets/banners/productive-pet.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/progression-recognizer.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified web-app/assets/banners/projectile-motion.jpg
Binary file modified web-app/assets/banners/rock-paper-scissor.jpg
Binary file modified web-app/assets/banners/snake-game.jpg
Binary file modified web-app/assets/banners/tic-tac-toe.jpg
Binary file modified web-app/assets/banners/tower-of-hanoi.jpg
Binary file modified web-app/assets/banners/typing-speed-tester.jpg
Binary file modified web-app/assets/banners/whack-a-mole.jpg
Binary file modified web-app/assets/banners/word-scramble.jpg
6,800 changes: 2,396 additions & 4,404 deletions web-app/css/styles.css

Large diffs are not rendered by default.

121 changes: 91 additions & 30 deletions web-app/games.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,44 +90,103 @@
</style>
</head>

<body data-page="games">
<body data-page="games" class="sidebar-active">
<a href="#main-content" class="skip-link">๐Ÿš€ Skip to main content</a>

<!-- Navigation -->
<nav class="navbar" aria-label="Primary">
<div class="container">
<div class="logo">
<a href="index.html" style="text-decoration: none; color: inherit; display: flex; align-items: center; gap: 8px;">
<span style="font-family: 'Space Grotesk', sans-serif; font-size: 1.5rem; font-weight: 700; display: flex; align-items: center; gap: 10px;">๐ŸŽฎ Python Mini Projects</span>
</a>
<!-- Mobile Sidebar Toggle -->
<button type="button" class="mobile-sidebar-toggle" id="mobileSidebarToggle" aria-label="Toggle sidebar menu" aria-expanded="false">
<i class="fas fa-bars"></i>
</button>

<!-- โ”€โ”€ PRIMARY SIDEBAR DOCK โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ -->
<aside class="sidebar-dock" id="mainSidebar" aria-label="Primary Navigation">
<div class="sidebar-brand">
<a class="logo-wrap" href="index.html">
<div class="logo-top-row">
<img alt="PyMini Logo" class="navbar-logo" src="assets/logo.png"/>
<div class="logo-text">
<span class="logo-py">py</span>
<span class="logo-mini">.mini</span>
<span class="logo-parens">()</span>
</div>
<div class="nav-controls">
<button type="button" class="sound-toggle" id="soundToggle" aria-label="Mute sounds">
<i class="fas fa-volume-up" aria-hidden="true"></i>
</button>
<button type="button" class="theme-toggle" id="themeToggle" aria-label="Switch to light mode">
<i class="fas fa-moon" aria-hidden="true"></i>
</button>
</div>
<span class="logo-tagline">games, math &amp; terminal toys</span>
</a>
</div>

<div class="sidebar-search">
<div class="search-box" style="position:relative">
<i class="fas fa-search"></i>
<input aria-label="Search projects" id="searchInput" placeholder="Search projects or tags..." type="text"/>
<div class="search-dropdown" id="searchDropdown">
<div class="dropdown-content" id="searchDropdownContent">
<div class="search-loader" id="searchLoader" style="display:none"><div class="spinner"></div></div>
<div class="recent-searches-section" id="recentSearchesSection">
<div class="dropdown-section-title">Recent</div>
<div class="dropdown-list" id="recentSearchesList"></div>
</div>
<div class="results-section" id="resultsSection" style="display:none">
<div class="dropdown-section-title">Projects</div>
<div class="dropdown-list" id="resultsList"></div>
</div>
<div class="tips-section" id="tipsSection">
<p><strong>Search tips</strong></p>
<ul>
<li>Type a project name โ€” <code>snake</code>, <code>quiz</code></li>
<li>Filter by tag โ€” <code>game</code>, <code>math</code>, <code>utility</code></li>
<li>Press <code>Ctrl+K</code> to focus search</li>
</ul>
</div>
<div class="no-results-message" id="noResultsMessage" style="display:none">No projects found. Try a different keyword.</div>
</div>
</div>
</div>
</div>

<div class="sidebar-menu-wrapper">
<div class="sidebar-menu-title">Categories</div>
<nav class="sidebar-menu" role="tablist" aria-label="Filter by category">
<button aria-selected="false" class="sidebar-tab" data-category="all" role="tab" tabindex="-1">
<span class="sidebar-icon"><svg data-lucide="layers"></svg></span>
<span class="sidebar-label">All Projects</span>
</button>
<button aria-selected="true" class="sidebar-tab active" data-category="games" role="tab" tabindex="0">
<span class="sidebar-icon"><svg data-lucide="gamepad-2"></svg></span>
<span class="sidebar-label">Games Arcade</span>
</button>
<button aria-selected="false" class="sidebar-tab" data-category="math" role="tab" tabindex="-1">
<span class="sidebar-icon"><svg data-lucide="sigma"></svg></span>
<span class="sidebar-label">Math Visuals</span>
</button>
<button aria-selected="false" class="sidebar-tab" data-category="utilities" role="tab" tabindex="-1">
<span class="sidebar-icon"><svg data-lucide="wrench"></svg></span>
<span class="sidebar-label">Utilities Lab</span>
</button>
<button aria-selected="false" class="sidebar-tab" data-category="favorites" role="tab" tabindex="-1">
<span class="sidebar-icon"><svg data-lucide="star"></svg></span>
<span class="sidebar-label">My Favorites</span>
</button>
<button aria-selected="false" class="sidebar-tab" data-category="playground" role="tab" tabindex="-1">
<span class="sidebar-icon"><svg data-lucide="terminal"></svg></span>
<span class="sidebar-label">Playground</span>
</button>
</nav>
</div>

<div class="sidebar-footer">
<div class="sidebar-controls">
<button aria-label="Mute sounds" class="sound-toggle" id="soundToggle" type="button">
<i class="fas fa-volume-up"></i>
</button>
<button aria-label="Switch theme" class="theme-toggle" id="themeToggle" type="button">
<i class="fas fa-moon"></i>
</button>
</div>
</nav>
</div>
</aside>

<main id="main-content" tabindex="-1">

<!-- Category Tabs -->
<section class="tabs-section" aria-label="Project categories">
<div class="container">
<div class="tabs-wrapper">
<div class="tabs" role="tablist" aria-label="Project categories">
<a href="index.html" class="tab" role="tab">๐ŸŒŸ All Projects</a>
<a href="games.html" class="tab active" role="tab" aria-selected="true">๐ŸŽฎ Games</a>
<a href="math.html" class="tab" role="tab">๐Ÿ”ข Math</a>
<a href="utilities.html" class="tab" role="tab">๐Ÿ” Utilities</a>
</div>
</div>
</div>
</section>

<!-- Page Title Section -->
<section class="page-title-section" style="text-align: center; padding: 2rem 0 1rem 0;">
<div class="container">
Expand Down Expand Up @@ -319,7 +378,9 @@ <h2 id="modalDialogTitle" class="modal-dialog-title visually-hidden" tabindex="-
<script src="js/projects/snake.js"></script>
<script src="js/projects/spot-the-difference.js"></script>
<script src="js/projects.js"></script>
<script src="https://unpkg.com/lucide@latest"></script>
<script src="js/main.js"></script>
<script>lucide.createIcons();</script>

</body>
</html>
Loading
Loading