From 541ae876eee6a26581d7afaebfded77891b30f21 Mon Sep 17 00:00:00 2001 From: Sizolwakhe Leonard Mthimunye Date: Tue, 6 Jan 2026 12:01:52 +0200 Subject: [PATCH 1/4] Adding images for home page --- .../home/images/acoustic-specialist.jpg | Bin 0 -> 11193 bytes .../templates/home/images/alex-student.jpg | Bin 0 -> 6720 bytes .../templates/home/images/blues-rock-guitar.jpg | Bin 0 -> 8494 bytes .../templates/home/images/david-student.jpg | Bin 0 -> 6499 bytes .../home/images/fingerstyle-expert.jpg | Bin 0 -> 11418 bytes .../templates/home/images/maria-student.jpg | Bin 0 -> 6078 bytes .../home/images/music-theory-instructor.jpg | Bin 0 -> 11289 bytes 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 users_microservice/src/main/resources/templates/home/images/acoustic-specialist.jpg create mode 100644 users_microservice/src/main/resources/templates/home/images/alex-student.jpg create mode 100644 users_microservice/src/main/resources/templates/home/images/blues-rock-guitar.jpg create mode 100644 users_microservice/src/main/resources/templates/home/images/david-student.jpg create mode 100644 users_microservice/src/main/resources/templates/home/images/fingerstyle-expert.jpg create mode 100644 users_microservice/src/main/resources/templates/home/images/maria-student.jpg create mode 100644 users_microservice/src/main/resources/templates/home/images/music-theory-instructor.jpg diff --git a/users_microservice/src/main/resources/templates/home/images/acoustic-specialist.jpg b/users_microservice/src/main/resources/templates/home/images/acoustic-specialist.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0ba3cf5c94d5d1d5ef9305279c36f13bbe046b3e GIT binary patch literal 11193 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 NeI>vb`{ZHeKL8eXk*WXy literal 0 HcmV?d00001 diff --git a/users_microservice/src/main/resources/templates/home/images/alex-student.jpg b/users_microservice/src/main/resources/templates/home/images/alex-student.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f0c2625f5b5d6ee502033b7e6f20f770e5a37235 GIT binary patch literal 6720 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 TGKr$f1&*T;!pbpDr(gaJlW}$8 literal 0 HcmV?d00001 diff --git a/users_microservice/src/main/resources/templates/home/images/blues-rock-guitar.jpg b/users_microservice/src/main/resources/templates/home/images/blues-rock-guitar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8b6e58321105b98cb6fc09d8b3f6e7dde6f86e8 GIT binary patch literal 8494 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

CbC{$R||iK*25hfw$F%>x`pn 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 literal 0 HcmV?d00001 diff --git a/users_microservice/src/main/resources/templates/home/images/david-student.jpg b/users_microservice/src/main/resources/templates/home/images/david-student.jpg new file mode 100644 index 0000000000000000000000000000000000000000..391e30fc680b232a0b688003ac4da5dab44680d8 GIT binary patch literal 6499 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 Km7VX->;C}SdHDhW literal 0 HcmV?d00001 diff --git a/users_microservice/src/main/resources/templates/home/images/fingerstyle-expert.jpg b/users_microservice/src/main/resources/templates/home/images/fingerstyle-expert.jpg new file mode 100644 index 0000000000000000000000000000000000000000..540ddedbad0eea7acaa67270a2d3bc79db49b052 GIT binary patch literal 11418 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 bQtREK{?B literal 0 HcmV?d00001 diff --git a/users_microservice/src/main/resources/templates/home/images/maria-student.jpg b/users_microservice/src/main/resources/templates/home/images/maria-student.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d5dfd2fff02b21f9ebda4aa1c8a83afc110bef8c GIT binary patch literal 6078 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 G@xK9n5A9L_ literal 0 HcmV?d00001 From 2afa695f0c9fc40c3b8539ddeb63de3300b3c9ed Mon Sep 17 00:00:00 2001 From: Sizolwakhe Leonard Mthimunye Date: Tue, 6 Jan 2026 12:05:35 +0200 Subject: [PATCH 2/4] Adding js script for pricing and mobile menu --- .../home/templatemo-606-string-scripts.js | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 users_microservice/src/main/resources/templates/home/templatemo-606-string-scripts.js diff --git a/users_microservice/src/main/resources/templates/home/templatemo-606-string-scripts.js b/users_microservice/src/main/resources/templates/home/templatemo-606-string-scripts.js new file mode 100644 index 0000000..b0c0755 --- /dev/null +++ b/users_microservice/src/main/resources/templates/home/templatemo-606-string-scripts.js @@ -0,0 +1,83 @@ +// Mobile menu toggle +const mobileMenuBtn = document.querySelector('.mobile-menu-btn'); +const navLinks = document.querySelector('.nav-links'); +const navCta = document.querySelector('.nav-cta'); + +mobileMenuBtn.addEventListener('click', () => { + const isOpen = navLinks.classList.toggle('active'); + navCta.classList.toggle('active', isOpen); + mobileMenuBtn.textContent = isOpen ? '✕' : '☰'; + + // Dynamically position CTA below nav-links + if (isOpen) { + setTimeout(() => { + const navLinksHeight = navLinks.offsetHeight; + navCta.style.top = `calc(100% + ${navLinksHeight}px)`; + }, 10); + } +}); + +// Close mobile menu when clicking a link +navLinks.querySelectorAll('a').forEach(link => { + link.addEventListener('click', () => { + navLinks.classList.remove('active'); + navCta.classList.remove('active'); + mobileMenuBtn.textContent = '☰'; + }); +}); + +// Pricing toggle +const PRICING = { + monthly: { + price: 30, + period: '/mo', + billed: '', + savings: '' + }, + quarterly: { + price: 25.50, + period: '/mo', + billed: 'Billed $76.50 every 3 months', + savings: 'Save 15%' + }, + yearly: { + price: 21, + period: '/mo', + billed: 'Billed $252 per year', + savings: 'Save 30%' + } +}; + +function updatePricing(billing) { + const plan = PRICING[billing]; + + // Update active button + document.querySelectorAll('.billing-option').forEach(btn => { + btn.classList.toggle('active', btn.dataset.billing === billing); + }); + + // Update price display + const priceEl = document.getElementById('proPrice'); + const billedEl = document.getElementById('proBilled'); + const savingsEl = document.getElementById('proSavings'); + + // Animate price change + priceEl.style.opacity = '0'; + priceEl.style.transform = 'translateY(-10px)'; + + setTimeout(() => { + priceEl.textContent = plan.price % 1 === 0 ? plan.price : plan.price.toFixed(2); + billedEl.textContent = plan.billed; + savingsEl.textContent = plan.savings; + + priceEl.style.opacity = '1'; + priceEl.style.transform = 'translateY(0)'; + }, 150); +} + +document.querySelectorAll('.billing-option').forEach(btn => { + btn.addEventListener('click', () => updatePricing(btn.dataset.billing)); +}); + +// Add transition to price element +document.getElementById('proPrice').style.transition = 'all 0.15s ease'; \ No newline at end of file From eba53cb8fc593ca725b626aa3dd4cd2f520e9e85 Mon Sep 17 00:00:00 2001 From: Sizolwakhe Leonard Mthimunye Date: Tue, 6 Jan 2026 12:06:10 +0200 Subject: [PATCH 3/4] Adding css file to style home page --- .../home/templatemo-606-string-master.css | 1391 +++++++++++++++++ 1 file changed, 1391 insertions(+) create mode 100644 users_microservice/src/main/resources/templates/home/templatemo-606-string-master.css diff --git a/users_microservice/src/main/resources/templates/home/templatemo-606-string-master.css b/users_microservice/src/main/resources/templates/home/templatemo-606-string-master.css new file mode 100644 index 0000000..771268b --- /dev/null +++ b/users_microservice/src/main/resources/templates/home/templatemo-606-string-master.css @@ -0,0 +1,1391 @@ +@charset "utf-8"; +/* CSS Document + +TemplateMo 606 String Master + +https://templatemo.com/tm-606-string-master + +*/ + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +:root { + --bg-dark: darkblue; + --bg-card: seagreen; + --bg-elevated: #242424; + --accent: #f59e0b; + --accent-light: #fbbf24; + --accent-dark: #d97706; + --text-primary: orange; + --text-secondary: azure; + --text-muted: White; + --border: #2e2e2e; +} + +html { + scroll-behavior: smooth; +} + +body { + font-family: 'Space Grotesk', sans-serif; + background: var(--bg-white); + color: var(--text-primary); + line-height: 1.6; +} + +/* Navigation */ +nav { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1000; + background: rgba(13, 13, 13, 0.9); + backdrop-filter: blur(20px); + border-bottom: 1px solid var(--border); +} + +.nav-container { + max-width: 1200px; + margin: 0 auto; + padding: 1rem 2rem; + display: flex; + justify-content: space-between; + align-items: center; +} + +.logo { + font-size: 1.5rem; + font-weight: 700; + color: var(--text-primary); + text-decoration: none; + display: flex; + align-items: center; + gap: 0.5rem; + + +} + +.logo-img{ +width: 110px; + height: 110px; + display: inline-block; + +} +.logo-img2{ +width: 750px; + height: 750px; + display: inline-block; + +} + +.logo-icon { + width: 32px; + height: 32px; + background: var(--accent); + border-radius: 8px; + display: flex; + align-items: center; + justify-content: center; +} + +.nav-links { + display: flex; + gap: 2rem; + list-style: none; +} + +.nav-links a { + color: burlywood; + text-decoration: none; + font-size: 0.95rem; + font-weight: 500; + transition: color 0.2s; +} + +.nav-links a:hover { + color: var(--accent); +} + +.nav-cta { + background: var(--accent); + color: white; + padding: 0.6rem 1.5rem; + border-radius: 8px; + text-decoration: none; + font-weight: 600; + font-size: 0.9rem; + transition: all 0.2s; +} + +.nav-cta span { + display: inline; + background: transparent; + padding: 0; +} + +.nav-cta:hover { + background: var(--accent-light); + transform: translateY(-1px); +} + +/* Hero Section */ +.hero { + /* min-height: 100vh; */ + /* Uncomment for full-screen hero */ + display: flex; + align-items: center; + padding: 8rem 2rem 4rem; + position: relative; + overflow: hidden; +} + +.hero::before { + content: ''; + position: absolute; + top: -50%; + right: -20%; + width: 80%; + height: 150%; + background: radial-gradient(ellipse, rgba(245, 158, 11, 0.08) 0%, transparent 70%); + pointer-events: none; +} + +.hero-container { + max-width: 1200px; + margin: 0 auto; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 4rem; + align-items: center; +} + +.hero-content { + position: relative; + z-index: 1; +} + +.hero-badge { + display: inline-flex; + align-items: center; + gap: 0.5rem; + background: var(--bg-card); + border: 1px solid var(--border); + padding: 0.5rem 1rem; + border-radius: 100px; + font-size: 0.85rem; + color: var(--text-secondary); + margin-bottom: 1.5rem; +} + +.hero-badge span { + color: var(--accent); +} + +.hero h1 { + font-size: clamp(2.5rem, 5vw, 4rem); + font-weight: 700; + line-height: 1.1; + margin-bottom: 1.5rem; + letter-spacing: -0.02em; + color: green; + +} + +.hero h1 .highlight { + color: var(--accent); +} + +.hero-description { + font-size: 1.15rem; + color: var(--text-secondary); + margin-bottom: 2rem; + max-width: 480px; + color: black; + +} + +.hero-buttons { + display: flex; + gap: 1rem; + margin-bottom: 3rem; +} + +.btn-primary { + background: var(--accent); + color: white; + padding: 1rem 2rem; + border-radius: 10px; + text-decoration: none; + font-weight: 600; + display: inline-flex; + align-items: center; + gap: 0.5rem; + transition: all 0.2s; +} + +.btn-primary:hover { + background: var(--accent-light); + transform: translateY(-2px); + box-shadow: 0 10px 30px rgba(245, 158, 11, 0.3); +} + +.btn-secondary { + background: transparent; + color: var(--text-primary); + padding: 1rem 2rem; + border-radius: 10px; + text-decoration: none; + font-weight: 600; + border: 1px solid var(--border); + transition: all 0.2s; +} + +.btn-secondary:hover { + border-color: var(--text-secondary); + background: var(--bg-card); +} + +.hero-stats { + display: flex; + gap: 3rem; +} + +.stat { + text-align: left; +} + +.stat-value { + font-size: 2rem; + font-weight: 700; + color: var(--text-primary); +} + +.stat-label { + font-size: 0.85rem; + color: var(--text-muted); +} + +/* Guitar Section */ +.guitar-wrapper { + position: relative; + z-index: 1; +} + +.guitar-card { + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: 20px; + padding: 1.5rem; + box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5); +} + +.guitar-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 1rem; + padding-bottom: 1rem; + border-bottom: 1px solid var(--border); +} + +.guitar-title { + font-size: 0.9rem; + font-weight: 600; + color: var(--text-secondary); +} + +.guitar-controls { + display: flex; + gap: 0.5rem; +} + +.chord-btn { + background: var(--bg-elevated); + border: 1px solid var(--border); + color: var(--text-primary); + padding: 0.4rem 0.8rem; + border-radius: 6px; + font-size: 0.8rem; + font-family: inherit; + font-weight: 500; + cursor: pointer; + transition: all 0.15s; +} + +.chord-btn:hover { + background: var(--accent); + color: var(--bg-dark); + border-color: var(--accent); +} + +.chord-btn.active { + background: var(--accent); + color: var(--bg-dark); + border-color: var(--accent); +} + +/* Mini Guitar Fretboard */ +.guitar-neck { + position: relative; + overflow: hidden; + border-radius: 8px; +} + +.fretboard { + background: + repeating-linear-gradient(90deg, + transparent 0px, + rgba(60, 30, 20, 0.15) 1px, + transparent 2px, + transparent 6px), + linear-gradient(180deg, + #3d2517 0%, + #2a1810 20%, + #1f120b 50%, + #2a1810 80%, + #3d2517 100%); + border-radius: 6px; + border: 3px solid #1a0f08; + border-top: none; +} + +.nut { + height: 10px; + background: linear-gradient(180deg, + #f5f5dc 0%, + #d4cba8 50%, + #c9c098 100%); + border-radius: 6px 6px 0 0; +} + +.fretboard-grid { + display: grid; + grid-template-columns: repeat(8, 1fr); + grid-template-rows: repeat(6, 32px); + position: relative; +} + +.string-labels { + position: absolute; + left: -28px; + top: 0; + height: calc(6 * 32px); + display: flex; + flex-direction: column; +} + +.string-label { + height: 32px; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.7rem; + color: var(--text-muted); + font-weight: 500; +} + +.fret { + position: relative; + border-right: 2px solid #c0a080; + border-bottom: 1px solid rgba(200, 200, 200, 0.4); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: background 0.1s; +} + +.fret:hover { + background: rgba(245, 158, 11, 0.15); +} + +.fret::after { + content: ''; + position: absolute; + left: 0; + right: 0; + top: 50%; + transform: translateY(-50%); + pointer-events: none; +} + +/* String thickness - thicker for lower strings */ +.fret[data-string="0"]::after { + height: 1px; + background: linear-gradient(90deg, + rgba(200, 180, 160, 0.4), + rgba(240, 220, 200, 0.7), + rgba(200, 180, 160, 0.4)); +} + +.fret[data-string="1"]::after { + height: 1px; + background: linear-gradient(90deg, + rgba(200, 180, 160, 0.4), + rgba(240, 220, 200, 0.7), + rgba(200, 180, 160, 0.4)); +} + +.fret[data-string="2"]::after { + height: 2px; + background: linear-gradient(90deg, + rgba(190, 170, 150, 0.5), + rgba(230, 210, 190, 0.8), + rgba(190, 170, 150, 0.5)); +} + +.fret[data-string="3"]::after { + height: 2px; + background: linear-gradient(90deg, + rgba(180, 160, 140, 0.5), + rgba(220, 200, 180, 0.8), + rgba(180, 160, 140, 0.5)); +} + +.fret[data-string="4"]::after { + height: 3px; + background: linear-gradient(90deg, + rgba(160, 140, 120, 0.5), + rgba(200, 180, 160, 0.85), + rgba(160, 140, 120, 0.5)); + box-shadow: 0 0 2px rgba(200, 180, 160, 0.3); +} + +.fret[data-string="5"]::after { + height: 4px; + background: linear-gradient(90deg, + rgba(150, 130, 110, 0.5), + rgba(190, 170, 150, 0.9), + rgba(150, 130, 110, 0.5)); + box-shadow: 0 0 3px rgba(190, 170, 150, 0.4); +} + +.note-marker { + width: 18px; + height: 18px; + background: var(--accent); + border-radius: 50%; + display: none; + align-items: center; + justify-content: center; + font-size: 0.5rem; + font-weight: 700; + color: var(--bg-dark); + z-index: 2; + box-shadow: 0 2px 8px rgba(245, 158, 11, 0.5); +} + +.note-marker.show { + display: flex; +} + +.note-marker.playing { + animation: notePulse 0.3s ease; +} + +@keyframes notePulse { + 0% { + transform: scale(1); + } + + 50% { + transform: scale(1.3); + } + + 100% { + transform: scale(1); + } +} + +.fret-marker { + position: absolute; + width: 8px; + height: 8px; + background: rgba(255, 255, 255, 0.15); + border-radius: 50%; + pointer-events: none; +} + +.guitar-footer { + margin-top: 1rem; + padding-top: 1rem; + border-top: 1px solid var(--border); + display: flex; + flex-direction: column; + gap: 0.75rem; +} + +.guitar-footer-row { + display: flex; + justify-content: space-between; + align-items: center; +} + +.guitar-hint { + font-size: 0.75rem; + color: var(--text-muted); +} + +.footer-controls { + display: flex; + align-items: center; + gap: 1rem; +} + +.clear-btn { + background: var(--bg-elevated); + border: 1px solid var(--border); + color: var(--text-secondary); + padding: 0.3rem 0.6rem; + border-radius: 5px; + font-size: 0.7rem; + font-family: inherit; + cursor: pointer; + transition: all 0.15s; +} + +.clear-btn:hover { + background: var(--border); + color: var(--text-primary); +} + +.sound-toggle { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: 0.8rem; + color: var(--text-secondary); +} + +.toggle-switch { + width: 36px; + height: 20px; + background: var(--bg-elevated); + border-radius: 10px; + position: relative; + cursor: pointer; + transition: background 0.2s; +} + +.toggle-switch.active { + background: var(--accent); +} + +.toggle-switch::after { + content: ''; + position: absolute; + width: 16px; + height: 16px; + background: var(--text-primary); + border-radius: 50%; + top: 2px; + left: 2px; + transition: transform 0.2s; +} + +.toggle-switch.active::after { + transform: translateX(16px); +} + +/* Song Player */ +.song-player { + display: flex; + align-items: center; + gap: 0.75rem; + background: var(--bg-elevated); + border-radius: 8px; + padding: 0.5rem 0.75rem; +} + +.play-btn { + width: 32px; + height: 32px; + background: var(--accent); + border: none; + border-radius: 50%; + color: var(--bg-dark); + font-size: 0.9rem; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.15s; + flex-shrink: 0; +} + +.play-btn:hover { + background: var(--accent-light); + transform: scale(1.05); +} + +.play-btn.playing { + background: var(--accent-dark); +} + +.song-info { + flex: 1; + min-width: 0; +} + +.song-title { + font-size: 0.75rem; + font-weight: 600; + color: var(--text-primary); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.song-progress { + width: 100%; + height: 3px; + background: var(--border); + border-radius: 2px; + margin-top: 4px; + overflow: hidden; +} + +.song-progress-bar { + height: 100%; + background: var(--accent); + width: 0%; + transition: width 0.1s linear; +} + +.song-select { + background: var(--bg-dark); + border: 1px solid var(--border); + color: var(--text-secondary); + padding: 0.3rem 0.5rem; + border-radius: 5px; + font-size: 0.7rem; + font-family: inherit; + cursor: pointer; +} + +.song-select:focus { + outline: none; + border-color: var(--accent); +} + +/* Features Section */ +.features { + padding: 6rem 2rem; + background: var(--bg-card); +} + +.section-container { + max-width: 1200px; + margin: 0 auto; +} + +.section-header { + text-align: center; + margin-bottom: 4rem; +} + +.section-label { + font-size: 0.85rem; + color: var(--accent); + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.1em; + margin-bottom: 1rem; +} + +.section-title { + font-size: clamp(2rem, 4vw, 3rem); + font-weight: 700; + margin-bottom: 1rem; + letter-spacing: -0.02em; +} + +.section-description { + font-size: 1.1rem; + color: black; + max-width: 600px; + margin: 0 auto; +} + +.features-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 2rem; +} + +.feature-card { + background: var(--bg-dark); + border: 1px solid var(--border); + border-radius: 16px; + padding: 2rem; + transition: all 0.3s; +} + +.feature-card:hover { + border-color: var(--accent); + transform: translateY(-4px); +} + +.feature-icon { + width: 56px; + height: 56px; + background: var(--bg-elevated); + border-radius: 14px; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 1.5rem; + color: var(--accent); + transition: all 0.3s; +} + +.feature-card:hover .feature-icon { + background: var(--accent); + color: var(--bg-dark); +} + +.feature-card h3 { + font-size: 1.25rem; + font-weight: 600; + margin-bottom: 0.75rem; +} + +.feature-card p { + color: var(--text-secondary); + font-size: 0.95rem; +} + +/* Pricing Section */ +.pricing { + padding: 6rem 2rem; +} + +.billing-toggle { + display: flex; + justify-content: center; + align-items: center; + gap: 0.5rem; + margin-bottom: 3rem; + background: var(--bg-card); + padding: 0.5rem; + border-radius: 12px; + width: fit-content; + margin-left: auto; + margin-right: auto; + border: 1px solid var(--border); +} + +.billing-option { + padding: 0.75rem 1.5rem; + border-radius: 8px; + font-size: 0.9rem; + font-weight: 500; + color: var(--text-secondary); + cursor: pointer; + transition: all 0.2s; + position: relative; + background: transparent; + border: none; + font-family: inherit; +} + +.billing-option:hover { + color: var(--text-primary); +} + +.billing-option.active { + background: var(--accent); + color: var(--bg-dark); +} + +.billing-option .discount-badge { + position: absolute; + top: -8px; + right: -8px; + background: #22c55e; + color: #fff; + font-size: 0.65rem; + font-weight: 700; + padding: 0.2rem 0.4rem; + border-radius: 4px; +} + +.pricing-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 2rem; +} + +.pricing-card { + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: 20px; + padding: 2.5rem; + position: relative; + transition: all 0.3s; +} + +.pricing-card:hover { + transform: translateY(-4px); +} + +.pricing-card.featured { + border-color: var(--accent); + box-shadow: 0 0 40px rgba(245, 158, 11, 0.15); +} + +.pricing-card.featured::before { + content: 'Most Popular'; + position: absolute; + top: -12px; + left: 50%; + transform: translateX(-50%); + background: var(--accent); + color: var(--bg-dark); + padding: 0.3rem 1rem; + border-radius: 100px; + font-size: 0.75rem; + font-weight: 600; +} + +.pricing-name { + font-size: 1.1rem; + font-weight: 600; + color: var(--text-secondary); + margin-bottom: 0.5rem; +} + +.pricing-price { + font-size: 3rem; + font-weight: 700; + margin-bottom: 0.25rem; + display: flex; + align-items: baseline; + gap: 0.25rem; +} + +.pricing-price .currency { + font-size: 1.5rem; + font-weight: 600; +} + +.pricing-price .period { + font-size: 1rem; + font-weight: 400; + color: var(--text-muted); +} + +.pricing-billed { + font-size: 0.85rem; + color: var(--text-muted); + margin-bottom: 0.5rem; + min-height: 1.2rem; +} + +.pricing-savings { + display: inline-block; + background: rgba(34, 197, 94, 0.15); + color: #22c55e; + font-size: 0.8rem; + font-weight: 600; + padding: 0.25rem 0.75rem; + border-radius: 100px; + margin-bottom: 1rem; + min-height: 1.5rem; +} + +.pricing-savings:empty { + visibility: hidden; +} + +.pricing-description { + color: var(--text-muted); + font-size: 0.9rem; + margin-bottom: 2rem; + padding-bottom: 2rem; + border-bottom: 1px solid var(--border); +} + +.pricing-features { + list-style: none; + margin-bottom: 2rem; +} + +.pricing-features li { + display: flex; + align-items: center; + gap: 0.75rem; + padding: 0.5rem 0; + color: var(--text-secondary); + font-size: 0.95rem; +} + +.pricing-features li::before { + content: '✓'; + color: var(--accent); + font-weight: 700; +} + +.pricing-btn { + display: block; + text-align: center; + padding: 1rem; + border-radius: 10px; + text-decoration: none; + font-weight: 600; + transition: all 0.2s; +} + +.pricing-card .pricing-btn { + background: var(--bg-elevated); + color: var(--text-primary); + border: 1px solid var(--border); +} + +.pricing-card .pricing-btn:hover { + background: var(--text-primary); + color: var(--bg-dark); +} + +.pricing-card.featured .pricing-btn { + background: var(--accent); + color: var(--bg-dark); + border: none; +} + +.pricing-card.featured .pricing-btn:hover { + background: var(--accent-light); +} + +/* Instructors Section */ +.instructors { + padding: 6rem 2rem; + background: var(--bg-card); +} + +.instructors-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 2rem; +} + +.instructor-card { + text-align: center; +} + +.instructor-image { + width: 160px; + height: 160px; + border-radius: 50%; + margin: 0 auto 1.5rem; + border: 4px solid var(--border); + transition: all 0.3s; + overflow: hidden; + background: var(--bg-elevated); +} + +.instructor-image img { + width: 100%; + height: 100%; + object-fit: cover; + filter: grayscale(20%); + transition: filter 0.3s; +} + +.instructor-card:hover .instructor-image { + border-color: var(--accent); + box-shadow: 0 0 20px rgba(245, 158, 11, 0.3); +} + +.instructor-card:hover .instructor-image img { + filter: grayscale(0%); +} + +.instructor-name { + font-size: 1.1rem; + font-weight: 600; + margin-bottom: 0.25rem; +} + +.instructor-role { + color: var(--accent); + font-size: 0.85rem; + font-weight: 500; + margin-bottom: 0.5rem; +} + +.instructor-bio { + color: var(--text-muted); + font-size: 0.85rem; +} + +/* Testimonials */ +.testimonials { + padding: 6rem 2rem; +} + +.testimonials-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 2rem; +} + +.testimonial-card { + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: 16px; + padding: 2rem; +} + +.testimonial-stars { + color: var(--accent); + font-size: 1rem; + margin-bottom: 1rem; +} + +.testimonial-text { + color: var(--text-secondary); + font-size: 1rem; + line-height: 1.7; + margin-bottom: 1.5rem; +} + +.testimonial-author { + display: flex; + align-items: center; + gap: 1rem; +} + +.testimonial-avatar { + width: 64px; + height: 64px; + border-radius: 50%; + overflow: hidden; + flex-shrink: 0; +} + +.testimonial-avatar img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.testimonial-name { + font-weight: 600; + font-size: 0.95rem; +} + +.testimonial-title { + color: var(--text-muted); + font-size: 0.8rem; +} + +/* CTA Section */ +.cta { + padding: 6rem 2rem; + background: linear-gradient(135deg, var(--bg-card) 0%, var(--bg-dark) 100%); + text-align: center; + position: relative; + overflow: hidden; +} + +.cta::before { + content: ''; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 600px; + height: 600px; + background: black; + pointer-events: none; +} + +.cta-content { + position: relative; + z-index: 1; +} + +.cta h2 { + font-size: clamp(2rem, 4vw, 3rem); + font-weight: 700; + margin-bottom: 1rem; +} + +.cta p { + color: var(--text-secondary); + font-size: 1.1rem; + margin-bottom: 2rem; + max-width: 500px; + margin-left: auto; + margin-right: auto; +} + +/* Footer */ +footer { + padding: 4rem 2rem 2rem; + border-top: 1px solid var(--border); +} + +.footer-container { + max-width: 1200px; + margin: 0 auto; +} + +.footer-grid { + display: grid; + grid-template-columns: 2fr 1fr 1fr 1fr; + gap: 3rem; + margin-bottom: 3rem; +} + +.footer-brand p { + color: var(--text-muted); + font-size: 0.9rem; + margin-top: 1rem; + max-width: 280px; +} + +.footer-title { + font-size: 0.85rem; + font-weight: 600; + color: var(--text-secondary); + text-transform: uppercase; + letter-spacing: 0.05em; + margin-bottom: 1.5rem; +} + +.footer-links { + list-style: none; +} + +.footer-links li { + margin-bottom: 0.75rem; +} + +.footer-links a { + color: var(--text-muted); + text-decoration: none; + font-size: 0.9rem; + transition: color 0.2s; +} + +.footer-links a:hover { + color: var(--accent); +} + +.footer-bottom { + padding-top: 2rem; + border-top: 1px solid var(--border); + display: flex; + justify-content: space-between; + align-items: center; + font-size: 0.85rem; + color: var(--text-muted); +} + +.footer-bottom a { + color: var(--accent); + text-decoration: none; + transition: color 0.2s; +} + +.footer-bottom a:hover { + color: var(--accent-light); +} + +/* Mobile Menu */ +.mobile-menu-btn { + display: none; + background: none; + border: none; + color: var(--text-primary); + font-size: 1.5rem; + cursor: pointer; +} + +/* Responsive */ +@media (max-width: 1024px) { + .hero-container { + grid-template-columns: 1fr; + text-align: center; + } + + .hero-content { + order: 1; + } + + .guitar-wrapper { + order: 0; + max-width: 500px; + margin: 0 auto; + } + + .hero-description { + margin: 0 auto 2rem; + } + + .hero-buttons { + justify-content: center; + } + + .hero-stats { + justify-content: center; + } + + .features-grid, + .pricing-grid, + .testimonials-grid { + grid-template-columns: 1fr; + max-width: 500px; + margin: 0 auto; + } + + .billing-toggle { + flex-wrap: wrap; + justify-content: center; + } + + .billing-option { + padding: 0.6rem 1.2rem; + font-size: 0.85rem; + } + + .instructors-grid { + grid-template-columns: repeat(2, 1fr); + } + + .footer-grid { + grid-template-columns: 1fr 1fr; + } +} + +@media (max-width: 880px) { + + .nav-links, + .nav-cta { + display: none; + } + + .mobile-menu-btn { + display: block; + } + + /* Mobile Menu */ + .nav-links.active { + display: flex; + flex-direction: column; + position: absolute; + top: 100%; + left: 0; + right: 0; + background: rgba(13, 13, 13, 0.98); + backdrop-filter: blur(20px); + padding: 0.5rem 0 0 0; + gap: 0; + } + + .nav-links.active li { + border-bottom: 1px solid var(--border); + } + + .nav-links.active li:last-child { + border-bottom: none; + } + + .nav-links.active a { + display: block; + padding: 1.35rem 2rem; + font-size: 1.1rem; + } + + .nav-cta.active { + display: block; + position: absolute; + top: 100%; + left: 0; + right: 0; + text-align: center; + background: var(--bg-dark); + padding: 1.5rem 2rem; + border-top: 1px solid var(--border); + } + + .nav-cta.active span { + display: block; + background: var(--accent); + color: var(--bg-dark); + padding: 1rem; + border-radius: 8px; + font-weight: 600; + } + + .hero { + padding: 6rem 1rem 3rem; + } + + .hero h1 { + font-size: 2rem; + } + + .hero-buttons { + flex-direction: column; + } + + .hero-stats { + flex-direction: column; + gap: 1.5rem; + } + + .stat { + text-align: center; + } + + .guitar-card { + padding: 1rem; + } + + .fretboard-grid { + grid-template-rows: repeat(6, 28px); + } + + .string-labels { + height: calc(6 * 28px); + left: -24px; + } + + .string-label { + height: 28px; + font-size: 0.6rem; + } + + .note-marker { + width: 14px; + height: 14px; + font-size: 0.4rem; + } + + .instructors-grid { + grid-template-columns: 1fr; + } + + .footer-grid { + grid-template-columns: 1fr; + text-align: center; + } + + .footer-brand p { + margin: 1rem auto; + } + + .footer-bottom { + flex-direction: column; + gap: 1rem; + text-align: center; + } +} \ No newline at end of file From d5b72f6588d192d3d4fa2ac81313c42581ff4d09 Mon Sep 17 00:00:00 2001 From: Sizolwakhe Leonard Mthimunye Date: Tue, 6 Jan 2026 12:06:53 +0200 Subject: [PATCH 4/4] adding html for structure of home page --- .../main/resources/templates/home/index.html | 398 ++++++++++++++++++ 1 file changed, 398 insertions(+) create mode 100644 users_microservice/src/main/resources/templates/home/index.html diff --git a/users_microservice/src/main/resources/templates/home/index.html b/users_microservice/src/main/resources/templates/home/index.html new file mode 100644 index 0000000..c2d0334 --- /dev/null +++ b/users_microservice/src/main/resources/templates/home/index.html @@ -0,0 +1,398 @@ + + + + + + StringMaster | Learn Guitar Online + + + + + + + + + +

+ + + +
+
+
+ +

Master guitar with interactive lessons

+

+ Learn at your own pace with our visual fretboard trainer. + From beginner chords to advanced techniques — all in one platform. +

+ +
+
+
50K+
+
Active Students
+
+
+
200+
+
Video Lessons
+
+
+
4.9
+
App Rating
+
+
+
+ + +
+ Alcohol Agent Logo +
+
+
+ + +
+
+
+ +

Everything you need to learn guitar

+

+ Our platform combines visual learning with hands-on practice + to accelerate your guitar journey. +

+
+
+
+
+ + + + + +
+

Interactive Fretboard

+

Visual chord diagrams that show exactly where to place your fingers. Practice anywhere, anytime.

+
+
+
+ + + + + +
+

HD Video Lessons

+

200+ professionally filmed lessons from beginner basics to advanced techniques.

+
+
+
+ + + + + +
+

Progress Tracking

+

Set goals, track your practice time, and watch your skills improve over time.

+
+
+
+ + + + + + +
+

Song Library

+

Learn your favorite songs with tabs, chords, and play-along backing tracks.

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

AI Feedback

+

Get real-time feedback on your playing through our audio recognition technology.

+
+
+
+ + + + + + +
+

Community

+

Connect with fellow learners, share progress, and get tips from experienced players.

+
+
+
+
+ + +
+
+
+ +

Simple, transparent pricing

+

+ Start with a free trial. No credit card required. +

+
+
+ + + +
+
+
+
Starter
+
+ Free +
+
+
+

Perfect for trying out the basics

+
    +
  • 10 beginner lessons
  • +
  • Interactive fretboard
  • +
  • 5 songs with tabs
  • +
  • Community access
  • +
+ Get Started +
+ +
+
Lifetime
+
+ $440 +
+
One-time payment
+
Best value
+

Forever access, no recurring fees

+
    +
  • Everything in Pro
  • +
  • 1-on-1 coaching session
  • +
  • Exclusive masterclasses
  • +
  • Priority support
  • +
  • All future updates
  • +
+ Get Lifetime Access +
+
+
+
+ + +
+
+
+ +

Learn from the best

+

+ Our instructors have decades of combined experience and a passion for teaching. +

+
+
+
+
+ Marcus Chen +
+
Marcus Chen
+
Acoustic Specialist
+

15 years teaching, Berklee graduate

+
+
+
+ Sarah Williams +
+
Sarah Williams
+
Fingerstyle Expert
+

YouTube educator, 2M subscribers

+
+
+
+ James Rodriguez +
+
James Rodriguez
+
Blues & Rock
+

Session guitarist, 20+ albums

+
+
+
+ Emily Park +
+
Emily Park
+
Music Theory
+

PhD in Music, award-winning educator

+
+
+
+
+ + +
+
+
+ +

What our students say

+
+
+
+
★★★★★
+

"I've tried several apps, but StringMaster's interactive fretboard finally made chord transitions click for me. Went from zero to playing songs in 3 months!"

+
+
+ Alex Thompson +
+
+
Alex Thompson
+
Beginner, 4 months
+
+
+
+
+
★★★★★
+

"The AI feedback feature is incredible. It's like having a personal instructor available 24/7. My fingerpicking has improved dramatically."

+
+
+ Maria Garcia +
+
+
Maria Garcia
+
Intermediate, 1 year
+
+
+
+
+
★★★★★
+

"Worth every penny. The song library keeps me motivated, and the progress tracking shows exactly how far I've come. Highly recommend!"

+
+
+ David Kim +
+
+
David Kim
+
Pro subscriber, 8 months
+
+
+
+
+
+
+ + +
+
+

Ready to start your guitar journey?

+

Join 50,000+ students learning guitar the modern way. Start your free trial today.

+ GET STARTED → +
+
+ + + + + + + \ No newline at end of file