From 5924d86a4e176749add6ddc2e6e567ccb8a79ffa Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Mon, 28 Jul 2025 00:40:16 +0530 Subject: [PATCH 01/36] Modified Home Page - Added CSS Variables For Consistent Styling - Enhanced Navbar & Also Added Light/Dark Mode Toggle --- index.html | 581 ++++++++++++++++++++++++++---------------- scripts/script.js | 454 +++++++++++++++++++-------------- styling/Footer.css | 439 ++++++++++--------------------- styling/base.css | 93 +++++++ styling/home.css | 95 +++++++ styling/navbar.css | 412 ++++++++++++++++++++++++++++++ styling/variables.css | 68 +++-- 7 files changed, 1411 insertions(+), 731 deletions(-) create mode 100644 styling/base.css create mode 100644 styling/home.css create mode 100644 styling/navbar.css diff --git a/index.html b/index.html index 6aee312b..f996e143 100644 --- a/index.html +++ b/index.html @@ -3,245 +3,392 @@ - - - - NotesVault Home - - + + NotesVault | Home + + + + + + + + - - - - - - - - - - + + + + +
+ +
+ + - \ No newline at end of file + diff --git a/scripts/script.js b/scripts/script.js index cb2abee5..4dba5c1a 100644 --- a/scripts/script.js +++ b/scripts/script.js @@ -1,240 +1,298 @@ -document.addEventListener("DOMContentLoaded", function () { - // --- Data Storage --- - // This will hold the entire data structure from parameters.json - let allData = {}; +document.addEventListener('DOMContentLoaded', function () { + // GLOBAL VARIABLES + const allData = {} // Will Hold Search Parameters Data + const typewriterWords = ['Branch', 'Semester', 'Subject', 'Year'] + + // ELEMENT REFERENCES + const elements = { + // Search Elements + searchBranchContainer: document.getElementById('search-parameters-branch'), + searchSemesterContainer: document.getElementById( + 'search-parameters-semester' + ), + searchSubjectContainer: document.getElementById( + 'search-parameters-subject' + ), + typewriterElement: document.getElementById('typewriter'), + searchForm: document.querySelector('.search-form'), + + // Theme Elements + themeToggle: document.querySelector('.theme-toggle'), + mobileThemeToggle: document.querySelector('.mobile-theme-toggle'), + + // Mobile Menu Elements + menuToggle: document.querySelector('.menu-toggle'), + mobileNav: document.querySelector('.mobile-nav'), + overlay: document.querySelector('.overlay'), + + // Footer Elements + yearElement: document.getElementById('year'), + + // Back To Top Button + backToTop: document.querySelector('.back-to-top'), + } - // --- Element References --- - const searchBranchContainer = document.getElementById("search-parameters-branch"); - const searchSemesterContainer = document.getElementById("search-parameters-semester"); - const searchSubjectContainer = document.getElementById("search-parameters-subject"); + // HELPER FUNCTIONS - // --- Helper Function to create dropdowns (to avoid repeating code) --- + /** + * Creates a dropdown menu with options + * @param {HTMLElement} container - Parent element to append the dropdown to + * @param {string} id - ID for the select element + * @param {string} defaultText - Placeholder text for the default option + * @param {Array} options - Array of options to populate the dropdown + * @returns {HTMLSelectElement} The created select element + */ function createDropdown(container, id, defaultText, options) { - // Clear the container first - container.innerHTML = ''; - - // Create the + + ${options.map(opt => ``).join('')} + + `; + + return container.firstElementChild; + }; + + // =============== Search =============== + + const updateSemesters = () => { + const branchSelect = document.getElementById('selectBranch'); + if (!branchSelect?.value) return; + + DOM.searchSemesterContainer.innerHTML = ''; + DOM.searchSubjectContainer.innerHTML = ''; + + const branchData = allData.branches.find(b => b.name === branchSelect.value); + if (!branchData?.semesters) return; - // Back To Top Button - backToTop: document.querySelector('.back-to-top'), - } - - // HELPER FUNCTIONS - - /** - * Creates a dropdown menu with options - * @param {HTMLElement} container - Parent element to append the dropdown to - * @param {string} id - ID for the select element - * @param {string} defaultText - Placeholder text for the default option - * @param {Array} options - Array of options to populate the dropdown - * @returns {HTMLSelectElement} The created select element - */ - function createDropdown(container, id, defaultText, options) { - if (!container) return null - - container.innerHTML = '' - const select = document.createElement('select') - select.id = id - select.className = 'search-parameters-select' - select.setAttribute('aria-label', defaultText) - - // Default Option - const defaultOption = document.createElement('option') - defaultOption.value = '' - defaultOption.disabled = true - defaultOption.selected = true - defaultOption.textContent = defaultText - select.appendChild(defaultOption) - - // Add Options - options.forEach((option) => { - const optElement = document.createElement('option') - optElement.value = option - optElement.textContent = option - select.appendChild(optElement) - }) - - container.appendChild(select) - return select - } - - // SEARCH FUNCTIONALITY - - function updateSemesters() { - const selectedBranch = document.getElementById('selectBranch')?.value - if (!selectedBranch) return - - // Clear Subsequent Dropdowns - elements.searchSemesterContainer.innerHTML = '' - elements.searchSubjectContainer.innerHTML = '' - - const branchData = allData.branches.find((b) => b.name === selectedBranch) - if (!branchData?.semesters) return - - const semesterNames = branchData.semesters.map((sem) => sem.semester) const semesterSelect = createDropdown( - elements.searchSemesterContainer, + DOM.searchSemesterContainer, 'selectSemester', 'Select Semester', - semesterNames - ) - - semesterSelect?.addEventListener('change', updateSubjects) - } - - function updateSubjects() { - const selectedBranch = document.getElementById('selectBranch')?.value - const selectedSemester = document.getElementById('selectSemester')?.value - if (!selectedBranch || !selectedSemester) return - - elements.searchSubjectContainer.innerHTML = '' - - const branchData = allData.branches.find((b) => b.name === selectedBranch) - if (!branchData?.semesters) return - - const semesterData = branchData.semesters.find( - (sem) => sem.semester === selectedSemester - ) - if (!semesterData?.subjects) return - - const subjectNames = semesterData.subjects.map( - (sub) => Object.values(sub)[0] - ) - createDropdown( - elements.searchSubjectContainer, - 'selectSubject', - 'Select Subject', - subjectNames - ) - } - - function handleSearchFormSubmit(e) { - e.preventDefault() - const searchInput = elements.searchForm.querySelector("input[type='text']") + branchData.semesters.map(sem => sem.semester) + ); + + semesterSelect?.addEventListener('change', updateSubjects); + }; + + const updateSubjects = () => { + const branchSelect = document.getElementById('selectBranch'); + const semesterSelect = document.getElementById('selectSemester'); + if (!branchSelect?.value || !semesterSelect?.value) return; + + DOM.searchSubjectContainer.innerHTML = ''; + + const branchData = allData.branches.find(b => b.name === branchSelect.value); + const semesterData = branchData?.semesters?.find(sem => sem.semester === semesterSelect.value); + + if (semesterData?.subjects) { + createDropdown( + DOM.searchSubjectContainer, + 'selectSubject', + 'Select Subject', + semesterData.subjects.map(sub => Object.values(sub)[0]) + ); + } + }; + + const handleSearch = (e) => { + e.preventDefault(); + const searchInput = DOM.searchForm?.querySelector("input[type='text']"); if (searchInput?.value) { - window.location.href = `pages/BrowseNotes.html?query=${encodeURIComponent( - searchInput.value - )}` + window.location.href = `pages/BrowseNotes.html?query=${encodeURIComponent(searchInput.value)}`; } - } + }; - // TYPEWRITER EFFECT - function typeWriterEffect(wordIndex = 0, charIndex = 0, isDeleting = false) { - if (!elements.typewriterElement) return + // =============== Typewriter =============== - const currentWord = typewriterWords[wordIndex % typewriterWords.length] + const typeWriter = (wordIndex = 0, charIndex = 0, isDeleting = false) => { + if (!DOM.typewriterElement) return; - if (isDeleting) { - elements.typewriterElement.textContent = currentWord.substring( - 0, - charIndex - 1 - ) - charIndex-- - } else { - elements.typewriterElement.textContent = currentWord.substring( - 0, - charIndex + 1 - ) - charIndex++ - } + const word = TYPEWRITER_WORDS[wordIndex % TYPEWRITER_WORDS.length]; + DOM.typewriterElement.textContent = word.substring(0, isDeleting ? charIndex - 1 : charIndex + 1); - // Timing Configuration - let typeSpeed - if (!isDeleting && charIndex === currentWord.length) { - typeSpeed = 2000 // Pause At End Of Word - isDeleting = true + let delay; + if (!isDeleting && charIndex === word.length) { + delay = 2000; + isDeleting = true; } else if (isDeleting && charIndex === 0) { - typeSpeed = 500 // Pause Before Next Word - isDeleting = false - wordIndex++ + delay = 500; + isDeleting = false; + wordIndex++; } else { - typeSpeed = isDeleting ? 75 : 150 + delay = isDeleting ? 75 : 150; } - setTimeout( - () => typeWriterEffect(wordIndex, charIndex, isDeleting), - typeSpeed - ) - } - - // THEME MANAGEMENT - - function initTheme() { - const savedTheme = localStorage.getItem('theme') - const prefersDark = window.matchMedia( - '(prefers-color-scheme: dark)' - ).matches - const initialTheme = savedTheme || (prefersDark ? 'dark' : 'light') - - document.documentElement.setAttribute('data-theme', initialTheme) - } - - function toggleTheme() { - const html = document.documentElement - const currentTheme = html.getAttribute('data-theme') || 'light' - const newTheme = currentTheme === 'dark' ? 'light' : 'dark' - - html.setAttribute('data-theme', newTheme) - localStorage.setItem('theme', newTheme) - } - - // MOBILE MENU - function setupMobileMenu() { - if (!elements.menuToggle || !elements.mobileNav) return - - elements.menuToggle.addEventListener('click', () => { - elements.menuToggle.classList.toggle('active') - elements.mobileNav.classList.toggle('active') - elements.overlay.classList.toggle('active') - document.body.style.overflow = elements.mobileNav.classList.contains( - 'active' - ) - ? 'hidden' - : '' - }) - - elements.overlay.addEventListener('click', () => { - elements.menuToggle.classList.remove('active') - elements.mobileNav.classList.remove('active') - elements.overlay.classList.remove('active') - document.body.style.overflow = '' - }) - - // Close Menu When Clicking On links - document.querySelectorAll('.mobile-nav-link').forEach((link) => { - link.addEventListener('click', () => { - elements.menuToggle.classList.remove('active') - elements.mobileNav.classList.remove('active') - elements.overlay.classList.remove('active') - document.body.style.overflow = '' - }) - }) - } - - // BACK TO TOP BUTTON - function setupBackToTop() { - if (!elements.backToTop) return - + setTimeout(() => typeWriter(wordIndex, isDeleting ? charIndex - 1 : charIndex + 1, isDeleting), delay); + }; + + // =============== Theme Toggle =============== + + const getPreferredTheme = () => { + const stored = localStorage.getItem('theme'); + return stored || (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'); + }; + + const setTheme = (theme) => { + document.documentElement.setAttribute('data-theme', theme); + localStorage.setItem('theme', theme); + }; + + const setupThemeToggle = () => { + setTheme(getPreferredTheme()); + document.querySelectorAll('.theme-toggle, .mobile-theme-toggle').forEach(toggle => { + toggle.addEventListener('click', () => { + const current = document.documentElement.getAttribute('data-theme') || 'light'; + setTheme(current === 'dark' ? 'light' : 'dark'); + }); + }); + }; + + // =============== Mobile Menu =============== + + const toggleMobileMenu = () => { + const menuToggle = document.querySelector('.menu-toggle'); + const mobileNav = document.querySelector('.mobile-nav'); + const overlay = document.querySelector('.overlay'); + + menuToggle?.classList.toggle('active'); + mobileNav?.classList.toggle('active'); + overlay?.classList.toggle('active'); + document.body.style.overflow = mobileNav?.classList.contains('active') ? 'hidden' : ''; + }; + + const setupMobileMenu = () => { + const menuToggle = document.querySelector('.menu-toggle'); + const mobileNavLinks = document.querySelectorAll('.mobile-nav-link'); + const overlay = document.querySelector('.overlay'); + + menuToggle?.addEventListener('click', toggleMobileMenu); + overlay?.addEventListener('click', toggleMobileMenu); + mobileNavLinks.forEach(link => link.addEventListener('click', toggleMobileMenu)); + }; + + // =============== Back to Top =============== + + const setupBackToTop = () => { + if (!DOM.backToTop) return; window.addEventListener('scroll', () => { - if (window.pageYOffset > 300) { - elements.backToTop.classList.add('visible') - } else { - elements.backToTop.classList.remove('visible') - } - }) - - elements.backToTop.addEventListener('click', () => { - window.scrollTo({ - top: 0, - behavior: 'smooth', - }) - }) - } - - // INITIALIZATION - function init() { - // Initialize Dropdowns - fetch('data/search_parameters/parameters.json') - .then((res) => res.json()) - .then((data) => { - allData.branches = data.branches.filter((b) => b.name?.trim()) - const branchNames = allData.branches.map((b) => b.name) - const branchSelect = createDropdown( - elements.searchBranchContainer, - 'selectBranch', - 'Select Branch', - branchNames - ) - branchSelect?.addEventListener('change', updateSemesters) - }) - .catch(console.error) - - // Initialize Theme - initTheme() - if (elements.themeToggle) { - elements.themeToggle.addEventListener('click', toggleTheme) - } - if (elements.mobileThemeToggle) { - elements.mobileThemeToggle.addEventListener('click', toggleTheme) + DOM.backToTop.classList.toggle('visible', window.scrollY > 300); + }); + + DOM.backToTop.addEventListener('click', () => { + window.scrollTo({ top: 0, behavior: 'smooth' }); + }); + }; + + // =============== Load Components =============== + + const loadComponents = async () => { + try { + const [header, footer] = await Promise.all([ + fetch('/components/header.html').then(res => res.text()), + fetch('/components/footer.html').then(res => res.text()) + ]); + + document.getElementById('header-placeholder').innerHTML = header; + document.getElementById('footer-placeholder').innerHTML = footer; + + // Re-initialize header-based features + setupThemeToggle(); + setupMobileMenu(); + } catch (error) { + console.error('Error loading header/footer:', error); } + }; - // Initialize Mobile Menu - setupMobileMenu() + // =============== Init =============== - // Initialize Typewriter Effect - if (elements.typewriterElement) { - typeWriterEffect() - } + const init = async () => { + setupBackToTop(); - // Initialize Search Form - if (elements.searchForm) { - elements.searchForm.addEventListener('submit', handleSearchFormSubmit) - } + if (DOM.typewriterElement) typeWriter(); + if (DOM.searchForm) DOM.searchForm.addEventListener('submit', handleSearch); - // Initialize Back To Top Button - setupBackToTop() + if (DOM.yearElement) DOM.yearElement.textContent = new Date().getFullYear(); - // Current Year Logic - if (elements.yearElement) { - elements.yearElement.textContent = new Date().getFullYear() + // Load search data + try { + const response = await fetch('data/search_parameters/parameters.json'); + allData.branches = (await response.json()).branches.filter(b => b.name?.trim()); + + const branchSelect = createDropdown( + DOM.searchBranchContainer, + 'selectBranch', + 'Select Branch', + allData.branches.map(b => b.name) + ); + + branchSelect?.addEventListener('change', updateSemesters); + } catch (error) { + console.error('Error loading search parameters:', error); } - } - // Start the application - init() -}) + // Load header and footer + await loadComponents(); + }; + + init(); +}); diff --git a/styling/Footer.css b/styling/Footer.css index 68eb6ed2..7f8f638f 100644 --- a/styling/Footer.css +++ b/styling/Footer.css @@ -1,26 +1,17 @@ -/* FOOTER */ +/* Footer */ .footer { background-color: var(--bg-secondary); color: var(--text-primary); - padding: 4rem 0 2rem; - position: relative; -} - -.footer::before { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - height: 1px; - background: linear-gradient(90deg, transparent, var(--border-color), transparent); + padding: 3rem 0 1.5rem; + margin: 5rem 0 0; + border-top: 1px solid var(--border-color); } .footer-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); - gap: 3rem; - max-width: 1440px; + gap: 2.5rem; + max-width: 1200px; margin: 0 auto; padding: 0 2rem; } @@ -28,27 +19,112 @@ .footer-brand { display: flex; flex-direction: column; - gap: 1.5rem; + gap: 1.25rem; } .footer-logo { display: flex; align-items: center; gap: 0.75rem; - font-size: 1.75rem; + font-size: 1.5rem; font-weight: 700; color: var(--text-primary); text-decoration: none; } .footer-logo img { - height: 2.5rem; + height: 2rem; width: auto; } .footer-description { color: var(--text-secondary); - line-height: 1.7; + line-height: 1.6; + max-width: 320px; +} + +.footer-heading { + font-size: 1.1rem; + font-weight: 600; + margin-bottom: 1.25rem; + color: var(--primary-500); +} + +.footer-nav { + list-style: none; + display: flex; + flex-direction: column; + gap: 0.75rem; +} + +.footer-links-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); + gap: 2rem; + width: 100%; +} + +.footer-links-col { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.footer-heading { + font-size: 1.1rem; + font-weight: 600; + margin-bottom: 0.5rem; + color: var(--primary-500); +} + +.footer-nav { + list-style: none; + display: flex; + flex-direction: column; + gap: 0.75rem; + padding: 0; + margin: 0; +} + +/* Footer Links */ +.footer-link { + color: var(--text-secondary); + text-decoration: none; + transition: all 0.3s ease; + display: inline-block; + padding: 0.25rem 0; + font-size: 0.95rem; +} + +.footer-link:hover { + color: var(--primary-500); + transform: translateX(5px); +} + + +/* Community Section */ +.footer-community { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.oss-badge { + display: inline-flex; + align-items: center; + gap: 0.5rem; + background-color: var(--bg-primary); + padding: 0.5rem 1rem; + border-radius: 2rem; + font-weight: 500; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +} + +.community-text { + color: var(--text-secondary); + line-height: 1.6; + margin-bottom: 0.5rem; + text-transform: capitalize; } .footer-social { @@ -60,8 +136,8 @@ display: flex; align-items: center; justify-content: center; - width: 2.75rem; - height: 2.75rem; + width: 2.5rem; + height: 2.5rem; border-radius: 50%; background-color: var(--bg-primary); color: var(--text-primary); @@ -74,47 +150,42 @@ transform: translateY(-3px); } -.footer-links { +/* Footer Bottom */ +.footer-bottom { display: flex; flex-direction: column; - gap: 1.5rem; -} - -.footer-links h3 { - font-size: 1.25rem; - font-weight: 600; - margin-bottom: 0.5rem; + align-items: center; + text-align: center; + margin-top: 3rem; + padding-top: 1.5rem; + border-top: 1px solid var(--border-color); + gap: 0.75rem; } -.footer-links ul { - list-style: none; +.legal-links { display: flex; - flex-direction: column; + align-items: center; gap: 0.75rem; + flex-wrap: wrap; + justify-content: center; } -.footer-link { +.legal-link { color: var(--text-secondary); text-decoration: none; + font-size: 0.85rem; transition: color 0.3s ease; - display: flex; - align-items: center; - gap: 0.5rem; } -.footer-link:hover { +.legal-link:hover { color: var(--primary-500); + text-decoration: underline; } -.footer-link i { - font-size: 1.1rem; -} - -.footer-bottom { - margin-top: 4rem; - padding-top: 2rem; - border-top: 1px solid var(--border-color); - text-align: center; +.divider { + color: var(--text-secondary); + font-size: 0.85rem; + opacity: 0.6; } .copyright { @@ -122,6 +193,18 @@ font-size: 0.9rem; } +.heart { + color: #ff4757; + display: inline-block; + animation: pulse 1.5s infinite; +} + +@keyframes pulse { + 0% { transform: scale(1); } + 50% { transform: scale(1.2); } + 100% { transform: scale(1); } +} + /* Back To Top Button */ .back-to-top { position: fixed; @@ -155,6 +238,19 @@ transform: translateY(-3px); } +/* Dark Mode Adjustments */ +[data-theme="dark"] .footer { + background-color: var(--gray-900); +} + +[data-theme="dark"] .oss-badge { + background-color: rgba(255, 255, 255, 0.05); +} + +[data-theme="dark"] .social-link { + background-color: rgba(255, 255, 255, 0.1); +} + /* Responsive Design */ @media (max-width: 768px) { .footer-container { @@ -162,11 +258,22 @@ gap: 2rem; } - .footer-links { - margin-top: 1rem; + .footer-description { + max-width: 100%; } .footer-bottom { margin-top: 2rem; } +} + +@media (max-width: 480px) { + .legal-links { + flex-direction: column; + gap: 0.5rem; + } + + .divider { + display: none; + } } \ No newline at end of file diff --git a/styling/base.css b/styling/base.css index 8254312a..17a9d019 100644 --- a/styling/base.css +++ b/styling/base.css @@ -11,6 +11,7 @@ body { background-color: var(--bg-primary); color: var(--text-primary); line-height: 1.6; + margin: 3rem 0 0 0; transition: background-color 0.3s ease, color 0.3s ease; } diff --git a/styling/navbar.css b/styling/header.css similarity index 98% rename from styling/navbar.css rename to styling/header.css index 09eee432..066a293d 100644 --- a/styling/navbar.css +++ b/styling/header.css @@ -63,18 +63,18 @@ .nav-links { display: flex; - gap: 2.25rem; + gap: 2rem; list-style: none; } .nav-link { position: relative; padding: 0.65rem 0; - font-weight: 600; + font-weight: 400; color: var(--text-secondary); text-decoration: none; transition: color 0.3s ease; - font-size: 1.1rem; + font-size: 1rem; } .nav-link::before { @@ -409,4 +409,8 @@ .navbar-logo img { height: 2rem; } + + .navbar-actions { + display: none; + } } \ No newline at end of file From 745b4fedde740e774e2fd63cf1e263805e02f5a0 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Tue, 29 Jul 2025 03:37:31 +0530 Subject: [PATCH 03/36] Updated script.js - Fixed Theme Toggle Function - Optimized the script.js for better readability --- scripts/script.js | 273 ++++++++++++++++++++++++++-------------------- 1 file changed, 156 insertions(+), 117 deletions(-) diff --git a/scripts/script.js b/scripts/script.js index 23b30552..094140ff 100644 --- a/scripts/script.js +++ b/scripts/script.js @@ -2,213 +2,252 @@ document.addEventListener('DOMContentLoaded', () => { // Global DOM Elements const DOM = { searchBranchContainer: document.getElementById('search-parameters-branch'), - searchSemesterContainer: document.getElementById('search-parameters-semester'), - searchSubjectContainer: document.getElementById('search-parameters-subject'), + searchSemesterContainer: document.getElementById( + 'search-parameters-semester' + ), + searchSubjectContainer: document.getElementById( + 'search-parameters-subject' + ), typewriterElement: document.getElementById('typewriter'), searchForm: document.querySelector('.search-form'), yearElement: document.getElementById('year'), - backToTop: document.querySelector('.back-to-top') - }; + backToTop: document.querySelector('.back-to-top'), + } - const TYPEWRITER_WORDS = ['Branch', 'Semester', 'Subject', 'Year']; - let allData = { branches: [] }; + const TYPEWRITER_WORDS = ['Branch', 'Semester', 'Subject', 'Year'] + let allData = { branches: [] } - // =============== Helper Functions =============== + // =============== Helper Functions =============== // const createDropdown = (container, id, placeholder, options) => { - if (!container) return null; + if (!container) return null container.innerHTML = ` - `; + ` - return container.firstElementChild; - }; + return container.firstElementChild + } - // =============== Search =============== + // =============== Search Function =============== // const updateSemesters = () => { - const branchSelect = document.getElementById('selectBranch'); - if (!branchSelect?.value) return; + const branchSelect = document.getElementById('selectBranch') + if (!branchSelect?.value) return - DOM.searchSemesterContainer.innerHTML = ''; - DOM.searchSubjectContainer.innerHTML = ''; + DOM.searchSemesterContainer.innerHTML = '' + DOM.searchSubjectContainer.innerHTML = '' - const branchData = allData.branches.find(b => b.name === branchSelect.value); - if (!branchData?.semesters) return; + const branchData = allData.branches.find( + (b) => b.name === branchSelect.value + ) + if (!branchData?.semesters) return const semesterSelect = createDropdown( DOM.searchSemesterContainer, 'selectSemester', 'Select Semester', - branchData.semesters.map(sem => sem.semester) - ); + branchData.semesters.map((sem) => sem.semester) + ) - semesterSelect?.addEventListener('change', updateSubjects); - }; + semesterSelect?.addEventListener('change', updateSubjects) + } const updateSubjects = () => { - const branchSelect = document.getElementById('selectBranch'); - const semesterSelect = document.getElementById('selectSemester'); - if (!branchSelect?.value || !semesterSelect?.value) return; + const branchSelect = document.getElementById('selectBranch') + const semesterSelect = document.getElementById('selectSemester') + if (!branchSelect?.value || !semesterSelect?.value) return - DOM.searchSubjectContainer.innerHTML = ''; + DOM.searchSubjectContainer.innerHTML = '' - const branchData = allData.branches.find(b => b.name === branchSelect.value); - const semesterData = branchData?.semesters?.find(sem => sem.semester === semesterSelect.value); + const branchData = allData.branches.find( + (b) => b.name === branchSelect.value + ) + const semesterData = branchData?.semesters?.find( + (sem) => sem.semester === semesterSelect.value + ) if (semesterData?.subjects) { createDropdown( DOM.searchSubjectContainer, 'selectSubject', 'Select Subject', - semesterData.subjects.map(sub => Object.values(sub)[0]) - ); + semesterData.subjects.map((sub) => Object.values(sub)[0]) + ) } - }; + } const handleSearch = (e) => { - e.preventDefault(); - const searchInput = DOM.searchForm?.querySelector("input[type='text']"); + e.preventDefault() + const searchInput = DOM.searchForm?.querySelector("input[type='text']") if (searchInput?.value) { - window.location.href = `pages/BrowseNotes.html?query=${encodeURIComponent(searchInput.value)}`; + window.location.href = `pages/BrowseNotes.html?query=${encodeURIComponent( + searchInput.value + )}` } - }; + } - // =============== Typewriter =============== + // =============== Typewriter Effect =============== // const typeWriter = (wordIndex = 0, charIndex = 0, isDeleting = false) => { - if (!DOM.typewriterElement) return; + if (!DOM.typewriterElement) return - const word = TYPEWRITER_WORDS[wordIndex % TYPEWRITER_WORDS.length]; - DOM.typewriterElement.textContent = word.substring(0, isDeleting ? charIndex - 1 : charIndex + 1); + const word = TYPEWRITER_WORDS[wordIndex % TYPEWRITER_WORDS.length] + DOM.typewriterElement.textContent = word.substring( + 0, + isDeleting ? charIndex - 1 : charIndex + 1 + ) - let delay; + let delay if (!isDeleting && charIndex === word.length) { - delay = 2000; - isDeleting = true; + delay = 2000 + isDeleting = true } else if (isDeleting && charIndex === 0) { - delay = 500; - isDeleting = false; - wordIndex++; + delay = 500 + isDeleting = false + wordIndex++ } else { - delay = isDeleting ? 75 : 150; + delay = isDeleting ? 75 : 150 } - setTimeout(() => typeWriter(wordIndex, isDeleting ? charIndex - 1 : charIndex + 1, isDeleting), delay); - }; + setTimeout( + () => + typeWriter( + wordIndex, + isDeleting ? charIndex - 1 : charIndex + 1, + isDeleting + ), + delay + ) + } - // =============== Theme Toggle =============== + // =============== Theme Toggle =============== // const getPreferredTheme = () => { - const stored = localStorage.getItem('theme'); - return stored || (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'); - }; + const stored = localStorage.getItem('theme') + return ( + stored || + (window.matchMedia('(prefers-color-scheme: dark)').matches + ? 'dark' + : 'light') + ) + } const setTheme = (theme) => { - document.documentElement.setAttribute('data-theme', theme); - localStorage.setItem('theme', theme); - }; + document.documentElement.setAttribute('data-theme', theme) + localStorage.setItem('theme', theme) + } const setupThemeToggle = () => { - setTheme(getPreferredTheme()); - document.querySelectorAll('.theme-toggle, .mobile-theme-toggle').forEach(toggle => { - toggle.addEventListener('click', () => { - const current = document.documentElement.getAttribute('data-theme') || 'light'; - setTheme(current === 'dark' ? 'light' : 'dark'); - }); - }); - }; - - // =============== Mobile Menu =============== + setTheme(getPreferredTheme()) + document + .querySelectorAll('.theme-toggle, .mobile-theme-toggle') + .forEach((toggle) => { + toggle.addEventListener('click', () => { + const current = + document.documentElement.getAttribute('data-theme') || 'light' + setTheme(current === 'dark' ? 'light' : 'dark') + }) + }) + } + + // =============== Mobile Menu Navigation =============== // const toggleMobileMenu = () => { - const menuToggle = document.querySelector('.menu-toggle'); - const mobileNav = document.querySelector('.mobile-nav'); - const overlay = document.querySelector('.overlay'); - - menuToggle?.classList.toggle('active'); - mobileNav?.classList.toggle('active'); - overlay?.classList.toggle('active'); - document.body.style.overflow = mobileNav?.classList.contains('active') ? 'hidden' : ''; - }; + const menuToggle = document.querySelector('.menu-toggle') + const mobileNav = document.querySelector('.mobile-nav') + const overlay = document.querySelector('.overlay') + + menuToggle?.classList.toggle('active') + mobileNav?.classList.toggle('active') + overlay?.classList.toggle('active') + document.body.style.overflow = mobileNav?.classList.contains('active') + ? 'hidden' + : '' + } const setupMobileMenu = () => { - const menuToggle = document.querySelector('.menu-toggle'); - const mobileNavLinks = document.querySelectorAll('.mobile-nav-link'); - const overlay = document.querySelector('.overlay'); + const menuToggle = document.querySelector('.menu-toggle') + const mobileNavLinks = document.querySelectorAll('.mobile-nav-link') + const overlay = document.querySelector('.overlay') - menuToggle?.addEventListener('click', toggleMobileMenu); - overlay?.addEventListener('click', toggleMobileMenu); - mobileNavLinks.forEach(link => link.addEventListener('click', toggleMobileMenu)); - }; + menuToggle?.addEventListener('click', toggleMobileMenu) + overlay?.addEventListener('click', toggleMobileMenu) + mobileNavLinks.forEach((link) => + link.addEventListener('click', toggleMobileMenu) + ) + } - // =============== Back to Top =============== + // =============== Back to Top Button =============== // const setupBackToTop = () => { - if (!DOM.backToTop) return; + if (!DOM.backToTop) return window.addEventListener('scroll', () => { - DOM.backToTop.classList.toggle('visible', window.scrollY > 300); - }); + DOM.backToTop.classList.toggle('visible', window.scrollY > 300) + }) DOM.backToTop.addEventListener('click', () => { - window.scrollTo({ top: 0, behavior: 'smooth' }); - }); - }; + window.scrollTo({ top: 0, behavior: 'smooth' }) + }) + } - // =============== Load Components =============== + // =============== Load Components (Header & Footer) =============== // const loadComponents = async () => { try { const [header, footer] = await Promise.all([ - fetch('/components/header.html').then(res => res.text()), - fetch('/components/footer.html').then(res => res.text()) - ]); + fetch('/components/header.html').then((res) => res.text()), + fetch('/components/footer.html').then((res) => res.text()), + ]) - document.getElementById('header-placeholder').innerHTML = header; - document.getElementById('footer-placeholder').innerHTML = footer; + document.getElementById('header-placeholder').innerHTML = header + document.getElementById('footer-placeholder').innerHTML = footer - // Re-initialize header-based features - setupThemeToggle(); - setupMobileMenu(); + // Re-initialize Header-Based Features + setupThemeToggle() + setupMobileMenu() } catch (error) { - console.error('Error loading header/footer:', error); + console.error('Error loading header/footer:', error) } - }; + } - // =============== Init =============== + // =============== Init =============== // const init = async () => { - setupBackToTop(); + setupBackToTop() - if (DOM.typewriterElement) typeWriter(); - if (DOM.searchForm) DOM.searchForm.addEventListener('submit', handleSearch); + if (DOM.typewriterElement) typeWriter() + if (DOM.searchForm) DOM.searchForm.addEventListener('submit', handleSearch) - if (DOM.yearElement) DOM.yearElement.textContent = new Date().getFullYear(); + if (DOM.yearElement) DOM.yearElement.textContent = new Date().getFullYear() - // Load search data + // Load Search Data try { - const response = await fetch('data/search_parameters/parameters.json'); - allData.branches = (await response.json()).branches.filter(b => b.name?.trim()); + const response = await fetch('data/search_parameters/parameters.json') + allData.branches = (await response.json()).branches.filter((b) => + b.name?.trim() + ) const branchSelect = createDropdown( DOM.searchBranchContainer, 'selectBranch', 'Select Branch', - allData.branches.map(b => b.name) - ); + allData.branches.map((b) => b.name) + ) - branchSelect?.addEventListener('change', updateSemesters); + branchSelect?.addEventListener('change', updateSemesters) } catch (error) { - console.error('Error loading search parameters:', error); + console.error('Error loading search parameters:', error) } - // Load header and footer - await loadComponents(); - }; + // Load Header & Footer + await loadComponents() + } - init(); -}); + init() +}) From df4e2f0d05bce87edc313a4adb8ffd0d2ae2e10c Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Wed, 30 Jul 2025 01:03:14 +0530 Subject: [PATCH 04/36] Enhanced Home Page --- index.html | 77 ++++----- pages/overview.html | 1 - styling/home.css | 383 ++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 380 insertions(+), 81 deletions(-) diff --git a/index.html b/index.html index e868c99b..8a4d8515 100644 --- a/index.html +++ b/index.html @@ -78,64 +78,52 @@

Your Go-To Companion for Organized Learning

Key Features

+

+ Powerful tools to organize your academic journey +

+
-
+ +
- - - - - +

Easy Upload

-

Add your notes quickly and effortlessly

+

+ Add your notes quickly and effortlessly with drag & drop + functionality +

+
-
+ +
- - - - +

Sort The Chaos

-

Neatly arrange all your notes in one place

+

Neatly arrange all your notes with smart categorization

+
-
+ +
- - - - +

Search By Tags

-

Find notes using subject tags

+

Find notes instantly using subject tags and keywords

+
+
+ + +
+
+ +
+

Cross-Device Sync

+

Access your notes from any device, anywhere

+
@@ -146,6 +134,5 @@

Search By Tags

- diff --git a/pages/overview.html b/pages/overview.html index 11be9f7f..b9d0e9c8 100644 --- a/pages/overview.html +++ b/pages/overview.html @@ -3,7 +3,6 @@ - NotesVault Home diff --git a/styling/home.css b/styling/home.css index c51cf71a..ea0bc368 100644 --- a/styling/home.css +++ b/styling/home.css @@ -1,37 +1,185 @@ -/* Hero Section */ +/* ====================== + HERO SECTION + ====================== */ .hero { - display: flex; - flex-direction: column; - gap: 2rem; - padding: 6rem 0 4rem; + --hero-padding-y: 8rem; + --search-card-width: 480px; + + position: relative; + padding: var(--hero-padding-y) 0; + overflow: hidden; + isolation: isolate; + background: linear-gradient(to bottom, var(--bg-primary), var(--bg-secondary)); +} + +/* Background Gradient Animation */ +.hero::before { + content: ''; + position: absolute; + top: -50%; + left: -10%; + width: 120%; + height: 200%; + background: radial-gradient( + circle at 70% 50%, + rgba(var(--primary-400), 0.1) 0%, + transparent 70% + ); + opacity: 0.15; + z-index: -1; + animation: gradient-pulse 18s ease-in-out infinite alternate; +} + +@keyframes gradient-pulse { + 0%, 100% { + transform: scale(1) rotate(0deg); + opacity: 0.1; + } + 50% { + transform: scale(1.1) rotate(2deg); + opacity: 0.2; + } +} + +/* Container Layout */ +.hero .container { + display: grid; + grid-template-columns: 1fr var(--search-card-width); + align-items: center; + gap: 4rem; + position: relative; } +/* Hero Content */ .hero-content { - max-width: 600px; + max-width: 640px; + animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) both; } .welcome-text { - display: inline-block; - background-color: var(--accent-300); - color: var(--gray-900); - padding: 0.5rem 1rem; + display: inline-flex; + align-items: center; + background: var(--primary-500); + color: var(--white); + padding: 0.5rem 1.25rem 0.5rem 1rem; border-radius: 2rem; - font-weight: 500; - margin-bottom: 1rem; + font-weight: 600; + margin-bottom: 1.75rem; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); + transform: translateY(0); + transition: all 0.3s ease; +} + +.welcome-text:hover { + transform: translateY(-2px); + box-shadow: 0 6px 25px rgba(0, 0, 0, 0.12); + background: var(--primary-600); +} + +.hero h1 { + font-size: clamp(2.5rem, 5vw, 3.5rem); + line-height: 1.2; + margin-bottom: 1.75rem; + color: var(--text-primary); + animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.1s both; +} + +.hero h1 span { + color: var(--primary-500); +} + +.subtext { + font-size: 1.15rem; + line-height: 1.7; + margin-bottom: 2.25rem; + color: var(--text-secondary); + opacity: 0.9; + animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.2s both; +} + +/* CTA Buttons */ +.cta-buttons { + display: flex; + gap: 1rem; + animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s both; +} + +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0.75rem 1.5rem; + border-radius: 0.75rem; + font-weight: 600; + transition: all 0.3s ease; +} + +.btn-primary { + background: var(--primary-500); + color: var(--white); + box-shadow: 0 4px 15px rgba(0, 140, 45, 0.2); +} + +.btn-primary:hover { + background: var(--primary-600); + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(0, 140, 45, 0.3); +} + +.btn-secondary { + background: var(--bg-secondary); + color: var(--primary-500); + border: 1px solid var(--primary-500); +} + +.btn-secondary:hover { + background: rgba(var(--primary-500), 0.05); + transform: translateY(-2px); } /* Search Card */ .search-card { background-color: var(--card-bg); - border-radius: 1rem; - padding: 1.5rem; - box-shadow: var(--card-shadow); + border-radius: 1.5rem; + padding: 2.25rem; + box-shadow: + 0 12px 40px -12px rgba(0, 0, 0, 0.1), + inset 0 0 0 1px rgba(255, 255, 255, 0.05); width: 100%; - max-width: 500px; + max-width: var(--search-card-width); + border: 1px solid var(--border-color); + transform: translateY(0); + transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); + animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.4s both; } +.search-card:hover { + transform: translateY(-8px); + box-shadow: + 0 20px 50px -15px rgba(0, 0, 0, 0.15), + inset 0 0 0 1px rgba(255, 255, 255, 0.1); +} + +.search-header { + margin-bottom: 1.75rem; +} + +.search-header p { + font-size: 1.15rem; + font-weight: 500; + color: var(--text-primary); + line-height: 1.5; +} + +.search-header p span { + color: var(--primary-500); + font-weight: 600; +} + +/* Search Form */ .search-form { width: 100%; + position: relative; } .search-input { @@ -41,55 +189,220 @@ .search-input svg { position: absolute; - left: 1rem; + left: 1.25rem; top: 50%; transform: translateY(-50%); stroke: var(--text-secondary); + transition: all 0.3s ease; + width: 1.25rem; + height: 1.25rem; } .search-input input { width: 100%; - padding: 0.75rem 1rem 0.75rem 2.5rem; + padding: 1.15rem 1.25rem 1.15rem 3.25rem; border: 1px solid var(--border-color); - border-radius: 0.5rem; + border-radius: 0.85rem; background-color: var(--bg-secondary); color: var(--text-primary); + font-size: 1.05rem; + transition: all 0.3s ease; + box-shadow: + inset 0 1px 3px rgba(0, 0, 0, 0.05), + 0 1px 0 rgba(255, 255, 255, 0.05); +} + +.search-input input:focus { + outline: none; + border-color: var(--primary-500); + box-shadow: + 0 0 0 3px rgba(0, 140, 45, 0.1), + inset 0 1px 3px rgba(0, 0, 0, 0.05); +} + +.search-input input:focus + svg { + stroke: var(--primary-500); +} + +/* ====================== + FEATURES SECTION + ====================== */ +.features { + position: relative; + padding: 6rem 0; + background: var(--bg-primary); + overflow: hidden; +} + +.section-title { + font-size: clamp(2rem, 4vw, 2.5rem); + text-align: center; + margin-bottom: 1rem; + color: var(--text-primary); + position: relative; +} + +.section-title::after { + content: ''; + position: absolute; + bottom: -10px; + left: 50%; + transform: translateX(-50%); + width: 80px; + height: 4px; + background: var(--primary-500); + border-radius: 2px; +} + +.section-subtitle { + text-align: center; + max-width: 600px; + margin: 0 auto 3rem; + font-size: 1.1rem; + color: var(--text-secondary); + opacity: 0.9; } -/* Features Grid */ .features-grid { display: grid; - grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); - gap: 1.5rem; - margin-top: 2rem; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 2rem; + position: relative; } .feature-card { - background-color: var(--card-bg); + position: relative; + background: var(--card-bg); border-radius: 1rem; - padding: 1.5rem; + padding: 2.5rem 2rem; box-shadow: var(--card-shadow); - transition: transform 0.2s ease; + transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); + overflow: hidden; + border: 1px solid var(--border-color); + text-align: center; } .feature-card:hover { - transform: translateY(-5px); + transform: translateY(-10px); + box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1); } .feature-icon { + width: 80px; + height: 80px; + margin: 0 auto 1.5rem; + display: flex; + align-items: center; + justify-content: center; + font-size: 2.2rem; + color: var(--primary-500); + background: rgba(0, 140, 45, 0.1); + border-radius: 50%; + transition: all 0.3s ease; +} + +.feature-card:hover .feature-icon { + transform: scale(1.1); + background: rgba(0, 140, 45, 0.15); +} + +.feature-card h3 { + font-size: 1.4rem; margin-bottom: 1rem; + color: var(--text-primary); } -.feature-icon svg { - stroke: var(--primary-500); +.feature-card p { + color: var(--text-secondary); + line-height: 1.6; +} + +/* ====================== + RESPONSIVE DESIGN + ====================== */ +@media (max-width: 1200px) { + .hero .container { + gap: 3rem; + } +} + +@media (max-width: 1024px) { + .hero { + --hero-padding-y: 6rem; + --search-card-width: 100%; + } + + .hero .container { + grid-template-columns: 1fr; + gap: 3.5rem; + } + + .search-card { + max-width: 600px; + margin: 0 auto; + } +} + +@media (max-width: 768px) { + .hero { + --hero-padding-y: 5rem; + } + + .hero h1 { + font-size: 2.5rem; + } + + .cta-buttons { + flex-direction: column; + gap: 0.75rem; + } + + .search-card { + padding: 1.75rem; + } + + .features { + padding: 4rem 0; + } + + .features-grid { + grid-template-columns: 1fr; + max-width: 400px; + margin: 0 auto; + } } -/* Dark Mode */ -[data-theme="dark"] .feature-icon svg { - stroke: var(--accent-500); +@media (max-width: 480px) { + .hero { + --hero-padding-y: 4rem; + } + + .hero h1 { + font-size: 2.25rem; + } + + .subtext { + font-size: 1.05rem; + } + + .search-card { + padding: 1.5rem; + border-radius: 1.25rem; + } + + .search-input input { + padding: 1rem 1rem 1rem 3rem; + } } -[data-theme="dark"] .welcome-text { - background-color: var(--primary-700); - color: white; +/* Animations */ +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(30px); + } + to { + opacity: 1; + transform: translateY(0); + } } \ No newline at end of file From 072a076053bd03fa3d2c90fe3e57d4e2d53d5403 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Wed, 30 Jul 2025 03:40:32 +0530 Subject: [PATCH 05/36] Modified Overview Page - Enhanced Overview Page Styling - Enhanced Navbar & Footer - Fixed Page Navigation Links --- components/Header.html | 25 +-- components/footer.html | 35 +-- pages/overview.html | 417 ++++++++++++++++++++---------------- scripts/script.js | 24 ++- styling/Footer.css | 16 +- styling/base.css | 4 +- styling/header.css | 28 ++- styling/home.css | 65 +++--- styling/overview.css | 476 +++++++++++++++++++++++++++++------------ 9 files changed, 687 insertions(+), 403 deletions(-) diff --git a/components/Header.html b/components/Header.html index b1f2c176..59d888c7 100644 --- a/components/Header.html +++ b/components/Header.html @@ -15,10 +15,8 @@ - + + @@ -27,22 +25,26 @@ - diff --git a/components/footer.html b/components/footer.html index 5a613b65..2534f69a 100644 --- a/components/footer.html +++ b/components/footer.html @@ -26,7 +26,7 @@
+ + +
+
+
+ Why Choose NotesVault +

Key Features Designed for Students

+

+ Everything you need to keep your academic materials organized and + accessible +

+
+ +
+
+
+ +
+

Smart Search

+

Find notes instantly using keywords, subjects, or filters

+
-
- -
Subject-wise Tagging
-

Organize notes by subject for quick discovery.

-
+
+
+ +
+

Easy Upload

+

Share your notes with simple drag & drop functionality

+
-
- -
Semester Sorting
-

View notes semester-wise with structured layout.

-
+
+
+ +
+

Tagging System

+

Organize by subject, semester, or topic for quick access

+
-
- -
Quick Search Bar
-

Use the search bar to access any topic in seconds.

-
-
-
- - -
-

Why Should You Use It?

- -
-
- -
Reduces Chaos During Exams
-

No more hunting for notes across different platforms โ€” find everything in one place.

-
+
+
+ +
+

Semester Structure

+

View materials organized by your academic timeline

+
-
- -
Makes Collaboration Easier
-

Upload and share notes with classmates seamlessly, encouraging group learning.

-
+
+
+ +
+

Multiple Formats

+

Supports PDFs, images, text files, and more

+
-
- -
Beginner Friendly
-

Simple and intuitive interface that's easy to use even for first-time users.

+
+
+ +
+

Collaboration

+

Share and discover notes with classmates

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

Transform Your Study Habits

+
+
+ +
+

Save Time

+

+ No more hunting through multiple platforms for your notes +

- - +
+ +
+

Reduce Stress

+

Organized materials mean less exam-time chaos

- - +
+ +
+

Improve Grades

+

Better organization leads to more effective studying

+
+
+
+
+ Student studying illustration +
+
+
+ + +
+
+

What Students Are Saying

+
+
+
+

+ "NotesVault completely changed how I organize my study + materials. Now I can find anything in seconds!" +

+
+
+ Student profile +
+

Pranav K

+ Computer Science Student +
+
- +
+ + +
+
+

Ready to Organize Your Learning?

+

+ Join thousands of students who are studying smarter with NotesVault +

+
- - - - +
+ + + + + + + + diff --git a/scripts/script.js b/scripts/script.js index 094140ff..dd4ee3a9 100644 --- a/scripts/script.js +++ b/scripts/script.js @@ -211,6 +211,24 @@ document.addEventListener('DOMContentLoaded', () => { // Re-initialize Header-Based Features setupThemeToggle() setupMobileMenu() + + // =============== Set Active Nav Link =============== // + const currentPath = window.location.pathname.split('/').pop() + + document.querySelectorAll('.nav-link').forEach((link) => { + const linkPath = link.getAttribute('href')?.split('/').pop() + if (linkPath === currentPath) { + link.classList.add('active') + } + }) + + // =============== Set Active Footer Link =============== // + document.querySelectorAll('.footer-link').forEach((link) => { + const linkPath = link.getAttribute('href')?.split('/').pop() + if (linkPath === currentPath) { + link.classList.add('active') + } + }) } catch (error) { console.error('Error loading header/footer:', error) } @@ -219,8 +237,6 @@ document.addEventListener('DOMContentLoaded', () => { // =============== Init =============== // const init = async () => { - setupBackToTop() - if (DOM.typewriterElement) typeWriter() if (DOM.searchForm) DOM.searchForm.addEventListener('submit', handleSearch) @@ -247,6 +263,10 @@ document.addEventListener('DOMContentLoaded', () => { // Load Header & Footer await loadComponents() + + // Load Back To Top Button + DOM.backToTop = document.querySelector('.back-to-top') + setupBackToTop() } init() diff --git a/styling/Footer.css b/styling/Footer.css index 7f8f638f..410378ec 100644 --- a/styling/Footer.css +++ b/styling/Footer.css @@ -26,10 +26,20 @@ display: flex; align-items: center; gap: 0.75rem; - font-size: 1.5rem; + text-transform: uppercase; + font-size: 1.4rem; font-weight: 700; - color: var(--text-primary); + color: var(--primary-400) !important; text-decoration: none; + transition: none !important; +} + +.footer-logo:hover { + color: var(--primary-400) !important; +} + +.footer-logo:hover { + transform: none; } .footer-logo img { @@ -223,7 +233,7 @@ visibility: hidden; transform: translateY(1rem); transition: all 0.3s ease; - z-index: 999; + z-index: 9999; box-shadow: 0 4px 15px rgba(0, 140, 45, 0.3); } diff --git a/styling/base.css b/styling/base.css index 17a9d019..90432977 100644 --- a/styling/base.css +++ b/styling/base.css @@ -42,6 +42,8 @@ a:hover { color: var(--primary-700); } + + /* Buttons */ .btn { display: inline-flex; @@ -73,7 +75,7 @@ a:hover { } .btn-secondary:hover { - background-color: var(--gray-100); + /* background-color: var(--gray-500); */ border-color: var(--gray-300); } diff --git a/styling/header.css b/styling/header.css index 066a293d..009013ea 100644 --- a/styling/header.css +++ b/styling/header.css @@ -37,15 +37,20 @@ display: flex; align-items: center; gap: 0.75rem; - font-size: 1.5rem; + text-transform: uppercase; + font-size: 1.4rem; font-weight: 700; - color: var(--text-primary); + color: var(--primary-400) !important; text-decoration: none; - transition: transform 0.3s ease; + transition: none !important; } .navbar-logo:hover { - transform: scale(1.05); + color: var(--primary-400) !important; +} + +.navbar-logo:hover { + transform: none; } .navbar-logo img { @@ -63,14 +68,14 @@ .nav-links { display: flex; - gap: 2rem; + gap: 2.5rem; list-style: none; } .nav-link { position: relative; padding: 0.65rem 0; - font-weight: 400; + font-weight: 600; color: var(--text-secondary); text-decoration: none; transition: color 0.3s ease; @@ -81,22 +86,23 @@ content: ''; position: absolute; bottom: 0; - left: 0; + left: 50%; + transform: translateX(-50%); width: 0; - height: 3px; - background-color: var(--primary-500); + height: 2px; + background-color: var(--primary-400); border-radius: 3px; transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1); } .nav-link:hover, .nav-link.active { - color: var(--primary-500); + color: var(--primary-400); } .nav-link:hover::before, .nav-link.active::before { - width: 100%; + width: 65%; } /* Auth Buttons */ diff --git a/styling/home.css b/styling/home.css index ea0bc368..c4701614 100644 --- a/styling/home.css +++ b/styling/home.css @@ -1,18 +1,19 @@ -/* ====================== - HERO SECTION - ====================== */ +/* Hero Section */ .hero { --hero-padding-y: 8rem; --search-card-width: 480px; - position: relative; padding: var(--hero-padding-y) 0; overflow: hidden; isolation: isolate; - background: linear-gradient(to bottom, var(--bg-primary), var(--bg-secondary)); + background: linear-gradient( + to bottom, + var(--bg-primary), + var(--bg-secondary) + ); } -/* Background Gradient Animation */ +/* Background Gradient */ .hero::before { content: ''; position: absolute; @@ -21,8 +22,8 @@ width: 120%; height: 200%; background: radial-gradient( - circle at 70% 50%, - rgba(var(--primary-400), 0.1) 0%, + circle at 70% 50%, + rgba(var(--primary-400), 0.1) 0%, transparent 70% ); opacity: 0.15; @@ -31,7 +32,8 @@ } @keyframes gradient-pulse { - 0%, 100% { + 0%, + 100% { transform: scale(1) rotate(0deg); opacity: 0.1; } @@ -142,8 +144,7 @@ background-color: var(--card-bg); border-radius: 1.5rem; padding: 2.25rem; - box-shadow: - 0 12px 40px -12px rgba(0, 0, 0, 0.1), + box-shadow: 0 12px 40px -12px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.05); width: 100%; max-width: var(--search-card-width); @@ -155,8 +156,7 @@ .search-card:hover { transform: translateY(-8px); - box-shadow: - 0 20px 50px -15px rgba(0, 0, 0, 0.15), + box-shadow: 0 20px 50px -15px rgba(0, 0, 0, 0.15), inset 0 0 0 1px rgba(255, 255, 255, 0.1); } @@ -207,16 +207,14 @@ color: var(--text-primary); font-size: 1.05rem; transition: all 0.3s ease; - box-shadow: - inset 0 1px 3px rgba(0, 0, 0, 0.05), + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.05); } .search-input input:focus { outline: none; border-color: var(--primary-500); - box-shadow: - 0 0 0 3px rgba(0, 140, 45, 0.1), + box-shadow: 0 0 0 3px rgba(0, 140, 45, 0.1), inset 0 1px 3px rgba(0, 0, 0, 0.05); } @@ -224,9 +222,8 @@ stroke: var(--primary-500); } -/* ====================== - FEATURES SECTION - ====================== */ + +/* Features Section */ .features { position: relative; padding: 6rem 0; @@ -317,9 +314,8 @@ line-height: 1.6; } -/* ====================== - RESPONSIVE DESIGN - ====================== */ + +/* Responsive Design */ @media (max-width: 1200px) { .hero .container { gap: 3rem; @@ -331,12 +327,12 @@ --hero-padding-y: 6rem; --search-card-width: 100%; } - + .hero .container { grid-template-columns: 1fr; gap: 3.5rem; } - + .search-card { max-width: 600px; margin: 0 auto; @@ -347,16 +343,16 @@ .hero { --hero-padding-y: 5rem; } - + .hero h1 { font-size: 2.5rem; } - + .cta-buttons { flex-direction: column; gap: 0.75rem; } - + .search-card { padding: 1.75rem; } @@ -364,7 +360,7 @@ .features { padding: 4rem 0; } - + .features-grid { grid-template-columns: 1fr; max-width: 400px; @@ -376,25 +372,26 @@ .hero { --hero-padding-y: 4rem; } - + .hero h1 { font-size: 2.25rem; } - + .subtext { font-size: 1.05rem; } - + .search-card { padding: 1.5rem; border-radius: 1.25rem; } - + .search-input input { padding: 1rem 1rem 1rem 3rem; } } + /* Animations */ @keyframes fadeInUp { from { @@ -405,4 +402,4 @@ opacity: 1; transform: translateY(0); } -} \ No newline at end of file +} diff --git a/styling/overview.css b/styling/overview.css index a48abcdf..b6eaf2bc 100644 --- a/styling/overview.css +++ b/styling/overview.css @@ -1,204 +1,412 @@ -.heading1{ - text-align: center; - margin-top: 7%; - font-size: calc(14px+8vw); +/* Hero Section */ +.hero { + padding: 8rem 0; + background: linear-gradient(to bottom, var(--bg-primary), var(--bg-secondary)); + position: relative; + overflow: hidden; +} +.hero .container { + display: flex; + align-items: center; + justify-content: space-between; + gap: 3rem; + position: relative; + z-index: 2; } -.content{ - padding-left: 10%; - padding-right: 10%; - text-align: center; - color: rgb(90, 134, 90); - margin-bottom: 6%; +.hero-content { + flex: 1; + max-width: 600px; } -.footer-heading{ - margin: 15%; + +.hero-image { + flex: 1; + display: flex; + justify-content: center; + align-items: center; } -.features-heading { - text-align: center; - font-size: calc(18px + 0.4vw); - margin-bottom: 30px; + +.hero-image img { + max-width: 100%; + height: auto; + animation: float 6s ease-in-out infinite; +} + +.welcome-badge { + display: inline-block; + background-color: var(--primary-500); + color: white; + padding: 0.5rem 1rem; + border-radius: 2rem; + font-size: 0.875rem; + font-weight: 600; + margin-bottom: 1.5rem; +} + +.hero h1 { + font-size: 3rem; + margin-bottom: 1.5rem; + line-height: 1.2; +} + +.text-accent { + color: var(--accent-500); +} + +.hero-subtext { + font-size: 1.125rem; + margin-bottom: 2rem; + color: var(--text-secondary); +} + +.cta-buttons { + display: flex; + gap: 1rem; + margin-top: 2rem; +} + +.btn i { + margin-right: 0.5rem; +} + + +/* Features Section */ +.features { + padding: 6rem 0; + background-color: var(--bg-primary); +} + +.section-header { + text-align: center; + max-width: 700px; + margin: 0 auto 3rem; +} + +.section-subtitle { + display: inline-block; + color: var(--primary-500); + font-weight: 600; + margin-bottom: 1rem; + text-transform: uppercase; + letter-spacing: 0.05em; + font-size: 0.875rem; +} + +.section-description { + font-size: 1.125rem; + color: var(--text-secondary); } .features-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); - gap: 20px; - padding: 0 50px; - margin-bottom: 5%; - text-align: center; - display: flex; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; +} +.feature-card { + background-color: var(--card-bg); + border-radius: 1rem; + padding: 2rem; + box-shadow: var(--card-shadow); + transition: transform 0.3s ease, box-shadow 0.3s ease; + border: 1px solid var(--border-color); } -.box-feature { - /* background-color: #e4f5e9; */ - border: 2px solid #163d3b; - border-radius: 15px; - padding: 20px; - text-align: center; - min-height: 220px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - transition: transform 0.2s ease; - background-color: white; +.feature-card:hover { + transform: translateY(-5px); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); } -.box-feature:hover { - transform: translateY(-9px); - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); +.feature-icon { + width: 60px; + height: 60px; + border-radius: 50%; + background-color: var(--primary-50); + color: var(--primary-500); + display: flex; + align-items: center; + justify-content: center; + font-size: 1.5rem; + margin-bottom: 1.5rem; } -.box-feature i { - font-size: 30px; - color: #eda950; - margin-bottom: 12px; +.feature-card h3 { + font-size: 1.25rem; + margin-bottom: 0.75rem; } -.feature-title { - font-size: 18px; - font-weight: 600; - margin-bottom: 8px; +.feature-card p { + font-size: 1rem; + color: var(--text-secondary); } -.feature-desc { - font-size: 14px; - color: #444; + +/* Benefits Section */ +.benefits { + padding: 6rem 0; + background-color: var(--bg-secondary); } -.why { - /* background-color: #f5fdf7; */ - padding: 60px 30px; - text-align: center; +.benefits .container { + display: flex; + align-items: center; + gap: 4rem; } -.why-heading { - font-size: calc(20px + 1vw); - color: #eda950; - margin-bottom: 40px; +.benefits-content { + flex: 1; } -.why-cards { - display: flex; - flex-wrap: wrap; - justify-content: center; - gap: 25px; +.benefits-image { + flex: 1; + display: flex; + justify-content: center; } -.why-card { - background-color: #ffffff; - border: 2px solid #eda950; - border-radius: 15px; - padding: 25px; - width: 280px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); - transition: transform 0.3s ease; +.benefits-image img { + max-width: 100%; + height: auto; + border-radius: 1rem; } -.why-card:hover { - transform: translateY(-8px); - box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1); +.benefits h2 { + font-size: 2.25rem; + margin-bottom: 2rem; } -.why-card i { - font-size: 32px; - color: #163d3b; - margin-bottom: 15px; +.benefits-list { + display: flex; + flex-direction: column; + gap: 2rem; } -.why-card h5 { - font-size: 18px; - font-weight: 600; - margin-bottom: 10px; - color: orange; +.benefit-item { + display: flex; + align-items: flex-start; + gap: 1.5rem; } -.why-card p { - font-size: 14px; - color: #555; +.benefit-item i { + font-size: 1.5rem; + color: var(--primary-500); + background-color: var(--primary-50); + width: 50px; + height: 50px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; } -.notesvault-section { - padding: 30px; - font-family: 'Segoe UI', sans-serif; + +.benefit-item h3 { + font-size: 1.25rem; + margin-bottom: 0.5rem; +} + +.benefit-item p { + font-size: 1rem; } -.section { - margin-bottom: 40px; - background-color: #f5f9f5; - padding: 20px; - border-radius: 15px; - box-shadow: 0px 2px 10px rgba(0,0,0,0.05); + +/* Testimonials Section */ +.testimonials { + padding: 6rem 0; + background-color: var(--bg-primary); + text-align: center; } -.section h2 { - color: #4bac4b; - margin-bottom: 10px; +.testimonials h2 { + font-size: 2.25rem; + margin-bottom: 3rem; } -.section ul { - padding-left: 20px; +.testimonial-cards { + display: flex; + gap: 2rem; + justify-content: center; + flex-wrap: wrap; } -.section ul li { - margin-bottom: 10px; +.testimonial-card { + background-color: var(--card-bg); + border-radius: 1rem; + padding: 2rem; + box-shadow: var(--card-shadow); + max-width: 400px; + text-align: left; + border: 1px solid var(--border-color); + transition: transform 0.3s ease; } -blockquote { - background-color: #e6f4ea; - padding: 10px 15px; - border-left: 5px solid #4CAF50; +.testimonial-card:hover { + transform: translateY(-5px); +} + +.testimonial-content { + margin-bottom: 1.5rem; font-style: italic; - margin: 15px 0; + color: var(--text-secondary); + position: relative; +} + +.testimonial-content::before { + content: '"'; + font-size: 4rem; + color: var(--primary-100); + position: absolute; + top: -1.5rem; + left: -1rem; + line-height: 1; + z-index: 0; +} + +.testimonial-author { + display: flex; + align-items: center; + gap: 1rem; +} + +.testimonial-author img { + width: 50px; + height: 50px; + border-radius: 50%; + object-fit: cover; +} + +.testimonial-author h4 { + font-size: 1rem; + margin-bottom: 0.25rem; } -.linktogithub{ - text-decoration: none; +.testimonial-author span { + font-size: 0.875rem; + color: var(--text-secondary); } -/* Dark Mode Styles */ -[data-theme="dark"] .box-feature { - background-color: #2a2a2a; - border-color: #dff8f8; - color: #dff8f8; + +/* CTA Section */ +.cta { + padding: 6rem 0; + background: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%); + color: white; + text-align: center; + } -[data-theme="dark"] .feature-title { - color: #dff8f8; +.cta h2 { + font-size: 2.25rem; + margin-bottom: 1rem; + color: white; } -[data-theme="dark"] .feature-desc { - color: #b0b0b0; +.cta p { + font-size: 1.125rem; + max-width: 600px; + margin: 0 auto 2rem; + color: rgba(255, 255, 255, 0.9); } -[data-theme="dark"] .why-card { - background-color: #2a2a2a; - border-color: #eda950; - color: #dff8f8; +.cta-button { + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; + gap: 1rem; + margin-top: 2rem; } -[data-theme="dark"] .why-card h5 { - color: #dff8f8; +.cta .btn-primary { + background-color: white; + color: var(--primary-500); } -[data-theme="dark"] .why-card p { - color: #b0b0b0; +.cta .btn-primary:hover { + background-color: var(--primary-50); + color: var(--primary-600); } -[data-theme="dark"] .heading1 { - color: #dff8f8; +.cta .btn-secondary { + background-color: transparent; + color: white; + border: 1px solid rgba(255, 255, 255, 0.3); } -[data-theme="dark"] .content { - color: #a0c4a0; +.cta .btn-secondary:hover { + background-color: rgba(255, 255, 255, 0.1); + border-color: white; } -[data-theme="dark"] .features-heading { - color: #dff8f8; + +/* Animations */ +@keyframes float { + 0% { + transform: translateY(0px); + } + 50% { + transform: translateY(-15px); + } + 100% { + transform: translateY(0px); + } } -[data-theme="dark"] .why-heading { - color: #eda950; + +/* Responsive Design */ +@media (max-width: 992px) { + .hero .container, + .benefits .container { + flex-direction: column; + text-align: center; + } + + .hero-content { + max-width: 100%; + } + + .cta-buttons { + justify-content: center; + } + + .benefits-image { + order: -1; + } +} + +@media (max-width: 768px) { + h1 { + font-size: 2.25rem; + } + + h2 { + font-size: 1.75rem; + } + + .hero h1 { + font-size: 2.5rem; + } + + .cta-buttons { + flex-direction: column; + gap: 1rem; + } + + .btn { + width: 100%; + } +} + +@media (max-width: 576px) { + .section { + padding: 3rem 0; + } + + .hero { + padding: 3rem 0; + } + + .features-grid { + grid-template-columns: 1fr; + } } \ No newline at end of file From 99627f7d1f7877a901c2c7ce2742796fed8f316a Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Wed, 30 Jul 2025 23:28:34 +0530 Subject: [PATCH 06/36] Deleted overview_darktheme.js - Removed unused JS script for Dark Mode Toggle --- scripts/overview_darktheme.js | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 scripts/overview_darktheme.js diff --git a/scripts/overview_darktheme.js b/scripts/overview_darktheme.js deleted file mode 100644 index bdfab0c8..00000000 --- a/scripts/overview_darktheme.js +++ /dev/null @@ -1,24 +0,0 @@ - -document.addEventListener('DOMContentLoaded', () => { - function toggleTheme() { - const html = document.documentElement; - const currentTheme = html.getAttribute('data-theme') || 'light'; - const newTheme = currentTheme === 'dark' ? 'light' : 'dark'; - html.setAttribute('data-theme', newTheme); - localStorage.setItem('theme', newTheme); - } - - function initTheme() { - const savedTheme = localStorage.getItem('theme'); - const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; - document.documentElement.setAttribute('data-theme', savedTheme || (prefersDark ? 'dark' : 'light')); - } - - const themeToggleButton = document.getElementById('themeToggle'); - if (themeToggleButton) { - themeToggleButton.addEventListener('click', toggleTheme); - } - - initTheme(); -}); - From 201e35f3c8ab59e0a6811e43ea7e7aa687d87ae1 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Thu, 31 Jul 2025 00:48:11 +0530 Subject: [PATCH 07/36] Enhanced About Page - Removed hard-coded header/footer and added dynamic ones - Enhanced the overall page styling to match the website aesthetics --- pages/about.html | 670 ++++++++++--------------- styling/about.css | 1214 ++++++++++++--------------------------------- 2 files changed, 583 insertions(+), 1301 deletions(-) diff --git a/pages/about.html b/pages/about.html index bace40e9..b087407b 100644 --- a/pages/about.html +++ b/pages/about.html @@ -3,477 +3,341 @@ - - - About - NotesVault + NotesVault - About + + + + + + - - + + + + -
- -
+ +
-
+
-
-
-

About NotesVault

-

Empowering Students Through Collaborative Learning

-
-
- 500+ - Notes Shared -
-
- 100+ - Contributors -
-
- 24/7 - Available +
+
+
+

About NotesVault

+

+ Empowering Students Through Collaborative Learning +

+ +
+
+ 0 + Notes Shared +
+
+ 0 + Contributors +
+
+ 24/7 + Availability +
-
+ -
-
-
-

What is NotesVault?

-

- NotesVault is a revolutionary, open-source platform designed specifically for students who believe in the power of collaborative learning. We've created a centralized hub where academic notes, Previous Year Questions (PYQs), and study materials are organized, accessible, and community-driven. -

-

- Born from the frustration of scattered resources across WhatsApp groups, Google Drives, and countless broken links, NotesVault brings order to the chaos of student life. Our platform doesn't just store your notesโ€”it builds bridges between learners, fostering a supportive ecosystem where knowledge flows freely. -

-
-
-
-
- - Collaborative +
+
+
+
+

What is NotesVault?

+

+ NotesVault is a revolutionary platform designed for students who + believe in collaborative learning. We provide a centralized hub + where academic notes, Previous Year Questions (PYQs), and study + materials are organized and accessible. +

+

+ Born from the frustration of scattered resources across WhatsApp + groups and Google Drives, NotesVault brings order to student + life by building bridges between learners and fostering a + supportive knowledge-sharing ecosystem. +

+
+ +
+
+ + Community-Driven
-
- - Searchable +
+ + Smart Search
-
- - Responsive +
+ + Mobile-Friendly
-
- +
+ Open Source
-
+
-
- -
-
- -

Our Mission & Vision

-
-
-
-
- -

Mission

+ +
+
+
+

Our Mission & Vision

+

The driving force behind NotesVault

+
+ +
+
+
+
+

Mission

- To democratize academic access by providing a centralized, open-source platform where students can seamlessly share, browse, and store academic resources like notes and PYQs, breaking down barriers to quality education. + To democratize academic access by providing a centralized + platform where students can seamlessly share, browse, and store + academic resources, breaking down barriers to quality education.

-
-
-
- -

Vision

+ + +
+
+
+

Vision

- To create a world where learning is truly collaborative, efficient, and accessible for every studentโ€”regardless of their background, college, or resourcesโ€”by eliminating knowledge silos and fostering a supportive global learning community. + To create a world where learning is collaborative and accessible + for every student by eliminating knowledge silos and fostering a + global learning community.

-
+
+
- -
-
- -

Transforming Student Life

-
- -
-
-

The Problem We Solve

-
- - "Students were drowning in scattered notes across WhatsApp groups, broken Google Drive links, and disorganized folders. We knew there had to be a better way." - -
-
- -
-
-
- -
-

Unified Resource Hub

-

No more digging through endless chat threads or broken drives. Everything you need is organized in one accessible location.

+ +
+
+
+

The Problem We Solve

+

+ Transforming student learning experiences +

+
+ +
+

+ "Students were drowning in scattered notes across WhatsApp groups, + broken Google Drive links, and disorganized folders. We knew there + had to be a better way." +

+
- Student Feedback
+
+ +
+
+
+
- -
-
- -
-

Smart Search & Filtering

-

Find exactly what you need with intelligent subject tags, semester filters, and advanced search capabilities.

+

Unified Resource Hub

+

+ No more digging through endless chat threads. Everything you + need is organized in one accessible location. +

+
+ +
+
+
- -
-
- -
-

Community-Driven

-

Every student can contribute, creating a thriving ecosystem of shared knowledge and collaborative learning.

+

Smart Search

+

+ Find exactly what you need with intelligent subject tags, + semester filters, and advanced search capabilities. +

+
+ +
+
+
- -
-
- -
-

24/7 Availability

-

Access your study materials anytime, anywhere. No more last-minute panic before exams.

+

Community-Driven

+

+ Every student can contribute, creating a thriving ecosystem of + shared knowledge. +

+
+ +
+
+
-
+

24/7 Availability

+

+ Access your study materials anytime, anywhere. No more + last-minute panic before exams. +

+
+ - -
-
- -

Built with Modern Technology

-
- -
+ +
+
+
+

Our Technology

+

+ Built with modern, reliable technologies +

+
+ +
-
- -

Frontend

- Current -
-
-
- +

+ Frontend +

+
    +
  • + HTML5 - Semantic markup for accessibility -
-
- + Semantic Markup + +
  • + CSS3 - Modern styling with flexbox & grid -
  • -
    - + Modern Styling + +
  • + JavaScript - Interactive user experience -
  • -
    + Interactive UX + +
    - +
    -
    - -

    Backend

    - Planned -
    -
    -
    - +

    + Backend + (Planned) +

    +
      +
    • + Node.js - Server-side JavaScript runtime -
    -
    - - Express.js - Fast web application framework -
    -
    - + JavaScript Runtime + +
  • + + Express + Web Framework +
  • +
  • + Firebase - Authentication & real-time database -
  • -
    -
    - -
    -
    - -

    DevOps & Tools

    - Planned -
    -
    -
    - - GitHub Actions - Continuous integration & deployment -
    -
    - - MongoDB - Document-based database -
    -
    - - Tailwind CSS - Utility-first CSS framework -
    -
    + Database & Auth + +
    +
    - -
    -
    - -

    Open Source & Community Driven

    -
    - -
    -
    -
    - - Made with Love by the Community -
    - -

    - NotesVault is proudly open-source and welcomes contributors of all skill levels! Whether you're a beginner looking to make your first contribution or an experienced developer wanting to add advanced features, there's a place for you in our community. + +

    +
    +
    +
    +

    Join Our Open Source Community

    +

    + NotesVault is built by students, for students. We welcome + contributors of all skill levels!

    - -
    -
    - - Star Us on GitHub -
    -
    - - Fork & Contribute -
    -
    - - Report Issues -
    -
    -
    - -
    -

    How to Get Started

    -
    -
    -
    1
    -
    -

    Explore the Codebase

    -

    Visit our GitHub repository and familiarize yourself with the project structure

    -
    -
    -
    -
    2
    -
    -

    Find Good First Issues

    -

    Look for issues labeled "good first issue" - perfect for newcomers

    -
    -
    -
    -
    3
    -
    -

    Join the Community

    -

    Connect with other contributors and get help when you need it

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

    Join Our Growing Community

    -
    - -
    -
    -

    NotesVault isn't just a platformโ€”it's a movement. We're building a community of learners, creators, and innovators who believe that education should be accessible to everyone.

    -
    - -
    -
    -
    - -
    -
    - 100+ - Active Contributors +
    +
    + 1 +
    +

    Explore the Codebase

    +

    + Visit our GitHub repository to understand the project + structure +

    -
    -
    -
    - -
    -
    - 500+ - Notes Shared -
    -
    -
    -
    - + + +
    + 2 +
    +

    Find First Issues

    +

    + Look for issues labeled "good first issue" - perfect for + newcomers +

    -
    - 50+ - Universities +
    + +
    + 3 +
    +

    Join the Community

    +

    + Connect with other contributors and get help when you need + it +

    -
    +
    -
    -
    -
    -
    -
    - -
    - + + + diff --git a/styling/about.css b/styling/about.css index 4f474e35..036cee19 100644 --- a/styling/about.css +++ b/styling/about.css @@ -1,1046 +1,464 @@ -/* Base Styles */ -body { - background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%); - color: white; - display: flex; - flex-direction: column; - margin: 0; - font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; - line-height: 1.6; -} - -#header { - background-color: black; - color: white; -} - -#header a { - color: white; -} - -#header .hover-sidebar a{ - color:white; - display: flex; - font-size: 19px; - margin-left: 7px; - /* font-weight: bold; */ - -} -ul { - list-style-type: none; - padding: 0; /* optional: removes default padding */ - margin: 0; /* optional: removes default margin */ -} - -#header .hover-sidebar a:hover{ - color: #064e3b; - text-decoration: #064e3b; - text-decoration: wavy; - font-weight: bold; - text-transform: capitalize; -} - -/* Main Content */ -.main_content { - padding-top: 20px; - background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%); - color: white; - min-height: 100vh; +.about-page { + padding-bottom: 4rem; } /* Hero Section */ -.hero-section { - background: linear-gradient(135deg, #064e3b 0%, #0f172a 100%); - padding: 4rem 2rem; - text-align: center; - margin-bottom: 3rem; - position: relative; - overflow: hidden; -} - -.hero-section::before { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: url('data:image/svg+xml,'); - opacity: 0.3; +.about-hero { + background: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%); + color: var(--white); + padding: 8rem 0 6rem 0; + position: relative; + overflow: hidden; } -.hero-content { - position: relative; - z-index: 1; - max-width: 800px; - margin: 0 auto; +.about-hero .container { + position: relative; + z-index: 2; } -.hero-title { - color: #d1fae5; - font-size: 3.5rem; - font-weight: 700; - margin-bottom: 1rem; - text-shadow: 2px 2px 4px rgba(0,0,0,0.3); +.about-hero h1 { + font-size: 3rem; + margin-bottom: 1rem; + color: var(--white); + text-align: center; } .hero-subtitle { - color: #eda950; - font-size: 1.5rem; - font-weight: 300; - margin-bottom: 3rem; - opacity: 0.9; + font-size: 1.25rem; + text-align: center; + margin-bottom: 3rem; + color: rgba(255, 255, 255, 0.9); + max-width: 700px; + margin-left: auto; + margin-right: auto; } .hero-stats { - display: flex; - justify-content: center; - gap: 3rem; - flex-wrap: wrap; + display: flex; + justify-content: center; + gap: 3rem; + margin-top: 3rem; + flex-wrap: wrap; } .stat-item { - text-align: center; - padding: 1rem; - border-radius: 10px; - background: rgba(255, 255, 255, 0.1); - backdrop-filter: blur(10px); - border: 1px solid rgba(255, 255, 255, 0.1); + text-align: center; + min-width: 120px; } .stat-number { - display: block; - font-size: 2.5rem; - font-weight: 700; - color: #d1fae5; - margin-bottom: 0.5rem; + display: block; + font-size: 2.5rem; + font-weight: 700; + margin-bottom: 0.5rem; + color: var(--white); } .stat-label { - color: #eda950; - font-size: 1rem; - text-transform: uppercase; - letter-spacing: 1px; -} - -/* Introduction Section */ -.intro-section { - padding: 4rem 2rem; - max-width: 1200px; - margin: 0 auto; + font-size: 1rem; + color: rgba(255, 255, 255, 0.8); } -.intro-content { - display: grid; - grid-template-columns: 2fr 1fr; - gap: 4rem; - align-items: center; -} -.intro-text h2 { - color: #eda950; - font-size: 2.5rem; - margin-bottom: 2rem; - font-weight: 600; +/* Introduction Section */ +.about-intro { + padding: 5rem 0; + background-color: var(--bg-primary); } -.intro-text p { - color: #dff8f8; - font-size: 1.1rem; - margin-bottom: 1.5rem; - line-height: 1.8; +.intro-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 4rem; + align-items: center; } -.feature-grid { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 1.5rem; +.intro-content h2 { + font-size: 2.25rem; + color: var(--primary-500); + margin-bottom: 1.5rem; } -.feature-icon { - background: linear-gradient(135deg, #064e3b 0%, #047857 100%); - padding: 2rem; - border-radius: 15px; - text-align: center; - color: #d1fae5; - border: 1px solid rgba(16, 185, 129, 0.3); - transition: transform 0.3s ease, box-shadow 0.3s ease; +.intro-content p { + font-size: 1.1rem; + line-height: 1.7; + margin-bottom: 1.5rem; } -.feature-icon:hover { - transform: translateY(-5px); - box-shadow: 0 10px 30px rgba(16, 185, 129, 0.3); +.intro-features { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 1rem; } -.feature-icon i { - font-size: 2rem; - margin-bottom: 1rem; - display: block; +.feature-pill { + background-color: var(--bg-secondary); + border: 1px solid var(--border-color); + border-radius: 2rem; + padding: 1rem 1.5rem; + display: flex; + align-items: center; + gap: 0.75rem; + transition: var(--transition); } -.feature-icon span { - font-size: 1rem; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 1px; +.feature-pill:hover { + border-color: var(--primary-100); } - -/* Section Styles */ -.notesvault-section { - background-color: transparent; - max-width: 1200px; - margin: 0 auto; - padding: 0 2rem; +.feature-pill i { + color: var(--primary-500); + font-size: 1.25rem; } -.section { - margin: 4rem 0; - padding: 3rem; - border-radius: 20px; - background: rgba(255, 255, 255, 0.02); - backdrop-filter: blur(10px); - border: 1px solid rgba(255, 255, 255, 0.1); - position: relative; - overflow: hidden; -} -.section::before { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(237, 169, 80, 0.05) 100%); - pointer-events: none; +/* Mission & Vision Section */ +.mission-vision { + padding: 5rem 0; + background-color: var(--bg-secondary); } .section-header { - display: flex; - align-items: center; - gap: 1rem; - margin-bottom: 2rem; - position: relative; - z-index: 1; -} - -.section-icon { - font-size: 2rem; - color: #eda950; - background: linear-gradient(135deg, #eda950 0%, #f59e0b 100%); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; + text-align: center; + margin-bottom: 3rem; } .section-header h2 { - color: #d1fae5; - font-size: 2.2rem; - font-weight: 600; - margin: 0; + font-size: 2.25rem; + color: var(--primary-500); } -/* Mission & Vision Section */ -.mission-vision-grid { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 2rem; - position: relative; - z-index: 1; +.section-subtitle { + color: var(--text-secondary); + font-size: 1.1rem; + text-transform: capitalize; } -.mission-card, .vision-card { - background: linear-gradient(135deg, rgba(6, 78, 59, 0.3) 0%, rgba(4, 120, 87, 0.1) 100%); - padding: 2rem; - border-radius: 15px; - border: 2px solid #eda950; - transition: transform 0.3s ease, box-shadow 0.3s ease; +.mv-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; + max-width: 1000px; + margin: 0 auto; } -.mission-card:hover, .vision-card:hover { - transform: translateY(-5px); - box-shadow: 0 15px 40px rgba(237, 169, 80, 0.2); +.mv-card { + background-color: var(--card-bg); + border-radius: var(--card-radius); + padding: 2.5rem; + box-shadow: var(--card-shadow); + border: 1px solid var(--border-color); + transition: var(--transition); } -.card-header { - display: flex; - align-items: center; - gap: 1rem; - margin-bottom: 1.5rem; +.mv-card:hover { + transform: translateY(-5px); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); } -.card-header i { - font-size: 1.5rem; - color: #eda950; +.mv-icon { + width: 60px; + height: 60px; + border-radius: 50%; + background-color: var(--primary-50); + color: var(--primary-500); + display: flex; + align-items: center; + justify-content: center; + font-size: 1.5rem; + margin-bottom: 1.5rem; } -.card-header h3 { - color: #eda950; - font-size: 1.5rem; - margin: 0; - font-weight: 600; +.mv-card h3 { + font-size: 1.5rem; + margin-bottom: 1rem; + color: var(--primary-500); } -.mission-card p, .vision-card p { - color: #dff8f8; - font-size: 1.1rem; - line-height: 1.7; - margin: 0; +.mv-card p { + text-transform: capitalize; } -/* How It Helps Section */ -.how-it-helps-section { - border: 2px solid #dff8f8; -} +/* Problem/Solution Section */ .problem-solution { - position: relative; - z-index: 1; -} - -.problem-statement { - margin-bottom: 3rem; -} - -.problem-statement h3 { - color: #eda950; - font-size: 1.8rem; - margin-bottom: 1.5rem; - font-weight: 600; -} - -.problem-quote { - background: linear-gradient(135deg, #064e3b 0%, #047857 100%); - color: #d1fae5; - border-left: 4px solid #10b981; - padding: 2rem; - border-radius: 10px; - font-style: italic; - font-size: 1.2rem; - line-height: 1.6; - position: relative; - margin: 0; + padding: 5rem 0; + background-color: var(--bg-primary); } -.problem-quote i { - font-size: 1.5rem; - opacity: 0.6; +.student-quote { + max-width: 800px; + margin: 0 auto 3rem; + padding: 2rem; + background-color: var(--bg-secondary); + border-left: 4px solid var(--accent-500); + border-radius: 0 var(--card-radius) var(--card-radius) 0; + position: relative; } -.fa-quote-left { - margin-right: 1rem; +.student-quote p { + font-size: 1.25rem; + font-style: italic; + color: var(--text-primary); + margin-bottom: 0.5rem; } -.fa-quote-right { - margin-left: 1rem; +.student-quote footer { + color: var(--text-secondary); + font-size: 0.9rem; } -.solution-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); - gap: 2rem; - margin-top: 2rem; +.solutions-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 2rem; + max-width: 1000px; + margin: 0 auto; } .solution-card { - background: rgba(255, 255, 255, 0.05); - padding: 2rem; - border-radius: 15px; - border: 1px solid rgba(16, 185, 129, 0.3); - text-align: center; - transition: transform 0.3s ease, box-shadow 0.3s ease; + background-color: var(--card-bg); + border-radius: var(--card-radius); + padding: 2rem; + box-shadow: var(--card-shadow); + border: 1px solid var(--border-color); + transition: var(--transition); + text-align: center; } .solution-card:hover { - transform: translateY(-5px); - box-shadow: 0 10px 30px rgba(16, 185, 129, 0.2); + transform: translateY(-5px); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); } .solution-icon { - width: 60px; - height: 60px; - background: linear-gradient(135deg, #10b981 0%, #047857 100%); - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - margin: 0 auto 1.5rem; -} - -.solution-icon i { - font-size: 1.5rem; - color: white; + width: 70px; + height: 70px; + border-radius: 50%; + background-color: var(--primary-50); + color: var(--primary-500); + display: flex; + align-items: center; + justify-content: center; + font-size: 1.75rem; + margin: 0 auto 1.5rem; } -.solution-card h4 { - color: #d1fae5; - font-size: 1.3rem; - margin-bottom: 1rem; - font-weight: 600; +.solution-card h3 { + font-size: 1.25rem; + margin-bottom: 1rem; } -.solution-card p { - color: #dff8f8; - font-size: 1rem; - line-height: 1.6; - margin: 0; -} /* Tech Stack Section */ -.tech-stack-section { - border: 2px solid #eda950; +.tech-stack { + padding: 5rem 0; + background-color: var(--bg-secondary); } -.tech-categories { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); - gap: 2rem; - position: relative; - z-index: 1; +.tech-tabs { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; + max-width: 1000px; + margin: 0 auto; } .tech-category { - background: rgba(255, 255, 255, 0.03); - border-radius: 15px; - padding: 2rem; - border: 1px solid rgba(237, 169, 80, 0.3); + background-color: var(--card-bg); + border-radius: var(--card-radius); + padding: 2rem; + box-shadow: var(--card-shadow); + border: 1px solid var(--border-color); } -.tech-category-header { - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 2rem; - flex-wrap: wrap; - gap: 1rem; -} - -.tech-category-header i { - font-size: 1.5rem; - color: #eda950; - margin-right: 1rem; -} - -.tech-category-header h3 { - color: #eda950; - font-size: 1.5rem; - margin: 0; - font-weight: 600; - flex: 1; -} - -.status-badge { - padding: 0.3rem 1rem; - border-radius: 20px; - font-size: 0.8rem; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 1px; -} - -.status-badge.current { - background: linear-gradient(135deg, #10b981 0%, #047857 100%); - color: white; -} - -.status-badge.planned { - background: linear-gradient(135deg, #eda950 0%, #f59e0b 100%); - color: white; +.tech-category h3 { + font-size: 1.25rem; + margin-bottom: 1.5rem; + display: flex; + align-items: center; + gap: 0.75rem; + color: var(--primary-500); } .tech-list { - display: flex; - flex-direction: column; - gap: 1rem; -} - -.tech-item { - display: flex; - align-items: center; - gap: 1rem; - padding: 1rem; - background: rgba(255, 255, 255, 0.05); - border-radius: 10px; - transition: background 0.3s ease; -} - -.tech-item:hover { - background: rgba(255, 255, 255, 0.1); -} - -.tech-item i { - font-size: 1.5rem; - color: #10b981; - width: 30px; - text-align: center; -} - -.tech-item span { - color: #d1fae5; - font-weight: 600; - font-size: 1.1rem; - min-width: 100px; + list-style: none; } -.tech-item small { - color: #9ca3af; - font-size: 0.9rem; - flex: 1; +.tech-list li { + display: flex; + align-items: center; + gap: 1rem; + padding: 0.75rem 0; + border-bottom: 1px solid var(--border-color); } -/* GitHub Section */ -.github-section { - border: 2px solid #10b981; +.tech-list li:last-child { + border-bottom: none; } -.github-content { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 3rem; - align-items: start; - position: relative; - z-index: 1; +.tech-list i { + font-size: 1.5rem; + color: var(--primary-500); + width: 30px; + text-align: center; } -.opensource-badge { - display: inline-flex; - align-items: center; - gap: 0.5rem; - background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%); - color: white; - padding: 0.5rem 1rem; - border-radius: 25px; - font-weight: 600; - margin-bottom: 2rem; +.tech-list span { + font-weight: 500; + flex: 1; } -.opensource-badge i { - font-size: 1rem; -} - -.github-description { - color: #dff8f8; - font-size: 1.1rem; - line-height: 1.7; - margin-bottom: 2rem; +.tech-list small { + color: var(--text-secondary); + font-size: 0.85rem; } -.github-stats { - display: flex; - flex-direction: column; - gap: 1rem; -} -.github-stat { - display: flex; - align-items: center; - gap: 1rem; - padding: 1rem; - background: rgba(16, 185, 129, 0.1); - border-radius: 10px; - border: 1px solid rgba(16, 185, 129, 0.3); +/* Open Source Section */ +.opensource { + padding: 5rem 0; + background-color: var(--bg-primary); } -.github-stat i { - color: #10b981; - font-size: 1.2rem; +.opensource-content { + max-width: 900px; + margin: 0 auto; + text-align: center; } -.github-stat span { - color: #d1fae5; - font-weight: 600; +.opensource h2 { + font-size: 2.25rem; + color: var(--primary-500); + margin-bottom: 1rem; } -.contribution-guide h3 { - color: #eda950; - font-size: 1.8rem; - margin-bottom: 2rem; - font-weight: 600; +.opensource p { + font-size: 1.1rem; + text-transform: capitalize; + max-width: 600px; + margin: 0 auto 3rem; } .contribution-steps { - margin-bottom: 3rem; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 2rem; + margin-bottom: 3rem; } .step { - display: flex; - gap: 1.5rem; - margin-bottom: 2rem; - align-items: flex-start; + background-color: var(--bg-secondary); + border-radius: var(--card-radius); + padding: 2rem; + text-align: left; + position: relative; + border: 1px solid var(--border-color); } .step-number { - width: 40px; - height: 40px; - background: linear-gradient(135deg, #10b981 0%, #047857 100%); - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - color: white; - font-weight: 700; - font-size: 1.2rem; - flex-shrink: 0; + position: absolute; + top: -1rem; + left: 1.5rem; + width: 2.5rem; + height: 2.5rem; + background-color: var(--primary-500); + color: var(--white); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-weight: bold; } -.step-content h4 { - color: #d1fae5; - font-size: 1.2rem; - margin-bottom: 0.5rem; - font-weight: 600; +.step-content h3 { + font-size: 1.25rem; + margin-bottom: 0.5rem; } .step-content p { - color: #9ca3af; - margin: 0; - line-height: 1.6; + font-size: 0.95rem; + margin-bottom: 0; } .github-cta { - display: flex; - gap: 1rem; - flex-wrap: wrap; -} - -.github-button { - display: inline-flex; - align-items: center; - gap: 0.5rem; - padding: 1rem 2rem; - border-radius: 10px; - text-decoration: none; - font-weight: 600; - font-size: 1rem; - transition: all 0.3s ease; - border: 2px solid transparent; -} - -.github-button.primary { - background: linear-gradient(135deg, #10b981 0%, #047857 100%); - color: white; -} - -.github-button.primary:hover { - background: linear-gradient(135deg, #047857 0%, #064e3b 100%); - transform: translateY(-2px); - box-shadow: 0 10px 25px rgba(16, 185, 129, 0.3); -} - -.github-button.secondary { - background: transparent; - color: #10b981; - border-color: #10b981; -} - -.github-button.secondary:hover { - background: rgba(16, 185, 129, 0.1); - transform: translateY(-2px); -} - -/* Community Section */ -.community-section { - background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(6, 78, 59, 0.1) 100%); - border: 2px solid #10b981; + display: flex; + justify-content: center; + gap: 1rem; + flex-wrap: wrap; } -.community-content { - position: relative; - z-index: 1; +.github-cta a:hover { + background-color: none !important; + color: inherit !important; } -.community-text { - text-align: center; - margin-bottom: 3rem; +.btn i { + margin-right: 0.5rem; } -.community-text p { - color: #dff8f8; - font-size: 1.2rem; - line-height: 1.7; - max-width: 800px; - margin: 0 auto; -} -.community-stats { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); +/* Responsive Design */ +@media (max-width: 992px) { + .intro-grid { + grid-template-columns: 1fr; gap: 2rem; -} - -.community-stat { - display: flex; - align-items: center; - gap: 1.5rem; - padding: 2rem; - background: rgba(255, 255, 255, 0.05); - border-radius: 15px; - border: 1px solid rgba(16, 185, 129, 0.3); - transition: transform 0.3s ease; -} - -.community-stat:hover { - transform: translateY(-5px); -} - -.stat-icon { - width: 60px; - height: 60px; - background: linear-gradient(135deg, #10b981 0%, #047857 100%); - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; -} - -.stat-icon i { - font-size: 1.5rem; - color: white; -} - -.stat-content { - display: flex; - flex-direction: column; -} - -.community-stat .stat-number { - color: #d1fae5; - font-size: 2rem; - font-weight: 700; - line-height: 1; - margin-bottom: 0.5rem; -} - -.community-stat .stat-label { - color: #9ca3af; - font-size: 0.9rem; - text-transform: uppercase; - letter-spacing: 1px; -} - -/* Footer Styles */ -.modern-footer { - background: linear-gradient(135deg, #0b3610 0%, #064e3b 100%); - color: #ffffff; - padding: 3rem 1.5rem 2rem; - font-family: 'Segoe UI', sans-serif; - margin-top: 4rem; -} - -.footer-container { - max-width: 1200px; - margin: 0 auto; -} - -.footer-top { - display: flex; - flex-wrap: wrap; - justify-content: space-between; + } + + .hero-stats { gap: 2rem; - margin-bottom: 2rem; -} - -.footer-brand { - flex: 1 1 250px; -} - -.footer-logo { - font-size: 1.8rem; - font-weight: 700; - margin-bottom: 1rem; - color: #d1fae5; -} - -.footer-description { - font-size: 0.95rem; - line-height: 1.5; - margin-bottom: 1rem; - color: #c8e6c9; -} - -.social-links { - display: flex; - gap: 0.75rem; - margin-top: 1rem; + } } -.social-link svg { - fill: #ffffff; - transition: transform 0.2s, fill 0.3s; -} - -.social-link:hover svg { - transform: scale(1.1); - fill: #b2dfdb; -} - -.footer-links, -.footer-community { - flex: 1 1 180px; -} - -.footer-links h4, -.footer-community h4 { - margin-bottom: 0.8rem; - font-size: 1.1rem; - font-weight: 600; - color: #d1fae5; -} - -.footer-links ul { - list-style: none; - padding: 0; -} - -.footer-links li { - margin-bottom: 0.5rem; -} - -.footer-links a { - color: #e8f5e9; - text-decoration: none; - font-size: 0.95rem; - transition: color 0.3s ease; -} - -.footer-links a:hover { - color: #d1fae5; - text-decoration: underline; -} - -.community-badges { - display: flex; - gap: 0.75rem; - align-items: center; - flex-wrap: wrap; - margin-bottom: 0.8rem; -} - -.gssoc-badge img { - height: 40px; - width: 40px; - border-radius: 50%; - transition: transform 0.3s ease; -} - -.gssoc-badge:hover img { - transform: scale(1.1); -} - -.oss-badge { - display: flex; - align-items: center; - gap: 0.4rem; - background: #1b5e20; - padding: 0.3rem 0.6rem; - border-radius: 6px; - color: #fff; - font-size: 0.85rem; - transition: background 0.3s ease; -} - -.oss-badge:hover { - background: #2e7d32; -} - -.community-text { - color: #c8e6c9; - font-size: 0.9rem; -} - -.footer-bottom { - border-top: 1px solid #047857; - padding-top: 1.2rem; - font-size: 0.85rem; - display: flex; - flex-direction: column; - align-items: center; -} - -.footer-bottom-content { - display: flex; - flex-direction: column; - gap: 0.6rem; - align-items: center; -} - -.copyright { - color: #c8e6c9; - margin: 0; -} - -.footer-bottom-links a { - margin: 0 0.6rem; - color: #c8e6c9; - text-decoration: none; - transition: color 0.3s ease; -} - -.footer-bottom-links a:hover { - color: #d1fae5; - text-decoration: underline; -} - -/* Responsive Design */ @media (max-width: 768px) { - .hero-title { - font-size: 2.5rem; - } - - .hero-subtitle { - font-size: 1.2rem; - } - - .hero-stats { - gap: 1.5rem; - } - - .intro-content { - grid-template-columns: 1fr; - gap: 2rem; - } - - .feature-grid { - grid-template-columns: 1fr; - } - - .mission-vision-grid { - grid-template-columns: 1fr; - } - - .solution-grid { - grid-template-columns: 1fr; - } - - .tech-categories { - grid-template-columns: 1fr; - } - - .github-content { - grid-template-columns: 1fr; - gap: 2rem; - } - - .community-stats { - grid-template-columns: 1fr; - } - - .section { - padding: 2rem 1.5rem; - margin: 2rem 0; - } - - .notesvault-section { - padding: 0 1rem; - } - - .tech-category-header { - flex-direction: column; - align-items: flex-start; - } - - .github-cta { - flex-direction: column; - } - - .github-button { - justify-content: center; - } -} - -@media (max-width: 480px) { - .hero-section { - padding: 3rem 1rem; - } - - .hero-title { - font-size: 2rem; - } - - .hero-stats { - flex-direction: column; - gap: 1rem; - } - - .section-header { - flex-direction: column; - align-items: flex-start; - text-align: left; - } - - .section-header h2 { - font-size: 1.8rem; - } - - .problem-quote { - padding: 1.5rem; - font-size: 1rem; - } - - .step { - flex-direction: column; - text-align: center; - } - - .community-stat { - flex-direction: column; - text-align: center; - } -} - -/* Animation for smooth scrolling and entrance effects */ -@keyframes fadeInUp { - from { - opacity: 0; - transform: translateY(30px); - } - to { - opacity: 1; - transform: translateY(0); - } -} - -.section { - animation: fadeInUp 0.6s ease-out; -} - -/* Custom scrollbar */ -::-webkit-scrollbar { - width: 8px; -} - -::-webkit-scrollbar-track { - background: #1a1a1a; -} - -::-webkit-scrollbar-thumb { - background: linear-gradient(135deg, #10b981 0%, #047857 100%); - border-radius: 4px; -} - -::-webkit-scrollbar-thumb:hover { - background: linear-gradient(135deg, #047857 0%, #064e3b 100%); -} -/* Make the page a flex-column that fills the viewport */ -html, body{ - height: 100%; /* full viewport */ - margin: 0; /* kill default gaps */ -} - -body{ - display: flex; + .about-hero h1 { + font-size: 2.5rem; + } + + .hero-subtitle { + font-size: 1.1rem; + } + + .stat-number { + font-size: 2rem; + } + + .section-header h2 { + font-size: 2rem; + } +} + +@media (max-width: 576px) { + .about-hero, + .about-intro, + .mission-vision, + .problem-solution, + .tech-stack, + .opensource { + padding: 3rem 0; + } + + .about-hero h1 { + font-size: 2rem; + } + + .hero-stats { + gap: 1.5rem; + } + + .stat-item { + min-width: 100px; + } + + .feature-pill { + padding: 0.75rem 1rem; + } + + .github-cta { flex-direction: column; - min-height: 100vh; /* stretch vertically */ -} - -/* Tell the content area to occupy all free space */ -.main_content{ - flex: 1 0 auto; /* grow, donโ€™t shrink */ -} - -/* Keep the footer at its natural height and let it - auto-push to the bottom of the column */ -footer.modern-footer{ - flex-shrink: 0; - margin-top: auto; /* pushes it down when page is short */ -} + } + + .github-cta .btn { + width: 100%; + } +} \ No newline at end of file From 37af5fd40cb57d3a50f718cfb7ec609007364cb2 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Thu, 31 Jul 2025 01:31:19 +0530 Subject: [PATCH 08/36] Fixed CSS Links - Properly Linked CSS Files to their respective HTML Files --- pages/about.html | 2 + pages/features.html | 277 ++++++++++++++++--------------------------- pages/overview.html | 10 +- styling/features.css | 158 +++++++++++++++++------- 4 files changed, 223 insertions(+), 224 deletions(-) diff --git a/pages/about.html b/pages/about.html index b087407b..dda53ba1 100644 --- a/pages/about.html +++ b/pages/about.html @@ -24,6 +24,8 @@ + + diff --git a/pages/features.html b/pages/features.html index b2bae669..191ce8a0 100644 --- a/pages/features.html +++ b/pages/features.html @@ -3,180 +3,109 @@ - Features - NotesVault - - - - - -
    -
    - Logo -

    NotesVault Features โœจ

    -
    - -
    - -
    -
    -

    ๐Ÿ“‚ Organized by Semester & Subject

    -

    Effortlessly browse notes and PYQs sorted by semester and subjects. Stay organized throughout your academic journey.

    -
    - - - -
    -

    ๐Ÿ“Œ Pin Important Notes

    -

    Mark your most important notes and PYQs with a pin so they stay at the top for easy access.

    -
    - -
    -

    ๐Ÿ“ฅ Download Notes

    -

    Save your notes as text files and access them offline anytime.

    -
    - -
    -

    ๐ŸŒ— Dark Mode

    -

    Switch between light and dark themes with a single click for comfortable reading at night.

    -
    + NotesVault - Features + + - -
    -

    ๐Ÿ’ฌ Upload PYQs or Past year question papers

    -

    Add past year questions and papers so that preparation can be easier for other students.

    -
    -
    - -
    - © 2025 NotesVault | Made with โค๏ธ for Students -
    + + + + + + + + - + + +
    + +
    +
    +
    +

    Powerful Features

    +

    Everything you need to organize your academic life

    +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +

    Upload Notes

    +

    Share your study materials with the community in just a few clicks. Supports multiple file formats.

    + + Try It Now + +
    +
    + + +
    +
    + +
    +
    +

    Browse Notes

    +

    Find exactly what you need with our powerful search and filtering system. Organized by subject and semester.

    + + Browse Notes + +
    +
    + + +
    +
    + +
    +
    +

    Jotpad

    +

    Quickly jot down ideas, formulas, or reminders without leaving the app. Auto-saves your work.

    + + Start Writing + +
    +
    + + +
    +
    + +
    +
    +

    To-Do List

    +

    Organize your study schedule, assignment deadlines, and revision plans in one place.

    + + Get Organized + +
    +
    +
    +
    +
    + +
    +
    +

    Ready to Transform Your Study Experience?

    +

    Join thousands of students who are already using NotesVault to stay organized and productive.

    + +
    +
    +
    + + + + + + - + \ No newline at end of file diff --git a/pages/overview.html b/pages/overview.html index c00e1102..a68c2eb0 100644 --- a/pages/overview.html +++ b/pages/overview.html @@ -20,16 +20,10 @@ href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css" /> - - - - - + + diff --git a/styling/features.css b/styling/features.css index 97a0b9a6..68f79a8d 100644 --- a/styling/features.css +++ b/styling/features.css @@ -1,65 +1,139 @@ +/* Features Page Styles */ +.features-page { + padding-bottom: 4rem; +} -.features-section { - padding: 4rem 1.5rem; - max-width: 1200px; - margin: 0 auto; - background-color: #f5f7fa; +.features-hero { + background: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%); + color: var(--white); + padding: 6rem 0 4rem; text-align: center; - border-radius: 1rem; } -.features-heading { - font-size: 2.5rem; - font-weight: 700; - color: #1a1a1a; - margin-bottom: 0.5rem; - font-family: 'Poppins', sans-serif; +.features-hero h1 { + font-size: 3rem; + margin-bottom: 1rem; } -.features-subheading { - font-size: 1.1rem; - color: #555; - margin-bottom: 2.5rem; - font-family: 'Open Sans', sans-serif; +.features-hero .subtitle { + font-size: 1.25rem; + color: rgba(255, 255, 255, 0.9); + max-width: 600px; + margin: 0 auto; +} + +.features-grid-section { + padding: 5rem 0; } -/* GRID FOR FEATURE CARDS */ .features-grid { display: grid; - grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; - padding: 0 1rem; } -/* FEATURE CARD DESIGN */ .feature-card { - background-color: #ffffff; - padding: 1.8rem; - border-radius: 1.25rem; - box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05); - transition: all 0.3s ease-in-out; - text-align: left; - border: 1px solid #e6e6e6; + background-color: var(--card-bg); + border-radius: var(--card-radius); + padding: 2rem; + box-shadow: var(--card-shadow); + border: 1px solid var(--border-color); + transition: var(--transition); + display: flex; + flex-direction: column; } .feature-card:hover { - transform: translateY(-6px); - box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08); + transform: translateY(-5px); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); } -/* CARD TITLE */ -.feature-card h2 { - font-size: 1.25rem; - color: #202020; - margin-bottom: 0.5rem; - font-weight: 600; +.feature-icon { + width: 60px; + height: 60px; + border-radius: 50%; + background-color: var(--primary-50); + color: var(--primary-500); + display: flex; + align-items: center; + justify-content: center; + font-size: 1.5rem; + margin-bottom: 1.5rem; +} + +.feature-content h2 { + font-size: 1.5rem; + margin-bottom: 1rem; + color: var(--primary-500); +} + +.feature-content p { + margin-bottom: 1.5rem; + flex-grow: 1; +} + +.feature-content .btn { + align-self: flex-start; +} + +.cta-section { + text-align: center; + padding: 4rem 0; + background-color: var(--bg-secondary); +} + +.cta-section h2 { + font-size: 2rem; + margin-bottom: 1rem; +} + +.cta-section p { + max-width: 600px; + margin: 0 auto 2rem; + font-size: 1.1rem; +} + +.btn-large { + padding: 1rem 2rem; + font-size: 1.1rem; +} + +.cta-buttons { + display: flex; + justify-content: center; + gap: 1rem; + flex-wrap: wrap; } -/* CARD TEXT */ -.feature-card p { - font-size: 0.95rem; - color: #555; - line-height: 1.6; - font-family: 'Open Sans', sans-serif; +/* Responsive Design */ +@media (max-width: 768px) { + .features-hero h1 { + font-size: 2.5rem; + } + + .features-hero .subtitle { + font-size: 1.1rem; + } + + .cta-buttons { + flex-direction: column; + } + + .cta-buttons .btn { + width: 100%; + } } +@media (max-width: 576px) { + .features-hero { + padding: 4rem 0; + } + + .features-grid-section { + padding: 3rem 0; + } + + .cta-section { + padding: 3rem 0; + } +} \ No newline at end of file From 04a964b46971160a49267ad15549b11732dacbe1 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Thu, 31 Jul 2025 02:18:49 +0530 Subject: [PATCH 09/36] Modified Features Page - Removed unused features.js file - Refactored HTML structure for Features Page - Enhanced overall page styling --- pages/features.html | 227 ++++++++++++++++++++++++------------------- scripts/features.js | 13 --- styling/base.css | 2 - styling/features.css | 129 ++++++++++++------------ styling/home.css | 5 +- 5 files changed, 195 insertions(+), 181 deletions(-) delete mode 100644 scripts/features.js diff --git a/pages/features.html b/pages/features.html index 191ce8a0..cf51885a 100644 --- a/pages/features.html +++ b/pages/features.html @@ -1,111 +1,140 @@ - - - - NotesVault - Features - - - - - - - - - - - + + + + NotesVault - Features + + - - -
    + + -
    -
    -
    -

    Powerful Features

    -

    Everything you need to organize your academic life

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

    Upload Notes

    -

    Share your study materials with the community in just a few clicks. Supports multiple file formats.

    - - Try It Now - -
    -
    + + +
    - -
    -
    - -
    -
    -

    Browse Notes

    -

    Find exactly what you need with our powerful search and filtering system. Organized by subject and semester.

    - - Browse Notes - -
    -
    +
    +
    +
    +

    Powerful Features

    +

    + Everything you need to organize your academic life! +

    +
    +
    - -
    -
    - -
    -
    -

    Jotpad

    -

    Quickly jot down ideas, formulas, or reminders without leaving the app. Auto-saves your work.

    - - Start Writing - -
    -
    +
    +
    +
    + +
    +
    + +
    +
    +

    Upload Notes

    +

    + Share your study materials with the community in just a few + clicks. Supports multiple file formats. +

    + + Try It Now   + +
    +
    - -
    -
    - -
    -
    -

    To-Do List

    -

    Organize your study schedule, assignment deadlines, and revision plans in one place.

    - - Get Organized - -
    -
    -
    -
    -
    + +
    +
    + +
    +
    +

    Browse Notes

    +

    + Find exactly what you need with our powerful search and + filtering system. Organized by subject and semester. +

    + + Browse Notes   + +
    +
    + + +
    +
    + +
    +
    +

    Jotpad

    +

    + Quickly jot down ideas, formulas, or reminders without leaving + the app. Auto-saves your work. +

    + + Start Writing   + +
    +
    -
    -
    -

    Ready to Transform Your Study Experience?

    -

    Join thousands of students who are already using NotesVault to stay organized and productive.

    -
    - Sign Up Free - Learn More + +
    +
    + +
    +
    +

    To-Do List

    +

    + Organize your study schedule, assignment deadlines, and + revision plans in one place. +

    + + Get Organized   + +
    +
    +
    -
    -
    -
    + + - - + + - - - - \ No newline at end of file + + + + diff --git a/scripts/features.js b/scripts/features.js deleted file mode 100644 index ecc913e2..00000000 --- a/scripts/features.js +++ /dev/null @@ -1,13 +0,0 @@ -document.addEventListener("DOMContentLoaded", () => { - const cards = document.querySelectorAll(".feature-card"); - - cards.forEach((card) => { - card.addEventListener("mouseenter", () => { - card.classList.add("active-feature"); - }); - - card.addEventListener("mouseleave", () => { - card.classList.remove("active-feature"); - }); - }); -}); diff --git a/styling/base.css b/styling/base.css index 90432977..38aca52b 100644 --- a/styling/base.css +++ b/styling/base.css @@ -42,8 +42,6 @@ a:hover { color: var(--primary-700); } - - /* Buttons */ .btn { display: inline-flex; diff --git a/styling/features.css b/styling/features.css index 68f79a8d..2e3b4ac9 100644 --- a/styling/features.css +++ b/styling/features.css @@ -1,139 +1,140 @@ -/* Features Page Styles */ .features-page { - padding-bottom: 4rem; + padding-top: 2rem; } +/* Hero Section */ .features-hero { - background: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%); - color: var(--white); - padding: 6rem 0 4rem; + background: linear-gradient( + 135deg, + var(--primary-500) 0%, + var(--primary-700) 100% + ); + padding: 6rem 0; text-align: center; } .features-hero h1 { - font-size: 3rem; + font-size: 2.75rem; + font-weight: 700; + color: var(--white); margin-bottom: 1rem; } .features-hero .subtitle { - font-size: 1.25rem; - color: rgba(255, 255, 255, 0.9); + font-size: 1.2rem; + text-transform: capitalize; + color: var(--white); max-width: 600px; margin: 0 auto; } +/* Features Grid Section */ .features-grid-section { - padding: 5rem 0; + padding: 4rem 1.5rem; + background-color: var(--bg-primary); } .features-grid { display: grid; - grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; } +/* Feature Card */ .feature-card { background-color: var(--card-bg); - border-radius: var(--card-radius); - padding: 2rem; - box-shadow: var(--card-shadow); border: 1px solid var(--border-color); - transition: var(--transition); + border-radius: 1rem; + box-shadow: var(--card-shadow); + padding: 2rem; display: flex; flex-direction: column; + gap: 1.25rem; + transition: transform 0.3s ease, box-shadow 0.3s ease; } .feature-card:hover { transform: translateY(-5px); - box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); + box-shadow: 0 8px 24px rgba(0, 140, 45, 0.15); } .feature-icon { - width: 60px; - height: 60px; - border-radius: 50%; - background-color: var(--primary-50); + font-size: 2.5rem; color: var(--primary-500); - display: flex; - align-items: center; - justify-content: center; - font-size: 1.5rem; - margin-bottom: 1.5rem; + margin-bottom: 0.5rem; } +/* Feature Content */ .feature-content h2 { font-size: 1.5rem; - margin-bottom: 1rem; + font-weight: 600; color: var(--primary-500); + margin-bottom: 0.5rem; } .feature-content p { + font-size: 1rem; + color: var(--text-secondary); margin-bottom: 1.5rem; - flex-grow: 1; -} - -.feature-content .btn { - align-self: flex-start; } +/* CTA Section */ .cta-section { + background-color: var(--primary-500); + color: white; + padding: 4rem 1.5rem; text-align: center; - padding: 4rem 0; - background-color: var(--bg-secondary); } .cta-section h2 { font-size: 2rem; + font-weight: 700; margin-bottom: 1rem; } .cta-section p { - max-width: 600px; - margin: 0 auto 2rem; - font-size: 1.1rem; -} - -.btn-large { - padding: 1rem 2rem; font-size: 1.1rem; + margin-bottom: 2rem; + color: rgba(255, 255, 255, 0.85); } .cta-buttons { display: flex; + flex-wrap: wrap; justify-content: center; gap: 1rem; - flex-wrap: wrap; +} + +.btn-large { + padding: 1rem 2rem; + font-size: 1.05rem; + border-radius: 0.75rem; +} + +.btn-primary { + background-color: white; + color: var(--primary-600); + border: 2px solid transparent; +} + +.btn-primary:hover { + background-color: var(--primary-100); + color: inherit !important; + border-color: var(--primary-300); } /* Responsive Design */ @media (max-width: 768px) { .features-hero h1 { - font-size: 2.5rem; - } - - .features-hero .subtitle { - font-size: 1.1rem; + font-size: 2.2rem; } - - .cta-buttons { - flex-direction: column; + + .cta-section h2 { + font-size: 1.75rem; } - - .cta-buttons .btn { + + .btn-large { width: 100%; + text-align: center; } } - -@media (max-width: 576px) { - .features-hero { - padding: 4rem 0; - } - - .features-grid-section { - padding: 3rem 0; - } - - .cta-section { - padding: 3rem 0; - } -} \ No newline at end of file diff --git a/styling/home.css b/styling/home.css index c4701614..0d723a01 100644 --- a/styling/home.css +++ b/styling/home.css @@ -1,9 +1,7 @@ /* Hero Section */ .hero { - --hero-padding-y: 8rem; - --search-card-width: 480px; + padding: 8rem 0; position: relative; - padding: var(--hero-padding-y) 0; overflow: hidden; isolation: isolate; background: linear-gradient( @@ -11,6 +9,7 @@ var(--bg-primary), var(--bg-secondary) ); + --search-card-width: 480px; } /* Background Gradient */ From 0e97003b213eb93908ea4b0d29cccff595815779 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Thu, 31 Jul 2025 02:25:56 +0530 Subject: [PATCH 10/36] Fixed Footer Links - Added Social Links in footer - Added Favicon for the Features Page --- components/footer.html | 7 ++----- pages/features.html | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/components/footer.html b/components/footer.html index 2534f69a..8beedd70 100644 --- a/components/footer.html +++ b/components/footer.html @@ -107,15 +107,12 @@ Join our vibrant community of learners and contributors -

    @@ -131,7 +128,7 @@ โ€ข Terms of Service โ€ข - MIT License + MIT License diff --git a/pages/features.html b/pages/features.html index cf51885a..769134ac 100644 --- a/pages/features.html +++ b/pages/features.html @@ -8,7 +8,7 @@ name="description" content="Explore NotesVault's powerful features including note uploading, browsing, Jotpad, and To-Do list" /> - + Date: Thu, 31 Jul 2025 02:38:13 +0530 Subject: [PATCH 11/36] Modified Cards On Features Page - Improvised the card's content --- components/footer.html | 2 +- pages/features.html | 10 +++++++--- styling/Footer.css | 1 - 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/components/footer.html b/components/footer.html index 8beedd70..3633197e 100644 --- a/components/footer.html +++ b/components/footer.html @@ -128,7 +128,7 @@ โ€ข Terms of Service โ€ข - MIT License + MIT License diff --git a/pages/features.html b/pages/features.html index 769134ac..77373017 100644 --- a/pages/features.html +++ b/pages/features.html @@ -8,7 +8,11 @@ name="description" content="Explore NotesVault's powerful features including note uploading, browsing, Jotpad, and To-Do list" /> - + Jotpad

    To-Do List

    - Organize your study schedule, assignment deadlines, and - revision plans in one place. + Organize your study schedule, assignment deadlines, revision + plans, and daily academic tasks all in one place.

    Date: Sat, 2 Aug 2025 08:38:59 +0530 Subject: [PATCH 12/36] Modified Browse Notes Page - Optimized the overall page - Removed Unnecessary files - Created a separate JSON file for storing data --- data/notes.json | 130 +++---- pages/BrowseNotes.html | 836 +++++++++++++++------------------------- styling/browseNotes.css | 274 +++++++++++++ 3 files changed, 626 insertions(+), 614 deletions(-) create mode 100644 styling/browseNotes.css diff --git a/data/notes.json b/data/notes.json index 7901d7a5..3741d68f 100644 --- a/data/notes.json +++ b/data/notes.json @@ -1,86 +1,52 @@ [ { - "title": "Mathematics I", - "branch": "CSE", - "semester": "1", - "subject": "Maths", - "link": "https://example.com/notes/maths1.pdf" - }, - { - "title": "Operating System Notes", - "branch": "CSE", - "semester": "2", - "subject": "OS", - "link": "https://example.com/notes/os.pdf" - }, - { - "title": "DBMS Concepts", - "branch": "CSE", - "semester": "2", - "subject": "DBMS", - "link": "https://example.com/notes/dbms.pdf" - }, - { - "title": "Intro to AI", - "branch": "CSE AIML", - "semester": "1", - "subject": "AI", - "link": "https://example.com/notes/ai.pdf" - }, - { - "title": "Machine Learning Basics", - "branch": "CSE AIML", - "semester": "2", - "subject": "ML", - "link": "https://example.com/notes/ml.pdf" - }, - { - "title": "Python for AIML", - "branch": "CSE AIML", - "semester": "2", - "subject": "Python", - "link": "https://example.com/notes/python_aiml.pdf" - }, - { - "title": "IoT Fundamentals", - "branch": "CSE IOT", - "semester": "1", - "subject": "IoT Fundamentals", - "link": "https://example.com/notes/iot_fundamentals.pdf" - }, - { - "title": "Sensor Technologies", - "branch": "CSE IOT", - "semester": "2", - "subject": "Sensors", - "link": "https://example.com/notes/sensors.pdf" - }, - { - "title": "Microcontroller Guide", - "branch": "CSE IOT", - "semester": "2", - "subject": "Microcontrollers", - "link": "https://example.com/notes/microcontrollers.pdf" - }, - { - "title": "Data Science Intro", - "branch": "CSE DS", - "semester": "1", - "subject": "Data Science Basics", - "link": "https://example.com/notes/ds_basics.pdf" - }, - { - "title": "Statistics Notes", - "branch": "CSE DS", - "semester": "2", - "subject": "Statistics", - "link": "https://example.com/notes/statistics.pdf" - }, - { - "title": "Python for Data Science", - "branch": "CSE DS", - "semester": "2", - "subject": "Python for DS", - "link": "https://example.com/notes/python_ds.pdf" + "_id": "note1", + "title": "Data Structures & Algorithms Basics", + "branch": "Computer Science", + "semester": "3rd", + "description": "Comprehensive notes on fundamental data structures (arrays, linked lists, trees, graphs) and common algorithms (sorting, searching).", + "uploader": "Alice Smith", + "uploadDate": "2023-03-15", + "filePath": "http://example.com/notes/dsa_basics.pdf" + }, + { + "_id": "note2", + "title": "Digital Electronics Principles", + "branch": "Electronics Engineering", + "semester": "4th", + "description": "Detailed notes covering logic gates, Boolean algebra, combinational and sequential circuits.", + "uploader": "Bob Johnson", + "uploadDate": "2023-04-20", + "filePath": "http://example.com/notes/digital_electronics.pdf" + }, + { + "_id": "note3", + "title": "Thermodynamics for Mechanical Engineers", + "branch": "Mechanical Engineering", + "semester": "5th", + "description": "Concepts of thermodynamics, laws, cycles, and their applications in various systems.", + "uploader": "Charlie Brown", + "uploadDate": "2023-05-10", + "filePath": "http://example.com/notes/thermodynamics.pdf" + }, + { + "_id": "note4", + "title": "Object-Oriented Programming with Java", + "branch": "Information Technology", + "semester": "3rd", + "description": "Introduction to OOP principles using Java: classes, objects, inheritance, polymorphism, abstraction, and encapsulation.", + "uploader": "Alice Smith", + "uploadDate": "2023-06-01", + "filePath": "http://example.com/notes/oop_java.pdf" + }, + { + "_id": "note5", + "title": "Calculus I - Differentiation", + "branch": "Mathematics", + "semester": "1st", + "description": "Basic concepts of differentiation, limits, continuity, and applications.", + "uploader": "David Lee", + "uploadDate": "2023-07-10", + "filePath": "http://example.com/notes/calculus1.pdf" } ] diff --git a/pages/BrowseNotes.html b/pages/BrowseNotes.html index e63393a4..2f4c63c6 100644 --- a/pages/BrowseNotes.html +++ b/pages/BrowseNotes.html @@ -1,566 +1,338 @@ - - - - Browse Notes - NotesVault - - - - - - - -
    - -
    + + + + + +
    -

    Browse All Notes

    - -
    + + + + - + + - + diff --git a/styling/browseNotes.css b/styling/browseNotes.css new file mode 100644 index 00000000..5c40a1ee --- /dev/null +++ b/styling/browseNotes.css @@ -0,0 +1,274 @@ +/* Browse Notes Styles */ + +.browse-notes-container { + padding: 2rem 1rem; + max-width: 1200px; + margin: 0 auto; +} + +.browse-notes-container h1 { + text-align: left; + margin-bottom: 1.5rem; + color: var(--primary-700); +} + +/* Search Bar */ +.search-bar { + margin-bottom: 1rem; + text-align: left; +} + +.search-bar input { + padding: 0.6rem 1rem; + width: 100%; + max-width: 500px; + font-size: 1rem; + border: 1px solid var(--border-color); + border-radius: 6px; + background-color: var(--bg-secondary); + color: var(--text-primary); + transition: border-color 0.2s; +} + +.search-bar input:focus { + outline: none; + border-color: var(--primary-500); +} + +/* Filters */ +.filters-container { + display: flex; + flex-wrap: wrap; + align-items: flex-end; + justify-content: flex-start; + gap: 1rem; + margin-bottom: 2rem; +} + +.filter-group { + display: flex; + flex-direction: column; + min-width: 160px; +} + +.filter-group label { + margin-bottom: 0.5rem; + font-weight: 500; + color: var(--text-primary); +} + +.filter-group select { + padding: 0.5rem; + border: 1px solid var(--border-color); + border-radius: 6px; + background-color: var(--bg-secondary); + color: var(--text-primary); + font-size: 1rem; +} + +.reset-filters { + background-color: var(--gray-200); + color: var(--gray-900); + border: none; + padding: 0.5rem 1rem; + font-size: 0.9rem; + height: 38px; + border-radius: 6px; + font-weight: 500; + cursor: pointer; + transition: background-color 0.2s; +} + +.reset-filters:hover { + background-color: var(--gray-300); +} + +/* Notes Grid */ +.notes-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* Changed from auto-fit to auto-fill */ + gap: 1.5rem; +} + +.note-card { + background-color: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: 12px; + padding: 2rem 1.5rem; + box-shadow: var(--card-shadow); + display: flex; + flex-direction: column; + justify-content: space-between; + transition: transform 0.2s, box-shadow 0.2s; + width: 100%; /* Ensure full width of grid cell */ + height: 100%; /* Make all cards same height */ + min-height: 250px; /* Set a minimum height */ + box-sizing: border-box; /* Include padding in height calculation */ +} + +.note-card:hover { + transform: translateY(-4px); + box-shadow: 0 4px 20px rgba(0, 140, 45, 0.15); +} + +.note-card h3 { + color: var(--primary-700); + margin-bottom: 0.75rem; +} + +.note-card p { + font-size: 0.95rem; + margin-bottom: 0.5rem; + color: var(--text-secondary); +} + +/* Consistent Button Group */ +.note-card .actions { + margin-top: 1.25rem; + display: flex; + flex-wrap: wrap; + gap: 0.5rem; + justify-content: flex-start; +} + +.view-button, +.download-button { + padding: 0.6rem 1.2rem; + border-radius: 6px; + font-weight: 500; + font-size: 0.9rem; + min-width: 110px; + text-align: center; + display: inline-flex; + align-items: center; + justify-content: center; + text-decoration: none; + border: none; + cursor: pointer; +} + +.view-button { + background-color: var(--accent-500); + color: white; +} + +.view-button:hover { + background-color: var(--accent-400); +} + +.download-button { + background-color: var(--primary-500); + color: white; +} + +.download-button:hover { + background-color: var(--primary-600); +} + +/* Modal */ +.modal { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: none; + align-items: center; + justify-content: center; + background-color: rgba(0, 0, 0, 0.5); + z-index: 9999; + padding: 1rem; +} + +.modal-content { + background-color: var(--card-bg); + color: var(--text-primary); + padding: 2rem; + border-radius: 12px; + max-width: 600px; + width: 100%; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25); + position: relative; + animation: fadeInUp 0.3s ease; +} + +.modal-content h2 { + margin-bottom: 1rem; + color: var(--primary-700); +} + +.modal-content p { + margin-bottom: 0.75rem; +} + +.modal-content .download-button { + margin-top: 1rem; +} + +.close-button { + position: absolute; + top: 1rem; + right: 1rem; + font-size: 1.5rem; + font-weight: bold; + color: var(--text-secondary); + cursor: pointer; + transition: color 0.2s; +} + +.close-button:hover { + color: var(--error); +} + +/* Loading / No Notes */ +.loading-message, +.no-notes-message { + text-align: center; + font-size: 1.1rem; + color: var(--text-secondary); + grid-column: 1 / -1; +} + +/* Animations */ +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(30px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +/* Responsive Tweaks */ +@media (max-width: 768px) { + .filters-container { + flex-direction: column; + align-items: flex-start; + } + + .search-bar { + width: 100%; + } + + .note-card .actions { + flex-direction: column; + align-items: stretch; + } + + .view-button, + .download-button { + width: 100%; + } +} + +@media (max-width: 600px) { + .filters-container { + align-items: center; + } + + .modal-content { + padding: 1.5rem; + } +} \ No newline at end of file From 1cccf74fc5bca798f8cbcfa66d6b051ead5cba10 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Sun, 3 Aug 2025 01:07:29 +0530 Subject: [PATCH 13/36] Modified Browse Notes Page - Enhance the title for better visiblilty - Basic setup of Jotpad Page - Renamed nevessary files --- components/Header.html | 2 +- components/footer.html | 22 +- pages/{studentAccount.html => dashboard.html} | 2 +- pages/features.html | 2 +- pages/jotpad.html | 121 ++++---- pages/{BrowseNotes.html => notes.html} | 14 +- scripts/jotpad.js | 263 ++++++++++++++++++ styling/{studentAccount.css => dashboard.css} | 0 styling/jotpad.css | 176 ++++++------ styling/{browseNotes.css => notes.css} | 27 +- 10 files changed, 448 insertions(+), 181 deletions(-) rename pages/{studentAccount.html => dashboard.html} (97%) rename pages/{BrowseNotes.html => notes.html} (97%) create mode 100644 scripts/jotpad.js rename styling/{studentAccount.css => dashboard.css} (100%) rename styling/{browseNotes.css => notes.css} (88%) diff --git a/components/Header.html b/components/Header.html index 59d888c7..c9b0514e 100644 --- a/components/Header.html +++ b/components/Header.html @@ -37,7 +37,7 @@ Overview
  • - Dashboard
  • diff --git a/components/footer.html b/components/footer.html index 3633197e..1eb33a02 100644 --- a/components/footer.html +++ b/components/footer.html @@ -42,22 +42,22 @@ @@ -69,22 +69,22 @@ @@ -104,7 +104,7 @@ Open Source Society

    - Join our vibrant community of learners and contributors - + Join our vibrant community of learners and contributors...

    -

    Browse All Notes

    +

    Browse Notes

    @@ -79,7 +79,7 @@

    Upload Date:

    - Download Note +   Download Note @@ -207,11 +207,11 @@

    ${note.title}

    Semester: ${note.semester}

    Uploaded By: ${note.uploader}

    ` diff --git a/scripts/jotpad.js b/scripts/jotpad.js new file mode 100644 index 00000000..c16605a0 --- /dev/null +++ b/scripts/jotpad.js @@ -0,0 +1,263 @@ + + document.addEventListener('DOMContentLoaded', function () { + const noteArea = document.getElementById('noteArea') + noteArea.innerHTML = localStorage.getItem('noteContent') || '' + + // Initialize canvas + const canvas = document.getElementById('drawingCanvas') + const ctx = canvas.getContext('2d') + let isDrawing = false + let lastX = 0 + let lastY = 0 + + // Set canvas size to match note area + function resizeCanvas() { + const noteBox = document.querySelector('.note-box') + canvas.width = noteBox.offsetWidth + canvas.height = noteBox.offsetHeight + + // Redraw existing content if needed + const canvasData = localStorage.getItem('canvasData') + if (canvasData) { + const img = new Image() + img.onload = function () { + ctx.drawImage(img, 0, 0) + } + img.src = canvasData + } + } + + resizeCanvas() + window.addEventListener('resize', resizeCanvas) + + // Drawing functions + function startDrawing(e) { + isDrawing = true + const rect = canvas.getBoundingClientRect() + lastX = e.clientX - rect.left + lastY = e.clientY - rect.top + } + + function draw(e) { + if (!isDrawing) return + + const rect = canvas.getBoundingClientRect() + const currentX = e.clientX - rect.left + const currentY = e.clientY - rect.top + + const theme = document.documentElement.getAttribute('data-theme') + + ctx.strokeStyle = theme === 'dark' ? '#ffffff' : '#000000' + ctx.lineWidth = 2 + ctx.lineJoin = 'round' + ctx.lineCap = 'round' + + ctx.beginPath() + ctx.moveTo(lastX, lastY) + ctx.lineTo(currentX, currentY) + ctx.stroke() + + lastX = currentX + lastY = currentY + } + + function stopDrawing() { + isDrawing = false + // Save canvas state + localStorage.setItem('canvasData', canvas.toDataURL()) + } + + // Mode switching + const textModeBtn = document.getElementById('textModeBtn') + const drawModeBtn = document.getElementById('drawModeBtn') + const saveDrawingBtn = document.getElementById('saveDrawingBtn') + const clearDrawingBtn = document.getElementById('clearDrawingBtn') + + function activateTextMode() { + textModeBtn.classList.add('active') + drawModeBtn.classList.remove('active') + noteArea.contentEditable = 'true' + canvas.style.pointerEvents = 'none' + saveDrawingBtn.style.display = 'none' + clearDrawingBtn.style.display = 'none' + noteArea.focus() + } + + function activateDrawMode() { + textModeBtn.classList.remove('active') + drawModeBtn.classList.add('active') + noteArea.contentEditable = 'false' + canvas.style.pointerEvents = 'auto' + saveDrawingBtn.style.display = 'inline-block' + clearDrawingBtn.style.display = 'inline-block' + } + + textModeBtn.addEventListener('click', activateTextMode) + drawModeBtn.addEventListener('click', activateDrawMode) + + // Set initial mode + activateTextMode() + + // Canvas event listeners + canvas.addEventListener('mousedown', startDrawing) + canvas.addEventListener('mousemove', draw) + canvas.addEventListener('mouseup', stopDrawing) + canvas.addEventListener('mouseout', stopDrawing) + + // Touch support + canvas.addEventListener('touchstart', (e) => { + e.preventDefault() + const touch = e.touches[0] + const mouseEvent = new MouseEvent('mousedown', { + clientX: touch.clientX, + clientY: touch.clientY, + }) + canvas.dispatchEvent(mouseEvent) + }) + + canvas.addEventListener('touchmove', (e) => { + e.preventDefault() + const touch = e.touches[0] + const mouseEvent = new MouseEvent('mousemove', { + clientX: touch.clientX, + clientY: touch.clientY, + }) + canvas.dispatchEvent(mouseEvent) + }) + + canvas.addEventListener('touchend', (e) => { + e.preventDefault() + const mouseEvent = new MouseEvent('mouseup', {}) + canvas.dispatchEvent(mouseEvent) + }) + + // Clear drawing button + clearDrawingBtn.addEventListener('click', () => { + ctx.clearRect(0, 0, canvas.width, canvas.height) + localStorage.removeItem('canvasData') + }) + + // Save drawing button + saveDrawingBtn.addEventListener('click', () => { + const imageData = canvas.toDataURL('image/png') + const img = document.createElement('img') + img.src = imageData + img.style.maxWidth = '100%' + + activateTextMode() + noteArea.focus() + + // Insert at cursor position + const selection = window.getSelection() + if (selection.rangeCount > 0) { + const range = selection.getRangeAt(0) + range.insertNode(img) + } else { + noteArea.appendChild(img) + } + + ctx.clearRect(0, 0, canvas.width, canvas.height) + localStorage.removeItem('canvasData') + saveNoteContent() + }) + + // Note content handling + function togglePlaceholder() { + if (noteArea.innerText.trim() === '') { + noteArea.classList.add('empty') + } else { + noteArea.classList.remove('empty') + } + saveNoteContent() + } + + function saveNoteContent() { + localStorage.setItem('noteContent', noteArea.innerHTML) + } + + noteArea.addEventListener('input', togglePlaceholder) + noteArea.addEventListener('blur', togglePlaceholder) + noteArea.addEventListener('focus', function () { + if (noteArea.innerText.trim() === '') { + noteArea.classList.add('empty') + } + }) + + togglePlaceholder() + }) + + // PDF Download + async function downloadPDF() { + const { jsPDF } = window.jspdf + const content = document.getElementById('noteArea').innerHTML + const doc = new jsPDF() + doc.setFont('helvetica', 'normal') + doc.setFontSize(14) + + const tempDiv = document.createElement('div') + tempDiv.innerHTML = content + + let textContent = '' + const walker = document.createTreeWalker( + tempDiv, + NodeFilter.SHOW_TEXT, + null, + false + ) + let node + while ((node = walker.nextNode())) { + textContent += node.nodeValue + '\n' + } + + const images = tempDiv.getElementsByTagName('img') + let yPosition = 20 + const textLines = doc.splitTextToSize(textContent, 180) + doc.text(textLines, 10, yPosition) + yPosition += textLines.length * 7 + + for (let i = 0; i < images.length; i++) { + if (yPosition > 250) { + doc.addPage() + yPosition = 20 + } + + try { + const imgData = await getImageData(images[i].src) + const imgProps = doc.getImageProperties(imgData) + const width = 180 + const height = (imgProps.height * width) / imgProps.width + doc.addImage(imgData, 'PNG', 10, yPosition, width, height) + yPosition += height + 10 + } catch (error) { + console.error('Error adding image to PDF:', error) + } + } + + doc.save('MyNotes.pdf') + } + + function getImageData(url) { + return new Promise((resolve, reject) => { + const img = new Image() + img.crossOrigin = 'Anonymous' + img.onload = () => resolve(img) + img.onerror = reject + img.src = url + }) + } + + function deleteAll() { + if (confirm('Are you sure you want to delete all notes?')) { + const noteArea = document.getElementById('noteArea') + const canvas = document.getElementById('drawingCanvas') + const ctx = canvas.getContext('2d') + + noteArea.innerHTML = '' + ctx.clearRect(0, 0, canvas.width, canvas.height) + + localStorage.removeItem('noteContent') + localStorage.removeItem('canvasData') + + noteArea.classList.add('empty') + } + } \ No newline at end of file diff --git a/styling/studentAccount.css b/styling/dashboard.css similarity index 100% rename from styling/studentAccount.css rename to styling/dashboard.css diff --git a/styling/jotpad.css b/styling/jotpad.css index f2f1ad07..cf140358 100644 --- a/styling/jotpad.css +++ b/styling/jotpad.css @@ -1,101 +1,103 @@ +.header { + text-align: center; + padding: 20px; + font-size: 24px; + font-weight: bold; + background-color: var(--bg-secondary); + color: var(--text-primary); +} + +.editor-wrapper { + max-width: 800px; + margin: 0 auto; + padding: 20px; + color: var(--text-primary); +} + +.editor-container { + border: 1px solid var(--border-color); + border-radius: 8px; + overflow: hidden; + background-color: var(--card-bg); + box-shadow: var(--card-shadow); +} + +.mode-toggle { + display: flex; + background-color: var(--bg-secondary); + padding: 10px; +} + +.mode-btn { + flex: 1; + padding: 8px; + border: none; + background: none; + cursor: pointer; + font-weight: bold; + color: var(--text-secondary); +} + +.mode-btn.active { + background-color: var(--primary-500); + color: var(--white); + border-radius: 4px; +} - body { - margin: 0; - font-family: 'Poppins', sans-serif; - background-color: #f2f5ef; - } +.drawing-container { + position: relative; + height: 500px; + background-color: transparent; +} - .header { - background-color: #163d3b; - padding: 15px 20px; - font-size: 1.8rem; - font-weight: 600; - color: #d7e7d3; - text-align: center; - box-shadow: 0 2px 5px rgba(0,0,0,0.1); - } +.note-box { + width: 100%; + height: 100%; + padding: 15px; + box-sizing: border-box; + outline: none; + overflow-y: auto; + background-color: var(--card-bg); + color: var(--text-primary); +} - .editor-wrapper { - display: flex; - justify-content: center; - align-items: center; - padding: 40px 20px; - } +.note-box.empty::before { + content: 'Start typing here...'; + color: var(--text-secondary); +} - .editor-container { - width: 100%; - max-width: 800px; - background-color: #d7e7d3; - border-radius: 16px; - padding: 20px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); - display: flex; - flex-direction: column; - gap: 15px; - } +#drawingCanvas { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + background-color: transparent; +} - .note-box { - height: 54vh; - background-color: #ffffff; - border: none; - border-radius: 10px; - padding: 20px; - outline: none; - overflow-y: auto; - font-size: 1rem; - position:relative; - } - .note-box.empty::before{ - content: "Start writing your notes here..."; - color: #888; - position: absolute; - top: 20px; - left: 20px; - pointer-events: none; - font-size: 1rem; - } .button-wrapper { display: flex; justify-content: space-between; - margin-top: 20px; + padding: 10px; + background-color: var(--bg-secondary); } - .download-btn { - margin-top: 10px; - padding: 10px 20px; - background-color: #21453c; - color: #fff; - border: none; - border-radius: 10px; - font-size: 1rem; - cursor: pointer; - align-self: flex-end; - } - .download-btn:hover { - background-color: #19352d; - } - .note-box:empty::before { - content: attr(data-placeholder); - color: #aaa; - font-style: italic; - pointer-events: none; - display: block; +.download-btn, +.delete-btn { + padding: 8px 15px; + border: none; + border-radius: 4px; + cursor: pointer; + font-weight: bold; } +.download-btn { + background-color: var(--primary-500); + color: var(--white); +} .delete-btn { - margin-top: 10px; - padding: 10px 20px; - background-color: #c50707ca; - color: #fff; - border: none; - border-radius: 10px; - font-size: 1rem; - cursor: pointer; - align-self: flex-end; - } - - .delete-btn:hover { - background-color: #ec2a08; - } - \ No newline at end of file + background-color: var(--error); + color: var(--white); +} diff --git a/styling/browseNotes.css b/styling/notes.css similarity index 88% rename from styling/browseNotes.css rename to styling/notes.css index 5c40a1ee..9169df79 100644 --- a/styling/browseNotes.css +++ b/styling/notes.css @@ -1,7 +1,5 @@ -/* Browse Notes Styles */ - .browse-notes-container { - padding: 2rem 1rem; + padding: 6rem 1rem; max-width: 1200px; margin: 0 auto; } @@ -9,7 +7,7 @@ .browse-notes-container h1 { text-align: left; margin-bottom: 1.5rem; - color: var(--primary-700); + color: var(--primary-500); } /* Search Bar */ @@ -86,7 +84,7 @@ /* Notes Grid */ .notes-grid { display: grid; - grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* Changed from auto-fit to auto-fill */ + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; } @@ -100,10 +98,10 @@ flex-direction: column; justify-content: space-between; transition: transform 0.2s, box-shadow 0.2s; - width: 100%; /* Ensure full width of grid cell */ - height: 100%; /* Make all cards same height */ - min-height: 250px; /* Set a minimum height */ - box-sizing: border-box; /* Include padding in height calculation */ + width: 100%; + height: 100%; + min-height: 250px; + box-sizing: border-box; } .note-card:hover { @@ -112,8 +110,8 @@ } .note-card h3 { - color: var(--primary-700); - margin-bottom: 0.75rem; + color: var(--primary-600); + margin-bottom: 2rem; } .note-card p { @@ -122,7 +120,7 @@ color: var(--text-secondary); } -/* Consistent Button Group */ +/* Button */ .note-card .actions { margin-top: 1.25rem; display: flex; @@ -163,6 +161,7 @@ .download-button:hover { background-color: var(--primary-600); + color: inherit; } /* Modal */ @@ -194,7 +193,7 @@ .modal-content h2 { margin-bottom: 1rem; - color: var(--primary-700); + color: var(--primary-600); } .modal-content p { @@ -241,7 +240,7 @@ } } -/* Responsive Tweaks */ +/* Responsive Design */ @media (max-width: 768px) { .filters-container { flex-direction: column; From 58c329543eb7f008a5ab5e4e2dde97a220ded9ba Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Sun, 3 Aug 2025 01:18:05 +0530 Subject: [PATCH 14/36] Modified Script For Jotpad --- pages/jotpad.html | 3 + scripts/jotpad.js | 523 ++++++++++++++++++++++----------------------- styling/jotpad.css | 28 +-- 3 files changed, 279 insertions(+), 275 deletions(-) diff --git a/pages/jotpad.html b/pages/jotpad.html index a62bd1bf..6cd35276 100644 --- a/pages/jotpad.html +++ b/pages/jotpad.html @@ -4,6 +4,8 @@ NotesVault | JotPad + + + diff --git a/scripts/jotpad.js b/scripts/jotpad.js index c16605a0..29957b33 100644 --- a/scripts/jotpad.js +++ b/scripts/jotpad.js @@ -1,263 +1,262 @@ - - document.addEventListener('DOMContentLoaded', function () { - const noteArea = document.getElementById('noteArea') - noteArea.innerHTML = localStorage.getItem('noteContent') || '' - - // Initialize canvas - const canvas = document.getElementById('drawingCanvas') - const ctx = canvas.getContext('2d') - let isDrawing = false - let lastX = 0 - let lastY = 0 - - // Set canvas size to match note area - function resizeCanvas() { - const noteBox = document.querySelector('.note-box') - canvas.width = noteBox.offsetWidth - canvas.height = noteBox.offsetHeight - - // Redraw existing content if needed - const canvasData = localStorage.getItem('canvasData') - if (canvasData) { - const img = new Image() - img.onload = function () { - ctx.drawImage(img, 0, 0) - } - img.src = canvasData - } - } - - resizeCanvas() - window.addEventListener('resize', resizeCanvas) - - // Drawing functions - function startDrawing(e) { - isDrawing = true - const rect = canvas.getBoundingClientRect() - lastX = e.clientX - rect.left - lastY = e.clientY - rect.top - } - - function draw(e) { - if (!isDrawing) return - - const rect = canvas.getBoundingClientRect() - const currentX = e.clientX - rect.left - const currentY = e.clientY - rect.top - - const theme = document.documentElement.getAttribute('data-theme') - - ctx.strokeStyle = theme === 'dark' ? '#ffffff' : '#000000' - ctx.lineWidth = 2 - ctx.lineJoin = 'round' - ctx.lineCap = 'round' - - ctx.beginPath() - ctx.moveTo(lastX, lastY) - ctx.lineTo(currentX, currentY) - ctx.stroke() - - lastX = currentX - lastY = currentY - } - - function stopDrawing() { - isDrawing = false - // Save canvas state - localStorage.setItem('canvasData', canvas.toDataURL()) - } - - // Mode switching - const textModeBtn = document.getElementById('textModeBtn') - const drawModeBtn = document.getElementById('drawModeBtn') - const saveDrawingBtn = document.getElementById('saveDrawingBtn') - const clearDrawingBtn = document.getElementById('clearDrawingBtn') - - function activateTextMode() { - textModeBtn.classList.add('active') - drawModeBtn.classList.remove('active') - noteArea.contentEditable = 'true' - canvas.style.pointerEvents = 'none' - saveDrawingBtn.style.display = 'none' - clearDrawingBtn.style.display = 'none' - noteArea.focus() - } - - function activateDrawMode() { - textModeBtn.classList.remove('active') - drawModeBtn.classList.add('active') - noteArea.contentEditable = 'false' - canvas.style.pointerEvents = 'auto' - saveDrawingBtn.style.display = 'inline-block' - clearDrawingBtn.style.display = 'inline-block' - } - - textModeBtn.addEventListener('click', activateTextMode) - drawModeBtn.addEventListener('click', activateDrawMode) - - // Set initial mode - activateTextMode() - - // Canvas event listeners - canvas.addEventListener('mousedown', startDrawing) - canvas.addEventListener('mousemove', draw) - canvas.addEventListener('mouseup', stopDrawing) - canvas.addEventListener('mouseout', stopDrawing) - - // Touch support - canvas.addEventListener('touchstart', (e) => { - e.preventDefault() - const touch = e.touches[0] - const mouseEvent = new MouseEvent('mousedown', { - clientX: touch.clientX, - clientY: touch.clientY, - }) - canvas.dispatchEvent(mouseEvent) - }) - - canvas.addEventListener('touchmove', (e) => { - e.preventDefault() - const touch = e.touches[0] - const mouseEvent = new MouseEvent('mousemove', { - clientX: touch.clientX, - clientY: touch.clientY, - }) - canvas.dispatchEvent(mouseEvent) - }) - - canvas.addEventListener('touchend', (e) => { - e.preventDefault() - const mouseEvent = new MouseEvent('mouseup', {}) - canvas.dispatchEvent(mouseEvent) - }) - - // Clear drawing button - clearDrawingBtn.addEventListener('click', () => { - ctx.clearRect(0, 0, canvas.width, canvas.height) - localStorage.removeItem('canvasData') - }) - - // Save drawing button - saveDrawingBtn.addEventListener('click', () => { - const imageData = canvas.toDataURL('image/png') - const img = document.createElement('img') - img.src = imageData - img.style.maxWidth = '100%' - - activateTextMode() - noteArea.focus() - - // Insert at cursor position - const selection = window.getSelection() - if (selection.rangeCount > 0) { - const range = selection.getRangeAt(0) - range.insertNode(img) - } else { - noteArea.appendChild(img) - } - - ctx.clearRect(0, 0, canvas.width, canvas.height) - localStorage.removeItem('canvasData') - saveNoteContent() - }) - - // Note content handling - function togglePlaceholder() { - if (noteArea.innerText.trim() === '') { - noteArea.classList.add('empty') - } else { - noteArea.classList.remove('empty') - } - saveNoteContent() - } - - function saveNoteContent() { - localStorage.setItem('noteContent', noteArea.innerHTML) - } - - noteArea.addEventListener('input', togglePlaceholder) - noteArea.addEventListener('blur', togglePlaceholder) - noteArea.addEventListener('focus', function () { - if (noteArea.innerText.trim() === '') { - noteArea.classList.add('empty') - } - }) - - togglePlaceholder() - }) - - // PDF Download - async function downloadPDF() { - const { jsPDF } = window.jspdf - const content = document.getElementById('noteArea').innerHTML - const doc = new jsPDF() - doc.setFont('helvetica', 'normal') - doc.setFontSize(14) - - const tempDiv = document.createElement('div') - tempDiv.innerHTML = content - - let textContent = '' - const walker = document.createTreeWalker( - tempDiv, - NodeFilter.SHOW_TEXT, - null, - false - ) - let node - while ((node = walker.nextNode())) { - textContent += node.nodeValue + '\n' - } - - const images = tempDiv.getElementsByTagName('img') - let yPosition = 20 - const textLines = doc.splitTextToSize(textContent, 180) - doc.text(textLines, 10, yPosition) - yPosition += textLines.length * 7 - - for (let i = 0; i < images.length; i++) { - if (yPosition > 250) { - doc.addPage() - yPosition = 20 - } - - try { - const imgData = await getImageData(images[i].src) - const imgProps = doc.getImageProperties(imgData) - const width = 180 - const height = (imgProps.height * width) / imgProps.width - doc.addImage(imgData, 'PNG', 10, yPosition, width, height) - yPosition += height + 10 - } catch (error) { - console.error('Error adding image to PDF:', error) - } - } - - doc.save('MyNotes.pdf') - } - - function getImageData(url) { - return new Promise((resolve, reject) => { - const img = new Image() - img.crossOrigin = 'Anonymous' - img.onload = () => resolve(img) - img.onerror = reject - img.src = url - }) +document.addEventListener('DOMContentLoaded', function () { + const noteArea = document.getElementById('noteArea') + noteArea.innerHTML = localStorage.getItem('noteContent') || '' + + // Initialize Canvas + const canvas = document.getElementById('drawingCanvas') + const ctx = canvas.getContext('2d') + let isDrawing = false + let lastX = 0 + let lastY = 0 + + // Canvas Size + function resizeCanvas() { + const noteBox = document.querySelector('.note-box') + canvas.width = noteBox.offsetWidth + canvas.height = noteBox.offsetHeight + + // Redraw Existing Content + const canvasData = localStorage.getItem('canvasData') + if (canvasData) { + const img = new Image() + img.onload = function () { + ctx.drawImage(img, 0, 0) } - - function deleteAll() { - if (confirm('Are you sure you want to delete all notes?')) { - const noteArea = document.getElementById('noteArea') - const canvas = document.getElementById('drawingCanvas') - const ctx = canvas.getContext('2d') - - noteArea.innerHTML = '' - ctx.clearRect(0, 0, canvas.width, canvas.height) - - localStorage.removeItem('noteContent') - localStorage.removeItem('canvasData') - - noteArea.classList.add('empty') - } - } \ No newline at end of file + img.src = canvasData + } + } + + resizeCanvas() + window.addEventListener('resize', resizeCanvas) + + // Drawing Functions + function startDrawing(e) { + isDrawing = true + const rect = canvas.getBoundingClientRect() + lastX = e.clientX - rect.left + lastY = e.clientY - rect.top + } + + function draw(e) { + if (!isDrawing) return + + const rect = canvas.getBoundingClientRect() + const currentX = e.clientX - rect.left + const currentY = e.clientY - rect.top + + const theme = document.documentElement.getAttribute('data-theme') + + ctx.strokeStyle = theme === 'dark' ? '#ffffff' : '#000000' + ctx.lineWidth = 2 + ctx.lineJoin = 'round' + ctx.lineCap = 'round' + + ctx.beginPath() + ctx.moveTo(lastX, lastY) + ctx.lineTo(currentX, currentY) + ctx.stroke() + + lastX = currentX + lastY = currentY + } + + function stopDrawing() { + isDrawing = false + // Save Canvas + localStorage.setItem('canvasData', canvas.toDataURL()) + } + + // Switch Mode (Text <--> Draw) + const textModeBtn = document.getElementById('textModeBtn') + const drawModeBtn = document.getElementById('drawModeBtn') + const saveDrawingBtn = document.getElementById('saveDrawingBtn') + const clearDrawingBtn = document.getElementById('clearDrawingBtn') + + function activateTextMode() { + textModeBtn.classList.add('active') + drawModeBtn.classList.remove('active') + noteArea.contentEditable = 'true' + canvas.style.pointerEvents = 'none' + saveDrawingBtn.style.display = 'none' + clearDrawingBtn.style.display = 'none' + noteArea.focus() + } + + function activateDrawMode() { + textModeBtn.classList.remove('active') + drawModeBtn.classList.add('active') + noteArea.contentEditable = 'false' + canvas.style.pointerEvents = 'auto' + saveDrawingBtn.style.display = 'inline-block' + clearDrawingBtn.style.display = 'inline-block' + } + + textModeBtn.addEventListener('click', activateTextMode) + drawModeBtn.addEventListener('click', activateDrawMode) + + // Set Initial Mode + activateTextMode() + + // Canvas Event Listeners + canvas.addEventListener('mousedown', startDrawing) + canvas.addEventListener('mousemove', draw) + canvas.addEventListener('mouseup', stopDrawing) + canvas.addEventListener('mouseout', stopDrawing) + + // Touch Functionality (Draw Mode) + canvas.addEventListener('touchstart', (e) => { + e.preventDefault() + const touch = e.touches[0] + const mouseEvent = new MouseEvent('mousedown', { + clientX: touch.clientX, + clientY: touch.clientY, + }) + canvas.dispatchEvent(mouseEvent) + }) + + canvas.addEventListener('touchmove', (e) => { + e.preventDefault() + const touch = e.touches[0] + const mouseEvent = new MouseEvent('mousemove', { + clientX: touch.clientX, + clientY: touch.clientY, + }) + canvas.dispatchEvent(mouseEvent) + }) + + canvas.addEventListener('touchend', (e) => { + e.preventDefault() + const mouseEvent = new MouseEvent('mouseup', {}) + canvas.dispatchEvent(mouseEvent) + }) + + // Clear Drawing Button + clearDrawingBtn.addEventListener('click', () => { + ctx.clearRect(0, 0, canvas.width, canvas.height) + localStorage.removeItem('canvasData') + }) + + // Save Drawing Button + saveDrawingBtn.addEventListener('click', () => { + const imageData = canvas.toDataURL('image/png') + const img = document.createElement('img') + img.src = imageData + img.style.maxWidth = '100%' + + activateTextMode() + noteArea.focus() + + // Insert At Cursor Position + const selection = window.getSelection() + if (selection.rangeCount > 0) { + const range = selection.getRangeAt(0) + range.insertNode(img) + } else { + noteArea.appendChild(img) + } + + ctx.clearRect(0, 0, canvas.width, canvas.height) + localStorage.removeItem('canvasData') + saveNoteContent() + }) + + // Handle Note Content + function togglePlaceholder() { + if (noteArea.innerText.trim() === '') { + noteArea.classList.add('empty') + } else { + noteArea.classList.remove('empty') + } + saveNoteContent() + } + + function saveNoteContent() { + localStorage.setItem('noteContent', noteArea.innerHTML) + } + + noteArea.addEventListener('input', togglePlaceholder) + noteArea.addEventListener('blur', togglePlaceholder) + noteArea.addEventListener('focus', function () { + if (noteArea.innerText.trim() === '') { + noteArea.classList.add('empty') + } + }) + + togglePlaceholder() +}) + +// Download PDF +async function downloadPDF() { + const { jsPDF } = window.jspdf + const content = document.getElementById('noteArea').innerHTML + const doc = new jsPDF() + doc.setFont('helvetica', 'normal') + doc.setFontSize(14) + + const tempDiv = document.createElement('div') + tempDiv.innerHTML = content + + let textContent = '' + const walker = document.createTreeWalker( + tempDiv, + NodeFilter.SHOW_TEXT, + null, + false + ) + let node + while ((node = walker.nextNode())) { + textContent += node.nodeValue + '\n' + } + + const images = tempDiv.getElementsByTagName('img') + let yPosition = 20 + const textLines = doc.splitTextToSize(textContent, 180) + doc.text(textLines, 10, yPosition) + yPosition += textLines.length * 7 + + for (let i = 0; i < images.length; i++) { + if (yPosition > 250) { + doc.addPage() + yPosition = 20 + } + + try { + const imgData = await getImageData(images[i].src) + const imgProps = doc.getImageProperties(imgData) + const width = 180 + const height = (imgProps.height * width) / imgProps.width + doc.addImage(imgData, 'PNG', 10, yPosition, width, height) + yPosition += height + 10 + } catch (error) { + console.error('Error adding image to PDF:', error) + } + } + + doc.save('My_Notes.pdf') +} + +function getImageData(url) { + return new Promise((resolve, reject) => { + const img = new Image() + img.crossOrigin = 'Anonymous' + img.onload = () => resolve(img) + img.onerror = reject + img.src = url + }) +} + +function deleteAll() { + if (confirm('Are you sure you want to delete all notes?')) { + const noteArea = document.getElementById('noteArea') + const canvas = document.getElementById('drawingCanvas') + const ctx = canvas.getContext('2d') + + noteArea.innerHTML = '' + ctx.clearRect(0, 0, canvas.width, canvas.height) + + localStorage.removeItem('noteContent') + localStorage.removeItem('canvasData') + + noteArea.classList.add('empty') + } +} diff --git a/styling/jotpad.css b/styling/jotpad.css index cf140358..d6e37fd6 100644 --- a/styling/jotpad.css +++ b/styling/jotpad.css @@ -1,22 +1,24 @@ +/* Jotpad */ + .header { text-align: center; - padding: 20px; - font-size: 24px; + padding: 1.25rem; + font-size: 1.5rem; font-weight: bold; background-color: var(--bg-secondary); color: var(--text-primary); } .editor-wrapper { - max-width: 800px; + max-width: 50rem; margin: 0 auto; - padding: 20px; + padding: 1.25rem; color: var(--text-primary); } .editor-container { border: 1px solid var(--border-color); - border-radius: 8px; + border-radius: 0.5rem; overflow: hidden; background-color: var(--card-bg); box-shadow: var(--card-shadow); @@ -25,12 +27,12 @@ .mode-toggle { display: flex; background-color: var(--bg-secondary); - padding: 10px; + padding: 0.625rem; } .mode-btn { flex: 1; - padding: 8px; + padding: 0.5rem; border: none; background: none; cursor: pointer; @@ -41,19 +43,19 @@ .mode-btn.active { background-color: var(--primary-500); color: var(--white); - border-radius: 4px; + border-radius: 0.25rem; } .drawing-container { position: relative; - height: 500px; + height: 31.25rem; background-color: transparent; } .note-box { width: 100%; height: 100%; - padding: 15px; + padding: 0.9375rem; box-sizing: border-box; outline: none; overflow-y: auto; @@ -79,15 +81,15 @@ .button-wrapper { display: flex; justify-content: space-between; - padding: 10px; + padding: 0.625rem; background-color: var(--bg-secondary); } .download-btn, .delete-btn { - padding: 8px 15px; + padding: 0.5rem 0.9375rem; border: none; - border-radius: 4px; + border-radius: 0.25rem; cursor: pointer; font-weight: bold; } From aa4b238199068b8ea2e50ffe9cc971f8a6fe3804 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Sun, 3 Aug 2025 10:43:45 +0530 Subject: [PATCH 15/36] Enhanced Notes & Jotpad Page - Improved the overall styling for both the pages - Improved the layout and responsiveness for the pages --- pages/jotpad.html | 9 ++++++++- pages/notes.html | 13 ++++++++++++- styling/jotpad.css | 33 +++++++++++++++++++++++++-------- styling/notes.css | 32 +++++++++++++++++++++++++++++--- 4 files changed, 74 insertions(+), 13 deletions(-) diff --git a/pages/jotpad.html b/pages/jotpad.html index 6cd35276..000016f7 100644 --- a/pages/jotpad.html +++ b/pages/jotpad.html @@ -27,7 +27,14 @@
    -
    JotPad - A Clean, Real Time Note Taking Editor
    + + +
    +
    +

    JotPad

    +

    A Clean, Real Time Note Taking Editor!

    +
    +
    diff --git a/pages/notes.html b/pages/notes.html index a587e881..391a8fdd 100644 --- a/pages/notes.html +++ b/pages/notes.html @@ -21,8 +21,19 @@
    + +
    +
    +

    Browse Notes

    +

    + Find & access uploaded notes from students & creators! +

    +
    +
    + +
    -

    Browse Notes

    +

    Search Notes -

    - + + + + + diff --git a/scripts/studentAccount.js b/scripts/dashboard.js similarity index 100% rename from scripts/studentAccount.js rename to scripts/dashboard.js diff --git a/scripts/script.js b/scripts/script.js index dd4ee3a9..cad1a0fd 100644 --- a/scripts/script.js +++ b/scripts/script.js @@ -86,7 +86,7 @@ document.addEventListener('DOMContentLoaded', () => { e.preventDefault() const searchInput = DOM.searchForm?.querySelector("input[type='text']") if (searchInput?.value) { - window.location.href = `pages/BrowseNotes.html?query=${encodeURIComponent( + window.location.href = `pages/notes.html?query=${encodeURIComponent( searchInput.value )}` } diff --git a/scripts/todolist.js b/scripts/todolist.js index 60c2c09b..c8071229 100644 --- a/scripts/todolist.js +++ b/scripts/todolist.js @@ -1,5 +1,3 @@ -// Todo List JavaScript - NotesVault - class TodoList { constructor() { this.todos = JSON.parse(localStorage.getItem('notesvault-todos')) || []; @@ -14,15 +12,15 @@ class TodoList { } bindEvents() { - // Form submission + // Form Submission const form = document.getElementById('todoForm'); form.addEventListener('submit', (e) => this.handleSubmit(e)); - // Clear buttons + // Clear Buttons document.getElementById('clearCompleted').addEventListener('click', () => this.clearCompleted()); document.getElementById('clearAll').addEventListener('click', () => this.clearAll()); - // Task input focus + // Task Input Focus const taskInput = document.getElementById('taskInput'); taskInput.addEventListener('keydown', (e) => { if (e.key === 'Escape' && this.currentEditId) { @@ -61,7 +59,7 @@ class TodoList { this.saveToStorage(); this.render(); this.updateStats(); - this.showNotification('Task added successfully!', 'success'); + this.showNotification('Task Added Successfully!', 'success'); } updateTask(id, text) { @@ -72,7 +70,7 @@ class TodoList { this.saveToStorage(); this.render(); this.updateStats(); - this.showNotification('Task updated successfully!', 'success'); + this.showNotification('Task Updated Successfully!', 'success'); } } @@ -92,7 +90,7 @@ class TodoList { this.saveToStorage(); this.render(); this.updateStats(); - this.showNotification('Task deleted successfully!', 'info'); + this.showNotification('Task Deleted Successfully!', 'info'); } } @@ -118,7 +116,7 @@ class TodoList { clearCompleted() { const completedCount = this.todos.filter(todo => todo.completed).length; if (completedCount === 0) { - this.showNotification('No completed tasks to clear!', 'warning'); + this.showNotification('No Completed Tasks To Clear!', 'warning'); return; } @@ -133,7 +131,7 @@ class TodoList { clearAll() { if (this.todos.length === 0) { - this.showNotification('No tasks to clear!', 'warning'); + this.showNotification('No Tasks To Clear!', 'warning'); return; } @@ -142,7 +140,7 @@ class TodoList { this.saveToStorage(); this.render(); this.updateStats(); - this.showNotification('All tasks cleared!', 'success'); + this.showNotification('All Tasks Cleared!', 'success'); } } @@ -187,8 +185,8 @@ class TodoList { const totalTasks = this.todos.length; const completedTasks = this.todos.filter(todo => todo.completed).length; - document.getElementById('taskCount').textContent = `${totalTasks} task${totalTasks !== 1 ? 's' : ''}`; - document.getElementById('completedCount').textContent = `${completedTasks} completed`; + document.getElementById('taskCount').textContent = `${totalTasks} Task${totalTasks !== 1 ? 's' : ''}`; + document.getElementById('completedCount').textContent = `${completedTasks} Completed`; } updateAddButton() { @@ -213,7 +211,7 @@ class TodoList { } showNotification(message, type = 'info') { - // Create notification element + // Create Notification Element const notification = document.createElement('div'); notification.className = `notification notification-${type}`; notification.innerHTML = ` @@ -223,7 +221,7 @@ class TodoList {
    `; - // Add styles + // Add Styles notification.style.cssText = ` position: fixed; top: 20px; @@ -240,15 +238,15 @@ class TodoList { font-family: 'Poppins', sans-serif; `; - // Add to page + // Add To Page document.body.appendChild(notification); - // Animate in + // Animate In setTimeout(() => { notification.style.transform = 'translateX(0)'; }, 100); - // Remove after 3 seconds + // Remove After 3 Seconds setTimeout(() => { notification.style.transform = 'translateX(100%)'; setTimeout(() => { @@ -280,15 +278,15 @@ class TodoList { } } -// Initialize todo list when DOM is loaded +// Initialize To-Do List When DOM Is Loaded let todoList; document.addEventListener('DOMContentLoaded', () => { todoList = new TodoList(); }); -// Add keyboard shortcuts +// Add Keyboard Shortcuts document.addEventListener('keydown', (e) => { - // Ctrl/Cmd + Enter to submit form + // Ctrl/Cmd + Enter To Submit Form if ((e.ctrlKey || e.metaKey) && e.key === 'Enter') { const form = document.getElementById('todoForm'); if (form) { @@ -297,26 +295,3 @@ document.addEventListener('keydown', (e) => { } }); -// Add smooth scrolling for scroll to top button -document.addEventListener('DOMContentLoaded', () => { - const scrollToTopBtn = document.getElementById('scrollToTopBtn'); - - if (scrollToTopBtn) { - // Show/hide button based on scroll position - window.addEventListener('scroll', () => { - if (window.pageYOffset > 300) { - scrollToTopBtn.style.display = 'block'; - } else { - scrollToTopBtn.style.display = 'none'; - } - }); - - // Smooth scroll to top - scrollToTopBtn.addEventListener('click', () => { - window.scrollTo({ - top: 0, - behavior: 'smooth' - }); - }); - } -}); \ No newline at end of file diff --git a/scripts/upload.js b/scripts/upload.js index 0723f0a9..e0af1374 100644 --- a/scripts/upload.js +++ b/scripts/upload.js @@ -1,52 +1,239 @@ -const dropZone = document.getElementById("drop-zone"); -const fileInput = document.getElementById("file"); -const preview = document.getElementById("preview"); - -dropZone.addEventListener("click", () => fileInput.click()); - -fileInput.addEventListener("change", () => { - if (fileInput.files.length) { - handleFile(fileInput.files[0]); - } -}); - - ["dragenter", "dragover", "dragleave", "drop"].forEach(event => { - dropZone.addEventListener(event, e => { - e.preventDefault(); - e.stopPropagation(); - }); -}); - -["dragenter", "dragover"].forEach(event => { - dropZone.addEventListener(event, () => { - dropZone.classList.add("bg-blue-50", "border-blue-400", "text-blue-500"); - }); -}); - -["dragleave", "drop"].forEach(event => { - dropZone.addEventListener(event, () => { - dropZone.classList.remove("bg-blue-50", "border-blue-400", "text-blue-500"); - }); -}); - -dropZone.addEventListener("drop", e => { - const files = e.dataTransfer.files; - if (files.length) { - handleFile(files[0]); - } -}); - - function handleFile(file) { - preview.innerHTML = `

    Selected: ${file.name}

    `; - - if (file.type.startsWith("image/")) { - const reader = new FileReader(); - reader.onload = () => { - const img = document.createElement("img"); - img.src = reader.result; - img.classList.add("mt-2", "mx-auto", "max-w-[200px]", "rounded-md", "shadow"); - preview.appendChild(img); - }; - reader.readAsDataURL(file); - } - } \ No newline at end of file +document.addEventListener('DOMContentLoaded', function () { + let branchData + const branchSelect = document.getElementById('branch') + const semesterSelect = document.getElementById('semester') + const subjectSelect = document.getElementById('subject') + + // Custom input containers + const customBranchContainer = document.getElementById( + 'customBranchContainer' + ) + const customSemesterContainer = document.getElementById( + 'customSemesterContainer' + ) + const customSubjectContainer = document.getElementById( + 'customSubjectContainer' + ) + + // Fetch branch data + fetch('../data/search_parameters/parameters.json') + .then((response) => response.json()) + .then((data) => { + branchData = data + + // Populate branches + data.branches.forEach((branch) => { + const option = document.createElement('option') + option.value = typeof branch === 'object' ? branch.name : branch + option.textContent = + typeof branch === 'object' ? branch.name : branch + branchSelect.insertBefore(option, branchSelect.lastChild) + }) + }) + .catch((error) => console.error('Error loading branch data:', error)) + + // Branch change handler + branchSelect.addEventListener('change', function (e) { + semesterSelect.innerHTML = + '' + semesterSelect.disabled = false + + if (e.target.value === 'custom') { + customBranchContainer.style.display = 'flex' + semesterSelect.disabled = true + subjectSelect.disabled = true + return + } + + customBranchContainer.style.display = 'none' + + const selectedBranch = e.target.value + const branch = branchData.branches.find((b) => + typeof b === 'object' + ? b.name === selectedBranch + : b === selectedBranch + ) + + if (branch && typeof branch === 'object') { + branch.semesters.forEach((sem) => { + const option = document.createElement('option') + option.value = sem.semester + option.textContent = `Semester ${sem.semester}` + semesterSelect.insertBefore(option, semesterSelect.lastChild) + }) + } + }) + + // Semester change handler + semesterSelect.addEventListener('change', function (e) { + subjectSelect.innerHTML = + '' + subjectSelect.disabled = false + + if (e.target.value === 'custom') { + customSemesterContainer.style.display = 'flex' + subjectSelect.disabled = true + return + } + + customSemesterContainer.style.display = 'none' + + const branch = branchSelect.value + const semester = parseInt(e.target.value) + const branchObj = branchData.branches.find((b) => + typeof b === 'object' ? b.name === branch : b === branch + ) + + if (branchObj && typeof branchObj === 'object') { + const semesterObj = branchObj.semesters.find( + (s) => s.semester === semester + ) + if (semesterObj) { + semesterObj.subjects.forEach((sub) => { + const code = Object.keys(sub)[0] + const name = sub[code] + const option = document.createElement('option') + option.value = code + option.textContent = `${code} - ${name}` + subjectSelect.insertBefore(option, subjectSelect.lastChild) + }) + } + } + }) + + // Subject change handler + subjectSelect.addEventListener('change', function (e) { + if (e.target.value === 'custom') { + customSubjectContainer.style.display = 'flex' + return + } + customSubjectContainer.style.display = 'none' + }) + + // Confirm custom branch + document + .getElementById('confirmBranch') + .addEventListener('click', function () { + const customBranch = document + .getElementById('customBranch') + .value.trim() + if (customBranch) { + // Add the custom branch to the dropdown + const option = document.createElement('option') + option.value = customBranch + option.textContent = customBranch + branchSelect.insertBefore(option, branchSelect.lastChild) + branchSelect.value = customBranch + customBranchContainer.style.display = 'none' + semesterSelect.disabled = false + } + }) + + // Confirm custom semester + document + .getElementById('confirmSemester') + .addEventListener('click', function () { + const customSemester = document + .getElementById('customSemester') + .value.trim() + if (customSemester) { + // Add the custom semester to the dropdown + const option = document.createElement('option') + option.value = customSemester + option.textContent = `Semester ${customSemester}` + semesterSelect.insertBefore(option, semesterSelect.lastChild) + semesterSelect.value = customSemester + customSemesterContainer.style.display = 'none' + subjectSelect.disabled = false + } + }) + + // Confirm custom subject + document + .getElementById('confirmSubject') + .addEventListener('click', function () { + const code = document + .getElementById('customSubjectCode') + .value.trim() + const name = document + .getElementById('customSubjectName') + .value.trim() + if (code && name) { + // Add the custom subject to the dropdown + const option = document.createElement('option') + option.value = code + option.textContent = `${code} - ${name}` + subjectSelect.insertBefore(option, subjectSelect.lastChild) + subjectSelect.value = code + customSubjectContainer.style.display = 'none' + } + }) + + // File drop zone functionality + const dropZone = document.getElementById('drop-zone') + const fileInput = document.getElementById('file') + const preview = document.getElementById('preview') + + dropZone.addEventListener('click', () => fileInput.click()) + + fileInput.addEventListener('change', handleFileSelect) + + ;['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => { + dropZone.addEventListener(eventName, preventDefaults, false) + }) + + function preventDefaults(e) { + e.preventDefault() + e.stopPropagation() + } + + function handleDrop(e) { + const dt = e.dataTransfer + const files = dt.files + fileInput.files = files + handleFileSelect({ target: fileInput }) + } + + function handleFileSelect(e) { + const files = e.target.files + if (files.length) { + preview.innerHTML = '' + const file = files[0] + const fileInfo = document.createElement('div') + fileInfo.textContent = `Selected: ${file.name} (${formatFileSize( + file.size + )})` + preview.appendChild(fileInfo) + } + } + + function formatFileSize(bytes) { + if (bytes === 0) return '0 Bytes' + const k = 1024 + const sizes = ['Bytes', 'KB', 'MB', 'GB'] + const i = Math.floor(Math.log(bytes) / Math.log(k)) + return ( + parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i] + ) + } + + // Form submission + document + .getElementById('uploadForm') + .addEventListener('submit', function (e) { + e.preventDefault() + const message = document.getElementById('message') + message.textContent = + 'โœ… Notes uploaded successfully (for demo purposes only โ€” not stored)' + message.className = 'status-message success' + this.reset() + preview.innerHTML = '' + + // Reset custom inputs + customBranchContainer.style.display = 'none' + customSemesterContainer.style.display = 'none' + customSubjectContainer.style.display = 'none' + semesterSelect.disabled = true + subjectSelect.disabled = true + }) + }) \ No newline at end of file diff --git a/styling/styles.css b/styling/styles.css index e0338d2d..f4cfdfc8 100644 --- a/styling/styles.css +++ b/styling/styles.css @@ -1,73 +1,72 @@ -@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@600&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900"); +@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@600&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900'); - .theme-toggle { - display: flex; - align-items: center; - justify-content: center; - width: 40px; - height: 40px; - background: rgba(22, 61, 59, 0.1); - border: 1px solid rgba(22, 61, 59, 0.2); - border-radius: 50%; - cursor: pointer; - transition: all 0.3s ease; - margin-right: 15px; - position: relative; - overflow: hidden; - } - - .theme-toggle:hover { - background: rgba(22, 61, 59, 0.2); - border-color: rgba(22, 61, 59, 0.3); - transform: scale(1.05); - } +.theme-toggle { + display: flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + background: rgba(22, 61, 59, 0.1); + border: 1px solid rgba(22, 61, 59, 0.2); + border-radius: 50%; + cursor: pointer; + transition: all 0.3s ease; + margin-right: 15px; + position: relative; + overflow: hidden; +} - .theme-toggle .sun-icon, - .theme-toggle .moon-icon { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - transition: all 0.3s ease; - color: #163d3b; - } +.theme-toggle:hover { + background: rgba(22, 61, 59, 0.2); + border-color: rgba(22, 61, 59, 0.3); + transform: scale(1.05); +} - .theme-toggle .sun-icon { - opacity: 1; - visibility: visible; - } +.theme-toggle .sun-icon, +.theme-toggle .moon-icon { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + transition: all 0.3s ease; + color: #163d3b; +} - .theme-toggle .moon-icon { - opacity: 0; - visibility: hidden; - } +.theme-toggle .sun-icon { + opacity: 1; + visibility: visible; +} - /* Dark mode theme toggle button styles */ - [data-theme="dark"] .theme-toggle { - background: rgba(223, 248, 248, 0.1); - border-color: rgba(223, 248, 248, 0.2); - } +.theme-toggle .moon-icon { + opacity: 0; + visibility: hidden; +} - [data-theme="dark"] .theme-toggle:hover { - background: rgba(223, 248, 248, 0.2); - border-color: rgba(223, 248, 248, 0.3); - } +/* Dark mode theme toggle button styles */ +[data-theme='dark'] .theme-toggle { + background: rgba(223, 248, 248, 0.1); + border-color: rgba(223, 248, 248, 0.2); +} - [data-theme="dark"] .theme-toggle .sun-icon, - [data-theme="dark"] .theme-toggle .moon-icon { - color: #dff8f8; - } +[data-theme='dark'] .theme-toggle:hover { + background: rgba(223, 248, 248, 0.2); + border-color: rgba(223, 248, 248, 0.3); +} - [data-theme="dark"] .theme-toggle .sun-icon { - opacity: 0; - visibility: hidden; - } +[data-theme='dark'] .theme-toggle .sun-icon, +[data-theme='dark'] .theme-toggle .moon-icon { + color: #dff8f8; +} - [data-theme="dark"] .theme-toggle .moon-icon { - opacity: 1; - visibility: visible; - } +[data-theme='dark'] .theme-toggle .sun-icon { + opacity: 0; + visibility: hidden; +} +[data-theme='dark'] .theme-toggle .moon-icon { + opacity: 1; + visibility: visible; +} /* Navigation Menu Styles with updated order for theme toggle */ /* General reset */ @@ -77,61 +76,61 @@ box-sizing: border-box; } - /* Ensure parent scroll works */ - html, - body { - height: 100%; - overflow-x: hidden; - font-family: "Poppins", sans-serif; - } +/* Ensure parent scroll works */ +html, +body { + height: 100%; + overflow-x: hidden; + font-family: 'Poppins', sans-serif; +} - /* Sticky header */ - #header { - position: fixed; - top: 0; - left: 0; - width: 100vw; - z-index: 1000; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - padding: 15px 20px; - background: #ffffff; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); - -webkit-backdrop-filter: none; - backdrop-filter: none; - border-bottom: none !important; - margin: 0; - } +/* Sticky header */ +#header { + position: fixed; + top: 0; + left: 0; + width: 100vw; + z-index: 1000; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 15px 20px; + background: #ffffff; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: none; + backdrop-filter: none; + border-bottom: none !important; + margin: 0; +} - /* Flex box for left/right header items */ - #header div { - display: flex; - } +/* Flex box for left/right header items */ +#header div { + display: flex; +} - /* Ensures text/icons inside header are centered vertically */ - #header div p { - display: flex; - align-items: center; - } +/* Ensures text/icons inside header are centered vertically */ +#header div p { + display: flex; + align-items: center; +} - /* Left section spacing */ - #header #header-title-box { - margin-left: 5vw; - } +/* Left section spacing */ +#header #header-title-box { + margin-left: 5vw; +} - #header-title-box { - display: flex; - align-items: center; - } +#header-title-box { + display: flex; + align-items: center; +} - /* Title style */ - #header #header-title-box #header-title { - font-weight: 500; - font-style: normal; - font-size: calc(12px+1vw); - } +/* Title style */ +#header #header-title-box #header-title { + font-weight: 500; + font-style: normal; + font-size: calc(12px+1vw); +} /* Hamburger lines */ .hamburger-line { @@ -173,7 +172,7 @@ border-radius: 20px; padding: 30px 20px; z-index: 999; - display:none; + display: none; flex-direction: column; justify-content: flex-start; border: 1px black solid; @@ -226,181 +225,178 @@ align-items: center; } +.theme-toggle { + display: flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + background: rgba(22, 61, 59, 0.1); + border: 1px solid rgba(22, 61, 59, 0.2); + border-radius: 50%; + cursor: pointer; + transition: all 0.3s ease; + margin-right: 15px; + position: relative; + overflow: hidden; +} +.theme-toggle:hover { + background: rgba(22, 61, 59, 0.2); + border-color: rgba(22, 61, 59, 0.3); + transform: scale(1.05); +} - .theme-toggle { - display: flex; - align-items: center; - justify-content: center; - width: 40px; - height: 40px; - background: rgba(22, 61, 59, 0.1); - border: 1px solid rgba(22, 61, 59, 0.2); - border-radius: 50%; - cursor: pointer; - transition: all 0.3s ease; - margin-right: 15px; - position: relative; - overflow: hidden; - } - - .theme-toggle:hover { - background: rgba(22, 61, 59, 0.2); - border-color: rgba(22, 61, 59, 0.3); - transform: scale(1.05); - } - - .theme-toggle .sun-icon, - .theme-toggle .moon-icon { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - transition: all 0.3s ease; - color: #163d3b; - } - - .theme-toggle .sun-icon { - opacity: 1; - visibility: visible; - } +.theme-toggle .sun-icon, +.theme-toggle .moon-icon { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + transition: all 0.3s ease; + color: #163d3b; +} - .theme-toggle .moon-icon { - opacity: 0; - visibility: hidden; - } +.theme-toggle .sun-icon { + opacity: 1; + visibility: visible; +} - /* Dark mode theme toggle button styles */ - [data-theme="dark"] .theme-toggle { - background: rgba(223, 248, 248, 0.1); - border-color: rgba(223, 248, 248, 0.2); - } +.theme-toggle .moon-icon { + opacity: 0; + visibility: hidden; +} - [data-theme="dark"] .theme-toggle:hover { - background: rgba(223, 248, 248, 0.2); - border-color: rgba(223, 248, 248, 0.3); - } +/* Dark mode theme toggle button styles */ +[data-theme='dark'] .theme-toggle { + background: rgba(223, 248, 248, 0.1); + border-color: rgba(223, 248, 248, 0.2); +} - [data-theme="dark"] .theme-toggle .sun-icon, - [data-theme="dark"] .theme-toggle .moon-icon { - color: #dff8f8; - } +[data-theme='dark'] .theme-toggle:hover { + background: rgba(223, 248, 248, 0.2); + border-color: rgba(223, 248, 248, 0.3); +} - [data-theme="dark"] .theme-toggle .sun-icon { - opacity: 0; - visibility: hidden; - } +[data-theme='dark'] .theme-toggle .sun-icon, +[data-theme='dark'] .theme-toggle .moon-icon { + color: #dff8f8; +} - [data-theme="dark"] .theme-toggle .moon-icon { - opacity: 1; - visibility: visible; - } +[data-theme='dark'] .theme-toggle .sun-icon { + opacity: 0; + visibility: hidden; +} - /* Integrated code from paste-2.txt (lines 90 to 154) */ +[data-theme='dark'] .theme-toggle .moon-icon { + opacity: 1; + visibility: visible; +} - /* Example integrated styles (replace with actual content from paste-2.txt) */ - .example-class { - color: #333; - font-size: 16px; - margin: 10px; - } +/* Integrated code from paste-2.txt (lines 90 to 154) */ - .another-example { - display: flex; - justify-content: center; - align-items: center; - padding: 20px; - } +/* Example integrated styles (replace with actual content from paste-2.txt) */ +.example-class { + color: #333; + font-size: 16px; + margin: 10px; +} - /* Navigation Menu Styles with updated order for theme toggle */ - /* General reset if needed */ - * { - margin: 0; - padding: 0; - box-sizing: border-box; - } +.another-example { + display: flex; + justify-content: center; + align-items: center; + padding: 20px; +} - /* Ensure parent scroll works */ - html, - body { - height: 100%; - overflow-x: hidden; - font-family: "Poppins", sans-serif; - } +/* Navigation Menu Styles with updated order for theme toggle */ +/* General reset if needed */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} - /* Sticky header */ - #header { - position: fixed; - top: 0; - left: 0; - width: 100vw; - z-index: 1000; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - padding: 15px 0; - -webkit-backdrop-filter: blur(12px); - backdrop-filter: blur(12px); - box-shadow: none !important; - border-bottom: none !important; - margin: 0; - } +/* Ensure parent scroll works */ +html, +body { + height: 100%; + overflow-x: hidden; + font-family: 'Poppins', sans-serif; +} - /* Flex box for left/right header items */ - #header div { - display: flex; - } +/* Sticky header */ +#header { + position: fixed; + top: 0; + left: 0; + width: 100vw; + z-index: 1000; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 15px 0; + -webkit-backdrop-filter: blur(12px); + backdrop-filter: blur(12px); + box-shadow: none !important; + border-bottom: none !important; + margin: 0; +} - /* Ensures text/icons inside header are centered vertically */ - #header div p { - display: flex; - align-items: center; - } +/* Flex box for left/right header items */ +#header div { + display: flex; +} - /* Left section spacing */ - #header #header-title-box { - margin-left: 5vw; - } +/* Ensures text/icons inside header are centered vertically */ +#header div p { + display: flex; + align-items: center; +} - #header-title-box { - display: flex; - align-items: center; - } +/* Left section spacing */ +#header #header-title-box { + margin-left: 5vw; +} - /* Title style */ - #header #header-title-box #header-title { - font-weight: 500; - font-style: normal; - font-size: calc(12px+1vw); - } +#header-title-box { + display: flex; + align-items: center; +} - /* Hamburger Menu Styles */ - .hamburger-menu { - display: none; - flex-direction: column; - justify-content: space-around; - width: 30px; - height: 25px; - background: transparent; - border: none; - cursor: pointer; - padding: 0; - z-index: 1001; - } +/* Title style */ +#header #header-title-box #header-title { + font-weight: 500; + font-style: normal; + font-size: calc(12px+1vw); +} - .hamburger-line { - width: 100%; - height: 3px; - background-color: #163d3b; - border-radius: 2px; - transition: all 0.3s ease; - } +/* Hamburger Menu Styles */ +.hamburger-menu { + display: none; + flex-direction: column; + justify-content: space-around; + width: 30px; + height: 25px; + background: transparent; + border: none; + cursor: pointer; + padding: 0; + z-index: 1001; +} +.hamburger-line { + width: 100%; + height: 3px; + background-color: #163d3b; + border-radius: 2px; + transition: all 0.3s ease; +} - .hamburger-menu.active .hamburger-line:nth-child(1) { - transform: rotate(45deg) translate(6px, 6px); - } +.hamburger-menu.active .hamburger-line:nth-child(1) { + transform: rotate(45deg) translate(6px, 6px); +} .search-parameters-div { display: flex; @@ -409,29 +405,29 @@ margin: 4px 0px; } - .search-parameters-div .search-parameters-select { - display: flex; - border: none; - background-color: rgba(165, 201, 160, 0.5607843137); - color: #000000; - padding: 10px; - border-radius: 20px; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); - transition: background-color 0.2s ease; - cursor: pointer; - } +.search-parameters-div .search-parameters-select { + display: flex; + border: none; + background-color: rgba(165, 201, 160, 0.5607843137); + color: #000000; + padding: 10px; + border-radius: 20px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); + transition: background-color 0.2s ease; + cursor: pointer; +} - .search-parameters-div .search-parameters-select:focus { - outline: none; - background-color: rgba(165, 201, 160, 0.8156862745); - } +.search-parameters-div .search-parameters-select:focus { + outline: none; + background-color: rgba(165, 201, 160, 0.8156862745); +} .search-parameters-div .search-parameters-option { border: none; border-radius: 30px; padding: 10px; background-color: rgba(165, 201, 160, 0.8156862745); - color: #2E2E2E; + color: #2e2e2e; } .search-parameters-div .search-parameters-select option { @@ -439,7 +435,7 @@ border-radius: 30px; padding: 10px; background-color: #a5c9a0d0; - color: #2E2E2E; + color: #2e2e2e; } .sidebar { @@ -473,14 +469,13 @@ .main-right-search-form-input { display: inline-flex; flex: 0; - font-family: "Poppins", sans-serif; + font-family: 'Poppins', sans-serif; font-weight: 500; font-style: normal; background-color: #dfe9d7; border: none; border-radius: 10px; padding: 10px 30px; - } .search-input-field { @@ -500,91 +495,85 @@ left: 0; } +.hamburger-menu.active .hamburger-line:nth-child(2) { + opacity: 0; +} +.hamburger-menu.active .hamburger-line:nth-child(3) { + transform: rotate(-45deg) translate(6px, -6px); +} +/* Navigation Menu Styles */ +#header #header-navigation { + width: 40vw; + justify-content: space-between; +} +#header #header-navigation p { + font-family: 'Poppins', sans-serif; + font-weight: 300; + font-style: normal; + font-size: calc(9px + 0.4vw); + transition: font-weight 0.1s, text-decoration 0.1s; + cursor: pointer; +} - .hamburger-menu.active .hamburger-line:nth-child(2) { - opacity: 0; - } - - .hamburger-menu.active .hamburger-line:nth-child(3) { - transform: rotate(-45deg) translate(6px, -6px); - } - - /* Navigation Menu Styles */ - #header #header-navigation { - width: 40vw; - justify-content: space-between; - } - - #header #header-navigation p { - font-family: "Poppins", sans-serif; - font-weight: 300; - font-style: normal; - font-size: calc(9px + 0.4vw); - transition: font-weight 0.1s, text-decoration 0.1s; - cursor: pointer; - } - - .nav-menu { - display: flex; - - gap: 20px; - } +.nav-menu { + display: flex; - .nav-menu a { - text-decoration: none; - overflow: hidden; - position: relative; - display: inline-block; - color: #000000; /* this is fine for light mode */ - font-weight: 700; - font-style: normal; - font-family: "Poppins", sans-serif; - } - + gap: 20px; +} - .nav-menu a::before, - .nav-menu a::after { - content: ""; - position: absolute; - left: 0; - width: 100%; - } +.nav-menu a { + text-decoration: none; + overflow: hidden; + position: relative; + display: inline-block; + color: #000000; /* this is fine for light mode */ + font-weight: 700; + font-style: normal; + font-family: 'Poppins', sans-serif; +} - .nav-menu a::before { - background-color: #347034; - height: 2px; - bottom: 0; - transform: scaleX(0); - transform-origin: 100% 50%; - transition: transform 0.3s cubic-bezier(0.76, 0, 0.24, 1); - } +.nav-menu a::before, +.nav-menu a::after { + content: ''; + position: absolute; + left: 0; + width: 100%; +} - .nav-menu a::after { - content: attr(data-replace); - height: 100%; - top: 0; - transform: translate3d(200%, 0, 0); - transform-origin: 100% 50%; - transition: transform 0.3s cubic-bezier(0.76, 0, 0.24, 1); - color: #017c01; - position: absolute; - } - /* Light Mode */ - .nav-menu a { - color: #000000; - } +.nav-menu a::before { + background-color: #347034; + height: 2px; + bottom: 0; + transform: scaleX(0); + transform-origin: 100% 50%; + transition: transform 0.3s cubic-bezier(0.76, 0, 0.24, 1); +} - /* Dark Mode */ +.nav-menu a::after { + content: attr(data-replace); + height: 100%; + top: 0; + transform: translate3d(200%, 0, 0); + transform-origin: 100% 50%; + transition: transform 0.3s cubic-bezier(0.76, 0, 0.24, 1); + color: #017c01; + position: absolute; +} +/* Light Mode */ +.nav-menu a { + color: #000000; +} +/* Dark Mode */ - .nav-menu a span { - display: inline-block; - transition: transform 0.3s cubic-bezier(0.76, 0, 0.24, 1); - /* background-color: #F4F7F2; */ - } +.nav-menu a span { + display: inline-block; + transition: transform 0.3s cubic-bezier(0.76, 0, 0.24, 1); + /* background-color: #F4F7F2; */ +} .footer-right .footer-right-box { text-decoration: none; @@ -598,29 +587,26 @@ transition: background-color 0.3s ease, transform 0.3s ease; } +.nav-menu a:hover span { + transform: translate3d(-200%, 0, 0); +} - .nav-menu a:hover span { - transform: translate3d(-200%, 0, 0); - } - - .nav-menu a:hover::before { - transform-origin: 0% 50%; - transform: scaleX(1); - } - - .nav-menu a:hover::after { - transform: translate3d(0, 0, 0); - } - +.nav-menu a:hover::before { + transform-origin: 0% 50%; + transform: scaleX(1); +} +.nav-menu a:hover::after { + transform: translate3d(0, 0, 0); +} - /* ------------------------------------------------ */ - #header #header-navigation p:hover { - font-weight: 400; - text-decoration: underline; - } +/* ------------------------------------------------ */ +#header #header-navigation p:hover { + font-weight: 400; + text-decoration: underline; +} - #header #header-signup-box { +#header #header-signup-box { margin-right: 5vw; cursor: pointer; display: flex; @@ -630,7 +616,7 @@ #header #header-signup-box p { display: inline-flex; - font-family: "Poppins", sans-serif; + font-family: 'Poppins', sans-serif; font-weight: 300; font-style: normal; font-size: calc(9px + 0.4vw); @@ -641,160 +627,152 @@ vertical-align: middle; align-items: center; max-height: 50px; - transition: all 0.3s ease; + transition: all 0.3s ease; } #header #header-signup-box p:hover { - background-color: #1f5c59; - color: #ffffff; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); - transform: translateY(-1px); + background-color: #1f5c59; + color: #ffffff; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); + transform: translateY(-1px); } - /* flex box solved */ - #main { - display: flex; - /* flex-direction: row; */ - margin: 150px 5vw 0px 5vw; - padding-block: 30px; - justify-content: center; - align-items: center; - } - - - #main .welcome { - font-weight: 600; - font-size: calc(7px + 0.4vw); - background-color: #f8e1ca; - color: #eda950; - width: fit-content; - padding: 0px 15px; - border-radius: 15px; - } - - .main-text { - font-family: "Poppins", sans-serif; - font-weight: 200; - font-style: italic; - /* OR normal โ€” choose one */ - font-size: calc(9px + 0.4vw); - } - - .main-heading { - font-family: "Open Sans", sans-serif; - font-optical-sizing: auto; - font-weight: 600; - font-style: normal; - font-optical-sizing: auto; - font-variation-settings: "wdth" 100; - font-size: calc(20px + 1.5vw); - line-height: 1.6; - } - - .main-text { - margin: 10px 0px; - /* padding: 20px; */ - /* background-color: red; */ - } - - .main-left-links { - padding: 20px; - display: flex; - flex-direction: row; - } - - .main-left-links .links-text { - display: inline-flex; - margin-right: 1vw; - padding: 0px 30px; - font-family: "Poppins", sans-serif; - font-weight: 300; - font-style: normal; - font-size: calc(9px + 0.4vw); - min-height: calc(50px - 0.4vw); - align-items: center; - border-radius: 30px; - cursor: pointer; - } +/* flex box solved */ +#main { + display: flex; + /* flex-direction: row; */ + margin: 150px 5vw 0px 5vw; + padding-block: 30px; + justify-content: center; + align-items: center; +} - .main-left-links .features-box { - background-color: #f7b86e; - color: #544c1e; - } +#main .welcome { + font-weight: 600; + font-size: calc(7px + 0.4vw); + background-color: #f8e1ca; + color: #eda950; + width: fit-content; + padding: 0px 15px; + border-radius: 15px; +} - .main-left-links .try-box { - border: solid 1px; - } +.main-text { + font-family: 'Poppins', sans-serif; + font-weight: 200; + font-style: italic; + /* OR normal โ€” choose one */ + font-size: calc(9px + 0.4vw); +} - .main-right { - display: flex; - flex-direction: column; - width: 50vw; - align-items: center; - } +.main-heading { + font-family: 'Open Sans', sans-serif; + font-optical-sizing: auto; + font-weight: 600; + font-style: normal; + font-optical-sizing: auto; + font-variation-settings: 'wdth' 100; + font-size: calc(20px + 1.5vw); + line-height: 1.6; +} - .main-right-box { - background-color: #dae6d7; - width: 30vw; - border-radius: 15px; - } +.main-text { + margin: 10px 0px; + /* padding: 20px; */ + /* background-color: red; */ +} - .main-right-upper-box { - margin: 20px; - padding: 20px; - background-color: #f5f9f3; - border-radius: 15px; - } +.main-left-links { + padding: 20px; + display: flex; + flex-direction: row; +} - .main-right-upper-box .right-text-div { - padding: 15px; - } +.main-left-links .links-text { + display: inline-flex; + margin-right: 1vw; + padding: 0px 30px; + font-family: 'Poppins', sans-serif; + font-weight: 300; + font-style: normal; + font-size: calc(9px + 0.4vw); + min-height: calc(50px - 0.4vw); + align-items: center; + border-radius: 30px; + cursor: pointer; +} - .main-right-upper-box .right-text { - display: inline-flex; - font-family: "Poppins", sans-serif; - font-weight: 500; - font-style: normal; - font-size: calc(12px + 0.4vw); - } +.main-left-links .features-box { + background-color: #f7b86e; + color: #544c1e; +} - .main-right-upper-box .main-right-upper-box-progress { - display: flex; - flex-direction: row; - justify-content: space-between; - } +.main-left-links .try-box { + border: solid 1px; +} - .main-right-upper-box .main-right-upper-box-progress .small { - font-weight: 300; - padding: 15px; - } +.main-right { + display: flex; + flex-direction: column; + width: 50vw; + align-items: center; +} - .main-right-search { - display: inline-flex; - flex-direction: row; - position: relative; - z-index: 0; - justify-content: center; - } +.main-right-box { + background-color: #dae6d7; + width: 30vw; + border-radius: 15px; +} - +.main-right-upper-box { + margin: 20px; + padding: 20px; + background-color: #f5f9f3; + border-radius: 15px; +} +.main-right-upper-box .right-text-div { + padding: 15px; +} - .search-form-input-container { - display: flex; - } +.main-right-upper-box .right-text { + display: inline-flex; + font-family: 'Poppins', sans-serif; + font-weight: 500; + font-style: normal; + font-size: calc(12px + 0.4vw); +} - .hamburger-menu { - display: flex; - } +.main-right-upper-box .main-right-upper-box-progress { + display: flex; + flex-direction: row; + justify-content: space-between; +} - .nav-menu { - display: none; - } +.main-right-upper-box .main-right-upper-box-progress .small { + font-weight: 300; + padding: 15px; +} +.main-right-search { + display: inline-flex; + flex-direction: row; + position: relative; + z-index: 0; + justify-content: center; +} +.search-form-input-container { + display: flex; +} +.hamburger-menu { + display: flex; +} +.nav-menu { + display: none; +} /* Mobile styles (600px and down) */ @media screen and (max-width: 600px) { @@ -807,7 +785,7 @@ .main-right-search .main-right-search-form-input { display: inline-flex; - font-family: "Poppins", sans-serif; + font-family: 'Poppins', sans-serif; font-weight: 500; font-style: normal; background-color: #dfe9d7; @@ -818,53 +796,51 @@ margin: 10px 15px; } -.search-parameters-div { - display: flex; - align-items: center; - justify-content: center; - margin: 4px 0px; -} -.sidebar { - position: fixed; - top: 0; - left: -250px; - width: 250px; - height: 100%; - background-color: white; - transition: left 0.3s ease; - z-index: 1000; -} - -.sidebar.active { - left: 0; -} - - -} - - .search-parameters-div .search-parameters-select { + .search-parameters-div { display: flex; - border: none; - background-color: rgba(165, 201, 160, 0.5607843137); - color: #000000; - padding: 10px; - border-radius: 20px; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); - transition: background-color 0.2s ease; - cursor: pointer; + align-items: center; + justify-content: center; + margin: 4px 0px; + } + .sidebar { + position: fixed; + top: 0; + left: -250px; + width: 250px; + height: 100%; + background-color: white; + transition: left 0.3s ease; + z-index: 1000; } - .search-parameters-div .search-parameters-select:focus { - outline: none; - background-color: rgba(165, 201, 160, 0.8156862745); + .sidebar.active { + left: 0; } +} -.search-parameters-div .search-parameters-option { +.search-parameters-div .search-parameters-select { + display: flex; + border: none; + background-color: rgba(165, 201, 160, 0.5607843137); + color: #000000; + padding: 10px; + border-radius: 20px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); + transition: background-color 0.2s ease; + cursor: pointer; +} + +.search-parameters-div .search-parameters-select:focus { + outline: none; + background-color: rgba(165, 201, 160, 0.8156862745); +} + +.search-parameters-div .search-parameters-option { border: none; border-radius: 30px; padding: 10px; background-color: rgba(165, 201, 160, 0.8156862745); - color: #2E2E2E; + color: #2e2e2e; } .search-parameters-div .search-parameters-select option { @@ -872,59 +848,58 @@ border-radius: 30px; padding: 10px; background-color: #a5c9a0d0; - color: #2E2E2E; + color: #2e2e2e; } -[data-theme="dark"] .search-parameters-select option { +[data-theme='dark'] .search-parameters-select option { background-color: rgba(60, 80, 60, 0.9) !important; color: #e0e0e0 !important; } +.About { + font-family: 'Poppins', sans-serif; + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 2rem; - .About { - font-family: "Poppins", sans-serif; - display: flex; - flex-wrap: wrap; - justify-content: center; - gap: 2rem; - - margin: 5vw; - max-width: 1200px; - margin-left: auto; - margin-right: auto; - } + margin: 5vw; + max-width: 1200px; + margin-left: auto; + margin-right: auto; +} - .About-left-box { - flex: 1 1 300px; - min-width: 280px; - } +.About-left-box { + flex: 1 1 300px; + min-width: 280px; +} - .About-left-heading { - font-weight: 500; - font-size: 50px; - align-items: center; - letter-spacing: 0.1px; - } +.About-left-heading { + font-weight: 500; + font-size: 50px; + align-items: center; + letter-spacing: 0.1px; +} - .About-left-text { - font-weight: 200; - font-size: calc(15px + 0.4vw); - } +.About-left-text { + font-weight: 200; + font-size: calc(15px + 0.4vw); +} - .About-left-link { - font-weight: 500; - font-size: calc(12px + 0.4vw); - color: #6b6eb9; - cursor: pointer; - } +.About-left-link { + font-weight: 500; + font-size: calc(12px + 0.4vw); + color: #6b6eb9; + cursor: pointer; +} - .About-right { - display: flex; - flex-wrap: wrap; - justify-content: center; - gap: 1.5rem; - flex: 2 1 500px; - } +.About-right { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 1.5rem; + flex: 2 1 500px; +} .footer-right .footer-right-box { text-decoration: none; @@ -938,37 +913,36 @@ transition: background-color 0.3s ease, transform 0.3s ease; } - .About-right-box:hover { - transform: scale(1.03); - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); - } - - .About-right-heading { - font-weight: 500px; - font-size: calc(14px + 0.4vw); - letter-spacing: 0.1px; - } +.About-right-box:hover { + transform: scale(1.03); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); +} - .About-right-text { - font-weight: 300; - font-style: italic; - /* CORRECTED: Kept the italic style and removed the conflicting one */ - font-size: calc(9px + 0.4vw); - } +.About-right-heading { + font-weight: 500px; + font-size: calc(14px + 0.4vw); + letter-spacing: 0.1px; +} +.About-right-text { + font-weight: 300; + font-style: italic; + /* CORRECTED: Kept the italic style and removed the conflicting one */ + font-size: calc(9px + 0.4vw); +} - /* added Simple Fade-In Animation on Page Load */ - @keyframes fadeInUp { - from { - opacity: 0; - transform: translateY(30px); - } +/* added Simple Fade-In Animation on Page Load */ +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(30px); + } - to { - opacity: 1; - transform: translateY(0); - } - } + to { + opacity: 1; + transform: translateY(0); + } +} .About-right-box { opacity: 0; @@ -976,1040 +950,1042 @@ animation-delay: 0.8s; } - /* RESPONSIVE BREAKPOINTS */ - - /* Tablet styles (768px and down) */ - @media screen and (max-width: 768px) { - #header { - flex-wrap: wrap; - padding: 15px 0; - } - - #header #header-title-box { - margin-left: 3vw; - } - - #header #header-navigation { - width: 40vw; - justify-content: space-around; - } - - #header #header-navigation p { - font-size: calc(10px + 0.5vw); - } - - #header #header-signup-box { - margin-right: 3vw; - } - - #header #header-signup-box p { - padding: 8px 20px; - font-size: calc(10px + 0.5vw); - } - - #main { - flex-direction: column; - margin: 4vw; - gap: 30px; - } - - .main-right { - width: 100%; - align-items: center; - } - - .main-right-box { - width: 80vw; - max-width: 500px; - } - - .main-right-search .main-right-search-form-input { - width: calc(80vw - 130px); - max-width: calc(500px - 130px); - } - - .footer { - flex-direction: column; - gap: 30px; - margin: 4vw; - align-items: center; - } - - .footer .footer-left-box { - max-width: 100%; - text-align: center; - } - - .footer-right { - flex-wrap: wrap; - gap: 20px; - justify-content: center; - width: 100%; - } +/* RESPONSIVE BREAKPOINTS */ - .footer-right .footer-right-box { - width: calc(50% - 40px); - margin: 10px; - min-width: 250px; - text-align: center; - } - .hamburger-menu { - display: flex; +/* Tablet styles (768px and down) */ +@media screen and (max-width: 768px) { + #header { + flex-wrap: wrap; + padding: 15px 0; } - .nav-menu { - display: none; + #header #header-title-box { + margin-left: 3vw; } + #header #header-navigation { + width: 40vw; + justify-content: space-around; + } -} - - - /* Mobile styles (600px and down) */ - @media screen and (max-width: 600px) { - - /* Mobile Header Layout - Logo | Signup | Hamburger */ - #header { - justify-content: flex-start; - align-items: center; - gap: 15px; - } - - #header #header-title-box { - margin-left: 5vw; - order: 1; - } - - #header #header-signup-box { - order: 2; - margin-right: 0; - margin-left: auto; - } - - .hamburger-menu { - display: flex; - order: 3; - position: static; - margin-right: 5vw; - transform: none; - } - - #header #header-navigation { - display: none; - position: absolute; - top: 100%; - left: 0; - right: 0; - background-color: #f4f7f2; - flex-direction: column; - width: 100%; - padding: 20px 0; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); - z-index: 1000; - order: 4; - } - - #header #header-navigation.show { - display: flex; - } - - #header #header-navigation p { - padding: 15px 20px; - margin: 5px 0; - border-bottom: 1px solid #e0e0e0; - width: 100%; - justify-content: center; - font-size: calc(12px + 0.5vw); - } - - #header #header-navigation p:last-child { - border-bottom: none; - } - - #header #header-signup-box p { - padding: 8px 15px; - font-size: 12px; - } - - .main-heading { - font-size: calc(18px + 2vw); - } - - .main-left-links { - flex-direction: column; - gap: 10px; - } - - .main-left-links .links-text { - margin-right: 0; - text-align: center; - justify-content: center; - } - - .main-right-box { - width: 90vw; - } - - .main-right-search .main-right-search-form-input { - width: calc(90vw - 130px); - } - - .footer-right .footer-right-box { - width: 100%; - margin: 10px 0; - text-align: center; - } - } - - /* Small mobile styles (480px and down) */ - @media screen and (max-width: 480px) { - #header #header-title-box { - margin-left: 4vw; - } - - #header #header-title-box #header-title { - font-size: calc(14px + 1.5vw); - } - - .hamburger-menu { - margin-right: 4vw; - } - - #main { - margin: 4vw 2vw; - } - - .main-heading { - font-size: calc(16px + 3vw); - line-height: 1.4; - } - - .main-text { - font-size: calc(10px + 0.8vw); - } - - .main-right-upper-box { - margin: 15px; - } - - .main-right-search .search-icon { - width: 14px; - margin: 18px 15px; - } - - .main-right-search .main-right-search-form-input { - padding: 8px 25px; - font-size: 14px; - width: calc(90vw - 110px); - } - - .About { - margin: 4vw 2vw; - } - - .About .About-left-heading, - .About-right .About-right-heading { - font-size: calc(12px + 0.8vw); - } - - .About .About-left-text, - .About-right .About-right-text { - font-size: calc(10px + 0.6vw); - } + #header #header-navigation p { + font-size: calc(10px + 0.5vw); + } - .About-right .About-right-box { - padding: 20px; - margin: 10px 0; - } + #header #header-signup-box { + margin-right: 3vw; } - /* Extra small mobile styles (360px and down) */ - @media screen and (max-width: 360px) { - #header #header-title-box #header-title { - font-size: 16px; - } + #header #header-signup-box p { + padding: 8px 20px; + font-size: calc(10px + 0.5vw); + } - #header #header-signup-box p { - padding: 8px 10px; - font-size: 10px; - } + #main { + flex-direction: column; + margin: 4vw; + gap: 30px; + } - .hamburger-menu { - margin-right: 4vw; - width: 25px; - height: 20px; - } + .main-right { + width: 100%; + align-items: center; + } - .main-heading { - font-size: 22px; - } + .main-right-box { + width: 80vw; + max-width: 500px; + } - .main-text { - font-size: 12px; - } + .main-right-search .main-right-search-form-input { + width: calc(80vw - 130px); + max-width: calc(500px - 130px); + } - .main-left-links .links-text { - padding: 0px 20px; - font-size: 12px; - min-height: 40px; - } + .footer { + flex-direction: column; + gap: 30px; + margin: 4vw; + align-items: center; + } - .main-right-box { - width: 95vw; - } + .footer .footer-left-box { + max-width: 100%; + text-align: center; + } - .main-right-search .main-right-search-form-input { - width: calc(95vw - 100px); - padding: 6px 20px; - font-size: 12px; - } + .footer-right { + flex-wrap: wrap; + gap: 20px; + justify-content: center; + width: 100%; + } - .right-text { - font-size: 14px !important; - } + .footer-right .footer-right-box { + width: calc(50% - 40px); + margin: 10px; + min-width: 250px; + text-align: center; + } + .hamburger-menu { + display: flex; + } - .footer .footer-left-heading, - .footer-right .footer-right-heading { - font-size: 14px; - } + .nav-menu { + display: none; + } +} - .footer .footer-left-text, - .footer-right .footer-right-text { - font-size: 11px; - } +/* Mobile styles (600px and down) */ +@media screen and (max-width: 600px) { + /* Mobile Header Layout - Logo | Signup | Hamburger */ + #header { + justify-content: flex-start; + align-items: center; + gap: 15px; + } - .footer-right .footer-right-box { - padding: 15px; - margin: 8px 0; - } + #header #header-title-box { + margin-left: 5vw; + order: 1; } - /* Dark Mode Styles */ - [data-theme="dark"] { - color-scheme: dark; + #header #header-signup-box { + order: 2; + margin-right: 0; + margin-left: auto; } - [data-theme="dark"] body { - background-color: #0d0d0d; - color: #f1f1f1; - transition: background-color 0.3s ease, color 0.3s ease; + .hamburger-menu { + display: flex; + order: 3; + position: static; + margin-right: 5vw; + transform: none; } - [data-theme="dark"] #header { - background-color: #121212; - border-bottom: 1px solid #2c2c2c; + #header #header-navigation { + display: none; + position: absolute; + top: 100%; + left: 0; + right: 0; + background-color: #f4f7f2; + flex-direction: column; + width: 100%; + padding: 20px 0; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + z-index: 1000; + order: 4; } - [data-theme="dark"] #header #header-title { - color: #ffffff; + #header #header-navigation.show { + display: flex; } - [data-theme="dark"] .hamburger-line { - background: #ffffff; + #header #header-navigation p { + padding: 15px 20px; + margin: 5px 0; + border-bottom: 1px solid #e0e0e0; + width: 100%; + justify-content: center; + font-size: calc(12px + 0.5vw); } - [data-theme="dark"] #header #header-navigation { - background-color: #121212; + #header #header-navigation p:last-child { + border-bottom: none; } -[data-theme="dark"] .nav-menu a { - color: #dff8f8; -} + #header #header-signup-box p { + padding: 8px 15px; + font-size: 12px; + } -[data-theme="dark"] .nav-menu a:hover { - text-decoration: underline; - color: #4CAF50; -} + .main-heading { + font-size: calc(18px + 2vw); + } - [data-theme="dark"] #header #header-navigation p { - color: #e0e0e0; + .main-left-links { + flex-direction: column; + gap: 10px; } - [data-theme="dark"] #header #header-navigation p:hover { - color: #ffffff; + .main-left-links .links-text { + margin-right: 0; + text-align: center; + justify-content: center; } - [data-theme="dark"] #header #header-signup-box p { - background-color: #2c5a57; - color: #b8e6e1; + .main-right-box { + width: 90vw; } + .main-right-search .main-right-search-form-input { + width: calc(90vw - 130px); + } -[data-theme="dark"] .main-text { - color: #e0e0e0; + .footer-right .footer-right-box { + width: 100%; + margin: 10px 0; + text-align: center; + } } - [data-theme="dark"] .main-heading { - color: #ffffff; +/* Small mobile styles (480px and down) */ +@media screen and (max-width: 480px) { + #header #header-title-box { + margin-left: 4vw; } - [data-theme="dark"] .welcome { - background-color: #3d2f1a; - color: #d4a853; + #header #header-title-box #header-title { + font-size: calc(14px + 1.5vw); } - [data-theme="dark"] .links-text { - background-color: #1a1a1a; - color: #e0e0e0; - border: 1px solid #333; + .hamburger-menu { + margin-right: 4vw; } - [data-theme="dark"] .links-text:hover { - background-color: #333; - color: #ffffff; + #main { + margin: 4vw 2vw; } - [data-theme="dark"] .features-box { - background-color: #4a3420; - color: #d4a853; + .main-heading { + font-size: calc(16px + 3vw); + line-height: 1.4; } - [data-theme="dark"] .try-box { - border-color: #444; + .main-text { + font-size: calc(10px + 0.8vw); } - [data-theme="dark"] .main-right-box { - background-color: #1a2e1a; - color: #e0e0e0; + .main-right-upper-box { + margin: 15px; } - [data-theme="dark"] .main-right-upper-box { - background-color: #0f1f0f; - color: #e0e0e0; + .main-right-search .search-icon { + width: 14px; + margin: 18px 15px; } - [data-theme="dark"] .right-text { - color: #e0e0e0; + .main-right-search .main-right-search-form-input { + padding: 8px 25px; + font-size: 14px; + width: calc(90vw - 110px); } - [data-theme="dark"] .main-right-search-form-input { - background-color: #1e1e1e; - color: #ffffff; - border: 1px solid #444; + .About { + margin: 4vw 2vw; } - [data-theme="dark"] .main-right-search-form-input::placeholder { - color: #888; + .About .About-left-heading, + .About-right .About-right-heading { + font-size: calc(12px + 0.8vw); } - [data-theme="dark"] .search-icon { - color: #888; + .About .About-left-text, + .About-right .About-right-text { + font-size: calc(10px + 0.6vw); } - [data-theme="dark"] .search-parameters-select { - background-color: #2a3b2a; - color: #f7b86e; - border: 1px solid #f7b86e; + .About-right .About-right-box { + padding: 20px; + margin: 10px 0; } +} - [data-theme="dark"] .search-parameters-select:focus { - background-color: #1a2e1a; - outline: none; - border: 1px solid #f7b86e; +/* Extra small mobile styles (360px and down) */ +@media screen and (max-width: 360px) { + #header #header-title-box #header-title { + font-size: 16px; } - [data-theme="dark"] .search-parameters-option { - background-color: #2a3b2a; - color: #f7b86e; + #header #header-signup-box p { + padding: 8px 10px; + font-size: 10px; } - [data-theme="dark"] .About-left-heading, - [data-theme="dark"] .About-right-heading { - color: #ffffff; + .hamburger-menu { + margin-right: 4vw; + width: 25px; + height: 20px; } - [data-theme="dark"] .About-left-text, - [data-theme="dark"] .About-right-text { - color: #cccccc; + .main-heading { + font-size: 22px; } - [data-theme="dark"] .About-left-link { - color: #8a8ddb; + .main-text { + font-size: 12px; } - [data-theme="dark"] .About-right .About-right-box:hover { - background-color: #2a2a2a; - color: #ffffff; + .main-left-links .links-text { + padding: 0px 20px; + font-size: 12px; + min-height: 40px; } - [data-theme="dark"] .About-right svg { - stroke: #e0e0e0; + .main-right-box { + width: 95vw; } - [data-theme="dark"] .modern-footer { - background: linear-gradient(135deg, #0a1f1d 0%, #0d2420 100%); + .main-right-search .main-right-search-form-input { + width: calc(95vw - 100px); + padding: 6px 20px; + font-size: 12px; } - [data-theme="dark"] .footer-logo { - background: linear-gradient(135deg, #e0e0e0, #f7b86e); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; + .right-text { + font-size: 14px !important; } - [data-theme="dark"] .footer-description { - color: #a0c4c1; + .footer .footer-left-heading, + .footer-right .footer-right-heading { + font-size: 14px; } - [data-theme="dark"] .social-link { - background: rgba(223, 248, 248, 0.05); - border-color: rgba(223, 248, 248, 0.1); + .footer .footer-left-text, + .footer-right .footer-right-text { + font-size: 11px; } - [data-theme="dark"] .social-link:hover { - background: rgba(223, 248, 248, 0.1); - border-color: rgba(223, 248, 248, 0.2); + .footer-right .footer-right-box { + padding: 15px; + margin: 8px 0; } +} - [data-theme="dark"] .footer-links h4, - [data-theme="dark"] .footer-community h4 { - color: #ffffff; - } +/* Dark Mode Styles */ +[data-theme='dark'] { + color-scheme: dark; +} + +[data-theme='dark'] body { + background-color: #0d0d0d; + color: #f1f1f1; + transition: background-color 0.3s ease, color 0.3s ease; +} + +[data-theme='dark'] #header { + background-color: #121212; + border-bottom: 1px solid #2c2c2c; +} + +[data-theme='dark'] #header #header-title { + color: #ffffff; +} + +[data-theme='dark'] .hamburger-line { + background: #ffffff; +} + +[data-theme='dark'] #header #header-navigation { + background-color: #121212; +} + +[data-theme='dark'] .nav-menu a { + color: #dff8f8; +} + +[data-theme='dark'] .nav-menu a:hover { + text-decoration: underline; + color: #4caf50; +} + +[data-theme='dark'] #header #header-navigation p { + color: #e0e0e0; +} + +[data-theme='dark'] #header #header-navigation p:hover { + color: #ffffff; +} + +[data-theme='dark'] #header #header-signup-box p { + background-color: #2c5a57; + color: #b8e6e1; +} + +[data-theme='dark'] .main-text { + color: #e0e0e0; +} - [data-theme="dark"] .footer-links a { - color: #a0c4c1; +[data-theme='dark'] .main-heading { + color: #ffffff; +} + +[data-theme='dark'] .welcome { + background-color: #3d2f1a; + color: #d4a853; +} + +[data-theme='dark'] .links-text { + background-color: #1a1a1a; + color: #e0e0e0; + border: 1px solid #333; +} + +[data-theme='dark'] .links-text:hover { + background-color: #333; + color: #ffffff; +} + +[data-theme='dark'] .features-box { + background-color: #4a3420; + color: #d4a853; +} + +[data-theme='dark'] .try-box { + border-color: #444; +} + +[data-theme='dark'] .main-right-box { + background-color: #1a2e1a; + color: #e0e0e0; +} + +[data-theme='dark'] .main-right-upper-box { + background-color: #0f1f0f; + color: #e0e0e0; +} + +[data-theme='dark'] .right-text { + color: #e0e0e0; +} + +[data-theme='dark'] .main-right-search-form-input { + background-color: #1e1e1e; + color: #ffffff; + border: 1px solid #444; +} + +[data-theme='dark'] .main-right-search-form-input::placeholder { + color: #888; +} + +[data-theme='dark'] .search-icon { + color: #888; +} + +[data-theme='dark'] .search-parameters-select { + background-color: #2a3b2a; + color: #f7b86e; + border: 1px solid #f7b86e; +} + +[data-theme='dark'] .search-parameters-select:focus { + background-color: #1a2e1a; + outline: none; + border: 1px solid #f7b86e; +} + +[data-theme='dark'] .search-parameters-option { + background-color: #2a3b2a; + color: #f7b86e; +} + +[data-theme='dark'] .About-left-heading, +[data-theme='dark'] .About-right-heading { + color: #ffffff; +} + +[data-theme='dark'] .About-left-text, +[data-theme='dark'] .About-right-text { + color: #cccccc; +} + +[data-theme='dark'] .About-left-link { + color: #8a8ddb; +} + +[data-theme='dark'] .About-right .About-right-box:hover { + background-color: #2a2a2a; + color: #ffffff; +} + +[data-theme='dark'] .About-right svg { + stroke: #e0e0e0; +} + +[data-theme='dark'] .modern-footer { + background: linear-gradient(135deg, #0a1f1d 0%, #0d2420 100%); +} + +[data-theme='dark'] .footer-logo { + background: linear-gradient(135deg, #e0e0e0, #f7b86e); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +[data-theme='dark'] .footer-description { + color: #a0c4c1; +} + +[data-theme='dark'] .social-link { + background: rgba(223, 248, 248, 0.05); + border-color: rgba(223, 248, 248, 0.1); +} + +[data-theme='dark'] .social-link:hover { + background: rgba(223, 248, 248, 0.1); + border-color: rgba(223, 248, 248, 0.2); +} + +[data-theme='dark'] .footer-links h4, +[data-theme='dark'] .footer-community h4 { + color: #ffffff; +} + +[data-theme='dark'] .footer-links a { + color: #a0c4c1; +} + +[data-theme='dark'] .footer-links a:hover { + color: #dff8f8; +} + +[data-theme='dark'] .oss-badge { + background: rgba(223, 248, 248, 0.05); + border-color: rgba(223, 248, 248, 0.1); +} + +[data-theme='dark'] .oss-badge:hover { + background: rgba(223, 248, 248, 0.1); + border-color: rgba(223, 248, 248, 0.2); +} + +[data-theme='dark'] .community-text { + color: #a0c4c1; +} + +[data-theme='dark'] .footer-divider { + background: linear-gradient( + 90deg, + transparent, + rgba(223, 248, 248, 0.1), + transparent + ); +} + +[data-theme='dark'] .copyright, +[data-theme='dark'] .footer-bottom-links a { + color: #a0c4c1; +} + +[data-theme='dark'] .footer-bottom-links a:hover { + color: #dff8f8; +} + +/* Responsive breakpoints integrated from paste-2.txt */ + +/* General responsive styles */ +@media screen and (max-width: 768px) { + body { + font-size: 14px; + padding-top: 8vh; } - [data-theme="dark"] .footer-links a:hover { - color: #dff8f8; + .container { + padding: 10px; } +} - [data-theme="dark"] .oss-badge { - background: rgba(223, 248, 248, 0.05); - border-color: rgba(223, 248, 248, 0.1); +@media screen and (max-width: 600px) { + .theme-toggle { + width: 35px; + height: 35px; + margin-right: 10px; } - [data-theme="dark"] .oss-badge:hover { - background: rgba(223, 248, 248, 0.1); - border-color: rgba(223, 248, 248, 0.2); + .theme-toggle .sun-icon, + .theme-toggle .moon-icon { + width: 18px; + height: 18px; } +} - [data-theme="dark"] .community-text { - color: #a0c4c1; +@media screen and (max-width: 480px) { + .theme-toggle { + width: 32px; + height: 32px; + margin-right: 8px; } - [data-theme="dark"] .footer-divider { - background: linear-gradient(90deg, transparent, rgba(223, 248, 248, 0.1), transparent); + .theme-toggle .sun-icon, + .theme-toggle .moon-icon { + width: 16px; + height: 16px; } +} - [data-theme="dark"] .copyright, - [data-theme="dark"] .footer-bottom-links a { - color: #a0c4c1; +@media screen and (max-width: 360px) { + .theme-toggle { + width: 30px; + height: 30px; + margin-right: 6px; } - [data-theme="dark"] .footer-bottom-links a:hover { - color: #dff8f8; + .theme-toggle .sun-icon, + .theme-toggle .moon-icon { + width: 14px; + height: 14px; } +} - /* Responsive breakpoints integrated from paste-2.txt */ +/* Modern Footer Styles */ +.modern-footer { + background: linear-gradient(135deg, #163d3b 0%, #1a4441 100%); + color: #dff8f8; + padding: 60px 5vw 40px; + position: relative; + overflow: hidden; +} - /* General responsive styles */ - @media screen and (max-width: 768px) { - body { - font-size: 14px; - padding-top: 8vh; - } +.modern-footer::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 1px; + background: linear-gradient( + 90deg, + transparent, + rgba(74, 138, 133, 0.5), + transparent + ); +} - .container { - padding: 10px; - } - } +.footer-container { + max-width: 1200px; + margin: 0 auto; + background-color: #0d0d0d; +} - @media screen and (max-width: 600px) { - .theme-toggle { - width: 35px; - height: 35px; - margin-right: 10px; - } +.footer-top { + display: grid; + grid-template-columns: 2fr 1fr 1fr; + gap: 60px; + margin-bottom: 50px; +} - .theme-toggle .sun-icon, - .theme-toggle .moon-icon { - width: 18px; - height: 18px; - } - } +/* Footer Brand Section */ +.footer-brand { + max-width: 400px; +} - @media screen and (max-width: 480px) { - .theme-toggle { - width: 32px; - height: 32px; - margin-right: 8px; - } +.footer-logo { + font-size: 32px; + font-weight: 600; + margin-bottom: 20px; + background: linear-gradient(135deg, #c7c6c0, #f7b86e); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + font-family: 'Poppins', sans-serif; + /* background-color: #f7b86e; */ + /* color: #544c1e; */ +} - .theme-toggle .sun-icon, - .theme-toggle .moon-icon { - width: 16px; - height: 16px; - } - } +.footer-description { + font-size: 16px; + line-height: 1.7; + color: #b8d4d1; + margin-bottom: 30px; + font-weight: 300; +} - @media screen and (max-width: 360px) { - .theme-toggle { - width: 30px; - height: 30px; - margin-right: 6px; - } +/* Social Links */ +.social-links { + display: flex; + gap: 16px; +} - .theme-toggle .sun-icon, - .theme-toggle .moon-icon { - width: 14px; - height: 14px; - } - } +.social-link { + display: inline-flex; + align-items: center; + justify-content: center; + width: 48px; + height: 48px; + background: rgba(223, 248, 248, 0.1); + border: 1px solid rgba(223, 248, 248, 0.2); + border-radius: 12px; + color: #dff8f8; + text-decoration: none; + transition: all 0.3s ease; + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + box-shadow: 0 0 0 transparent; + /* base state */ +} +.social-link:hover { + background: rgba(223, 248, 248, 0.2); + border-color: rgba(223, 248, 248, 0.4); + transform: translateY(-2px); + box-shadow: 0 4px 12px rgba(223, 248, 248, 0.3), + 0 0 10px rgba(223, 248, 248, 0.4); + /* glow effect */ +} - /* Modern Footer Styles */ - .modern-footer { - background: linear-gradient(135deg, #163d3b 0%, #1a4441 100%); - color: #dff8f8; - padding: 60px 5vw 40px; - position: relative; - overflow: hidden; - } +/* Footer Links Section */ +.footer-links h4 { + font-size: 18px; + font-weight: 500; + margin-bottom: 24px; + color: #dff8f8; +} - .modern-footer::before { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - height: 1px; - background: linear-gradient(90deg, transparent, rgba(74, 138, 133, 0.5), transparent); - } +.footer-links ul { + list-style: none; +} + +.footer-links li { + margin-bottom: 12px; +} + +.footer-links a { + color: #b8d4d1; + text-decoration: none; + font-size: 15px; + font-weight: 300; + transition: all 0.3s ease; + position: relative; +} + +.footer-links a:hover { + color: #dff8f8; + transform: translateX(4px); +} + +.footer-links a::before { + content: ''; + position: absolute; + left: -20px; + top: 50%; + transform: translateY(-50%); + width: 0; + height: 2px; + background: linear-gradient(90deg, #a5c9a0, #f7b86e); + transition: width 0.3s ease; +} + +.footer-links a:hover::before { + width: 12px; +} + +/* Footer Community Section */ +.footer-community h4 { + font-size: 18px; + font-weight: 500; + margin-bottom: 24px; + color: #dff8f8; +} + +.community-badges { + display: flex; + flex-direction: column; + gap: 16px; + margin-bottom: 20px; +} + +.gssoc-badge img { + height: 32px; + border-radius: 6px; + transition: transform 0.3s ease; +} + +.gssoc-badge:hover img { + transform: scale(1.05); +} + +.oss-link { + text-decoration: none; +} + +.oss-badge { + display: flex; + align-items: center; + gap: 0.5rem; + + border: 1px solid #e2e8f0; + color: #1e293b; + border-radius: 20px; + /* Pill shape */ + + /* CHANGE THIS: Adjust padding to change the badge's overall size */ + padding: 8px 14px; + + transition: background-color 0.2s ease; +} + +.oss-badge img { + width: 25px; + height: 25px; +} + +.oss-badge span { + font-size: 14px; + color: #dff8f8; +} + +.community-text { + color: #b8d4d1; + font-size: 14px; + font-weight: 300; + line-height: 1.6; +} + +/* Footer Bottom */ +.footer-divider { + height: 1px; + background: linear-gradient( + 90deg, + transparent, + rgba(223, 248, 248, 0.2), + transparent + ); + margin-bottom: 30px; +} + +.footer-bottom-content { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 20px; +} + +.copyright { + color: #b8d4d1; + font-size: 14px; + font-weight: 300; +} + +.footer-bottom-links { + display: flex; + gap: 32px; +} + +.footer-bottom-links a { + color: #b8d4d1; + text-decoration: none; + font-size: 14px; + font-weight: 300; + transition: color 0.3s ease; +} + +.footer-bottom-links a:hover { + color: #dff8f8; +} - .footer-container { - max-width: 1200px; - margin: 0 auto; - background-color: #0d0d0d; +/* Responsive Design */ + +/* Tablet styles (768px and down) */ +@media screen and (max-width: 768px) { + .modern-footer { + padding: 50px 4vw 30px; } .footer-top { - display: grid; - grid-template-columns: 2fr 1fr 1fr; - gap: 60px; - margin-bottom: 50px; + grid-template-columns: 1fr; + gap: 40px; } - /* Footer Brand Section */ .footer-brand { - max-width: 400px; + max-width: 100%; + text-align: center; } .footer-logo { - font-size: 32px; - font-weight: 600; - margin-bottom: 20px; - background: linear-gradient(135deg, #c7c6c0, #f7b86e); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; - font-family: "Poppins", sans-serif; - /* background-color: #f7b86e; */ - /* color: #544c1e; */ - } - - .footer-description { - font-size: 16px; - line-height: 1.7; - color: #b8d4d1; - margin-bottom: 30px; - font-weight: 300; + font-size: 28px; } - /* Social Links */ .social-links { - display: flex; - gap: 16px; - } - - .social-link { - display: inline-flex; - align-items: center; justify-content: center; - width: 48px; - height: 48px; - background: rgba(223, 248, 248, 0.1); - border: 1px solid rgba(223, 248, 248, 0.2); - border-radius: 12px; - color: #dff8f8; - text-decoration: none; - transition: all 0.3s ease; - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - box-shadow: 0 0 0 transparent; - /* base state */ - } - - .social-link:hover { - background: rgba(223, 248, 248, 0.2); - border-color: rgba(223, 248, 248, 0.4); - transform: translateY(-2px); - box-shadow: - 0 4px 12px rgba(223, 248, 248, 0.3), - 0 0 10px rgba(223, 248, 248, 0.4); - /* glow effect */ - } - - - /* Footer Links Section */ - .footer-links h4 { - font-size: 18px; - font-weight: 500; - margin-bottom: 24px; - color: #dff8f8; } - .footer-links ul { - list-style: none; + .footer-links, + .footer-community { + text-align: center; } - .footer-links li { - margin-bottom: 12px; + .community-badges { + align-items: center; } - .footer-links a { - color: #b8d4d1; - text-decoration: none; - font-size: 15px; - font-weight: 300; - transition: all 0.3s ease; - position: relative; + .footer-bottom-content { + flex-direction: column; + text-align: center; } - .footer-links a:hover { - color: #dff8f8; - transform: translateX(4px); + .footer-bottom-links { + gap: 24px; } +} - .footer-links a::before { - content: ''; - position: absolute; - left: -20px; - top: 50%; - transform: translateY(-50%); - width: 0; - height: 2px; - background: linear-gradient(90deg, #a5c9a0, #f7b86e); - transition: width 0.3s ease; +/* Mobile styles (600px and down) */ +@media screen and (max-width: 600px) { + .main-content { + padding: 40px 20px; } - .footer-links a:hover::before { - width: 12px; + .preview-text h2 { + font-size: 24px; } - /* Footer Community Section */ - .footer-community h4 { - font-size: 18px; - font-weight: 500; - margin-bottom: 24px; - color: #dff8f8; + .preview-text p { + font-size: 14px; } - .community-badges { - display: flex; - flex-direction: column; - gap: 16px; - margin-bottom: 20px; + .modern-footer { + padding: 40px 3vw 25px; } - .gssoc-badge img { - height: 32px; - border-radius: 6px; - transition: transform 0.3s ease; + .footer-top { + gap: 35px; } - .gssoc-badge:hover img { - transform: scale(1.05); + .footer-logo { + font-size: 26px; + margin-bottom: 16px; } - .oss-link { - text-decoration: none; + .footer-description { + font-size: 15px; + margin-bottom: 25px; } - .oss-badge { - display: flex; - align-items: center; - gap: 0.5rem; - - border: 1px solid #e2e8f0; - color: #1e293b; - border-radius: 20px; - /* Pill shape */ - - /* CHANGE THIS: Adjust padding to change the badge's overall size */ - padding: 8px 14px; - - transition: background-color 0.2s ease; + .social-links { + gap: 12px; } - - .oss-badge img { - width: 25px; - height: 25px; + .social-link { + width: 44px; + height: 44px; } - .oss-badge span { - font-size: 14px; - color: #dff8f8; - + .footer-links h4, + .footer-community h4 { + font-size: 17px; + margin-bottom: 20px; } - .community-text { - color: #b8d4d1; + .footer-links a { font-size: 14px; - font-weight: 300; - line-height: 1.6; } - /* Footer Bottom */ - .footer-divider { - height: 1px; - background: linear-gradient(90deg, transparent, rgba(223, 248, 248, 0.2), transparent); - margin-bottom: 30px; + .community-badges { + gap: 12px; } - .footer-bottom-content { - display: flex; - justify-content: space-between; - align-items: center; - flex-wrap: wrap; - gap: 20px; + .gssoc-badge img { + height: 28px; } - .copyright { - color: #b8d4d1; - font-size: 14px; - font-weight: 300; + .oss-badge { + padding: 6px 12px; + font-size: 13px; } .footer-bottom-links { - display: flex; - gap: 32px; + flex-direction: column; + gap: 16px; } + .copyright, .footer-bottom-links a { - color: #b8d4d1; - text-decoration: none; - font-size: 14px; - font-weight: 300; - transition: color 0.3s ease; + font-size: 13px; } +} - .footer-bottom-links a:hover { - color: #dff8f8; +/* Small mobile styles (480px and down) */ +@media screen and (max-width: 480px) { + .modern-footer { + padding: 35px 4vw 20px; } - /* Responsive Design */ - - /* Tablet styles (768px and down) */ - @media screen and (max-width: 768px) { - .modern-footer { - padding: 50px 4vw 30px; - } - - .footer-top { - grid-template-columns: 1fr; - gap: 40px; - } - - .footer-brand { - max-width: 100%; - text-align: center; - } - - .footer-logo { - font-size: 28px; - } - - .social-links { - justify-content: center; - } - - .footer-links, - .footer-community { - text-align: center; - } - - .community-badges { - align-items: center; - } - - .footer-bottom-content { - flex-direction: column; - text-align: center; - } - - .footer-bottom-links { - gap: 24px; - } - } - - /* Mobile styles (600px and down) */ - @media screen and (max-width: 600px) { - .main-content { - padding: 40px 20px; - } - - .preview-text h2 { - font-size: 24px; - } - - .preview-text p { - font-size: 14px; - } - - .modern-footer { - padding: 40px 3vw 25px; - } - - .footer-top { - gap: 35px; - } - - .footer-logo { - font-size: 26px; - margin-bottom: 16px; - } - - .footer-description { - font-size: 15px; - margin-bottom: 25px; - } - - .social-links { - gap: 12px; - } - - .social-link { - width: 44px; - height: 44px; - } - - .footer-links h4, - .footer-community h4 { - font-size: 17px; - margin-bottom: 20px; - } - - .footer-links a { - font-size: 14px; - } - - .community-badges { - gap: 12px; - } - - .gssoc-badge img { - height: 28px; - } - - .oss-badge { - padding: 6px 12px; - font-size: 13px; - } - - .footer-bottom-links { - flex-direction: column; - gap: 16px; - } - - .copyright, - .footer-bottom-links a { - font-size: 13px; - } - } - - - /* Small mobile styles (480px and down) */ - @media screen and (max-width: 480px) { - .modern-footer { - padding: 35px 4vw 20px; - } - - .footer-top { - gap: 30px; - } - - .footer-logo { - font-size: 24px; - } - - .footer-description { - font-size: 14px; - line-height: 1.6; - } + .footer-top { + gap: 30px; + } - .social-link { - width: 40px; - height: 40px; - } + .footer-logo { + font-size: 24px; + } - .footer-links h4, - .footer-community h4 { - font-size: 16px; - margin-bottom: 18px; - } + .footer-description { + font-size: 14px; + line-height: 1.6; + } - .community-text { - font-size: 13px; - } + .social-link { + width: 40px; + height: 40px; + } - .gssoc-badge img { - height: 26px; - } + .footer-links h4, + .footer-community h4 { + font-size: 16px; + margin-bottom: 18px; + } - .oss-badge { - padding: 5px 10px; - font-size: 12px; - gap: 6px; - } + .community-text { + font-size: 13px; } - /* Extra small mobile styles (360px and down) */ - @media screen and (max-width: 360px) { - .preview-text h2 { - font-size: 20px; - } + .gssoc-badge img { + height: 26px; + } - .modern-footer { - padding: 30px 5vw 18px; - } + .oss-badge { + padding: 5px 10px; + font-size: 12px; + gap: 6px; + } +} - .footer-logo { - font-size: 22px; - } +/* Extra small mobile styles (360px and down) */ +@media screen and (max-width: 360px) { + .preview-text h2 { + font-size: 20px; + } - .footer-description { - font-size: 13px; - } + .modern-footer { + padding: 30px 5vw 18px; + } - .social-link { - width: 36px; - height: 36px; - } + .footer-logo { + font-size: 22px; + } - .footer-links h4, - .footer-community h4 { - font-size: 15px; - } + .footer-description { + font-size: 13px; + } - .footer-links a { - font-size: 13px; - } + .social-link { + width: 36px; + height: 36px; + } - .community-text { - font-size: 12px; - } + .footer-links h4, + .footer-community h4 { + font-size: 15px; + } - .copyright, - .footer-bottom-links a { - font-size: 12px; - } + .footer-links a { + font-size: 13px; + } + .community-text { + font-size: 12px; } + .copyright, + .footer-bottom-links a { + font-size: 12px; + } +} - /* ===== Upload Page Navbar Styling ===== */ +/* ===== Upload Page Navbar Styling ===== */ nav { display: flex; justify-content: center; @@ -2049,47 +2025,42 @@ nav a:hover { box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3); } - .links-text { - cursor: pointer; - transition: all 0.3s ease; - } - - .links-text:hover { - font-weight: 400; - text-decoration: underline; - } - - - .footer { - background-color: #1e1e1e; - color: #fff; - text-align: center; - padding: 20px 10px; - margin-top: 50px; - font-size: 14px; - } - - .footer-content p { - margin: 5px 0; +.links-text { + cursor: pointer; + transition: all 0.3s ease; +} - } +.links-text:hover { + font-weight: 400; + text-decoration: underline; +} +.footer { + background-color: #1e1e1e; + color: #fff; + text-align: center; + padding: 20px 10px; + margin-top: 50px; + font-size: 14px; +} - @media (max-width: 600px) { - .footer { - font-size: 12px; - padding: 15px 5px; - } +.footer-content p { + margin: 5px 0; +} +@media (max-width: 600px) { + .footer { + font-size: 12px; + padding: 15px 5px; } +} - /* Hover and Shadow Effects */ - button, - img, - .card, - .hover-effect { - transition: box-shadow 0.3s ease, transform 0.3s ease; - +/* Hover and Shadow Effects */ +button, +img, +.card, +.hover-effect { + transition: box-shadow 0.3s ease, transform 0.3s ease; } .bookmark-btn { margin-top: 10px; @@ -2106,7 +2077,6 @@ nav a:hover { background-color: #f3a847; } - .rating { margin-top: 10px; } @@ -2149,16 +2119,18 @@ nav a:hover { } } /* Hover and Shadow Effects */ -button,img, .card, .hover-effect { +button, +img, +.card, +.hover-effect { transition: box-shadow 0.3s ease, transform 0.3s ease; } -main{ - +main { button:hover, img:hover, .card:hover, .hover-effect:hover { - box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), 0 1.5px 4px rgba(0, 0, 0, 0.10); + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), 0 1.5px 4px rgba(0, 0, 0, 0.1); transform: scale(1.04); z-index: 2; } @@ -2167,7 +2139,6 @@ main{ bottom: 10px; right: 40px; position: fixed; - } #scroll_top_btn { @@ -2175,8 +2146,6 @@ main{ font-weight: bolder; font-size: larger; } - - } .feature-cards-container { @@ -2192,7 +2161,7 @@ main{ background: #d2e6ce; color: #222; border-radius: 20px; - box-shadow: 0 2px 12px rgba(0,0,0,0.06); + box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06); padding: 32px 28px; flex: 1 1 0; display: flex; @@ -2212,48 +2181,44 @@ main{ stroke: #1d1d1d !important; } -[data-theme="dark"] .feature-card { +[data-theme='dark'] .feature-card { background: #223024; color: #f7f7f7; - box-shadow: 0 2px 12px rgba(0,0,0,0.18); + box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18); } -[data-theme="dark"] .feature-card .About-right-heading, -[data-theme="dark"] .feature-card .About-right-text { +[data-theme='dark'] .feature-card .About-right-heading, +[data-theme='dark'] .feature-card .About-right-text { color: #f7f7f7; } -[data-theme="dark"] .feature-card svg { +[data-theme='dark'] .feature-card svg { stroke: #f7b86e !important; } -[data-theme="dark"] .feature-card:hover { - box-shadow: 0 6px 24px rgba(247,184,110,0.18); +[data-theme='dark'] .feature-card:hover { + box-shadow: 0 6px 24px rgba(247, 184, 110, 0.18); } .feature-card:hover { - box-shadow: 0 6px 24px rgba(76,175,80,0.13); + box-shadow: 0 6px 24px rgba(76, 175, 80, 0.13); transform: translateY(-4px) scale(1.03); } - .feature-card svg { - margin-bottom: 18px; - } - - .feature-card .About-right-heading { - margin-bottom: 8px; - font-size: 1.25rem; - font-weight: 500; - text-align: center; - } - - .feature-card .About-right-text { - font-size: 1rem; - font-style: italic; - color: #222; - text-align: center; - } - - +.feature-card svg { + margin-bottom: 18px; +} +.feature-card .About-right-heading { + margin-bottom: 8px; + font-size: 1.25rem; + font-weight: 500; + text-align: center; +} +.feature-card .About-right-text { + font-size: 1rem; + font-style: italic; + color: #222; + text-align: center; +} /* Note Styling */ /* Container for all notes */ @@ -2278,8 +2243,9 @@ main{ box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1); transition: transform 0.2s ease, box-shadow 0.2s ease; } -.note-card .mark{ - display: flex;align-items: center; +.note-card .mark { + display: flex; + align-items: center; justify-content: center; flex-direction: column; } @@ -2359,20 +2325,17 @@ main{ transition: color 0.2s; } - - @media (max-width: 900px) { - .feature-cards-container { - flex-direction: column; - gap: 24px; - align-items: center; - } - .feature-card { - max-width: 90vw; - width: 100%; - } +@media (max-width: 900px) { + .feature-cards-container { + flex-direction: column; + gap: 24px; + align-items: center; } - - + .feature-card { + max-width: 90vw; + width: 100%; + } +} /* ========== Features Section ========== */ .features-section { @@ -2387,7 +2350,7 @@ main{ .feature-card { background: #ffffff; border-radius: 20px; - box-shadow: 0 2px 15px rgba(0,0,0,0.05); + box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05); padding: 2rem; max-width: 300px; text-align: center; @@ -2418,7 +2381,6 @@ main{ /* ========== Custom Footer ========== */ - .footer-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); @@ -2510,102 +2472,101 @@ main{ border-radius: 10px; padding: 20px; text-align: center; - background-color: #e4f0e1; /* pastel green */ - border: 3px solid #d0e6ce; /* softer inner border */ - color: #2b4a2c; - font-family: "Poppins", sans-serif; - + background-color: #e4f0e1; /* pastel green */ + border: 3px solid #d0e6ce; /* softer inner border */ + color: #2b4a2c; + font-family: 'Poppins', sans-serif; } -.card-body .feature-title{ - font-weight:bold; +.card-body .feature-title { + font-weight: bold; } .card:hover { transform: scale(1.05); - box-shadow: 0px 4px 12px rgba(0,0,0,0.1); + box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); } /*footer css*/ - .custom-footer { - background-color: #e6f4ea; - color: #2e7d32; - padding: 40px 20px 10px; - font-family: 'Segoe UI', sans-serif; - border-top: 2px solid #b2d8c5; - margin-top: 80px; - background-color: #0d0d0d; - } +.custom-footer { + background-color: #e6f4ea; + color: #2e7d32; + padding: 40px 20px 10px; + font-family: 'Segoe UI', sans-serif; + border-top: 2px solid #b2d8c5; + margin-top: 80px; + background-color: #0d0d0d; +} - .footer-container { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - gap: 30px; - max-width: 1200px; - margin: auto; - } +.footer-container { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + gap: 30px; + max-width: 1200px; + margin: auto; +} - .footer-section { - flex: 1 1 200px; - } +.footer-section { + flex: 1 1 200px; +} - .footer-section h3, .footer-section h2 { - margin-bottom: 15px; - color: #2e7d32; - } +.footer-section h3, +.footer-section h2 { + margin-bottom: 15px; + color: #2e7d32; +} - .footer-description { - font-size: 15px; - color: #ccc; - line-height: 1.6; - } +.footer-description { + font-size: 15px; + color: #ccc; + line-height: 1.6; +} - .footer-section ul { - list-style: none; - padding: 0; - margin: 0; - } +.footer-section ul { + list-style: none; + padding: 0; + margin: 0; +} - .footer-section ul li { - margin-bottom: 12px; - } +.footer-section ul li { + margin-bottom: 12px; +} - .footer-section ul li a { - text-decoration: none; - color: #2e7d32; - transition: color 0.2s; - font-size: 15px; - } +.footer-section ul li a { + text-decoration: none; + color: #2e7d32; + transition: color 0.2s; + font-size: 15px; +} - .footer-section ul li a:hover { - color: #1b5e20; - } +.footer-section ul li a:hover { + color: #1b5e20; +} - .footer-learn-link { - display: inline-block; - margin-top: 10px; - color: #1b5e20; - font-weight: bold; - text-decoration: none; - border-bottom: 2px solid transparent; - transition: border-bottom 0.3s; - } +.footer-learn-link { + display: inline-block; + margin-top: 10px; + color: #1b5e20; + font-weight: bold; + text-decoration: none; + border-bottom: 2px solid transparent; + transition: border-bottom 0.3s; +} - .footer-learn-link:hover { - border-bottom: 2px solid #1b5e20; - } +.footer-learn-link:hover { + border-bottom: 2px solid #1b5e20; +} - .footer-bottom { - text-align: center; - margin-top: 30px; - padding-top: 15px; - font-size: 14px; - color: #555; - border-top: 1px solid #cde9d9; - } +.footer-bottom { + text-align: center; + margin-top: 30px; + padding-top: 15px; + font-size: 14px; + color: #555; + border-top: 1px solid #cde9d9; +} - @media screen and (max-width: 768px) { - .footer-container { - flex-direction: column; - align-items: flex-start; - } +@media screen and (max-width: 768px) { + .footer-container { + flex-direction: column; + align-items: flex-start; } - +} diff --git a/styling/todolist.css b/styling/todolist.css index 1ee7218e..c2effd76 100644 --- a/styling/todolist.css +++ b/styling/todolist.css @@ -1,45 +1,43 @@ -/* Todo List Styles - NotesVault Theme */ +/* Hero Section */ +.todolist-hero { + background: linear-gradient( + 135deg, + var(--primary-500) 0%, + var(--primary-700) 100% + ); + padding: 6rem 0 4rem 0; + text-align: center; +} + +.todolist-hero h1 { + font-size: 2.75rem; + font-weight: 700; + color: var(--white); + margin-bottom: 1rem; +} + +.todolist-hero .subtitle { + font-size: 1.2rem; + text-transform: capitalize; + color: var(--white); + max-width: 600px; + margin: 0 auto; +} /* Main Container */ .todo-main { min-height: 100vh; padding-top: 100px; padding-bottom: 100px; - background: linear-gradient(135deg, #f9faf4 0%, #e8f5e8 100%); - font-family: "Poppins", sans-serif; + background: var(--bg-primary) !important; } .todo-container { - max-width: 800px; + max-width: 1000px; margin: 0 auto; - padding: 2rem; -} - -/* Header Section */ -.todo-header { - text-align: center; - margin-bottom: 3rem; -} - -.todo-title { - font-size: 2.5rem; - font-weight: 700; - color: #163d3b; - margin-bottom: 0.5rem; - display: flex; - align-items: center; - justify-content: center; - gap: 0.5rem; -} - -.todo-title i { - color: #B4CFB0; -} - -.todo-subtitle { - font-size: 1.1rem; - color: #666; - font-weight: 400; + padding: 4rem; + border-radius: 2rem; + background: var(--bg-secondary); } /* Form Container */ @@ -68,14 +66,14 @@ border: 2px solid #e1e5e9; border-radius: 12px; font-size: 1rem; - font-family: "Poppins", sans-serif; + font-family: 'Poppins', sans-serif; transition: all 0.3s ease; background: #fafbfc; } .task-input:focus { outline: none; - border-color: #B4CFB0; + border-color: #b4cfb0; background: white; box-shadow: 0 0 0 3px rgba(180, 207, 176, 0.1); } @@ -86,13 +84,13 @@ .add-btn { padding: 1rem 2rem; - background: linear-gradient(135deg, #163d3b 0%, #113946 100%); + background: var(--primary-500); color: white; border: none; border-radius: 12px; font-size: 1rem; font-weight: 600; - font-family: "Poppins", sans-serif; + font-family: 'Poppins', sans-serif; cursor: pointer; transition: all 0.3s ease; display: flex; @@ -126,11 +124,12 @@ align-items: center; } -.task-count, .completed-count { +.task-count, +.completed-count { font-size: 0.9rem; font-weight: 600; padding: 0.5rem 1rem; - border-radius: 20px; + border-radius: 8px; background: rgba(22, 61, 59, 0.1); color: #163d3b; } @@ -145,13 +144,14 @@ gap: 0.75rem; } -.clear-btn, .clear-all-btn { +.clear-btn, +.clear-all-btn { padding: 0.75rem 1.5rem; border: none; border-radius: 8px; font-size: 0.9rem; font-weight: 500; - font-family: "Poppins", sans-serif; + font-family: 'Poppins', sans-serif; cursor: pointer; transition: all 0.3s ease; display: flex; @@ -238,8 +238,8 @@ } .todo-checkbox:checked { - background: #B4CFB0; - border-color: #B4CFB0; + background: #b4cfb0; + border-color: #b4cfb0; } .todo-checkbox:checked::after { @@ -268,7 +268,8 @@ margin-left: 1rem; } -.edit-btn, .delete-btn { +.edit-btn, +.delete-btn { width: 36px; height: 36px; border: none; @@ -358,75 +359,75 @@ animation: slideIn 0.3s ease; } -/* Dark Mode Support */ -[data-theme="dark"] .todo-main { +/* Dark Mode */ +[data-theme='dark'] .todo-main { background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%); } -[data-theme="dark"] .todo-title { +[data-theme='dark'] .todo-title { color: #dff8f8; } -[data-theme="dark"] .todo-subtitle { +[data-theme='dark'] .todo-subtitle { color: #a0a0a0; } -[data-theme="dark"] .todo-form-container, -[data-theme="dark"] .todo-list-container { +[data-theme='dark'] .todo-form-container, +[data-theme='dark'] .todo-list-container { background: #2a2a2a; border-color: rgba(223, 248, 248, 0.1); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); } -[data-theme="dark"] .task-input { +[data-theme='dark'] .task-input { background: #3a3a3a; border-color: #4a4a4a; color: #dff8f8; } -[data-theme="dark"] .task-input:focus { - border-color: #B4CFB0; +[data-theme='dark'] .task-input:focus { + border-color: #b4cfb0; background: #3a3a3a; } -[data-theme="dark"] .task-input::placeholder { +[data-theme='dark'] .task-input::placeholder { color: #808080; } -[data-theme="dark"] .task-count, -[data-theme="dark"] .completed-count { +[data-theme='dark'] .task-count, +[data-theme='dark'] .completed-count { background: rgba(223, 248, 248, 0.1); color: #dff8f8; } -[data-theme="dark"] .completed-count { +[data-theme='dark'] .completed-count { background: rgba(180, 207, 176, 0.2); - color: #B4CFB0; + color: #b4cfb0; } -[data-theme="dark"] .todo-item { +[data-theme='dark'] .todo-item { background: #3a3a3a; border-color: #4a4a4a; } -[data-theme="dark"] .todo-item.completed { +[data-theme='dark'] .todo-item.completed { background: rgba(180, 207, 176, 0.1); border-color: rgba(180, 207, 176, 0.2); } -[data-theme="dark"] .todo-text { +[data-theme='dark'] .todo-text { color: #dff8f8; } -[data-theme="dark"] .todo-item.completed .todo-text { +[data-theme='dark'] .todo-item.completed .todo-text { color: #808080; } -[data-theme="dark"] .empty-state { +[data-theme='dark'] .empty-state { color: #808080; } -[data-theme="dark"] .empty-state h3 { +[data-theme='dark'] .empty-state h3 { color: #a0a0a0; } @@ -435,41 +436,41 @@ .todo-container { padding: 1rem; } - + .todo-title { font-size: 2rem; } - + .input-group { flex-direction: column; gap: 1rem; } - + .add-btn { width: 100%; justify-content: center; } - + .todo-controls { flex-direction: column; align-items: stretch; gap: 1rem; } - + .task-stats { justify-content: center; } - + .task-actions { justify-content: center; } - + .todo-item { flex-direction: column; align-items: stretch; gap: 1rem; } - + .todo-actions { margin-left: 0; justify-content: center; @@ -481,24 +482,24 @@ .todo-list-container { padding: 1.5rem; } - + .todo-title { font-size: 1.75rem; } - + .task-stats { flex-direction: column; gap: 0.5rem; } - + .task-actions { flex-direction: column; gap: 0.5rem; } - + .clear-btn, .clear-all-btn { width: 100%; justify-content: center; } -} \ No newline at end of file +} diff --git a/styling/upload.css b/styling/upload.css index c7480c86..b15f43cc 100644 --- a/styling/upload.css +++ b/styling/upload.css @@ -1,234 +1,115 @@ -@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;700&display=swap'); +/* Upload Page Styles - NotesVault */ -/* CSS Variables for Upload Page Theme */ -:root { - --color-base: #f9faf4; - --color-ink: #161A30; - --color-primary: #113946; - --color-primary-hover: #0d2f34; - --color-accent: #B4CFB0; - --color-white: #ffffff; - --color-gray-300: #d1d5db; - --color-gray-500: #6b7280; - --color-gray-700: #374151; - --color-red-500: #ef4444; - --color-green-600: #16a34a; - --color-indigo-500: #6366f1; -} - -/* Base Styles */ -* { +body { + background-color: var(--bg-primary); + color: var(--text-primary); + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 0; padding: 0; - box-sizing: border-box; -} - -body { - font-family: 'Plus Jakarta Sans', sans-serif; - background-color: var(--color-base); - color: var(--color-ink); - line-height: 1.5; -} - -/* Header Styles */ -header { - background-color: var(--color-white); - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); - padding: 0.75rem; - display: flex; - justify-content: space-between; - align-items: center; -} - -header h1 { - font-size: 1.5rem; - font-weight: 700; - color: var(--color-ink); -} - -nav { - display: none; - gap: 1.5rem; - font-size: 0.875rem; -} - -nav a { - color: var(--color-ink); - text-decoration: none; + line-height: 1.6; } -nav a:hover { - text-decoration: underline; -} - -.signup-btn { - padding: 0.25rem 1rem; - background-color: var(--color-primary); - color: var(--color-white); - border-radius: 9999px; - font-size: 0.875rem; - border: none; - cursor: pointer; - transition: background-color 0.2s; -} - -.signup-btn:hover { - background-color: var(--color-primary-hover); -} - -/* Main Content Styles */ -main { - max-width: 768px; - margin: 3rem auto 0; - padding: 1.5rem; - background-color: var(--color-white); - border-radius: 0.75rem; - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); -} - -main h2 { - font-size: 1.5rem; - font-weight: 700; - margin-bottom: 1.5rem; -} - -/* Form Styles */ -.form-container { - display: flex; - flex-direction: column; - gap: 1.25rem; -} +/* Container */ .upload-container { max-width: 600px; - margin: 0 auto; - margin-top: 190px; + margin: 4rem auto; padding: 2rem; - - background: white; - border-radius: 10px; - transition: all 0.3s ease-in-out; - border: 2px green solid; + background-color: var(--card-bg); + box-shadow: var(--card-shadow); + border: 1px solid var(--border-color); + border-radius: 12px; } -.form-group { - display: flex; - flex-direction: column; +/* Headings */ +.upload-container h1 { + font-size: 2rem; + margin-bottom: 1rem; + color: var(--primary-600); + text-align: center; } -.form-label { - display: block; - font-size: 0.875rem; - font-weight: 500; - margin-bottom: 0.25rem; +.upload-container p.subtitle { + text-align: center; + color: var(--text-secondary); + margin-bottom: 2rem; + font-size: 1rem; } -.required { - color: var(--color-red-500); +/* Labels and Inputs */ +.upload-form label { + display: block; + margin-bottom: 0.5rem; + font-weight: 500; + color: var(--text-primary); } -.form-input, -.form-select { - margin-top: 0.25rem; +.upload-form input[type="text"], +.upload-form input[type="file"], +.upload-form textarea, +.upload-form select { width: 100%; - padding: 0.5rem 0.75rem; - border: 1px solid var(--color-gray-300); - border-radius: 0.5rem; - font-size: 0.875rem; - transition: border-color 0.2s, box-shadow 0.2s; -} - -.form-input:focus, -.form-select:focus { - outline: none; - border-color: var(--color-indigo-500); - box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); -} - -.form-input::placeholder { - color: var(--color-gray-500); -} - -.file-input { - display: block; - width: 100%; - border: 1px solid var(--color-gray-300); - border-radius: 0.375rem; - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); - font-size: 0.875rem; - padding: 0.5rem; + padding: 0.75rem 1rem; + border: 1px solid var(--border-color); + border-radius: 8px; + background-color: var(--bg-secondary); + color: var(--text-primary); + margin-bottom: 1.5rem; + transition: border-color 0.3s ease; } -.file-input:focus { +.upload-form input:focus, +.upload-form textarea:focus, +.upload-form select:focus { + border-color: var(--primary-400); outline: none; - border-color: var(--color-indigo-500); - box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); } -/* Submit Button */ -.submit-btn { +/* Upload Button */ +.upload-form button { width: 100%; - background-color: var(--color-primary); - color: var(--color-white); - padding: 0.5rem; - border-radius: 9999px; + padding: 0.8rem; + background-color: var(--primary-500); + color: var(--white); border: none; + border-radius: 8px; + font-size: 1rem; + font-weight: 600; cursor: pointer; - transition: background-color 0.2s; - font-weight: 500; + transition: background-color 0.3s ease; } -.submit-btn:hover { - background-color: var(--color-primary-hover); +.upload-form button:hover { + background-color: var(--primary-600); } -/* Message Styles */ -.message { - margin-top: 1rem; - color: var(--color-green-600); +/* Status Messages */ +.status-message { + margin-top: 1.5rem; + padding: 1rem; + border-radius: 8px; font-weight: 500; + text-align: center; } -/* Footer */ -footer { - text-align: center; - font-size: 0.875rem; - margin-top: 2.5rem; - color: var(--color-gray-500); +.status-success { + background-color: var(--success); + color: var(--white); } -/* Responsive Design */ -@media (min-width: 768px) { - nav { - display: flex; - } - - main { - padding: 2rem; - } +.status-error { + background-color: var(--error); + color: var(--white); } +.status-info { + background-color: var(--info); + color: var(--white); +} + +/* Responsive */ @media (max-width: 640px) { - header { - padding: 1rem; - } - - header h1 { - font-size: 1.25rem; - } - - .signup-btn { - padding: 0.25rem 0.75rem; - font-size: 0.75rem; - } - - main { - margin: 1.5rem auto 0; - margin-left: 1rem; - margin-right: 1rem; - padding: 1rem; - } - - main h2 { - font-size: 1.25rem; + .upload-container { + margin: 2rem 1rem; + padding: 1.5rem; } } From 21a5b524fc4f875dbe3d2074145468a63daf3880 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Sun, 3 Aug 2025 16:27:01 +0530 Subject: [PATCH 17/36] Modified Upload Page - Enhanced overall styling of upload page - Optimized the script for upload page - Added mock data in parameters.json --- data/parameters.json | 104 +++++ data/search_parameters/parameters.json | 103 ----- pages/notes.html | 2 +- pages/upload.html | 207 +++++----- scripts/upload.js | 552 ++++++++++++++----------- styling/upload.css | 189 +++++++-- 6 files changed, 684 insertions(+), 473 deletions(-) create mode 100644 data/parameters.json delete mode 100644 data/search_parameters/parameters.json diff --git a/data/parameters.json b/data/parameters.json new file mode 100644 index 00000000..3a9c2c4b --- /dev/null +++ b/data/parameters.json @@ -0,0 +1,104 @@ +{ + "branches": [ + { + "name": "CSE", + "semesters": [ + { + "semester": 1, + "subjects": [ + {"BT101": "Engineering Chemistry"}, + {"BT102": "Mathematics-I"}, + {"BT103": "English for Communication"}, + {"BT104": "Basic Electrical & Electronics Engineering"}, + {"BT105": "Engineering Graphics"} + ] + }, + { + "semester": 2, + "subjects": [ + {"BT201": "Engineering Physics"}, + {"BT202": "Mathematics-II"}, + {"BT203": "Basic Mechanical Engineering"}, + {"BT204": "Basic Civil Engineering & Mechanics"}, + {"BT205": "Basic Computer Engineering"} + ] + } + ] + }, + { + "name": "CSE-AIML", + "semesters": [ + { + "semester": 1, + "subjects": [ + {"BT101": "Engineering Chemistry"}, + {"BT102": "Mathematics-I"}, + {"BT103": "English for Communication"}, + {"BT104": "Basic Electrical & Electronics Engineering"}, + {"BT105": "Engineering Graphics"} + ] + }, + { + "semester": 2, + "subjects": [ + {"BT201": "Engineering Physics"}, + {"BT202": "Mathematics-II"}, + {"BT203": "Basic Mechanical Engineering"}, + {"BT204": "Basic Civil Engineering & Mechanics"}, + {"BT205": "Basic Computer Engineering"} + ] + } + ] + }, + { + "name": "CSE-IOT", + "semesters": [ + { + "semester": 1, + "subjects": [ + {"BT101": "Engineering Chemistry"}, + {"BT102": "Mathematics-I"}, + {"BT103": "English for Communication"}, + {"BT104": "Basic Electrical & Electronics Engineering"}, + {"BT105": "Engineering Graphics"} + ] + }, + { + "semester": 2, + "subjects": [ + {"BT201": "Engineering Physics"}, + {"BT202": "Mathematics-II"}, + {"BT203": "Basic Mechanical Engineering"}, + {"BT204": "Basic Civil Engineering & Mechanics"}, + {"BT205": "Basic Computer Engineering"} + ] + } + ] + }, + { + "name": "CSE-DS", + "semesters": [ + { + "semester": 1, + "subjects": [ + {"BT101": "Engineering Chemistry"}, + {"BT102": "Mathematics-I"}, + {"BT103": "English for Communication"}, + {"BT104": "Basic Electrical & Electronics Engineering"}, + {"BT105": "Engineering Graphics"} + ] + }, + { + "semester": 2, + "subjects": [ + {"BT201": "Engineering Physics"}, + {"BT202": "Mathematics-II"}, + {"BT203": "Basic Mechanical Engineering"}, + {"BT204": "Basic Civil Engineering & Mechanics"}, + {"BT205": "Basic Computer Engineering"} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/data/search_parameters/parameters.json b/data/search_parameters/parameters.json deleted file mode 100644 index 1c58fa75..00000000 --- a/data/search_parameters/parameters.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "branches": [ - { - "name": "CSE", - "semesters": [ - { - "semester": 1, - "subjects": [ - {"BT101": "Engineering Chemistry"}, - {"BT102": "Mathematics-I"}, - {"BT103": "English for Communication"}, - {"BT104": "Basic Electrical & Electronics Engineering"}, - {"BT105": "Engineering Graphics"} - ] - }, - { - "semester": 2, - "subjects": [ - {"BT201": "Engineering Physics"}, - {"BT202": "Mathematics-II"}, - {"BT203": "Basic Mechanical Engineering"}, - {"BT204": "Basic Civil Engineering & Mechanics"}, - {"BT205": "Basic Computer Engineering"} - ] - } - ] - }, - { - "name": "CSE-AIML", - "semesters": [ - { - "semester": 1, - "subjects": [ - {"BT201": "Engineering Physics"}, - {"BT102": "Mathematics-I"}, - {"BT203": "Basic Mechanical Engineering"}, - {"BT204": "Basic Civil Engineering & Mechanics"}, - {"BT205": "Basic Computer Engineering"} - ] - }, - { - "semester": 2, - "subjects": [ - {"BT101": "Engineering Chemistry"}, - {"BT202": "Mathematics-II"}, - {"BT103": "English for Communication"}, - {"BT104": "Basic Electrical & Electronics Engineering"}, - {"BT105": "Engineering Graphics"} - ] - } - ] - }, - { - "name": "CSE-IOT", - "semesters": [ - { - "semester": 1, - "subjects": [ - {"BT201": "Engineering Physics"}, - {"BT102": "Mathematics-I"}, - {"BT203": "Basic Mechanical Engineering"}, - {"BT204": "Basic Civil Engineering & Mechanics"}, - {"BT205": "Basic Computer Engineering"} - ] - }, - { - "semester": 2, - "subjects": [ - {"BT101": "Engineering Chemistry"}, - {"BT202": "Mathematics-II"}, - {"BT103": "English for Communication"}, - {"BT104": "Basic Electrical & Electronics Engineering"}, - {"BT105": "Engineering Graphics"} - ] - } - ] - }, - { - "name": "CSE-DS", - "semesters": [ - { - "semester": 1, - "subjects": [ - {"BT201": "Engineering Physics"}, - {"BT102": "Mathematics-I"}, - {"BT203": "Basic Mechanical Engineering"}, - {"BT204": "Basic Civil Engineering & Mechanics"}, - {"BT205": "Basic Computer Engineering"} - ] - }, - { - "semester": 2, - "subjects": [ - {"BT101": "Engineering Chemistry"}, - {"BT202": "Mathematics-II"}, - {"BT103": "English for Communication"}, - {"BT104": "Basic Electrical & Electronics Engineering"}, - {"BT105": "Engineering Graphics"} - ] - } - ] - }, "CSBS", "EX", "EE", "EC", "AIR", "ME", "CE"] -} \ No newline at end of file diff --git a/pages/notes.html b/pages/notes.html index d8e821c9..c753ccaf 100644 --- a/pages/notes.html +++ b/pages/notes.html @@ -19,7 +19,7 @@ /> - + diff --git a/pages/upload.html b/pages/upload.html index c53f69b8..ec41acb4 100644 --- a/pages/upload.html +++ b/pages/upload.html @@ -3,7 +3,7 @@ - Upload Notes + NotesVault - Upload Notes
    -
    -
    - -
    - - - diff --git a/pages/upload.html b/pages/upload.html index ec41acb4..41e911ce 100644 --- a/pages/upload.html +++ b/pages/upload.html @@ -33,7 +33,7 @@

    Upload Notes

    - Upload and contribute to the growing knowledge base! + Upload & contribute to the growing knowledge base!

    From 38d49b7c59f1d7e18b724b05f8933b2266835c04 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Mon, 4 Aug 2025 00:20:27 +0530 Subject: [PATCH 19/36] Enahanced Login Page - Basic HTML Structure setup for Login Page - Added Glass Effect variables --- components/Header.html | 19 +- pages/login.html | 233 ++++++++++------- styling/login.css | 577 +++++++++++++++++++++++++++-------------- styling/variables.css | 12 +- 4 files changed, 546 insertions(+), 295 deletions(-) diff --git a/components/Header.html b/components/Header.html index c9b0514e..18c978b3 100644 --- a/components/Header.html +++ b/components/Header.html @@ -7,16 +7,21 @@ name="description" content="NotesVault - Organize your academic notes and PYQs semester-wise" /> - NotesVault | Header + NotesVault - Header + + - - + + @@ -37,9 +42,7 @@ Overview
  • - Dashboard + Dashboard
  • Features @@ -94,8 +97,8 @@
    - - + +
  • diff --git a/pages/login.html b/pages/login.html index f74ef7d5..89aa05ff 100644 --- a/pages/login.html +++ b/pages/login.html @@ -1,112 +1,157 @@ - - - - Login - NotesVault - - - - - - -
    - - -
    -

    Welcome Back!

    -

    Sign in to your NotesVault account

    + +
    -
    -
    - - + + @@ -112,19 +122,27 @@
    - -
    -

    ๐Ÿ“š Student Dashboard - NotesVault

    - -
    -

    ๐Ÿ‘ค Student Details

    -

    Name: John Doe

    -

    Email: johndoe@example.com

    -

    College: ABC Institute of Technology

    -

    Branch: Computer Science

    -

    Year: 3rd Year

    -
    - -
    -

    ๐Ÿ’พ Saved Notes

    - -
    -

    Lecture Notes

    -
      -
    • DBMS - Normalization.pdf
    • -
    • Operating Systems - Deadlock.ppt
    • -
    - + +
    - -
    -
    + + + + + + diff --git a/pages/overview.html b/pages/overview.html index bd8e9816..c789dff0 100644 --- a/pages/overview.html +++ b/pages/overview.html @@ -69,7 +69,7 @@

    - Why Choose NotesVault + Why Choose NotesVault?

    Key Features Designed for Students

    Everything you need to keep your academic materials organized and diff --git a/scripts/dashboard.js b/scripts/dashboard.js index 6820ecbd..e69de29b 100644 --- a/scripts/dashboard.js +++ b/scripts/dashboard.js @@ -1,41 +0,0 @@ -document.addEventListener("DOMContentLoaded", function () { - // Mock data โ€” Replace with actual API call or localStorage - const studentData = { - name: "John Doe", - email: "johndoe@example.com", - college: "ABC Institute of Technology", - branch: "Computer Science", - year: "3rd Year", - notes: { - lectures: ["DBMS - Normalization.pdf", "Operating Systems - Deadlock.ppt"], - pyqs: ["CS201 - Midterm 2022.pdf", "CS303 - Final 2021.docx"] - } - }; - - // Populate student details - const profileSection = document.querySelector(".profile"); - profileSection.innerHTML = ` -

    ๐Ÿ‘ค Student Details

    -

    Name: ${studentData.name}

    -

    Email: ${studentData.email}

    -

    College: ${studentData.college}

    -

    Branch: ${studentData.branch}

    -

    Year: ${studentData.year}

    - `; - - // Populate saved notes - const notesSection = document.querySelector(".notes-section"); - notesSection.innerHTML = ` -

    ๐Ÿ’พ Saved Notes

    -
    -

    Lecture Notes

    -
      ${studentData.notes.lectures.map(note => `
    • ${note}
    • `).join("")}
    - -
    -
    -

    Previous Year Questions (PYQs)

    -
      ${studentData.notes.pyqs.map(note => `
    • ${note}
    • `).join("")}
    - -
    - `; -}); diff --git a/scripts/script.js b/scripts/script.js index cad1a0fd..faf27c55 100644 --- a/scripts/script.js +++ b/scripts/script.js @@ -215,7 +215,7 @@ document.addEventListener('DOMContentLoaded', () => { // =============== Set Active Nav Link =============== // const currentPath = window.location.pathname.split('/').pop() - document.querySelectorAll('.nav-link').forEach((link) => { + document.querySelectorAll('.nav-link, .mobile-nav-link').forEach((link) => { const linkPath = link.getAttribute('href')?.split('/').pop() if (linkPath === currentPath) { link.classList.add('active') diff --git a/styling/about.css b/styling/about.css index 036cee19..dcb11828 100644 --- a/styling/about.css +++ b/styling/about.css @@ -435,7 +435,7 @@ .problem-solution, .tech-stack, .opensource { - padding: 3rem 0; + padding: 6rem 0; } .about-hero h1 { @@ -445,6 +445,10 @@ .hero-stats { gap: 1.5rem; } + + .student-quote { + font-size: 1rem; + } .stat-item { min-width: 100px; @@ -452,6 +456,7 @@ .feature-pill { padding: 0.75rem 1rem; + font-size: 0.82rem; } .github-cta { diff --git a/styling/dashboard.css b/styling/dashboard.css index 87f88a9f..9a003622 100644 --- a/styling/dashboard.css +++ b/styling/dashboard.css @@ -1,197 +1,791 @@ -/* General Reset */ -body { - font-family: "Segoe UI", sans-serif; - background-color: #f9fbff; - margin: 0; - padding: 0; +/* Base Styles */ +.dashboard-container { + padding: 8rem 1.5rem; + min-height: calc(100vh - 6rem); + background-color: var(--bg-secondary); } -/* Container */ -.container { - max-width: 900px; - margin: 40px auto; - background-color: #ffffff; - padding: 30px; - border-radius: 16px; - box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); +.dashboard-grid { + display: grid; + grid-template-columns: repeat(12, 1fr); + gap: 1.5rem; + max-width: 1400px; + margin: 0 auto; } -h1 { +/* Profile Card */ +.profile-card { + grid-column: span 3; + background: var(--card-bg); + border-radius: 1.25rem; + padding: 1.75rem; + box-shadow: var(--card-shadow); + border: 1px solid var(--border-color); + display: flex; + flex-direction: column; + transition: transform 0.3s ease, box-shadow 0.3s ease; + height: fit-content; +} + +.profile-card:hover { + transform: translateY(-5px); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); +} + +.profile-header { + display: flex; + align-items: center; + margin-bottom: 1.75rem; +} + +.avatar { + width: 4.5rem; + height: 4.5rem; + border-radius: 50%; + background: linear-gradient(135deg, var(--primary-300), var(--primary-500)); + display: flex; + align-items: center; + justify-content: center; + margin-right: 1.25rem; + color: white; + font-size: 1.75rem; + flex-shrink: 0; +} + +.profile-info h2 { + margin-bottom: 0.25rem; + font-size: 1.375rem; + color: var(--text-primary); +} + +.email { + font-size: 0.875rem; + color: var(--text-secondary); + margin-bottom: 0.25rem; + display: block; +} + +.institution { + font-size: 0.875rem; + color: var(--primary-500); + font-weight: 600; + display: block; +} + +.profile-details { + margin: 2rem 0; +} + +.detail-item { + display: flex; + align-items: center; + padding: 1rem 0; + border-bottom: 1px solid var(--border-color); +} + +.detail-item:last-child { + border-bottom: none; +} + +.detail-item i { + width: 2.25rem; + height: 2.25rem; + background-color: var(--primary-50); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin-right: 1rem; + color: var(--primary-500); + font-size: 1rem; + flex-shrink: 0; +} + +.detail-item span { + font-size: 0.75rem; + color: var(--text-secondary); + display: block; + letter-spacing: 0.5px; +} + +.detail-item p { + font-size: 0.9375rem; + color: var(--text-primary); + font-weight: 500; + margin: 0.25rem 0 0 0; +} + +.edit-profile-btn { + margin-top: auto; + width: 100%; + padding: 0.875rem; + background-color: var(--bg-secondary); + color: var(--text-primary); + border: 1px solid var(--border-color); + border-radius: 0.75rem; + font-weight: 500; + cursor: pointer; + transition: all 0.3s ease; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.9375rem; +} + +.edit-profile-btn i { + margin-right: 0.625rem; + font-size: 0.9375rem; +} + +.edit-profile-btn:hover { + background-color: var(--primary-50); + border-color: var(--primary-100); + color: var(--primary-600); +} + +/* Stats Card */ +.stats-card { + grid-column: span 3; + background: var(--card-bg); + border-radius: 1.25rem; + padding: 1.75rem; + box-shadow: var(--card-shadow); + border: 1px solid var(--border-color); + height: fit-content; +} + +.stats-card h3 { + font-size: 1.25rem; + margin-bottom: 1.75rem; + display: flex; + align-items: center; + color: var(--text-primary); +} + +.stats-card h3 i { + margin-right: 0.875rem; + color: var(--primary-500); + font-size: 1.125rem; +} + +.stats-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 1rem; +} + +.stat-item { + background-color: var(--bg-secondary); + border-radius: 0.875rem; + padding: 1.25rem 1rem; text-align: center; - color: #2d2d2d; - margin-bottom: 30px; + border: 1px solid var(--border-color); + transition: all 0.3s ease; } -/* Profile & Notes */ -.profile, -.notes-section { - margin-bottom: 30px; - padding: 20px; - border-left: 6px solid #2a343e; - background-color: #f0f7ff; - border-radius: 8px; +.stat-item:hover { + transform: translateY(-3px); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); } -.profile p { - margin: 10px 0; - font-size: 16px; - color: #333; +.stat-value { + font-size: 1.75rem; + font-weight: 700; + color: var(--primary-500); + margin-bottom: 0.375rem; + line-height: 1; } -.notes-section h2 { - margin-bottom: 15px; +.stat-label { + font-size: 0.75rem; + color: var(--text-secondary); + text-transform: uppercase; + letter-spacing: 0.05em; + font-weight: 500; } -.note-card { - background-color: #fff; - border: 1px solid #dde6f1; - padding: 20px; - border-radius: 10px; - margin-bottom: 20px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03); +/* Notes Section */ +.notes-section { + grid-column: span 6; + background: var(--card-bg); + border-radius: 1.25rem; + padding: 1.75rem; + box-shadow: var(--card-shadow); + border: 1px solid var(--border-color); } -.note-card h3 { - color: #111417; - margin-bottom: 10px; +.section-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 1.75rem; +} + +.section-header h2 { + font-size: 1.25rem; + margin-bottom: 0; + display: flex; + align-items: center; + color: var(--text-primary); } -.note-card ul { - padding-left: 20px; - margin-bottom: 15px; - color: #444; +.section-header h2 i { + margin-right: 0.875rem; + color: var(--primary-500); + font-size: 1.125rem; } -.note-card li { - margin-bottom: 8px; +.section-actions { + display: flex; + align-items: center; + gap: 1rem; } -.note-card button { - padding: 8px 16px; - background-color: #1a73e8; +.btn-primary { + background-color: var(--primary-500); color: white; + padding: 0.75rem 1.25rem; + border-radius: 0.75rem; + font-weight: 500; + font-size: 0.9375rem; border: none; - border-radius: 6px; cursor: pointer; - font-size: 14px; - transition: 0.3s ease; + transition: all 0.3s ease; + display: flex; + align-items: center; + gap: 0.5rem; } -.note-card button:hover { - background-color: #0f5ec9; +.btn-primary:hover { + background-color: var(--primary-600); + transform: translateY(-2px); + box-shadow: 0 5px 15px rgba(0, 140, 45, 0.2); } -.back-btn { - text-align: center; - margin-top: 20px; +.search-box { + position: relative; } -.back-btn button { - background-color: #4a4a4a; - color: #fff; - padding: 10px 20px; - border-radius: 6px; - font-size: 16px; - border: none; +.search-box input { + padding: 0.75rem 1rem 0.75rem 2.5rem; + border-radius: 0.75rem; + border: 1px solid var(--border-color); + background-color: var(--bg-secondary); + color: var(--text-primary); + font-size: 0.9375rem; + width: 220px; + transition: all 0.3s ease; +} + +.search-box input:focus { + outline: none; + border-color: var(--primary-300); + box-shadow: 0 0 0 3px var(--primary-100); +} + +.search-box i { + position: absolute; + left: 1rem; + top: 50%; + transform: translateY(-50%); + color: var(--text-secondary); + font-size: 0.9375rem; +} + +.notes-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 1.25rem; +} + +.note-card { + background-color: var(--bg-secondary); + border-radius: 0.875rem; + padding: 1.25rem; + border: 1px solid var(--border-color); + transition: all 0.3s ease; + display: flex; + flex-direction: column; + height: 100%; +} + +.note-card:hover { + transform: translateY(-5px); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); + border-color: var(--primary-200); +} + +.note-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 1.25rem; +} + +.note-icon { + font-size: 1.75rem; +} + +.fa-file-pdf { + color: #e74c3c; +} + +.fa-file-powerpoint { + color: #d35400; +} + +.fa-file-word { + color: #2980b9; +} + +.note-actions { + display: flex; + gap: 0.5rem; +} + +.icon-btn { + width: 2rem; + height: 2rem; + border-radius: 50%; + background-color: var(--bg-primary); + border: 1px solid var(--border-color); + display: flex; + align-items: center; + justify-content: center; + color: var(--text-secondary); + font-size: 0.875rem; cursor: pointer; + transition: all 0.2s ease; +} + +.icon-btn:hover { + background-color: var(--primary-500); + color: white; + border-color: var(--primary-500); } -.back-btn button:hover { - background-color: #2e2e2e; +.note-body { + flex: 1; + margin-bottom: 1.25rem; } -/* ================= HEADER STYLES =================== */ +.note-body h3 { + font-size: 1.125rem; + margin-bottom: 0.625rem; + color: var(--text-primary); +} -#header { +.note-meta { + font-size: 0.8125rem; + color: var(--text-secondary); + margin-bottom: 0.75rem; display: flex; align-items: center; + gap: 0.5rem; +} + +.note-description { + font-size: 0.9375rem; + color: var(--text-secondary); + line-height: 1.5; +} + +.note-footer { + display: flex; justify-content: space-between; - background-color: #171d23; - color: white; - padding: 12px 24px; - flex-wrap: wrap; + align-items: center; + font-size: 0.8125rem; + color: var(--text-secondary); + padding-top: 1rem; + border-top: 1px solid var(--border-color); } -#header-title-box #header-title { - font-size: 24px; - font-weight: bold; - margin: 0; +.note-tags { + display: flex; + gap: 0.375rem; } -#header-navigation a { - color: white; - margin: 0 12px; - text-decoration: none; +.tag { + background-color: var(--primary-50); + color: var(--primary-600); + padding: 0.375rem 0.75rem; + border-radius: 1rem; + font-size: 0.6875rem; font-weight: 500; + letter-spacing: 0.3px; +} + +.add-note-card { + background-color: var(--bg-secondary); + border-radius: 0.875rem; + border: 2px dashed var(--border-color); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + transition: all 0.3s ease; + height: 100%; + min-height: 200px; +} + +.add-note-card:hover { + border-color: var(--primary-500); + background-color: var(--primary-50); +} + +.add-note-btn { + display: flex; + flex-direction: column; + align-items: center; + padding: 1.5rem; + color: var(--primary-500); + font-weight: 500; + transition: all 0.3s ease; +} + +.add-note-btn i { + font-size: 1.75rem; + margin-bottom: 0.75rem; + color: var(--primary-500); } -#header-navigation a:hover { - text-decoration: underline; +.add-note-btn span { + font-size: 0.9375rem; } -#header-signup-box p { - margin: 0; - background-color: white; - color: #1a73e8; - padding: 6px 12px; - border-radius: 6px; - font-weight: bold; +.add-note-card:hover .add-note-btn { + color: var(--primary-600); +} + +/* PYQs Section */ +.pyqs-section { + grid-column: span 12; + background: var(--card-bg); + border-radius: 1.25rem; + padding: 1.75rem; + box-shadow: var(--card-shadow); + border: 1px solid var(--border-color); + margin-top: 1.5rem; +} + +.pyqs-table-container { + overflow-x: auto; + margin-top: 1.25rem; + border-radius: 0.875rem; + border: 1px solid var(--border-color); +} + +.pyqs-table { + width: 100%; + border-collapse: collapse; +} + +.pyqs-table th, +.pyqs-table td { + padding: 1.125rem 1.5rem; + text-align: left; + border-bottom: 1px solid var(--border-color); +} + +.pyqs-table th { + font-size: 0.8125rem; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--text-secondary); + font-weight: 600; + background-color: var(--bg-secondary); + white-space: nowrap; +} + +.pyqs-table td { + font-size: 0.9375rem; + color: var(--text-primary); + white-space: nowrap; +} + +.pyqs-table tr:last-child td { + border-bottom: none; +} + +.pyqs-table tr:hover td { + background-color: var(--glass-bg); +} + +.file-badge { + display: inline-block; + padding: 0.375rem 0.75rem; + border-radius: 0.375rem; + font-size: 0.8125rem; + font-weight: 500; +} + +.pdf { + background-color: #fee2e2; + color: #dc2626; +} + +.doc { + background-color: #dbeafe; + color: #2563eb; +} + +.table-action-btn { + width: 2rem; + height: 2rem; + border-radius: 50%; + background-color: var(--bg-secondary); + border: 1px solid var(--border-color); + display: inline-flex; + align-items: center; + justify-content: center; + color: var(--text-secondary); + font-size: 0.875rem; cursor: pointer; + transition: all 0.2s ease; + margin-right: 0.5rem; } -#header-signup-box p:hover { - background-color: #f1f1f1; +.table-action-btn:hover { + background-color: var(--primary-500); + color: white; + border-color: var(--primary-500); } -/* Hamburger Menu */ -.hamburger-wrapper { - position: relative; +/* Modal Design */ +.modal { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; + opacity: 0; + visibility: hidden; + transition: all 0.3s ease; + backdrop-filter: blur(5px); +} + +.modal.active { + opacity: 1; + visibility: visible; +} + +.modal-content { + background-color: var(--bg-primary); + border-radius: 1.25rem; + width: 100%; + max-width: 500px; + box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), + 0 10px 10px -5px rgba(0, 0, 0, 0.04); + transform: translateY(-20px); + transition: all 0.3s ease; + overflow: hidden; +} + +.modal.active .modal-content { + transform: translateY(0); +} + +.modal-header { + padding: 1.5rem; + border-bottom: 1px solid var(--border-color); + display: flex; + justify-content: space-between; + align-items: center; } -.hamburger-menu { +.modal-header h3 { + font-size: 1.375rem; + color: var(--text-primary); +} + +.close-modal { background: none; border: none; + font-size: 1.5rem; + color: var(--text-secondary); + cursor: pointer; + transition: color 0.2s; + padding: 0.25rem; +} + +.close-modal:hover { + color: var(--text-primary); +} + +.modal-body { + padding: 1.5rem; +} + +.form-group { + margin-bottom: 1.5rem; +} + +.form-group label { + display: block; + margin-bottom: 0.75rem; + font-size: 0.9375rem; + color: var(--text-primary); + font-weight: 500; +} + +.form-group input, +.form-group select { + width: 100%; + padding: 0.875rem 1rem; + border-radius: 0.75rem; + border: 1px solid var(--border-color); + background-color: var(--bg-secondary); + color: var(--text-primary); + font-size: 0.9375rem; + transition: all 0.3s ease; +} + +.form-group input:focus, +.form-group select:focus { + outline: none; + border-color: var(--primary-300); + box-shadow: 0 0 0 3px var(--primary-100); +} + +.file-upload { + position: relative; + margin-bottom: 0.5rem; +} + +.file-upload input[type="file"] { + position: absolute; + width: 100%; + height: 100%; + opacity: 0; cursor: pointer; +} + +.file-upload-label { display: flex; flex-direction: column; - gap: 4px; - padding: 6px; + align-items: center; + justify-content: center; + padding: 2.5rem; + border: 2px dashed var(--border-color); + border-radius: 0.75rem; + background-color: var(--bg-secondary); + cursor: pointer; + transition: all 0.3s ease; + text-align: center; } -.hamburger-line { - width: 25px; - height: 3px; - background-color: white; +.file-upload-label:hover { + border-color: var(--primary-500); + background-color: var(--primary-50); } -.hover-sidebar { - display: none; - position: absolute; - top: 40px; - left: 0; - background-color: #1a73e8; - padding: 10px; - border-radius: 6px; - z-index: 10; +.file-upload-label i { + font-size: 2.5rem; + color: var(--primary-500); + margin-bottom: 1rem; } -.hamburger-wrapper:hover .hover-sidebar { - display: block; +.file-upload-label span { + color: var(--text-secondary); + font-size: 0.9375rem; } -.hover-sidebar ul { - list-style: none; - padding: 0; - margin: 0; +.form-actions { + display: flex; + justify-content: flex-end; + gap: 1rem; + margin-top: 1.5rem; } -.hover-sidebar li a { - color: white; - text-decoration: none; - display: block; - margin-bottom: 8px; +.btn-outline { + background-color: transparent; + color: var(--text-primary); + padding: 0.75rem 1.25rem; + border-radius: 0.75rem; + font-weight: 500; + font-size: 0.9375rem; + border: 1px solid var(--border-color); + cursor: pointer; + transition: all 0.3s ease; +} + +.btn-outline:hover { + background-color: var(--bg-secondary); + border-color: var(--gray-300); +} + +/* Responsive Design */ +@media (max-width: 1200px) { + .profile-card, + .stats-card { + grid-column: span 12; + } + + .notes-section { + grid-column: span 12; + } + + .dashboard-grid { + grid-template-columns: 1fr; + } +} + +@media (max-width: 768px) { + .dashboard-container { + padding: 6rem 1rem; + } + + .section-header { + flex-direction: column; + align-items: flex-start; + gap: 1rem; + } + + .section-actions { + width: 100%; + flex-direction: column; + gap: 1rem; + } + + .search-box input { + width: 100%; + } + + .profile-header { + flex-direction: column; + text-align: center; + } + + .avatar { + margin-right: 0; + margin-bottom: 1.25rem; + } + + .stats-grid { + grid-template-columns: repeat(4, 1fr); + } + + .notes-grid { + grid-template-columns: 1fr; + } } -.hover-sidebar li a:hover { - text-decoration: underline; +@media (max-width: 576px) { + .stats-grid { + grid-template-columns: repeat(2, 1fr); + } + + .pyqs-table th, + .pyqs-table td { + padding: 0.875rem 1rem; + } + + .modal-content { + margin: 0 1rem; + } } \ No newline at end of file diff --git a/styling/overview.css b/styling/overview.css index b6eaf2bc..b58709ad 100644 --- a/styling/overview.css +++ b/styling/overview.css @@ -386,6 +386,14 @@ .hero h1 { font-size: 2.5rem; } + + .benefits-content h2 { + margin-bottom: 4rem; + } + + .benefit-item h3, p { + text-align: left; + } .cta-buttons { flex-direction: column; @@ -403,10 +411,18 @@ } .hero { - padding: 3rem 0; + padding: 6rem 0; } .features-grid { grid-template-columns: 1fr; } + + .benefits-content h2 { + margin-bottom: 4rem; + } + + .benefit-item h3, p { + text-align: left; + } } \ No newline at end of file From 99e333a2090b410db64db0cb3707cd19755b982a Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Wed, 6 Aug 2025 01:25:05 +0530 Subject: [PATCH 26/36] Enhanced Overview Page - Added Study Illustrations --- assets/index/images/Picture_1.jpg | Bin 0 -> 80987 bytes assets/index/images/Picture_2.jpg | Bin 0 -> 394768 bytes pages/overview.html | 8 ++++---- styling/overview.css | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 assets/index/images/Picture_1.jpg create mode 100644 assets/index/images/Picture_2.jpg diff --git a/assets/index/images/Picture_1.jpg b/assets/index/images/Picture_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5a952b17e4661442b5a940614e72ea0af13c193e GIT binary patch literal 80987 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%0ASY)w41@1G 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%0Dy%V0XA&gdz~h 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�W=L9s4)J*5C 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

    ob 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�VE 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 fqRizN9P`j#xCUui+U>q%emS-

    Organized notes illustration
    @@ -162,8 +162,8 @@

    Improve Grades

    Student studying illustration
    diff --git a/styling/overview.css b/styling/overview.css index b58709ad..359706c4 100644 --- a/styling/overview.css +++ b/styling/overview.css @@ -30,7 +30,7 @@ .hero-image img { max-width: 100%; height: auto; - animation: float 6s ease-in-out infinite; + border-radius: 1rem; } .welcome-badge { From 4cb0c159c25ab3be8213a8cc606a7ae574acb023 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Wed, 6 Aug 2025 02:12:34 +0530 Subject: [PATCH 27/36] Enhanced Home Page - Improvised the content and layout og Home and Overview Page --- components/footer.html | 34 +++++++++++++++++++++++++++------- index.html | 6 +++--- pages/overview.html | 14 +++++++------- styling/home.css | 22 ++++++---------------- 4 files changed, 43 insertions(+), 33 deletions(-) diff --git a/components/footer.html b/components/footer.html index 1eb33a02..db8d1d57 100644 --- a/components/footer.html +++ b/components/footer.html @@ -30,8 +30,9 @@ NotesVault
    @@ -107,10 +108,22 @@ Join our vibrant community of learners and contributors...

    @@ -126,9 +139,17 @@ @@ -139,6 +160,5 @@ - diff --git a/index.html b/index.html index bc6ef6b3..84dbeb70 100644 --- a/index.html +++ b/index.html @@ -38,10 +38,10 @@

    Welcome Back

    -

    Your Go-To Companion for Organized Learning

    +

    Your Organized Learning Companion...

    Keep your study notes and PYQs organized, easy to find, and always - just a click away with NotesVault. + just a click away with NotesVault!

    Browse Notes @@ -86,7 +86,7 @@

    Your Go-To Companion for Organized Learning

    Key Features

    - Powerful tools to organize your academic journey + Powerful tools to organize your academic journey!

    diff --git a/pages/overview.html b/pages/overview.html index 2cb94090..897caf2a 100644 --- a/pages/overview.html +++ b/pages/overview.html @@ -37,15 +37,15 @@
    - Welcome to -

    - Your Organized Learning Companion -

    + Welcome To +

    Your Smart Study Hub

    - NotesVault helps you store, organize, and access all your study - notes and PYQs in one centralized platform. Say goodbye to - scattered files and hello to efficient studying. + This is your central hub, view your saved materials, recently + accessed notes, and organized collections. Stay on track with a + streamlined layout designed to help you review, revise, and retain + more with less effort.

    +
    Browse Notes diff --git a/styling/home.css b/styling/home.css index 0d723a01..c26ace5e 100644 --- a/styling/home.css +++ b/styling/home.css @@ -85,14 +85,15 @@ animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.1s both; } -.hero h1 span { - color: var(--primary-500); +.text-accent { + color: var(--accent-400); } .subtext { font-size: 1.15rem; line-height: 1.7; margin-bottom: 2.25rem; + text-transform: capitalize; color: var(--text-secondary); opacity: 0.9; animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.2s both; @@ -238,23 +239,12 @@ position: relative; } -.section-title::after { - content: ''; - position: absolute; - bottom: -10px; - left: 50%; - transform: translateX(-50%); - width: 80px; - height: 4px; - background: var(--primary-500); - border-radius: 2px; -} - .section-subtitle { text-align: center; max-width: 600px; - margin: 0 auto 3rem; - font-size: 1.1rem; + margin: 1.5rem auto 3rem; + font-size: 1.2rem; + text-transform: capitalize; color: var(--text-secondary); opacity: 0.9; } From 0049fec652da320a94bc0dd5c189915c2f5ab4db Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Wed, 6 Aug 2025 02:48:04 +0530 Subject: [PATCH 28/36] Fixed CTA Buttons - Enhanced the button style - Fixed the button links --- index.html | 6 +++--- pages/overview.html | 2 +- styling/home.css | 6 ++++++ styling/overview.css | 4 ++++ 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 84dbeb70..92172f36 100644 --- a/index.html +++ b/index.html @@ -44,8 +44,8 @@

    Your Organized Learning Companion...

    just a click away with NotesVault!

    @@ -53,7 +53,7 @@

    Your Organized Learning Companion...

    Notes Organized by Subject

    diff --git a/pages/overview.html b/pages/overview.html index 897caf2a..824e34dc 100644 --- a/pages/overview.html +++ b/pages/overview.html @@ -47,7 +47,7 @@

    Your Smart Study Hub

    - + Browse Notes diff --git a/styling/home.css b/styling/home.css index c26ace5e..e37cedce 100644 --- a/styling/home.css +++ b/styling/home.css @@ -124,6 +124,7 @@ .btn-primary:hover { background: var(--primary-600); + color: inherit; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 140, 45, 0.3); } @@ -136,9 +137,14 @@ .btn-secondary:hover { background: rgba(var(--primary-500), 0.05); + color: inherit; transform: translateY(-2px); } +.btn i { + margin-right: 0.5rem; +} + /* Search Card */ .search-card { background-color: var(--card-bg); diff --git a/styling/overview.css b/styling/overview.css index 359706c4..544d1211 100644 --- a/styling/overview.css +++ b/styling/overview.css @@ -66,6 +66,10 @@ margin-top: 2rem; } +.btn:hover { + color: inherit; +} + .btn i { margin-right: 0.5rem; } From 390eec82a4d42d204e42c889c2514e79b184cee8 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Fri, 8 Aug 2025 03:34:47 +0530 Subject: [PATCH 29/36] Updated File Structure --- components/Header.html | 17 +- components/footer.html | 17 +- index.html | 3 + pages/about.html | 2 + pages/dashboard.html | 2 + pages/features.html | 4 + pages/jotpad.html | 2 + pages/login.html | 3 + pages/notes.html | 3 + pages/overview.html | 2 + pages/signup.html | 2 + pages/todolist.html | 2 + pages/upload.html | 3 + scripts/dashboard.js | 1 + scripts/jotpad.js | 6 +- scripts/login.js | 2 + scripts/script.js | 44 ++-- scripts/signup.js | 2 + scripts/todolist.js | 492 ++++++++++++++++++++++------------------- scripts/upload.js | 2 + styling/Footer.css | 32 +-- styling/about.css | 42 ++-- styling/base.css | 26 ++- styling/dashboard.css | 33 +-- styling/features.css | 2 + styling/header.css | 40 ++-- styling/home.css | 5 +- styling/jotpad.css | 2 +- styling/login.css | 2 + styling/notes.css | 10 +- styling/overview.css | 49 ++-- styling/signup.css | 39 ++-- styling/todolist.css | 2 + styling/upload.css | 2 + 34 files changed, 503 insertions(+), 394 deletions(-) diff --git a/components/Header.html b/components/Header.html index 11bc942f..80d91b6b 100644 --- a/components/Header.html +++ b/components/Header.html @@ -1,3 +1,5 @@ + + @@ -11,23 +13,21 @@ + + + - - - - -
    -
    -

    Sign Up

    -
    -
    - - -
    -

    Browse Notes

    - -
    - - - - - -
    - - -
    -
    -

    Mathematics I

    -

    Branch: CSE

    -

    Semester: 1

    -

    Subject: Maths

    - Download - -
    โ˜…โ˜…โ˜…โ˜…โ˜…
    -
    - -
    -

    Operating System Notes

    -

    Branch: CSE

    -

    Semester: 2

    -

    Subject: OS

    - Download - -
    โ˜…โ˜…โ˜…โ˜…โ˜…
    -
    - -
    -

    DBMS Concepts

    -

    Branch: CSE

    -

    Semester: 2

    -

    Subject: DBMS

    - Download - -
    โ˜…โ˜…โ˜…โ˜…โ˜†
    -
    - -
    -

    Engineering Physics

    -

    Branch: CSE

    -

    Semester: 1

    -

    Subject: Physics

    - Download - -
    โ˜…โ˜…โ˜…โ˜…โ˜†
    -
    -
    -
    - - -
    -

    ยฉ 2025 NotesVault - GSSoC Contribution

    -
    - - - diff --git a/styling/search.css b/styling/search.css deleted file mode 100644 index db8d6b61..00000000 --- a/styling/search.css +++ /dev/null @@ -1,118 +0,0 @@ -body { - margin: 0; - padding: 0; - min-height: 100vh; - display: flex; - flex-direction: column; - font-family: 'Poppins', sans-serif; - background-color: #f4f7f2; -} - -main.container { - flex: 1; - padding: 20px 5vw; - padding-top: 90px; -} - -header { - background-color: #ffffff; - border-bottom: 1px solid #e0e0e0; - position: sticky; - top: 0; - z-index: 100; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); -} - -#header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 15px 5vw; - max-width: 1200px; - margin: 0 auto; -} - -#header-title { - font-weight: 600; - font-size: 1.6rem; - color: #163d3b; -} - -.nav-menu { - display: flex; - gap: 30px; -} - -.nav-menu a { - text-decoration: none; - font-weight: 400; - color: #163d3b; - font-size: 1rem; - position: relative; -} - -.nav-menu a::after { - content: ""; - display: block; - width: 0; - height: 2px; - background: #f7b86e; - transition: width 0.3s; - position: absolute; - bottom: -5px; - left: 0; -} - -.nav-menu a:hover::after { - width: 100%; -} - -#header-signup-box p { - background-color: #163d3b; - color: white; - padding: 8px 20px; - border-radius: 30px; - font-weight: 500; -} - -.filters { - display: flex; - flex-wrap: wrap; - gap: 20px; - margin-bottom: 30px; -} - -select { - padding: 10px; - border-radius: 8px; - border: 1px solid #ccc; - font-family: 'Poppins', sans-serif; -} - -.note-card { - background: white; - padding: 20px; - border-radius: 10px; - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); - margin-bottom: 20px; -} -.note-card:hover{ - border: 2px darkolivegreen solid; -} - -.note-card h3 { - margin-top: 0; - color:darkgreen -} -.note-card h3:hover{ - text-decoration: underline; - transform: scale(#121212); - color: orange; -} - -.modern-footer { - background: linear-gradient(135deg, #163d3b 0%, #1a4441 100%); - color: #dff8f8; - padding: 30px 5vw; - text-align: center; -} \ No newline at end of file From 798d7b7c92813306e9540ba62ec4a376d92b7b90 Mon Sep 17 00:00:00 2001 From: Pranav Khalate Date: Fri, 8 Aug 2025 03:45:42 +0530 Subject: [PATCH 32/36] Removed Unnecessary Utilities --- scripts/utilities.js | 88 --------------------------------------- tests/utilities-test.html | 78 ---------------------------------- 2 files changed, 166 deletions(-) delete mode 100644 scripts/utilities.js delete mode 100644 tests/utilities-test.html diff --git a/scripts/utilities.js b/scripts/utilities.js deleted file mode 100644 index 922766eb..00000000 --- a/scripts/utilities.js +++ /dev/null @@ -1,88 +0,0 @@ -// Utility functions for NotesVault -// Common helper functions used across multiple JavaScript files - -/** - * Creates a dropdown select element with options - * @param {HTMLElement} container - The container to append the dropdown to - * @param {string} id - The ID for the select element - * @param {string} defaultText - The default placeholder text - * @param {Array} options - Array of option values - * @returns {HTMLSelectElement} The created select element - */ -function createDropdown(container, id, defaultText, options) { - // Clear the container first - container.innerHTML = ''; - - // Create the