generated from bisco/codex-bootstrap
fix: balance contact section socials
This commit is contained in:
@@ -48,9 +48,10 @@ test("provides usable contact actions", async ({ page }) => {
|
|||||||
"https://wa.me/393331234567",
|
"https://wa.me/393331234567",
|
||||||
);
|
);
|
||||||
await expect(page.getByText("Seguici sui social")).toBeVisible();
|
await expect(page.getByText("Seguici sui social")).toBeVisible();
|
||||||
await expect(page.locator(".social-links a")).toHaveCount(2);
|
await expect(page.locator(".social-links a")).toHaveCount(3);
|
||||||
await expect(page.locator(".social-link-instagram")).toHaveCount(1);
|
await expect(page.locator(".social-link-instagram")).toHaveCount(1);
|
||||||
await expect(page.locator(".social-link-facebook")).toHaveCount(1);
|
await expect(page.locator(".social-link-facebook")).toHaveCount(1);
|
||||||
|
await expect(page.locator(".social-link-youtube")).toHaveCount(1);
|
||||||
await expect(page.getByRole("link", { name: "Instagram" })).toHaveAttribute(
|
await expect(page.getByRole("link", { name: "Instagram" })).toHaveAttribute(
|
||||||
"href",
|
"href",
|
||||||
"https://instagram.com/",
|
"https://instagram.com/",
|
||||||
@@ -59,7 +60,11 @@ test("provides usable contact actions", async ({ page }) => {
|
|||||||
"href",
|
"href",
|
||||||
"https://facebook.com/",
|
"https://facebook.com/",
|
||||||
);
|
);
|
||||||
await expect(page.locator(".social-links .social-icon")).toHaveCount(2);
|
await expect(page.getByRole("link", { name: "YouTube" })).toHaveAttribute(
|
||||||
|
"href",
|
||||||
|
"https://youtube.com/",
|
||||||
|
);
|
||||||
|
await expect(page.locator(".social-links .social-icon")).toHaveCount(3);
|
||||||
await expect(page.locator(".contact-actions .contact-icon")).toHaveCount(3);
|
await expect(page.locator(".contact-actions .contact-icon")).toHaveCount(3);
|
||||||
await expect(page.locator(".contact-info .contact-icon")).toHaveCount(1);
|
await expect(page.locator(".contact-info .contact-icon")).toHaveCount(1);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ $social_links = array_values(
|
|||||||
array(
|
array(
|
||||||
array( 'label' => 'Instagram', 'url' => trim( azionelab_mod( 'contact_instagram' ) ), 'icon' => 'instagram' ),
|
array( 'label' => 'Instagram', 'url' => trim( azionelab_mod( 'contact_instagram' ) ), 'icon' => 'instagram' ),
|
||||||
array( 'label' => 'Facebook', 'url' => trim( azionelab_mod( 'contact_facebook' ) ), 'icon' => 'facebook' ),
|
array( 'label' => 'Facebook', 'url' => trim( azionelab_mod( 'contact_facebook' ) ), 'icon' => 'facebook' ),
|
||||||
|
array( 'label' => 'YouTube', 'url' => trim( azionelab_mod( 'contact_youtube' ) ), 'icon' => 'youtube' ),
|
||||||
),
|
),
|
||||||
static fn ( array $link ): bool => '' !== $link['url']
|
static fn ( array $link ): bool => '' !== $link['url']
|
||||||
)
|
)
|
||||||
@@ -198,7 +199,7 @@ $social_links = array_values(
|
|||||||
<?php foreach ( $social_links as $social_link ) : ?>
|
<?php foreach ( $social_links as $social_link ) : ?>
|
||||||
<a class="social-link social-link-<?php echo esc_attr( $social_link['icon'] ); ?>" href="<?php echo esc_url( $social_link['url'] ); ?>" rel="noopener noreferrer">
|
<a class="social-link social-link-<?php echo esc_attr( $social_link['icon'] ); ?>" href="<?php echo esc_url( $social_link['url'] ); ?>" rel="noopener noreferrer">
|
||||||
<?php echo azionelab_social_icon( $social_link['icon'] ); ?>
|
<?php echo azionelab_social_icon( $social_link['icon'] ); ?>
|
||||||
<span><?php echo esc_html( $social_link['label'] ); ?></span>
|
<span class="visually-hidden"><?php echo esc_html( $social_link['label'] ); ?></span>
|
||||||
</a>
|
</a>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ function azionelab_defaults(): array {
|
|||||||
'contact_whatsapp' => '+39 333 123 4567',
|
'contact_whatsapp' => '+39 333 123 4567',
|
||||||
'contact_instagram' => 'https://instagram.com/',
|
'contact_instagram' => 'https://instagram.com/',
|
||||||
'contact_facebook' => 'https://facebook.com/',
|
'contact_facebook' => 'https://facebook.com/',
|
||||||
|
'contact_youtube' => 'https://youtube.com/',
|
||||||
'contact_address' => "Via dell'Epomeo 9999, Napoli",
|
'contact_address' => "Via dell'Epomeo 9999, Napoli",
|
||||||
'footer_text' => 'Uno spazio aperto a chi desidera incontrare il teatro, insieme.',
|
'footer_text' => 'Uno spazio aperto a chi desidera incontrare il teatro, insieme.',
|
||||||
);
|
);
|
||||||
@@ -86,6 +87,10 @@ function azionelab_social_icon( string $network ): string {
|
|||||||
return '<svg class="social-icon social-icon-facebook" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><rect x="2.5" y="2.5" width="19" height="19" rx="4.5" fill="#1877f2"/><path fill="#fff" d="M13.45 21.5v-7.35h2.48l.37-2.88h-2.85V9.43c0-.83.23-1.4 1.43-1.4h1.52V5.46c-.26-.04-1.17-.12-2.22-.12-2.2 0-3.7 1.34-3.7 3.8v2.13H8v2.88h2.48v7.35h2.97Z"/></svg>';
|
return '<svg class="social-icon social-icon-facebook" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><rect x="2.5" y="2.5" width="19" height="19" rx="4.5" fill="#1877f2"/><path fill="#fff" d="M13.45 21.5v-7.35h2.48l.37-2.88h-2.85V9.43c0-.83.23-1.4 1.43-1.4h1.52V5.46c-.26-.04-1.17-.12-2.22-.12-2.2 0-3.7 1.34-3.7 3.8v2.13H8v2.88h2.48v7.35h2.97Z"/></svg>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( 'youtube' === $network ) {
|
||||||
|
return '<svg class="social-icon social-icon-youtube" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><rect x="2" y="5" width="20" height="14" rx="4.2" fill="#ff0000"/><path d="m10.2 8.6 5.4 3.4-5.4 3.4V8.6Z" fill="#fff"/></svg>';
|
||||||
|
}
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,6 +174,7 @@ function azionelab_customize_register( WP_Customize_Manager $customizer ): void
|
|||||||
'contact_whatsapp' => array( 'azionelab_contacts', 'WhatsApp', 'text' ),
|
'contact_whatsapp' => array( 'azionelab_contacts', 'WhatsApp', 'text' ),
|
||||||
'contact_instagram' => array( 'azionelab_contacts', 'Instagram', 'url' ),
|
'contact_instagram' => array( 'azionelab_contacts', 'Instagram', 'url' ),
|
||||||
'contact_facebook' => array( 'azionelab_contacts', 'Facebook', 'url' ),
|
'contact_facebook' => array( 'azionelab_contacts', 'Facebook', 'url' ),
|
||||||
|
'contact_youtube' => array( 'azionelab_contacts', 'YouTube', 'url' ),
|
||||||
'contact_address' => array( 'azionelab_contacts', 'Indirizzo', 'text' ),
|
'contact_address' => array( 'azionelab_contacts', 'Indirizzo', 'text' ),
|
||||||
'footer_text' => array( 'azionelab_contacts', 'Testo footer', 'text' ),
|
'footer_text' => array( 'azionelab_contacts', 'Testo footer', 'text' ),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ Text Domain: azionelab
|
|||||||
|
|
||||||
*, *::before, *::after { box-sizing: border-box; }
|
*, *::before, *::after { box-sizing: border-box; }
|
||||||
html { scroll-behavior: smooth; }
|
html { scroll-behavior: smooth; }
|
||||||
|
.visually-hidden { position: absolute; overflow: hidden; width: 1px; height: 1px; padding: 0; border: 0; margin: -1px; clip: rect(0 0 0 0); white-space: nowrap; }
|
||||||
body {
|
body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: var(--color-dark-text);
|
color: var(--color-dark-text);
|
||||||
@@ -180,24 +181,22 @@ blockquote { margin: 2rem 0 0; padding-left: 1.5rem; border-left: 3px solid var(
|
|||||||
.empty-state { padding: 2rem; border: 1px dashed var(--color-muted); border-radius: var(--radius); color: var(--color-muted); text-align: center; }
|
.empty-state { padding: 2rem; border: 1px dashed var(--color-muted); border-radius: var(--radius); color: var(--color-muted); text-align: center; }
|
||||||
.contacts { color: var(--color-bg-light); background: var(--color-dark); }
|
.contacts { color: var(--color-bg-light); background: var(--color-dark); }
|
||||||
.contacts .eyebrow { color: var(--color-primary-soft); }
|
.contacts .eyebrow { color: var(--color-primary-soft); }
|
||||||
.contacts .lead { color: rgba(255, 248, 239, 0.8); }
|
.contacts .lead { max-width: 38rem; color: rgba(255, 248, 239, 0.8); }
|
||||||
.contact-grid { display: grid; gap: 2.5rem; }
|
.contact-grid { display: grid; gap: 2.5rem; }
|
||||||
.contact-info { display: grid; position: relative; margin-top: 1.6rem; padding-left: 3rem; }
|
.contact-info { display: grid; position: relative; margin-top: 1.6rem; padding-left: 3rem; }
|
||||||
.contact-info p { margin: 0; }
|
.contact-info p { margin: 0; }
|
||||||
.contact-info .contact-icon { top: 0.1rem; left: 0; color: var(--color-sand); }
|
.contact-info .contact-icon { top: 0.1rem; left: 0; color: var(--color-sand); }
|
||||||
.contact-actions { display: grid; gap: 0.8rem; }
|
.contact-actions { display: grid; align-content: start; gap: 0.8rem; }
|
||||||
.contact-action { display: grid; position: relative; padding: 1rem 1.1rem 1rem 4rem; border: 1px solid rgba(255,255,255,0.18); border-radius: 0.9rem; text-decoration: none; }
|
.contact-action { display: grid; position: relative; min-height: 5.75rem; padding: 1rem 1.1rem 1rem 4rem; border: 1px solid rgba(255,255,255,0.18); border-radius: 0.9rem; align-content: center; text-decoration: none; }
|
||||||
.contact-action span { color: var(--color-sand); font-size: 0.78rem; text-transform: uppercase; }
|
.contact-action span { color: var(--color-sand); font-size: 0.78rem; text-transform: uppercase; }
|
||||||
.contact-icon { position: absolute; top: 1rem; left: 1.1rem; width: 2rem; height: 2rem; color: var(--color-primary-soft); }
|
.contact-icon { position: absolute; top: 1rem; left: 1.1rem; width: 2rem; height: 2rem; color: var(--color-primary-soft); }
|
||||||
.contact-icon-whatsapp { color: #25d366; }
|
.contact-icon-whatsapp { color: #25d366; }
|
||||||
.social-promo { margin-top: 1.6rem; padding-top: 1.25rem; border-top: 1px solid rgba(255, 248, 239, 0.22); }
|
.social-promo { margin-top: 1.6rem; padding-top: 1.25rem; border-top: 1px solid rgba(255, 248, 239, 0.22); }
|
||||||
.social-promo-title { margin-bottom: 0.8rem; color: var(--color-sand); font-size: 0.78rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
|
.social-promo-title { margin-bottom: 0.8rem; color: var(--color-sand); font-size: 0.78rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
|
||||||
.social-links { display: flex; flex-wrap: wrap; gap: 0.75rem; }
|
.social-links { display: flex; flex-wrap: wrap; gap: 0.75rem; }
|
||||||
.social-links a { display: inline-flex; min-height: 3.2rem; padding: 0.68rem 1rem; border: 1px solid rgba(255, 248, 239, 0.75); border-radius: 0.55rem; align-items: center; gap: 0.62rem; background: #fff8ef; color: var(--color-dark-text); font-size: 1.28rem; font-weight: 850; line-height: 1; text-decoration: none; box-shadow: 0 14px 32px rgba(29, 26, 23, 0.22); }
|
.social-links a { display: inline-flex; width: 3.85rem; height: 3.85rem; border: 1px solid rgba(255, 248, 239, 0.7); border-radius: 0.75rem; align-items: center; justify-content: center; background: #fff8ef; color: var(--color-dark-text); line-height: 1; text-decoration: none; box-shadow: 0 14px 32px rgba(29, 26, 23, 0.18); }
|
||||||
.social-link-instagram span { background: linear-gradient(135deg, #f58529 0%, #dd2a7b 48%, #8134af 100%); background-clip: text; color: transparent; font-family: "Brush Script MT", "Segoe Script", cursive; font-size: 1.55rem; font-weight: 700; }
|
|
||||||
.social-link-facebook span { color: #1877f2; font-family: var(--font-sans); font-size: 1.42rem; font-weight: 850; letter-spacing: -0.05em; }
|
|
||||||
.social-links a:hover { background: white; transform: translateY(-2px); }
|
.social-links a:hover { background: white; transform: translateY(-2px); }
|
||||||
.social-icon { width: 1.85rem; height: 1.85rem; flex: 0 0 auto; }
|
.social-icon { width: 2.45rem; height: 2.45rem; flex: 0 0 auto; }
|
||||||
.site-footer { padding-block: 2rem; color: #f7efe4; background: var(--color-dark-text); }
|
.site-footer { padding-block: 2rem; color: #f7efe4; background: var(--color-dark-text); }
|
||||||
.site-footer a { color: #fff8ef; }
|
.site-footer a { color: #fff8ef; }
|
||||||
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem 1.5rem; font-size: 0.85rem; }
|
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem 1.5rem; font-size: 0.85rem; }
|
||||||
@@ -236,7 +235,8 @@ blockquote { margin: 2rem 0 0; padding-left: 1.5rem; border-left: 3px solid var(
|
|||||||
.shows-grid { grid-template-columns: repeat(2, 1fr); }
|
.shows-grid { grid-template-columns: repeat(2, 1fr); }
|
||||||
.gallery-grid { grid-template-columns: repeat(4, 1fr); }
|
.gallery-grid { grid-template-columns: repeat(4, 1fr); }
|
||||||
.gallery-item:nth-child(3n + 1) { grid-column: span 2; }
|
.gallery-item:nth-child(3n + 1) { grid-column: span 2; }
|
||||||
.contact-grid { grid-template-columns: 1fr 0.9fr; }
|
.contact-grid { grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.78fr); align-items: center; }
|
||||||
|
.contact-actions { width: min(100%, 34rem); justify-self: end; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 64rem) {
|
@media (min-width: 64rem) {
|
||||||
|
|||||||
Reference in New Issue
Block a user