From 99b6a775cf0476ae2aa436768230af9c4ffe06a0 Mon Sep 17 00:00:00 2001
From: RoderickGrc <121266955+RoderickGrc@users.noreply.github.com>
Date: Mon, 16 Jun 2025 10:08:09 -0600
Subject: [PATCH 1/3] Move control buttons to slide-in side menu
---
index.html | 28 +++++++++++++++-------------
script.js | 17 ++++++++++++++++-
styles.css | 44 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 75 insertions(+), 14 deletions(-)
diff --git a/index.html b/index.html
index 6dc909f..e26e1e3 100644
--- a/index.html
+++ b/index.html
@@ -11,22 +11,24 @@
-
-
diff --git a/script.js b/script.js
index 009bfb0..245204c 100644
--- a/script.js
+++ b/script.js
@@ -38,6 +38,8 @@ let quizContainerDiv = null; // <-- NUEVO: Referencia al contenedor principal
let timeProgressDiv = null;
let timeBarDiv = null;
let timeRemainingSpan = null;
+let menuToggle = null;
+let sideMenu = null;
let initialTotalRepetitions = 0;
let questionStartTime = null;
@@ -81,6 +83,8 @@ document.addEventListener('DOMContentLoaded', function() {
timeProgressDiv = document.getElementById('time-progress');
timeBarDiv = document.getElementById('time-bar');
timeRemainingSpan = document.getElementById('time-remaining');
+ menuToggle = document.getElementById('menu-toggle');
+ sideMenu = document.getElementById('side-menu');
collectionSelect = document.getElementById('collection-select');
changeCollectionButton = document.getElementById('change-collection-button');
collectionModalOverlay = document.getElementById('collection-modal-overlay');
@@ -102,7 +106,8 @@ document.addEventListener('DOMContentLoaded', function() {
!timeProgressDiv || !timeBarDiv || !timeRemainingSpan || !collectionSelect ||
!changeCollectionButton || !collectionModalOverlay || !collectionModal || !confirmCollectionButton ||
!configButton || !configModalOverlay || !configModal || !configRepsOnErrorInput ||
- !configInitialRepsInput || !configThemeSelect || !saveConfigButton || !closeModalButton || !closeModalXButton) {
+ !configInitialRepsInput || !configThemeSelect || !saveConfigButton || !closeModalButton || !closeModalXButton ||
+ !menuToggle || !sideMenu) {
console.error("Error: No se encontraron elementos esenciales del DOM (quiz, status, inputs, o elementos del modal).");
if(quizDiv) quizDiv.innerHTML = "
Error crítico: Faltan elementos HTML esenciales para el quiz o la configuración.
";
return;
@@ -128,6 +133,16 @@ function setupEventListeners() {
document.getElementById('reset-progress-button')?.addEventListener('click', resetCurrentProgress);
configButton?.addEventListener('click', openConfigModal);
+ // Menú lateral
+ menuToggle?.addEventListener('click', function() {
+ sideMenu.classList.toggle('open');
+ });
+ document.addEventListener('click', function(event) {
+ if(sideMenu.classList.contains('open') && !sideMenu.contains(event.target) && event.target !== menuToggle) {
+ sideMenu.classList.remove('open');
+ }
+ });
+
// Inputs de archivo
fileInput.addEventListener('change', handleProgressFileSelect);
csvFileInput.addEventListener('change', handleCsvFileSelect);
diff --git a/styles.css b/styles.css
index 2d5364f..9ea8001 100644
--- a/styles.css
+++ b/styles.css
@@ -131,6 +131,50 @@ body {
flex-basis: auto; /* Tamaño basado en contenido */
}
+#menu-toggle {
+ position: fixed;
+ top: 10px;
+ left: 10px;
+ z-index: 1100;
+ background-color: #007bff;
+ color: #000;
+ border: none;
+ border-radius: 4px;
+ padding: 0.5em 0.7em;
+ cursor: pointer;
+}
+
+#menu-toggle:hover {
+ background-color: #0056b3;
+}
+
+.side-menu {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 220px;
+ height: 100%;
+ background-color: var(--container-bg);
+ box-shadow: 2px 0 5px rgba(0,0,0,0.1);
+ transform: translateX(-100%);
+ transition: transform 0.3s ease;
+ z-index: 1050;
+ overflow-y: auto;
+}
+
+.side-menu.open {
+ transform: translateX(0);
+}
+
+#side-menu #progress-buttons {
+ flex-direction: column;
+ align-items: stretch;
+ padding: 1rem;
+}
+
+#side-menu #progress-buttons button {
+ width: 100%;
+}
.modal-content select {
padding: 0.55em 0.8em;
From daa0da3b98e10dfbc9cfc0e90cf722faf810fa6e Mon Sep 17 00:00:00 2001
From: RoderickGrc <121266955+RoderickGrc@users.noreply.github.com>
Date: Mon, 16 Jun 2025 10:58:56 -0600
Subject: [PATCH 2/3] Refine side menu layout and style
---
index.html | 76 +++++++++++++++++++++++++++++++++++++++++++++++++-----
styles.css | 61 +++++++++++++++++++------------------------
2 files changed, 95 insertions(+), 42 deletions(-)
diff --git a/index.html b/index.html
index e26e1e3..89150bb 100644
--- a/index.html
+++ b/index.html
@@ -13,20 +13,82 @@