Compare commits

...

2 Commits

Author SHA1 Message Date
1cef43301f revert c5d5ad33e5
revert Add Use Cases Showcase block with animated circles and descriptions
2026-02-22 10:33:58 -05:00
Matt Batchelder
1688e136b1 Enhance content across multiple pages: update descriptions, add new sections, and improve clarity for services and features. 2026-02-22 10:31:47 -05:00
11 changed files with 96 additions and 614 deletions

View File

@@ -14,14 +14,18 @@
<!-- wp:oribi/intro-section {"variant":"alt","label":"Our Mission","heading":"Making Professional Signage Accessible to Everyone","description":"Too many signage providers lock essential features behind enterprise price tags. We took a different approach. Our platform gives every customer — from a neighbourhood restaurant to a national retailer — access to the same professional-grade tools: cloud content management, intelligent scheduling, live data integration, and content that looks outstanding on screen. We handle the complexity so you can focus on running your business.","visual":"","reversed":true} /-->
<!-- wp:oribi/value-section {"variant":"normal","label":"What Sets Us Apart","heading":"A Full-Service Signage Partner","lead":"Software alone isn\u0027t enough. We pair our platform with hands-on services that make the difference.","columns":3} -->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-camera","title":"Studio-Quality Creative","description":"Photography, videography, and motion graphics produced in-house. Your screens always look polished, on-brand, and impossible to ignore."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-camera","title":"Studio-Quality Creative","description":"Photography, videography, motion graphics, and graphic design produced in-house. Your screens always look polished, on-brand, and impossible to ignore. Available as included hours on Pro, or quoted separately for Essentials customers."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-server","title":"IT-Grade Infrastructure","description":"Our roots are in enterprise IT. That means proper networking, redundancy, and security baked into every layer of the platform."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-handshake","title":"Genuine Partnership","description":"Dedicated onboarding, a named point of contact, and ongoing optimisation. We operate as an extension of your own team."} /-->
<!-- /wp:oribi/value-section -->
<!-- wp:oribi/trust-section {"label":"Our Commitment","heading":"Promises We Actually Keep","lead":"Every screen in your network reflects on your business. We take that responsibility seriously.","btnText":"Start a Conversation","btnUrl":"/contact","btnSub":"Tell us what you need and we'll take it from there"} -->
<!-- wp:oribi/trust-item {"heading":"Uptime You Can Count On","description":"99.9% platform availability, end-to-end encryption, and intelligent offline playback mean your message stays on screen no matter what."} /-->
<!-- wp:oribi/trust-item {"heading":"A Platform That Keeps Improving","description":"Regular feature releases, new integrations, and expanded content tools ensure you're always working with the latest capabilities — at no extra cost."} /-->
<!-- wp:oribi/trust-item {"heading":"Uptime You Can Count On","description":"99.9% platform availability and intelligent offline playback mean your message stays on screen no matter what."} /--><!-- wp:oribi/trust-item {"heading":"Security Built In, Not Bolted On","description":"Two-factor authentication, role-based access control, and full audit trails. Your content and your customers\u0027 data are protected at every layer."} /--><!-- wp:oribi/trust-item {"heading":"A Platform That Keeps Improving","description":"Regular feature releases, new integrations, and expanded content tools ensure you're always working with the latest capabilities — at no extra cost."} /-->
<!-- /wp:oribi/trust-section -->
<!-- wp:oribi/stat-section {"variant":"normal","label":"By the Numbers","heading":"The Platform Behind the Screens","lead":"Real metrics from a platform built for reliability and scale.","columns":4} -->
<!-- wp:oribi/stat-card {"value":"99.9%","label":"Platform Uptime","description":"Enterprise-grade availability backed by redundant cloud infrastructure and contractual SLA guarantees."} /-->
<!-- wp:oribi/stat-card {"value":"500+","label":"Screens Supported","description":"From single-site caf\u00e9s to multi-location enterprises, our platform scales with your business."} /-->
<!-- wp:oribi/stat-card {"value":"4K","label":"Ultra-HD Output","description":"Every player delivers crisp 4K resolution over HDMI for stunning visuals on any display."} /-->
<!-- wp:oribi/stat-card {"value":"24/7","label":"Always-On Operation","description":"Commercial-grade hardware with offline playback ensures your screens never go dark."} /-->
<!-- /wp:oribi/stat-section -->
<!-- wp:oribi/cta-banner {"heading":"Ready to See What We Can Do?","text":"Whether you're planning your first screen or scaling to hundreds, we'd love to hear about your project.","btnText":"Get in Touch","btnUrl":"/contact"} /-->

View File

@@ -14,7 +14,13 @@
<!-- wp:oribi/value-section {"variant":"alt","label":"How We Can Help","heading":"Whatever You Need, We\u0027re Here","lead":"From your first question to ongoing support, our team has you covered.","columns":3} -->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-comments","title":"Sales & Quotes","description":"Talk through your requirements, get a custom quote, or simply learn how digital signage fits your business."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-headset","title":"Technical Support","description":"Already a customer? Our support team is ready to troubleshoot, advise, and resolve any issue quickly."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-handshake","title":"Partnerships","description":"Interested in reselling, white-labelling, or integrating our platform into your own offering? Let\u0027s talk."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-camera","title":"Creative Services","description":"Need content for your screens? Our in-house studio produces photography, video, motion graphics, and design — quoted separately or included with Pro."} /-->
<!-- /wp:oribi/value-section -->
<!-- wp:oribi/value-section {"variant":"normal","label":"Partner With Us","heading":"Reselling, White-Label & Integration","lead":"Build OTS Signs into your own offering — under your brand or alongside your services.","columns":3} -->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-tags","title":"White-Label","description":"Rebrand the entire platform with your logo, domain, and colour scheme. Your clients see your brand — we provide the infrastructure."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-handshake","title":"Reseller Programme","description":"Sell OTS Signs alongside your AV, IT, or consultancy services. Volume pricing, co-marketing, and a dedicated partner manager."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-code","title":"API Integration","description":"Embed signage capabilities into your own SaaS product via our REST API. Custom workflows, automated content, and full platform control."} /-->
<!-- /wp:oribi/value-section -->
<!-- wp:oribi/cta-banner {"heading":"Rather See It First?","text":"Get hands-on with our platform before committing. Request a live demo and explore at your own pace.","btnText":"Request Demo","btnUrl":"/demo"} /-->

View File

@@ -12,18 +12,28 @@
<!-- wp:oribi/platform-section {"label":"Our Devices","heading":"Commercial-Grade Hardware, Consumer-Level Simplicity","lead":"No IT degree required. Our players are designed to be set up in minutes and forgotten about for years."} -->
<!-- wp:oribi/platform-row {"heading":"Works With Your Existing Screens","description":"Our player devices connect to any screen with an HDMI port — no proprietary hardware required. Already have displays? Plug in and go. Need a full setup? We offer bundled player-and-display packages too.","btnText":"Get a Quote","btnUrl":"/contact","tvStick":true} /-->
<!-- wp:oribi/platform-row {"heading":"Never Goes Dark","description":"Every player caches content locally. If your internet connection drops, your displays continue running seamlessly with the latest synced content. When connectivity returns, new content pulls down automatically — no manual steps, no reboots.","btnText":"See Features","btnUrl":"/features","reversed":true} /-->
<!-- wp:oribi/platform-row {"heading":"Locked Down by Default","description":"Secure boot, encrypted storage, and encrypted communications come standard on every device. Remote management lets you monitor, update, and troubleshoot from anywhere. Firmware updates roll out over the air with zero downtime.","btnText":"Learn More","btnUrl":"/about"} /-->
<!-- wp:oribi/platform-row {"heading":"Locked Down by Default","description":"Every device is configured for security out of the box. Remote management lets you monitor, update, and troubleshoot from anywhere. Firmware updates roll out over the air with zero downtime.","btnText":"Learn More","btnUrl":"/about"} /-->
<!-- /wp:oribi/platform-section -->
<!-- wp:oribi/feature-section {"variant":"alt","label":"Device Specifications","heading":"What\u0027s Inside Every Player","lead":"Purpose-built components selected for reliability, performance, and silent operation in any environment.","columns":3} -->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-display","title":"4K Output","description":"Crisp 4K resolution over HDMI for stunning visuals on any display size, from 32-inch panels to 75-inch video walls."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-wifi","title":"Dual Connectivity","description":"Wi-Fi and Ethernet built in. Choose the connection that suits your environment, or use both for redundancy."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-hard-drive","title":"Local Storage","description":"On-device storage caches your full content library for instant startup and uninterrupted offline playback."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-shield-halved","title":"Secure Boot","description":"Hardware-level security with encrypted storage prevents tampering and ensures only verified software runs."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-rotate","title":"Over-the-Air Updates","description":"Firmware updates deploy remotely and automatically. Your devices stay current without site visits or manual intervention."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-temperature-low","title":"Silent & Fanless","description":"Passive cooling means zero noise. Ideal for quiet spaces like hotel lobbies, meeting rooms, and restaurants."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-display","title":"4K Output","description":"Crisp 3840\u00d72160 resolution over HDMI 2.0 for stunning visuals on any display size, from 32-inch panels to 75-inch video walls."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-wifi","title":"Dual Connectivity","description":"802.11ac Wi-Fi and Gigabit Ethernet built in. Choose the connection that suits your environment, or use both for automatic failover."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-hard-drive","title":"On-Device Storage","description":"Solid-state storage caches your full content library locally for instant startup and uninterrupted offline playback \u2014 no external drives needed."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-shield-halved","title":"Secure by Design","description":"Player devices are secured out of the box. Content and configuration data are protected on-device, and all communication with the cloud is secured."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-rotate","title":"Over-the-Air Updates","description":"Firmware updates deploy remotely and automatically with zero downtime. Your devices stay current without site visits or manual intervention."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-temperature-low","title":"Silent & Fanless","description":"Passive aluminium cooling means zero noise and no moving parts. Rated for continuous 24/7 operation in ambient temperatures up to 40\u00b0C."} /-->
<!-- /wp:oribi/feature-section -->
<!-- wp:oribi/feature-section {"variant":"normal","label":"Outdoor Hardware","heading":"Built for the Elements","lead":"For outdoor markets, forecourts, and external signage \u2014 weather-resistant display options that perform rain or shine.","columns":3} -->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-cloud-sun-rain","title":"IP-Rated Enclosures","description":"Weather-resistant housings protect player hardware from rain, dust, and temperature extremes. Rated for outdoor deployment year-round."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-sun","title":"High-Brightness Displays","description":"Commercial outdoor panels with 2,500+ nit brightness ensure content remains vivid and readable in direct sunlight."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-signal","title":"Cellular Connectivity","description":"Optional 4G/5G module for locations without Wi-Fi or wired internet. Combined with offline playback for total deployment flexibility."} /-->
<!-- /wp:oribi/feature-section -->
<!-- wp:oribi/intro-section {"variant":"normal","label":"Bundles Available","heading":"Player + Display Packages","description":"Don\u0027t have screens yet? We offer turnkey bundles pairing our player device with a commercial-grade display rated for 24/7 operation — brighter, tougher, and longer-lasting than consumer TVs. Available from 32\" to 75\". Contact us for volume pricing and custom configurations.","visual":""} /-->
<!-- wp:oribi/value-section {"variant":"alt","label":"Warranty & Support","heading":"Protected Long After Setup","lead":"Every device ships with comprehensive coverage so you can deploy with confidence.","columns":3} -->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-file-shield","title":"Hardware Warranty","description":"Every player includes a standard manufacturer warranty covering defects and hardware failures. Extended warranty options are available for enterprise deployments."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-arrows-rotate","title":"Advance Replacement","description":"If a device fails, we ship a replacement immediately \u2014 before you return the faulty unit. Minimise downtime with our swap-first approach."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-headset","title":"Remote Diagnostics","description":"Our support team can diagnose and troubleshoot most issues remotely. Firmware updates, configuration changes, and health checks \u2014 all handled without a site visit."} /-->
<!-- /wp:oribi/value-section -->
<!-- wp:oribi/cta-banner {"heading":"Not Sure What You Need?","text":"Tell us about your space and we'll recommend the right player, display, and mounting solution for your environment.","btnText":"Request a Quote","btnUrl":"/contact"} /-->

View File

@@ -21,11 +21,15 @@
<!-- wp:oribi/faq-item {"question":"Do I need to buy new screens?","answer":"No. Our players work with any display that has an HDMI port — consumer TVs, commercial panels, or monitors you already own. If you do need screens, we offer bundled player-and-display packages built for commercial use."} /-->
<!-- wp:oribi/faq-item {"question":"How do live data integrations work?","answer":"Every plan includes DataSets, RSS feeds, social widgets, and embedded HTML — data updates appear on screen in real time. Pro adds the Dashboard Connector for secure third-party service connections, custom API integrations for bespoke data sources, and the SSP Connector for ad monetisation."} /-->
<!-- wp:oribi/faq-item {"question":"What kind of internet connection do I need?","answer":"A standard business broadband connection is more than enough. Our players sync content incrementally and cache everything locally, so bandwidth usage is minimal. For locations with unreliable connectivity, offline playback ensures your displays never go dark."} /-->
<!-- wp:oribi/faq-item {"question":"Can I use touchscreens for interactive kiosks?","answer":"Yes. Our platform supports interactive touchscreen actions including wayfinding directories, self-check-in flows, product lookup, and multi-level navigation menus. Pair a compatible touchscreen display with our player device, and the CMS handles the rest \u2014 no custom development needed. Interactive layouts are available on both Essentials and Pro plans."} /-->
<!-- wp:oribi/faq-item {"question":"Does the platform support multiple languages?","answer":"Yes. You can create and schedule content in any language, and use day-parting or location-based scheduling to show the right language at the right time. The CMS interface itself is in English, but all screen-facing content supports full Unicode character sets including CJK, Arabic, and Cyrillic scripts."} /-->
<!-- /wp:oribi/faq-section -->
<!-- wp:oribi/faq-section {"label":"Support \u0026 Security","heading":"Keeping Your Network Secure and Supported","lead":"How we protect your content, keep your screens online, and support you when you need us."} -->
<!-- wp:oribi/faq-item {"question":"What happens if the internet goes down?","answer":"Your displays carry on. Every player caches content locally and keeps playing even without a connection. When the internet returns, new content syncs automatically. Your screens will never go dark because of a network blip."} /-->
<!-- wp:oribi/faq-item {"question":"How secure is the platform?","answer":"Security runs through every layer: end-to-end encryption for all communications, secure boot and encrypted storage on player devices, role-based access control in the CMS, and SOC 2-aligned cloud infrastructure. Your content and your network stay protected."} /-->
<!-- wp:oribi/faq-item {"question":"How secure is the platform?","answer":"Security is built into every layer of the platform. Two-factor authentication, role-based access control, and audit trails keep your CMS locked down. Pro adds SSO via SAML or CAS for enterprise identity management. Your content and your network stay protected."} /-->
<!-- wp:oribi/faq-item {"question":"How do you handle data privacy?","answer":"We take data privacy seriously. All data is processed and stored securely. We can provide data processing agreements (DPAs) on request, and we\u0027re happy to discuss your specific data handling requirements. Contact us for full details on our privacy practices."} /-->
<!-- wp:oribi/faq-item {"question":"What warranty comes with the player devices?","answer":"Every player device ships with a standard manufacturer warranty covering hardware defects and failures. Extended warranty options are available for enterprise deployments. If a device fails under warranty, we offer advance replacement \u2014 we ship the new unit before you return the faulty one, so your screens stay live."} /-->
<!-- wp:oribi/faq-item {"question":"What support is available?","answer":"Essentials customers get email support with next-business-day response. Pro customers get priority support, a dedicated account manager, phone access, and guaranteed SLA response times."} /-->
<!-- wp:oribi/faq-item {"question":"Can I create my own content or do you handle it?","answer":"Both. The CMS is designed for self-service content creation with drag-and-drop simplicity. If you'd prefer polished visuals, our in-house creative team offers professional photography, video production, and graphic design services."} /-->
<!-- /wp:oribi/faq-section -->

View File

@@ -21,12 +21,26 @@
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-wifi","title":"Offline Playback","description":"Content is cached on the player device. If your connection drops, your displays keep running seamlessly until it returns."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-users","title":"Unlimited Users","description":"Invite your entire team at no extra cost. No per-seat charges, no access restrictions — on any plan."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-chart-pie","title":"Playback Analytics","description":"Track what\u0027s playing, where, and when. Proof of Play reporting, screen health monitoring, and content logs give you full visibility — with retention depth that scales with your plan."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-shield-halved","title":"Enterprise Security","description":"End-to-end encryption, two-factor authentication, secure boot hardware, and predefined user roles on every plan. Pro adds SSO via SAML or CAS, custom role definitions, and extended audit trails."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-shield-halved","title":"Enterprise Security","description":"Your content and network are protected at every layer. Two-factor authentication and role-based access control come standard on every plan. Pro adds SSO via SAML or CAS, custom role definitions, and extended audit trails."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-tv","title":"Video Walls","description":"Span content across multiple screens in any configuration. Perfect for lobbies, operations centres, and high-impact retail displays. Available on Pro."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-hand-pointer","title":"Interactive & Kiosk Mode","description":"Build touchscreen experiences for wayfinding, self-check-in, product lookup, and directory navigation. Guide visitors through interactive, on-screen journeys."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-table-cells-large","title":"Multi-Zone Layouts","description":"Split your screen into independent zones — main content, ticker, clock, weather, and more — all running simultaneously on a single display."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-triangle-exclamation","title":"Emergency Alerts","description":"Override all screens instantly with emergency messages. Push safety alerts, evacuation notices, or critical announcements network-wide in seconds."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-chart-bar","title":"Audience Reporting","description":"Measure the real-world impact of your displays. Track viewer impressions, dwell time, and engagement patterns with built-in audience analytics. Available on Pro."} /-->
<!-- /wp:oribi/feature-section -->
<!-- wp:oribi/value-section {"variant":"normal","label":"Why Choose Us","heading":"Beyond the Software","lead":"Great signage takes more than a CMS. Here\u0027s what you get when you work with OTS Signs.","columns":3} -->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-camera","title":"In-House Creative","description":"Professional photography, video production, and graphic design — so every screen looks polished and on-brand from day one."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-rocket","title":"Instant Publishing","description":"Upload your content and push it live across your entire network in seconds. No queues, no waiting, no complex approval chains."} /-->
<!-- wp:oribi/feature-section {"variant":"normal","label":"Integrations","heading":"Connects to Your Existing Tools","lead":"Bring your data, content, and workflows to screen without custom development.","columns":3} -->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fab fa-microsoft","title":"Microsoft Teams","description":"Display meeting room availability, company announcements, and team calendars directly on office screens with native Teams integration."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-palette","title":"Canva Integration","description":"Design content in Canva and publish directly to your signage network. Included on both Essentials and Pro plans — no export-and-upload workflow needed."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-cash-register","title":"POS & Menu Sync","description":"Connect your point-of-sale system to digital menu boards. Prices, items, and availability update on screen automatically as you update your POS."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-plug","title":"Dashboard Connector","description":"Securely pipe data from web dashboards, BI tools, and internal portals to any display. Ideal for KPI walls, operations centres, and trading floors. Pro only."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-code","title":"REST API","description":"Full API access for developers. Integrate custom data sources, automate content workflows, or build your own front-end on top of the OTS Signs platform."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-rectangle-ad","title":"SSP & Ad Monetisation","description":"Turn your screens into revenue streams. Connect supply-side platforms, set plays-per-hour caps, and run ad campaigns alongside your own content. Pro only."} /-->
<!-- /wp:oribi/feature-section -->
<!-- wp:oribi/value-section {"variant":"alt","label":"Why Choose Us","heading":"Beyond the Software","lead":"Great signage takes more than a CMS. Here\u0027s what you get when you work with OTS Signs.","columns":3} -->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-camera","title":"In-House Creative Studio","description":"Professional photography, videography, motion graphics, and graphic design — produced by our team so every screen looks polished, on-brand, and impossible to ignore. Available as included hours on Pro, or quoted separately."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-rocket","title":"Instant Publishing","description":"Upload content and push it live across your entire network in seconds. No queues, no waiting, no complex approval chains."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-headset","title":"Support That\u0027s There","description":"From initial setup to ongoing optimisation, our team is available when you need us — not hidden behind a ticket queue."} /-->
<!-- /wp:oribi/value-section -->

View File

@@ -8,8 +8,6 @@
return <<<'ORIBI_SYNC_CONTENT'
<!-- wp:oribi/hero-animated {"label":"● Digital Signage Solutions","title":"Turn any screen into a dynamic communication tool.","highlightWord":"dynamic","description":"Digital signage is the modern way to connect with your audience. From eye-catching retail displays to dynamic informational screens, we craft tailored solutions that capture attention and deliver your message.","secondaryBtnText":"Request Demo","secondaryBtnUrl":"/demo","stat1Value":"4K","stat1Label":"Resolution Supported","stat2Value":"500+","stat2Label":"Screens Supported","stat3Value":"99.9%","stat3Label":"Uptime"} /-->
<!-- wp:oribi/use-cases {"label":"● Use Cases","heading":"Built for Every Scenario","lead":"From menus to meeting-room dashboards, digital signage adapts to your environment.","case1Title":"Menu Boards","case1Desc":"Showcase food, drinks, and daily specials with dynamic, always-current displays.","case2Title":"Event Displays","case2Desc":"Promote schedules, speakers, and live countdowns across lobbies and venues.","case3Title":"Office Dashboards","case3Desc":"Surface KPIs, occupancy data, and team alerts on screens throughout your workspace.","case4Title":"Wayfinding","case4Desc":"Guide visitors through complex buildings with interactive maps and directional signs."} /-->
<!-- wp:oribi/platform-section {"label":"The Complete Package","heading":"Everything You Need for Engaging Digital Signage","lead":"High-quality visuals, real-time data, and reliable playback — all managed from one powerful platform."} -->
<!-- wp:oribi/platform-row {"heading":"Professional Content Creation","description":"Our in-house photography and video production services showcase your products, services, and environment with polished, engaging visuals. From digital menu boards to branded promotions, we create content that captures attention.","btnText":"See Features","btnUrl":"/features","cameraAnim":true} /-->
@@ -18,7 +16,7 @@ return <<<'ORIBI_SYNC_CONTENT'
<!-- wp:oribi/platform-row {"heading":"Reliable on Any Screen","description":"Our intelligent player devices work on any screen with HDMI, and keep your message running even when the internet goes down. Enterprise-grade hardware designed for uninterrupted, always-on signage.","btnText":"View Devices","btnUrl":"/devices","deviceAnim":true} /-->
<!-- /wp:oribi/platform-section -->
<!-- wp:oribi/feature-section {"variant":"alt","label":"Who It's For","heading":"Solutions for Every Industry","lead":"Modern businesses need real-time communication. Digital signage helps you connect, inform, and engage.","columns":4} -->
<!-- wp:oribi/feature-section {"variant":"alt","label":"Who It\u0027s For","heading":"Solutions for Every Industry","lead":"Modern businesses need real-time communication. Digital signage helps you connect, inform, and engage.","columns":3} -->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-hotel","title":"Hospitality","description":"Showcase menus, promotions, and special events while guiding guests through lobbies, restaurants, and bars.","url":"/solutions"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-store","title":"Retail","description":"Drive product upsells, announce flash-sales, and offer in-store navigation with fresh, eye-catching displays.","url":"/solutions"} /-->
@@ -26,7 +24,26 @@ return <<<'ORIBI_SYNC_CONTENT'
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-building","title":"Corporate","description":"Enhance meeting experiences with Teams integration. Communicate schedules, company news, and employee alerts.","url":"/solutions"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-graduation-cap","title":"Education","description":"Broadcast class schedules, announcements, and interactive learning content in campuses and auditoriums.","url":"/solutions"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-heart-pulse","title":"Healthcare","description":"Queue management, patient wayfinding, and public health messaging across clinics, hospitals, and waiting areas.","url":"/solutions"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-dumbbell","title":"Fitness & Leisure","description":"Class schedules, motivational content, and live performance metrics on screens throughout gyms and leisure centres.","url":"/solutions"} /-->
<!-- /wp:oribi/feature-section -->
<!-- wp:oribi/feature-section {"variant":"alt","label":"Integrations","heading":"Connects to the Tools You Already Use","lead":"Bring your existing systems, content tools, and data sources directly to your screens — no custom development required.","columns":3} -->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fab fa-microsoft","title":"Microsoft Teams","description":"Show meeting room availability, company announcements, and team calendars on office displays with native Teams integration.","url":"/solutions"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-palette","title":"Canva","description":"Design stunning signage content in Canva and publish it directly to your screens — included on every plan.","url":"/features"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-cash-register","title":"POS Systems","description":"Sync your menu boards with your point-of-sale system so prices, items, and availability update automatically.","url":"/solutions"} /-->
<!-- /wp:oribi/feature-section -->
<!-- wp:oribi/stat-section {"variant":"normal","label":"Trusted Platform","heading":"Built for Businesses That Can\u0027t Afford Downtime","lead":"From independent cafés to multi-site enterprises, our platform runs where reliability matters most.","columns":4} -->
<!-- wp:oribi/stat-card {"value":"99.9%","label":"Platform Uptime","description":"Reliable cloud infrastructure with built-in redundancy to keep your screens running."} /-->
<!-- wp:oribi/stat-card {"value":"24/7","label":"Always-On Hardware","description":"Commercial-grade players rated for continuous operation with offline playback built in."} /-->
<!-- wp:oribi/stat-card {"value":"4K","label":"Ultra-HD Output","description":"Crisp, vibrant visuals on any HDMI display from 32-inch panels to 75-inch video walls."} /-->
<!-- wp:oribi/stat-card {"value":"0","label":"Per-User Fees","description":"Unlimited team access on every plan. No seat charges, no gatekeeping."} /-->
<!-- /wp:oribi/stat-section -->
<!-- wp:oribi/cta-banner {"heading":"Ready to Transform Your Screens?","text":"See our plans, explore player devices, or request a live demo. No pressure, just a conversation about how we can help.","btnText":"Get Started","btnUrl":"/contact"} /-->
ORIBI_SYNC_CONTENT;

View File

@@ -27,4 +27,16 @@
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-lightbulb","title":"Content Strategy Tips","description":"Practical advice on content rotation, day-parting schedules, and messaging that keeps your audience engaged.","linkText":"Read Tips","linkUrl":"/contact"} /-->
<!-- /wp:oribi/link-section -->
<!-- wp:oribi/link-section {"variant":"alt","label":"Creative Services","heading":"Let Our Team Create Your Content","lead":"Don\u0027t have a design team? Our in-house creative studio produces professional signage content from scratch.","columns":3} -->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-camera","title":"Photography & Video","description":"Professional product photography, venue videography, and promotional video production tailored to your brand and screens.","linkText":"Get a Quote","linkUrl":"/contact"} /-->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-wand-magic-sparkles","title":"Motion Graphics","description":"Animated content, transitions, and dynamic layouts that bring your signage to life and hold viewer attention.","linkText":"See Examples","linkUrl":"/contact"} /-->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-pen-ruler","title":"Graphic Design","description":"Brand-aligned layouts, menu designs, promotional graphics, and campaign assets optimised for digital displays.","linkText":"Start a Project","linkUrl":"/contact"} /-->
<!-- /wp:oribi/link-section -->
<!-- wp:oribi/link-section {"variant":"normal","label":"Partners","heading":"White-Label & Reseller Programme","lead":"Integrate our platform into your own offering, or resell OTS Signs under your brand.","columns":3} -->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-tags","title":"White-Label Platform","description":"Rebrand the entire CMS with your logo, domain, and colour scheme. Your clients see your brand \u2014 we power the infrastructure behind it.","linkText":"Learn More","linkUrl":"/contact"} /-->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-handshake","title":"Reseller Programme","description":"Sell OTS Signs alongside your AV installations, IT services, or consultancy. Volume pricing, co-marketing support, and dedicated partner account management.","linkText":"Become a Partner","linkUrl":"/contact"} /-->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-code","title":"Platform Integration","description":"Embed our signage capabilities into your own SaaS product via our REST API. Build custom workflows, automate content, and extend your platform.","linkText":"View API Docs","linkUrl":"/contact"} /-->
<!-- /wp:oribi/link-section -->
<!-- wp:oribi/cta-banner {"heading":"Need a Hand?","text":"Our team is happy to walk you through any part of the platform, help with content, or answer questions one-on-one.","btnText":"Contact Us","btnUrl":"/contact"} /-->

View File

@@ -16,13 +16,16 @@
<!-- wp:oribi/platform-row {"heading":"Education","description":"Timetable displays, campus wayfinding, emergency alerts, and event boards — all managed centrally. Keep students, faculty, and visitors informed across multiple buildings without the overhead of maintaining individual screens.","btnText":"Contact Us","btnUrl":"/contact","reversed":true} /-->
<!-- wp:oribi/platform-row {"heading":"Outdoor Marketplace","description":"From farmers' markets to seasonal fairs, digital signage adds a professional edge without losing the character of your venue. Weather-resistant display options and built-in offline playback ensure your screens perform reliably, rain or shine.","btnText":"Get a Quote","btnUrl":"/contact"} /-->
<!-- wp:oribi/platform-row {"heading":"Live Data Displays","description":"Bring your web dashboards, real-time KPIs, and operational data to large-format screens. Ideal for operations centres, trading floors, and management war rooms where critical information needs to be visible to the entire team at a glance.","btnText":"See Features","btnUrl":"/features","reversed":true} /-->
<!-- wp:oribi/platform-row {"heading":"Healthcare","description":"Queue management displays, patient wayfinding, waiting room information screens, and public health messaging. Centrally managed across clinics, hospitals, and multi-site health networks \u2014 with platform security and role-based access control built in.","btnText":"Learn More","btnUrl":"/features"} /-->
<!-- wp:oribi/platform-row {"heading":"Transport & Transit","description":"Real-time departure boards, route information, service alerts, and passenger wayfinding across stations, terminals, and transport hubs. Offline playback ensures displays stay live even when connectivity is intermittent.","btnText":"See Devices","btnUrl":"/devices","reversed":true} /-->
<!-- wp:oribi/platform-row {"heading":"Fitness & Leisure","description":"Class timetables, motivational content, live performance metrics, and promotional offers on screens throughout gyms, leisure centres, and sports facilities. Schedule content by time of day to match peak hours and class rotations.","btnText":"Get Started","btnUrl":"/contact"} /-->
<!-- /wp:oribi/platform-section -->
<!-- wp:oribi/stat-section {"variant":"alt","label":"By the Numbers","heading":"The Results Speak for Themselves","lead":"Businesses that invest in digital signage see measurable returns across every metric that matters.","columns":4} -->
<!-- wp:oribi/stat-card {"value":"400%","label":"More Views","description":"Digital displays capture 400% more attention than traditional static signage."} /-->
<!-- wp:oribi/stat-card {"value":"30%","label":"Revenue Uplift","description":"Retail locations with digital signage report up to 30% higher in-store sales."} /-->
<!-- wp:oribi/stat-card {"value":"80%","label":"Content Recall","description":"Eight out of ten customers remember what they see on a digital display."} /-->
<!-- wp:oribi/stat-card {"value":"50%","label":"Shorter Perceived Waits","description":"Engaging displays cut perceived wait times in half for customers in queues."} /-->
<!-- wp:oribi/stat-card {"value":"400%","label":"More Views","description":"Digital displays capture 400% more attention than traditional static signage. (Intel / Samsung retail studies)"} /-->
<!-- wp:oribi/stat-card {"value":"30%","label":"Revenue Uplift","description":"Retail locations with digital signage report up to 30% higher in-store sales. (Digital Signage Today)"} /-->
<!-- wp:oribi/stat-card {"value":"80%","label":"Content Recall","description":"Eight out of ten customers remember what they see on a digital display. (Nielsen consumer research)"} /-->
<!-- wp:oribi/stat-card {"value":"50%","label":"Shorter Perceived Waits","description":"Engaging displays cut perceived wait times in half for customers in queues. (Journal of Consumer Research)"} /-->
<!-- /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"} /-->

View File

@@ -3874,404 +3874,3 @@ p:last-child { margin-bottom: 0; }
transform: rotate(-12deg) translateY(0) !important;
}
}
/* ═══════════════════════════════════════════════════════════════════════
USE CASES SHOWCASE (uc-*)
Four animated circles in a rounded-border track beneath the hero.
═══════════════════════════════════════════════════════════════════════ */
.uc-track {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 1.5rem;
border: 1px solid var(--color-border);
border-radius: var(--radius-xl, 1.25rem);
padding: 2.5rem 3rem;
background: var(--color-bg-alt);
}
.uc-item {
display: flex;
flex-direction: column;
align-items: center;
flex: 1;
}
.uc-circle {
width: 158px;
height: 158px;
border-radius: 50%;
border: 1.5px solid var(--color-border);
overflow: hidden;
position: relative;
background: var(--color-bg);
flex-shrink: 0;
}
.uc-item-body {
margin-top: 1.1rem;
text-align: center;
}
.uc-item-title {
font-size: .875rem;
font-weight: 600;
color: var(--color-heading);
}
.uc-item-desc {
font-size: .75rem;
color: var(--color-muted);
margin-top: .3rem;
line-height: 1.45;
max-width: 160px;
}
/* ── Shared inner wrapper ─────────────────────────────────────────────── */
.uc-inner {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 18px;
box-sizing: border-box;
gap: 6px;
}
/* ══════════════════════════════════
1 — MENU BOARD
══════════════════════════════════ */
.uc-inner--menu { gap: 0; padding: 14px 18px; }
.uc-menu-header {
width: 100%;
height: 16px;
border-radius: 3px;
background: var(--color-primary);
margin-bottom: 10px;
flex-shrink: 0;
}
.uc-menu-row {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
padding: 5px 4px;
border-radius: 3px;
gap: 6px;
flex-shrink: 0;
}
.uc-menu-row + .uc-menu-row { margin-top: 4px; }
.uc-menu-divider {
width: 100%;
height: 1px;
background: var(--color-border);
margin: 6px 0;
flex-shrink: 0;
}
.uc-menu-name {
height: 7px;
flex: 1;
border-radius: 3px;
background: var(--color-border);
}
.uc-menu-name--sm { max-width: 55%; }
.uc-menu-price {
height: 7px;
width: 22px;
border-radius: 3px;
background: var(--color-border);
flex-shrink: 0;
}
.uc-menu-row--highlight {
background: color-mix(in srgb, var(--color-primary) 15%, transparent);
animation: uc-menu-highlight 3s ease-in-out infinite;
}
.uc-menu-row--highlight .uc-menu-name,
.uc-menu-row--highlight .uc-menu-price {
background: var(--color-primary);
animation: uc-menu-price-update 3s ease-in-out infinite;
}
@keyframes uc-menu-highlight {
0%, 100% { background: color-mix(in srgb, var(--color-primary) 15%, transparent); }
45%, 55% { background: color-mix(in srgb, var(--color-accent) 25%, transparent); }
}
@keyframes uc-menu-price-update {
0%, 38% { opacity: 1; }
42% { opacity: 0; }
48% { opacity: 1; }
52% { opacity: 0; }
58%, 100%{ opacity: 1; }
}
/* ══════════════════════════════════
2 — EVENT DISPLAY
══════════════════════════════════ */
.uc-inner--event { gap: 0; padding: 16px 18px; }
.uc-event-header {
width: 100%;
height: 13px;
border-radius: 3px;
background: var(--color-border);
margin-bottom: 10px;
flex-shrink: 0;
position: relative;
overflow: hidden;
}
.uc-event-header::after {
content: '';
position: absolute;
top: 0; left: 0;
height: 100%;
width: 45%;
background: var(--color-primary);
border-radius: 3px;
animation: uc-event-hdr-move 4s ease-in-out infinite;
}
.uc-event-row {
width: 100%;
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0;
}
.uc-event-row + .uc-event-row { margin-top: 7px; }
.uc-event-time {
height: 7px;
width: 22px;
border-radius: 2px;
background: var(--color-border);
flex-shrink: 0;
}
.uc-event-bar {
height: 14px;
flex: 1;
border-radius: 3px;
background: var(--color-border);
position: relative;
overflow: hidden;
}
.uc-event-bar::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.3) 50%, transparent 100%);
transform: translateX(-150%);
}
.uc-event-bar--active { background: var(--color-primary); }
.uc-event-bar--accent { background: color-mix(in srgb, var(--color-accent) 55%, var(--color-border)); }
.uc-event-bar--active::after { animation: uc-event-shimmer 2.2s linear infinite; }
.uc-event-bar--accent::after { animation: uc-event-shimmer 2.2s linear infinite 1.1s; }
.uc-event-cursor {
position: absolute;
top: 32px;
left: 26px;
width: 1.5px;
height: calc(100% - 44px);
background: var(--color-accent);
opacity: .75;
pointer-events: none;
animation: uc-event-cursor-move 4s ease-in-out infinite;
}
@keyframes uc-event-hdr-move {
0%, 20% { transform: translateX(0%); }
55%, 80% { transform: translateX(125%); }
100% { transform: translateX(0%); }
}
@keyframes uc-event-shimmer {
0% { transform: translateX(-150%); }
100% { transform: translateX(250%); }
}
@keyframes uc-event-cursor-move {
0%, 10% { left: 26px; opacity: .5; }
50% { left: calc(100% - 22px); opacity: .9; }
90%, 100%{ left: 26px; opacity: .5; }
}
/* ══════════════════════════════════
3 — OFFICE DASHBOARD
══════════════════════════════════ */
.uc-inner--dashboard {
justify-content: flex-end;
padding: 18px 16px 12px;
}
.uc-db-bars {
display: flex;
align-items: stretch;
gap: 9px;
width: 100%;
height: 80px;
}
.uc-db-bar {
flex: 1;
border-radius: 4px 4px 0 0;
transform-origin: bottom;
transform: scaleY(.55);
}
.uc-db-bar--1, .uc-db-bar--3 { background: var(--color-primary); }
.uc-db-bar--2, .uc-db-bar--4 { background: color-mix(in srgb, var(--color-primary) 45%, var(--color-border)); }
.uc-db-bar--1 { animation: uc-db-scale-1 3s ease-in-out infinite; }
.uc-db-bar--2 { animation: uc-db-scale-2 3s ease-in-out infinite .4s; }
.uc-db-bar--3 { animation: uc-db-scale-3 3s ease-in-out infinite .8s; }
.uc-db-bar--4 { animation: uc-db-scale-4 3s ease-in-out infinite 1.2s; }
.uc-db-baseline {
width: 100%;
height: 1px;
background: var(--color-border);
flex-shrink: 0;
margin-bottom: 6px;
}
.uc-db-labels {
display: flex;
gap: 9px;
width: 100%;
flex-shrink: 0;
}
.uc-db-lbl {
flex: 1;
height: 5px;
border-radius: 2px;
background: var(--color-border);
opacity: .6;
}
@keyframes uc-db-scale-1 {
0%, 100% { transform: scaleY(.55); }
40% { transform: scaleY(.82); }
70% { transform: scaleY(.42); }
}
@keyframes uc-db-scale-2 {
0%, 100% { transform: scaleY(.70); }
40% { transform: scaleY(.38); }
70% { transform: scaleY(.78); }
}
@keyframes uc-db-scale-3 {
0%, 100% { transform: scaleY(.40); }
40% { transform: scaleY(.68); }
70% { transform: scaleY(.58); }
}
@keyframes uc-db-scale-4 {
0%, 100% { transform: scaleY(.62); }
40% { transform: scaleY(.50); }
70% { transform: scaleY(.88); }
}
/* ══════════════════════════════════
4 — WAYFINDING
══════════════════════════════════ */
.uc-inner--wayfinding { padding: 0; }
/* Corridor lines */
.uc-wf-corridor {
position: absolute;
background: var(--color-border);
}
.uc-wf-corridor--h {
height: 8px;
width: 70%;
top: 50%;
left: 15%;
transform: translateY(-50%);
border-radius: 2px;
}
.uc-wf-corridor--v {
width: 8px;
height: 54%;
left: 50%;
top: 23%;
transform: translateX(-50%);
border-radius: 2px;
}
/* Rooms */
.uc-wf-room {
position: absolute;
border: 1.5px solid var(--color-border);
border-radius: 3px;
background: var(--color-bg-alt);
}
.uc-wf-room--1 { width: 32px; height: 28px; top: 17%; left: 17%; }
.uc-wf-room--2 { width: 28px; height: 26px; top: 17%; right: 17%; }
.uc-wf-room--3 { width: 30px; height: 28px; bottom: 17%; left: 50%; transform: translateX(-50%); }
/* Location dot */
.uc-wf-dot {
position: absolute;
width: 12px;
height: 12px;
border-radius: 50%;
background: var(--color-primary);
top: 50%;
left: 36%;
transform: translate(-50%, -50%);
}
.uc-wf-dot::after {
content: '';
position: absolute;
inset: -5px;
border-radius: 50%;
border: 1.5px solid var(--color-primary);
animation: uc-wf-pulse 2s ease-out infinite;
}
/* Direction arrow */
.uc-wf-arrow {
position: absolute;
top: 50%;
left: 36%;
transform: translate(-50%, calc(-50% - 18px));
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 11px solid var(--color-accent);
animation: uc-wf-arrow-bob 1.8s ease-in-out infinite;
}
@keyframes uc-wf-pulse {
0% { transform: scale(1); opacity: .7; }
70% { transform: scale(2.4); opacity: 0; }
100% { transform: scale(1); opacity: 0; }
}
@keyframes uc-wf-arrow-bob {
0%, 100% { transform: translate(-50%, calc(-50% - 18px)); }
50% { transform: translate(-50%, calc(-50% - 24px)); }
}
/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 900px) {
.uc-track { flex-wrap: wrap; justify-content: center; gap: 2rem; padding: 2.5rem 2rem; }
.uc-item { width: calc(50% - 1rem); flex: none; }
}
@media (max-width: 500px) {
.uc-track { padding: 2rem 1.5rem; }
.uc-item { width: 100%; }
.uc-item-desc { max-width: none; }
}
/* ── Reduced-motion overrides ────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
.uc-menu-row--highlight,
.uc-menu-row--highlight .uc-menu-name,
.uc-menu-row--highlight .uc-menu-price,
.uc-event-header::after,
.uc-event-bar--active::after,
.uc-event-bar--accent::after,
.uc-event-cursor,
.uc-db-bar--1, .uc-db-bar--2, .uc-db-bar--3, .uc-db-bar--4,
.uc-wf-dot::after,
.uc-wf-arrow { animation: none !important; }
/* Static bar heights when animation is off */
.uc-db-bar--1 { transform: scaleY(.55) !important; }
.uc-db-bar--2 { transform: scaleY(.70) !important; }
.uc-db-bar--3 { transform: scaleY(.40) !important; }
.uc-db-bar--4 { transform: scaleY(.62) !important; }
}

View File

@@ -1763,6 +1763,7 @@ reg('oribi/hero-animated', {
save: function () { return null; }
});
/* ANIMATED PAGE HERO ──────────────────────────────────────────────────── */
reg('oribi/page-hero-animated', {
title: 'Animated Page Hero',
icon: 'flag',
@@ -1845,81 +1846,4 @@ reg('oribi/site-footer', {
save: function () { return null; }
});
/* USE CASES SHOWCASE ──────────────────────────────────────────────────── */
reg('oribi/use-cases', {
title: 'Use Cases Showcase',
icon: 'grid-view',
category: 'oribi',
supports: { html: false },
attributes: {
label: { type: 'string', default: '\u25cf Use Cases' },
heading: { type: 'string', default: 'Built for Every Scenario' },
lead: { type: 'string', default: 'From menus to meeting-room dashboards, digital signage adapts to your environment.' },
case1Title: { type: 'string', default: 'Menu Boards' },
case1Desc: { type: 'string', default: 'Showcase food, drinks, and daily specials with dynamic, always-current displays.' },
case2Title: { type: 'string', default: 'Event Displays' },
case2Desc: { type: 'string', default: 'Promote schedules, speakers, and live countdowns across lobbies and venues.' },
case3Title: { type: 'string', default: 'Office Dashboards' },
case3Desc: { type: 'string', default: 'Surface KPIs, occupancy data, and team alerts on screens throughout your workspace.' },
case4Title: { type: 'string', default: 'Wayfinding' },
case4Desc: { type: 'string', default: 'Guide visitors through complex buildings with interactive maps and directional signs.' },
},
edit: function (props) {
var a = props.attributes, s = props.setAttributes;
return el(Frag, null,
el(IC, null,
el(PB, { title: 'Section Header' },
el(TC, { label: 'Label', value: a.label, onChange: function(v){s({label:v});} }),
el(TC, { label: 'Heading', value: a.heading, onChange: function(v){s({heading:v});} }),
el(TA, { label: 'Lead', value: a.lead, onChange: function(v){s({lead:v});} })
),
el(PB, { title: 'Use Case 1 Menu Boards', initialOpen: false },
el(TC, { label: 'Title', value: a.case1Title, onChange: function(v){s({case1Title:v});} }),
el(TA, { label: 'Description', value: a.case1Desc, onChange: function(v){s({case1Desc:v});} })
),
el(PB, { title: 'Use Case 2 Events', initialOpen: false },
el(TC, { label: 'Title', value: a.case2Title, onChange: function(v){s({case2Title:v});} }),
el(TA, { label: 'Description', value: a.case2Desc, onChange: function(v){s({case2Desc:v});} })
),
el(PB, { title: 'Use Case 3 Dashboards', initialOpen: false },
el(TC, { label: 'Title', value: a.case3Title, onChange: function(v){s({case3Title:v});} }),
el(TA, { label: 'Description', value: a.case3Desc, onChange: function(v){s({case3Desc:v});} })
),
el(PB, { title: 'Use Case 4 Wayfinding', initialOpen: false },
el(TC, { label: 'Title', value: a.case4Title, onChange: function(v){s({case4Title:v});} }),
el(TA, { label: 'Description', value: a.case4Desc, onChange: function(v){s({case4Desc:v});} })
)
),
el('section', { className: 'section use-cases-section' },
el('div', { className: 'container' },
el('div', { className: 'section-header' },
a.label ? el('span', { className: 'section-label' }, a.label) : null,
a.heading ? el('h2', null, a.heading) : null,
a.lead ? el('p', { className: 'lead' }, a.lead) : null
),
el('div', { className: 'uc-track' },
['menu', 'event', 'dashboard', 'wayfinding'].map(function (mod, i) {
var n = i + 1;
var title = a['case' + n + 'Title'];
var desc = a['case' + n + 'Desc'];
return el('div', { key: mod, className: 'uc-item' },
el('div', { className: 'uc-circle uc-anim--' + mod,
style: { display:'flex', alignItems:'center', justifyContent:'center',
fontSize:'.7rem', color:'var(--color-muted)', textAlign:'center', padding:'8px' } },
mod
),
el('div', { className: 'uc-item-body' },
el('div', { className: 'uc-item-title' }, title),
desc ? el('p', { className: 'uc-item-desc' }, desc) : null
)
);
})
)
)
)
);
},
save: function () { return null; }
});
})(window.wp);

View File

@@ -656,25 +656,6 @@ add_action( 'init', function () {
'render_callback' => 'oribi_render_page_hero_animated',
] );
/* Use Cases Showcase - 4 animated circles beneath the homepage hero */
register_block_type( 'oribi/use-cases', [
'attributes' => [
'label' => [ 'type' => 'string', 'default' => '● Use Cases' ],
'heading' => [ 'type' => 'string', 'default' => 'Built for Every Scenario' ],
'lead' => [ 'type' => 'string', 'default' => 'From menus to meeting-room dashboards, digital signage adapts to your environment.' ],
'case1Title' => [ 'type' => 'string', 'default' => 'Menu Boards' ],
'case1Desc' => [ 'type' => 'string', 'default' => 'Showcase food, drinks, and daily specials with dynamic, always-current displays.' ],
'case2Title' => [ 'type' => 'string', 'default' => 'Event Displays' ],
'case2Desc' => [ 'type' => 'string', 'default' => 'Promote schedules, speakers, and live countdowns across lobbies and venues.' ],
'case3Title' => [ 'type' => 'string', 'default' => 'Office Dashboards' ],
'case3Desc' => [ 'type' => 'string', 'default' => 'Surface KPIs, occupancy data, and team alerts on screens throughout your workspace.' ],
'case4Title' => [ 'type' => 'string', 'default' => 'Wayfinding' ],
'case4Desc' => [ 'type' => 'string', 'default' => 'Guide visitors through complex buildings with interactive maps and directional signs.' ],
],
'supports' => $block_supports,
'render_callback' => 'oribi_render_use_cases',
] );
} );
/* ══════════════════════════════════════════════════════════════════════════════
@@ -1781,95 +1762,3 @@ function oribi_render_page_hero_animated( $a ) {
</section>
<?php return ob_get_clean();
}
/* ── Use Cases Showcase ────────────────────────────────────────────────── */
function oribi_uc_anim_inner( $mod ) {
switch ( $mod ) {
case 'menu':
return '
<div class="uc-inner uc-inner--menu" aria-hidden="true">
<div class="uc-menu-header"></div>
<div class="uc-menu-row"><span class="uc-menu-name"></span><span class="uc-menu-price"></span></div>
<div class="uc-menu-row uc-menu-row--highlight"><span class="uc-menu-name"></span><span class="uc-menu-price"></span></div>
<div class="uc-menu-row"><span class="uc-menu-name uc-menu-name--sm"></span><span class="uc-menu-price"></span></div>
<div class="uc-menu-row"><span class="uc-menu-name"></span><span class="uc-menu-price"></span></div>
<div class="uc-menu-divider"></div>
<div class="uc-menu-row"><span class="uc-menu-name uc-menu-name--sm"></span><span class="uc-menu-price"></span></div>
</div>';
case 'event':
return '
<div class="uc-inner uc-inner--event" aria-hidden="true">
<div class="uc-event-cursor"></div>
<div class="uc-event-header"></div>
<div class="uc-event-row"><div class="uc-event-time"></div><div class="uc-event-bar uc-event-bar--active"></div></div>
<div class="uc-event-row"><div class="uc-event-time"></div><div class="uc-event-bar"></div></div>
<div class="uc-event-row"><div class="uc-event-time"></div><div class="uc-event-bar uc-event-bar--accent"></div></div>
<div class="uc-event-row"><div class="uc-event-time"></div><div class="uc-event-bar"></div></div>
</div>';
case 'dashboard':
return '
<div class="uc-inner uc-inner--dashboard" aria-hidden="true">
<div class="uc-db-bars">
<div class="uc-db-bar uc-db-bar--1"></div>
<div class="uc-db-bar uc-db-bar--2"></div>
<div class="uc-db-bar uc-db-bar--3"></div>
<div class="uc-db-bar uc-db-bar--4"></div>
</div>
<div class="uc-db-baseline"></div>
<div class="uc-db-labels">
<div class="uc-db-lbl"></div>
<div class="uc-db-lbl"></div>
<div class="uc-db-lbl"></div>
<div class="uc-db-lbl"></div>
</div>
</div>';
case 'wayfinding':
return '
<div class="uc-inner uc-inner--wayfinding" aria-hidden="true">
<div class="uc-wf-corridor uc-wf-corridor--h"></div>
<div class="uc-wf-corridor uc-wf-corridor--v"></div>
<div class="uc-wf-room uc-wf-room--1"></div>
<div class="uc-wf-room uc-wf-room--2"></div>
<div class="uc-wf-room uc-wf-room--3"></div>
<div class="uc-wf-dot"></div>
<div class="uc-wf-arrow"></div>
</div>';
default:
return '';
}
}
function oribi_render_use_cases( $a ) {
$cases = [
[ 'title' => $a['case1Title'], 'desc' => $a['case1Desc'], 'mod' => 'menu' ],
[ 'title' => $a['case2Title'], 'desc' => $a['case2Desc'], 'mod' => 'event' ],
[ 'title' => $a['case3Title'], 'desc' => $a['case3Desc'], 'mod' => 'dashboard' ],
[ 'title' => $a['case4Title'], 'desc' => $a['case4Desc'], 'mod' => 'wayfinding' ],
];
ob_start(); ?>
<section class="section use-cases-section">
<div class="container">
<?php if ( $a['label'] || $a['heading'] || $a['lead'] ) : ?>
<div class="section-header">
<?php if ( $a['label'] ) : ?><span class="section-label"><?php echo esc_html( $a['label'] ); ?></span><?php endif; ?>
<?php if ( $a['heading'] ) : ?><h2><?php echo wp_kses_post( $a['heading'] ); ?></h2><?php endif; ?>
<?php if ( $a['lead'] ) : ?><p class="lead"><?php echo wp_kses_post( $a['lead'] ); ?></p><?php endif; ?>
</div>
<?php endif; ?>
<div class="uc-track">
<?php foreach ( $cases as $c ) : ?>
<div class="uc-item">
<div class="uc-circle uc-anim--<?php echo esc_attr( $c['mod'] ); ?>">
<?php echo oribi_uc_anim_inner( $c['mod'] ); ?>
</div>
<div class="uc-item-body">
<div class="uc-item-title"><?php echo esc_html( $c['title'] ); ?></div>
<?php if ( $c['desc'] ) : ?><p class="uc-item-desc"><?php echo esc_html( $c['desc'] ); ?></p><?php endif; ?>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</section>
<?php return ob_get_clean();
}