diff --git a/frontend/rabbi_gerzi/src/views/HomePage.vue b/frontend/rabbi_gerzi/src/views/HomePage.vue index 228d98c..57ae20c 100644 --- a/frontend/rabbi_gerzi/src/views/HomePage.vue +++ b/frontend/rabbi_gerzi/src/views/HomePage.vue @@ -59,6 +59,16 @@ function previousTestimonial(): void { testimonialIndex.value = (testimonialIndex.value - 1 + testimonials.length) % testimonials.length } +const newsletterFullName = ref('') +const newsletterEmail = ref('') + +function submitNewsletter(submitEvent: Event): void { + submitEvent.preventDefault() + // No backend wiring yet - field values stay in component state. + newsletterFullName.value = '' + newsletterEmail.value = '' +} + interface Sponsor { name: string src: string @@ -335,6 +345,63 @@ const projects: Project[] = [ + +
+
+
+

Get Involved

+

+ Subscribe for updates as we release new content, chaburot and events. +

+
+
+ + + +
+
+
+ + @@ -874,6 +941,168 @@ const projects: Project[] = [ max-width: 30ch; } +.get-involved { + background: var(--color-cream); + padding: 0 2rem 5rem; +} + +.get-involved__card { + max-width: 1100px; + margin: 0 auto; + background: rgba(255, 255, 255, 0.4); + border-radius: 14px; + padding: 3rem; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 3rem; + align-items: center; +} + +.get-involved__heading { + font-family: var(--font-serif); + font-weight: 400; + font-size: clamp(1.6rem, 2.6vw, 2.4rem); + color: var(--color-text); + margin: 0 0 1.25rem 0; +} + +.get-involved__subtext { + font-family: var(--font-serif); + font-size: 1rem; + line-height: 1.55; + color: var(--color-text-muted); + margin: 0; + max-width: 36ch; +} + +.get-involved__form { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.get-involved__field { + display: flex; + flex-direction: column; + gap: 0.4rem; +} + +.get-involved__label { + font-family: var(--font-sans); + font-size: 0.85rem; + color: var(--color-text-muted); +} + +.get-involved__input { + background: var(--color-cream); + border: 1px solid rgba(0, 0, 0, 0.08); + border-radius: 8px; + padding: 0.75rem 1rem; + font-family: var(--font-sans); + font-size: 1rem; + color: var(--color-text); +} + +.get-involved__input:focus { + outline: 2px solid var(--color-slate); + outline-offset: 2px; +} + +.get-involved__submit { + background: var(--color-text); + color: var(--color-white); + border: none; + border-radius: 8px; + padding: 0.85rem 1rem; + font-family: var(--font-sans); + font-weight: 500; + font-size: 1rem; + margin-top: 0.5rem; +} + +.get-involved__submit:hover { + background: var(--color-slate); +} + +.site-footer { + background: var(--color-white); + padding: 4rem 2rem 2rem; + border-top: 1px solid var(--color-border); +} + +.site-footer__inner { + max-width: 1100px; + margin: 0 auto 2rem; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 2rem; + align-items: start; +} + +.site-footer__brand { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.site-footer__signature { + height: 40px; + width: auto; +} + +.site-footer__social { + display: flex; + gap: 0.75rem; +} + +.site-footer__social-link { + width: 2rem; + height: 2rem; + border-radius: 6px; + border: 1px solid var(--color-border); + display: inline-flex; + align-items: center; + justify-content: center; + color: var(--color-text-muted); +} + +.site-footer__social-link:hover { + background: var(--color-cream); +} + +.site-footer__links { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1rem; +} + +.site-footer__link-column { + list-style: none; + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + gap: 0.6rem; +} + +.site-footer__link-column a { + font-family: var(--font-sans); + font-size: 0.95rem; + color: var(--color-text); +} + +.site-footer__link-column a:hover { + color: var(--color-slate); +} + +.site-footer__copyright { + text-align: center; + font-family: var(--font-sans); + font-size: 0.85rem; + color: var(--color-text-muted); + margin: 0; +} + @media (max-width: 768px) { .site-header { padding: 0.75rem 1rem; @@ -910,6 +1139,16 @@ const projects: Project[] = [ .journey__cards { grid-template-columns: 1fr; } + + .get-involved__card { + grid-template-columns: 1fr; + padding: 2rem; + gap: 2rem; + } + + .site-footer__inner { + grid-template-columns: 1fr; + } } @media (max-width: 480px) {