new pricing
This commit is contained in:
@@ -26,7 +26,7 @@ return <<<'ORIBI_SYNC_CONTENT'
|
||||
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-plug","title":"Bring Your Own Hardware","description":"Use your own compatible hardware at no extra cost. No setup fee on any plan."} /-->
|
||||
<!-- /wp:oribi/feature-section -->
|
||||
|
||||
<!-- wp:oribi/cta-banner {"variant":"alt","heading":"Need more than 20 screens? Let's talk custom pricing.","text":"We'll build a plan around your locations, workflows, and support needs.","btnText":"Contact Us","btnUrl":"/contact"} /-->
|
||||
<!-- wp:oribi/cta-inline {"heading":"Need more than 20 screens? Let's talk custom pricing.","text":"We'll build a plan around your locations, workflows, and support needs.","btnText":"Contact Us","btnUrl":"/contact"} /-->
|
||||
|
||||
<!-- wp:oribi/intro-section {"heading":"Want to Explore the Platform First?","description":"Request access to our live demo instance and take the full Command Center for a spin: create content, set up schedules, and see exactly how it works. No credit card, no obligation.","demoAnim":true} /-->
|
||||
|
||||
|
||||
@@ -4536,6 +4536,30 @@ p:last-child { margin-bottom: 0; }
|
||||
.cta-banner h2 { color: #fff; margin-bottom: 1rem; }
|
||||
.cta-banner p { color: rgba(255,255,255,.85); margin-bottom: 2rem; font-size: 1.1rem; }
|
||||
|
||||
/* ── CTA Inline ─────────────────────────────────────────────────────────── */
|
||||
.cta-inline {
|
||||
padding-block: 3rem;
|
||||
border-top: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
}
|
||||
.cta-inline__inner {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
gap: 1.5rem;
|
||||
}
|
||||
.cta-inline__heading {
|
||||
font-size: clamp(1.25rem, 2.5vw, 1.75rem);
|
||||
color: var(--color-heading);
|
||||
margin-bottom: 0.4rem;
|
||||
}
|
||||
.cta-inline__text {
|
||||
color: var(--color-text-muted);
|
||||
font-size: 1rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.devices-split-card {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
|
||||
@@ -591,6 +591,43 @@
|
||||
save: function () { return null; }
|
||||
});
|
||||
|
||||
/* 5b. CTA INLINE ──────────────────────────────────────────────────────── */
|
||||
reg('oribi/cta-inline', {
|
||||
title: 'Oribi CTA Inline',
|
||||
icon: 'minus',
|
||||
category: 'oribi',
|
||||
supports: { align: ['full'], html: false },
|
||||
attributes: {
|
||||
align: { type: 'string', default: 'full' },
|
||||
heading: { type: 'string', default: '' },
|
||||
text: { type: 'string', default: '' },
|
||||
btnText: { type: 'string', default: '' },
|
||||
btnUrl: { type: 'string', default: '' },
|
||||
},
|
||||
edit: function (props) {
|
||||
var a = props.attributes, s = props.setAttributes;
|
||||
return el(Frag, null,
|
||||
el(IC, null,
|
||||
el(PB, { title: 'Button' },
|
||||
el(TC, { label: 'URL', value: a.btnUrl, onChange: function (v) { s({ btnUrl: v }); } })
|
||||
)
|
||||
),
|
||||
el('section', { className: 'cta-inline' },
|
||||
el('div', { className: 'container' },
|
||||
el('div', { className: 'cta-inline__inner' },
|
||||
el('div', { className: 'cta-inline__body' },
|
||||
el(RT, { tagName: 'h2', className: 'cta-inline__heading', value: a.heading, onChange: function (v) { s({ heading: v }); }, placeholder: 'CTA heading...' }),
|
||||
el(RT, { tagName: 'p', className: 'cta-inline__text', value: a.text, onChange: function (v) { s({ text: v }); }, placeholder: 'Supporting text...' })
|
||||
),
|
||||
el(RT, { tagName: 'span', className: 'btn btn-primary', value: a.btnText, onChange: function (v) { s({ btnText: v }); }, placeholder: 'Button text...' })
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
},
|
||||
save: function () { return null; }
|
||||
});
|
||||
|
||||
/* 6. INTRO SECTION ────────────────────────────────────────────────────── */
|
||||
reg('oribi/intro-section', {
|
||||
title: 'Oribi Intro Section',
|
||||
|
||||
@@ -331,6 +331,17 @@ add_action('init', function () {
|
||||
'render_callback' => 'oribi_render_cta_banner',
|
||||
]);
|
||||
|
||||
register_block_type('oribi/cta-inline', [
|
||||
'attributes' => [
|
||||
'heading' => ['type' => 'string', 'default' => ''],
|
||||
'text' => ['type' => 'string', 'default' => ''],
|
||||
'btnText' => ['type' => 'string', 'default' => ''],
|
||||
'btnUrl' => ['type' => 'string', 'default' => ''],
|
||||
],
|
||||
'supports' => $block_supports,
|
||||
'render_callback' => 'oribi_render_cta_inline',
|
||||
]);
|
||||
|
||||
register_block_type('oribi/intro-section', [
|
||||
'attributes' => [
|
||||
'variant' => ['type' => 'string', 'default' => 'normal'],
|
||||
@@ -1004,6 +1015,26 @@ function oribi_render_cta_banner($a)
|
||||
<?php return ob_get_clean();
|
||||
}
|
||||
|
||||
/* ── CTA Inline ────────────────────────────────────────────────────────────── */
|
||||
function oribi_render_cta_inline($a)
|
||||
{
|
||||
ob_start(); ?>
|
||||
<section class="cta-inline">
|
||||
<div class="container">
|
||||
<div class="cta-inline__inner">
|
||||
<div class="cta-inline__body">
|
||||
<h2 class="cta-inline__heading"><?php echo wp_kses_post($a['heading']); ?></h2>
|
||||
<?php if (!empty($a['text'])): ?>
|
||||
<p class="cta-inline__text"><?php echo wp_kses_post($a['text']); ?></p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<a href="<?php echo esc_url($a['btnUrl']); ?>" class="btn btn-primary"><?php echo esc_html($a['btnText']); ?></a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<?php return ob_get_clean();
|
||||
}
|
||||
|
||||
/* ── Intro Section ─────────────────────────────────────────────────────────── */
|
||||
function oribi_render_intro_section($a)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user