add get involved and footer
This commit is contained in:
parent
b54522ddfc
commit
a621510226
1 changed files with 239 additions and 0 deletions
|
|
@ -59,6 +59,16 @@ function previousTestimonial(): void {
|
||||||
testimonialIndex.value = (testimonialIndex.value - 1 + testimonials.length) % testimonials.length
|
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 {
|
interface Sponsor {
|
||||||
name: string
|
name: string
|
||||||
src: string
|
src: string
|
||||||
|
|
@ -335,6 +345,63 @@ const projects: Project[] = [
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section class="get-involved" data-cy="get-involved">
|
||||||
|
<div class="get-involved__card">
|
||||||
|
<div class="get-involved__copy">
|
||||||
|
<h2 class="get-involved__heading">Get Involved</h2>
|
||||||
|
<p class="get-involved__subtext">
|
||||||
|
Subscribe for updates as we release new content, chaburot and events.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<form class="get-involved__form" @submit="submitNewsletter">
|
||||||
|
<label class="get-involved__field">
|
||||||
|
<span class="get-involved__label">Full Name</span>
|
||||||
|
<input
|
||||||
|
v-model="newsletterFullName"
|
||||||
|
name="fullName"
|
||||||
|
type="text"
|
||||||
|
class="get-involved__input"
|
||||||
|
autocomplete="name"
|
||||||
|
/>
|
||||||
|
</label>
|
||||||
|
<label class="get-involved__field">
|
||||||
|
<span class="get-involved__label">Email Address</span>
|
||||||
|
<input
|
||||||
|
v-model="newsletterEmail"
|
||||||
|
name="email"
|
||||||
|
type="email"
|
||||||
|
class="get-involved__input"
|
||||||
|
autocomplete="email"
|
||||||
|
/>
|
||||||
|
</label>
|
||||||
|
<button type="submit" class="get-involved__submit">Submit</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer class="site-footer" data-cy="footer">
|
||||||
|
<div class="site-footer__inner">
|
||||||
|
<div class="site-footer__brand">
|
||||||
|
<img src="/assets/signature.png" alt="R' Yehoshua Gerzi" class="site-footer__signature" />
|
||||||
|
<div class="site-footer__social">
|
||||||
|
<a href="#" class="site-footer__social-link" aria-label="YouTube">▶</a>
|
||||||
|
<a href="#" class="site-footer__social-link" aria-label="Spotify">♫</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<nav class="site-footer__links">
|
||||||
|
<ul class="site-footer__link-column">
|
||||||
|
<li><a href="/media">Torah Media</a></li>
|
||||||
|
<li><a href="/about">About</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul class="site-footer__link-column">
|
||||||
|
<li><a href="/donate">Donate</a></li>
|
||||||
|
<li><a href="/contact">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<p class="site-footer__copyright">© Rabbi Gerzi 2025</p>
|
||||||
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -874,6 +941,168 @@ const projects: Project[] = [
|
||||||
max-width: 30ch;
|
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) {
|
@media (max-width: 768px) {
|
||||||
.site-header {
|
.site-header {
|
||||||
padding: 0.75rem 1rem;
|
padding: 0.75rem 1rem;
|
||||||
|
|
@ -910,6 +1139,16 @@ const projects: Project[] = [
|
||||||
.journey__cards {
|
.journey__cards {
|
||||||
grid-template-columns: 1fr;
|
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) {
|
@media (max-width: 480px) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue