From 9e151a9c08b5df9f661ed67f18b6d3a91d95764b Mon Sep 17 00:00:00 2001 From: faizaanjum7 Date: Tue, 19 May 2026 17:03:37 +0530 Subject: [PATCH 1/2] feat: add motivational quote --- css/index.css | 39 +++++++++++++++++++++++++++++++++++---- index.html | 12 ++++++++++++ js/app.js | 26 ++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 4 deletions(-) diff --git a/css/index.css b/css/index.css index 24a20f7..5499d77 100644 --- a/css/index.css +++ b/css/index.css @@ -1484,8 +1484,10 @@ body { /* Main */ .main { display: flex; flex-direction: column; overflow: hidden; position: relative; } -.topbar { display: flex; align-items: center; gap: 12px; padding: 16px 24px; border-bottom: 1px solid var(--color-border-tertiary); flex-shrink: 0; background: rgba(var(--color-background-primary), 0.8); backdrop-filter: blur(10px); z-index: 10; } -.topbar-title { font-size: 18px; font-weight: 600; color: var(--color-text-primary); flex: 1; } +.topbar { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; border-bottom: 1px solid var(--color-border-tertiary); flex-shrink: 0; background: rgba(var(--color-background-primary), 0.8); backdrop-filter: blur(10px); z-index: 10; } +.topbar-left { display: flex; flex-direction: column; gap: 4px; flex: 1; } +.topbar-right { display: flex; align-items: center; gap: 12px; } +.topbar-title { font-size: 18px; font-weight: 700; color: var(--color-text-primary); } .btn { font-family: inherit; font-size: 13px; font-weight: 600; padding: 8px 16px; border: 1px solid var(--color-border-secondary); border-radius: var(--border-radius-sm); background: var(--color-background-primary); color: var(--color-text-primary); cursor: pointer; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: var(--shadow-sm); display: inline-flex; align-items: center; justify-content: center; gap: 6px; } .btn:hover { background: var(--color-background-secondary); transform: translateY(-1px); box-shadow: var(--shadow-md); } .btn:active { transform: translateY(0); box-shadow: 0 0 0; } @@ -1494,8 +1496,10 @@ body { /* Calendar */ .cal-section { padding: 16px 24px; border-bottom: 1px solid var(--color-border-tertiary); flex-shrink: 0; } -.cal-header { display: flex; align-items: center; margin-bottom: 16px; } -.cal-title { font-size: 15px; font-weight: 600; flex: 1; color: var(--color-text-primary); } +.cal-header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 16px; } +.cal-header-left { display: flex; flex-direction: column; flex: 1; align-items: flex-start; gap: 4px; } +.cal-header-right { display: flex; align-items: center; } +.cal-title { font-size: 15px; font-weight: 600; color: var(--color-text-primary); } .cal-nav { font-size: 18px; color: var(--color-text-secondary); cursor: pointer; padding: 4px 8px; border-radius: 4px; transition: background 0.2s; } .cal-nav:hover { background: var(--color-background-secondary); color: var(--color-text-primary); } .cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; } @@ -1510,6 +1514,33 @@ body { .cal-legend span { display: flex; align-items: center; gap: 6px; } .legend-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; } +/* Quote Widget */ +.quote-widget { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 6px 12px; + background: var(--color-background-secondary); + border: 1px solid var(--color-border-tertiary); + border-radius: 100px; + transition: all 0.2s ease; +} +.quote-widget:hover { + background: var(--color-background-tertiary); + transform: translateY(-1px); +} +.quote-icon { + color: var(--color-text-tertiary); +} +.quote-widget p { + margin: 0; + font-size: 11px; + color: var(--color-text-secondary); + font-weight: 600; + line-height: 1; + letter-spacing: 0.02em; +} + /* Tasks */ .tasks-section { flex: 1; overflow-y: auto; padding: 0 24px 24px; scroll-behavior: smooth; } .tasks-section::-webkit-scrollbar { width: 6px; } diff --git a/index.html b/index.html index da78416..2298203 100644 --- a/index.html +++ b/index.html @@ -102,6 +102,18 @@

StudyPlan

+ +
+
+ + + +

+ Small Progress is still Progress +

+
+
+
diff --git a/js/app.js b/js/app.js index 9bfd993..660064e 100644 --- a/js/app.js +++ b/js/app.js @@ -1076,3 +1076,29 @@ addItemsBtn.addEventListener('click', () => { downloadBtn.addEventListener('click', () => { downloadData(); }); + +// Motivational Quotes +const quotes = [ + "Small Progress is still Progress", + "Focus on being productive instead of busy", + "The secret of getting ahead is getting started", + "Strive for progress, not perfection", + "Don't wait for opportunity. Create it.", + "Success is the sum of small efforts repeated daily", + "Time is not refundable, use it with intention.", + "Sometimes, getting it done is better than perfect.", + "Believe you can and you're halfway there.", + "Arise, awake, and stop not till the goal is reached." +]; + +const quoteEl = document.getElementById('motivational-quotes'); +if (quoteEl) { + const today = new Date(); + const seed = today.toDateString(); + let hash = 0; + for (let i = 0; i < seed.length; i++) { + hash = seed.charCodeAt(i) + ((hash << 5) - hash); + } + const index = Math.abs(hash % quotes.length); + quoteEl.textContent = `${quotes[index]}`; +} From f153dc2d8796021d5b89fc4fb69bd79cb99e7b9d Mon Sep 17 00:00:00 2001 From: faizaanjum7 Date: Tue, 19 May 2026 17:13:50 +0530 Subject: [PATCH 2/2] fix: remove unused topbar css --- css/index.css | 2 -- 1 file changed, 2 deletions(-) diff --git a/css/index.css b/css/index.css index 5499d77..2c00785 100644 --- a/css/index.css +++ b/css/index.css @@ -1485,8 +1485,6 @@ body { /* Main */ .main { display: flex; flex-direction: column; overflow: hidden; position: relative; } .topbar { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; border-bottom: 1px solid var(--color-border-tertiary); flex-shrink: 0; background: rgba(var(--color-background-primary), 0.8); backdrop-filter: blur(10px); z-index: 10; } -.topbar-left { display: flex; flex-direction: column; gap: 4px; flex: 1; } -.topbar-right { display: flex; align-items: center; gap: 12px; } .topbar-title { font-size: 18px; font-weight: 700; color: var(--color-text-primary); } .btn { font-family: inherit; font-size: 13px; font-weight: 600; padding: 8px 16px; border: 1px solid var(--color-border-secondary); border-radius: var(--border-radius-sm); background: var(--color-background-primary); color: var(--color-text-primary); cursor: pointer; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: var(--shadow-sm); display: inline-flex; align-items: center; justify-content: center; gap: 6px; } .btn:hover { background: var(--color-background-secondary); transform: translateY(-1px); box-shadow: var(--shadow-md); }