Refactor code structure for improved readability and maintainability

This commit is contained in:
Matt Batchelder
2026-02-23 06:57:08 -05:00
parent 60e4934f86
commit 414e91b2cb
3 changed files with 1383 additions and 959 deletions

View File

@@ -9,7 +9,7 @@ return <<<'ORIBI_SYNC_CONTENT'
<!-- wp:oribi/page-hero-animated {"label":"Industry Solutions","title":"Built for the Way You Work","description":"Every industry communicates differently. Our platform adapts to your environment - whether that's a hotel lobby, a shop floor, a boardroom, or a lecture hall."} /-->
<!-- wp:oribi/platform-section {"label":"Industries We Serve","heading":"One Platform, Tailored to Your Sector","lead":"We've worked with businesses across six key industries. Here's how our platform fits into each one."} -->
<!-- wp:oribi/platform-row {"heading":"Hospitality","description":"Digital menu boards that update with your POS, lobby displays that guide guests, and promotional screens that drive upsells in bars and restaurants. Create a polished guest experience from the moment they walk in - and keep it fresh without touching a single printed sign. Multi-language scheduling lets you switch content for international guests automatically.","btnText":"Learn More","btnUrl":"/hospitality","galleryIds":[418,417]} /-->
<!-- wp:oribi/platform-row {"heading":"Hospitality","description":"Digital menu boards that update with your POS, lobby displays that guide guests, and promotional screens that drive upsells in bars and restaurants. Create a polished guest experience from the moment they walk in - and keep it fresh without touching a single printed sign. Multi-language scheduling lets you switch content for international guests automatically.","btnText":"Learn More","btnUrl":"/hospitality","hospitalityAnim":true} /-->
<!-- wp:oribi/platform-row {"heading":"Retail","description":"Launch promotions across every store instantly, spotlight seasonal products, and guide shoppers with in-store wayfinding. Retailers using digital signage see up to 30% more sales. Use day-parting to show breakfast offers in the morning and evening deals after 5pm. Interactive touchscreens turn browsing into self-service product lookup and ordering.","btnText":"Learn More","btnUrl":"/retail","reversed":true} /-->
@@ -35,5 +35,4 @@ return <<<'ORIBI_SYNC_CONTENT'
<!-- wp:oribi/stat-card {"value":"50%","label":"Shorter Perceived Waits","description":"Engaging displays cut perceived wait times in half for customers in queues. <a href='https://www.digitalsignagetoday.com/articles/the-business-case-for-digital-signage-in-the-waiting-line/' target='_blank' rel='noopener'>Digital Signage Today →</a>"} /-->
<!-- /wp:oribi/stat-section -->
<!-- wp:oribi/cta-banner {"heading":"Let Us Match You to the Right Setup","text":"Tell us about your industry, your locations, and what you want your screens to do. We'll recommend the ideal configuration.","btnText":"Talk to an Expert","btnUrl":"/contact"} /-->
ORIBI_SYNC_CONTENT;
<!-- wp:oribi/cta-banner {"heading":"Let Us Match You to the Right Setup","text":"Tell us about your industry, your locations, and what you want your screens to do. We'll recommend the ideal configuration.","btnText":"Talk to an Expert","btnUrl":"/contact"} /-->ORIBI_SYNC_CONTENT;

View File

@@ -5873,3 +5873,213 @@ p:last-child { margin-bottom: 0; }
display: block;
filter: drop-shadow(0 8px 28px rgba(0, 0, 0, 0.18));
}
/* ═══════════════════════════════════════════════════════════════
HOSPITALITY SIGN ANIMATION (.platform-visual.has-hospitality)
Rotating display: Breakfast -> Lunch -> Dinner (9s cycle)
═══════════════════════════════════════════════════════════════ */
.platform-visual.has-hospitality {
background: none !important;
border: none !important;
border-radius: 0;
aspect-ratio: unset;
padding: 0;
overflow: visible;
box-shadow: none;
font-size: inherit;
}
.hosp-stage {
width: 100%;
max-width: 520px;
margin: 0 auto;
}
.hosp-tv {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}
.hosp-tv__body {
width: 100%;
background: #111;
border: 5px solid #1a1a1a;
border-radius: 8px 8px 4px 4px;
outline: 2px solid #000;
padding: 4px;
position: relative;
box-shadow:
0 14px 48px rgba(0,0,0,0.6),
inset 0 1px 0 rgba(255,255,255,0.06);
}
.hosp-tv__screen {
width: 100%;
aspect-ratio: 16/9;
background: #0a0a0a;
border-radius: 2px;
overflow: hidden;
position: relative;
}
.hosp-tv__feet {
display: flex;
justify-content: space-between;
width: 60%;
max-width: 300px;
}
.hosp-tv__foot {
width: 12px;
height: 8px;
background: #111;
border: 1px solid #000;
border-radius: 0 0 4px 4px;
}
/* POS Sync Indicator */
.hosp-pos {
position: absolute;
top: 12px;
right: 12px;
display: flex;
align-items: center;
gap: 6px;
background: rgba(0,0,0,0.5);
padding: 4px 8px;
border-radius: 40px;
z-index: 10;
border: 1px solid rgba(255,255,255,0.1);
backdrop-filter: blur(4px);
}
.hosp-pos__dot {
width: 6px;
height: 6px;
background: #4ade80;
border-radius: 50%;
box-shadow: 0 0 8px #4ade80;
animation: hosp-pos-pulse 2s ease-in-out infinite;
}
.hosp-pos__txt {
font-size: 9px;
color: #fff;
font-weight: 500;
letter-spacing: 0.3px;
}
/* Menu Slides */
.hosp-slides {
position: relative;
width: 100%;
height: 100%;
}
.hosp-slide {
position: absolute;
inset: 0;
opacity: 0;
animation: hosp-slide-fade 9s infinite;
display: flex;
flex-direction: column;
}
.hosp-slide--breakfast { animation-delay: 0s; }
.hosp-slide--lunch { animation-delay: 3s; }
.hosp-slide--dinner { animation-delay: 6s; }
.hosp-menu {
padding: 24px 32px;
height: 100%;
display: flex;
flex-direction: column;
background: linear-gradient(135deg, rgba(20,20,25,1) 0%, rgba(30,30,40,1) 100%);
color: #fff;
}
.hosp-menu__hd {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 8px;
}
.hosp-menu__badge {
font-size: 10px;
text-transform: uppercase;
letter-spacing: 1px;
background: var(--color-primary);
padding: 2px 8px;
border-radius: 4px;
font-weight: 700;
}
.hosp-menu__time {
font-size: 11px;
color: rgba(255,255,255,0.5);
font-family: monospace;
}
.hosp-menu__title {
font-size: 24px;
font-weight: 800;
margin-bottom: 20px;
color: #fff;
}
.hosp-menu__items {
display: flex;
flex-direction: column;
gap: 16px;
}
.hosp-menu__item {
display: flex;
justify-content: space-between;
align-items: flex-start;
border-bottom: 1px solid rgba(255,255,255,0.05);
padding-bottom: 8px;
}
.hosp-menu__name {
font-size: 15px;
font-weight: 600;
color: #fff;
margin-bottom: 2px;
}
.hosp-menu__desc {
font-size: 12px;
color: rgba(255,255,255,0.4);
}
.hosp-menu__price {
font-size: 16px;
font-weight: 700;
color: var(--color-primary);
}
/* Keyframes */
@keyframes hosp-pos-pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.4; transform: scale(0.8); }
}
@keyframes hosp-slide-fade {
0%, 2% { opacity: 0; transform: translateY(10px); }
5%, 30% { opacity: 1; transform: translateY(0); }
33%, 100% { opacity: 0; transform: translateY(-10px); }
}
@media (max-width: 640px) {
.hosp-menu { padding: 16px 20px; }
.hosp-menu__title { font-size: 18px; margin-bottom: 12px; }
.hosp-menu__item { gap: 12px; }
.hosp-menu__name { font-size: 13px; }
.hosp-menu__desc { display: none; }
.hosp-menu__price { font-size: 14px; }
}

File diff suppressed because it is too large Load Diff