feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
- Base: wintercms/winter branch 1.2 (full framework) - Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS - Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication - Partials: hero (offline-first), features, modes (offline/nube toggle), screenshots, pricing (3 planes), comparison, FAQ, CTA - Plugin VivesPOS.Site with ContactForm - Dockerfile: PHP 8.2 Apache, port 80, healthcheck - Added winter/wn-pages, blog, sitemap, seo plugins - Active theme set to vivespos
This commit is contained in:
8
modules/cms/widgets/componentlist/partials/_body.php
Normal file
8
modules/cms/widgets/componentlist/partials/_body.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?= $this->makePartial('toolbar') ?>
|
||||
<div class="layout-row">
|
||||
<div class="layout-cell">
|
||||
<div class="layout-relative">
|
||||
<?= $this->makePartial('components', ['data'=>$data]) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,39 @@
|
||||
<div class="components subitems">
|
||||
<div class="layout">
|
||||
<div class="layout-row">
|
||||
<?php
|
||||
$count = count($components);
|
||||
?>
|
||||
<?php foreach ($components as $index => $component): ?>
|
||||
<?php if ($index > 0 && ($index % 2) == 0): ?>
|
||||
</div>
|
||||
|
||||
<?php if ($index == ($count - 1)): ?>
|
||||
</div>
|
||||
<div class="layout single">
|
||||
<?php endif ?>
|
||||
|
||||
<div class="layout-row">
|
||||
<?php endif ?>
|
||||
<div class="layout-cell" data-control="dragcomponent" data-component>
|
||||
<div class="layout-relative">
|
||||
<span class="name"><?= e($component->title) ?></span>
|
||||
<span class="description"><?= e($component->description) ?></span>
|
||||
<span class="alias wn-icon-code"><?= e($component->alias) ?></span>
|
||||
|
||||
<input type="hidden" name="component_properties[]" data-inspector-values value="<?= e($component->propertyValues) ?>">
|
||||
<input type="hidden" data-inspector-config value="<?= e($component->propertyConfig) ?>">
|
||||
<input type="hidden" data-inspector-class value="<?= $component->className ?>">
|
||||
<input type="hidden" data-component-icon value="<?= 'wn-'.e($component->pluginIcon) ?>">
|
||||
<input type="hidden" data-component-default-alias value="<?= e($component->alias) ?>">
|
||||
<input type="hidden" data-component-name value="<?= e($component->name) ?>">
|
||||
<input type="hidden" name="component_names[]" value="">
|
||||
<input type="hidden" name="component_aliases[]" value="">
|
||||
|
||||
<a href="#" class="remove">×</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
11
modules/cms/widgets/componentlist/partials/_components.php
Normal file
11
modules/cms/widgets/componentlist/partials/_components.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<div class="layout-absolute">
|
||||
<div class="control-scrollbar" data-control="scrollbar">
|
||||
<div
|
||||
class="control-filelist component-list"
|
||||
data-control="filelist"
|
||||
data-group-status-handler="<?= $this->getEventHandler('onSetCollapseStatus') ?>"
|
||||
id="<?= $this->getId('component-list') ?>">
|
||||
<?= $this->makePartial('items', ['items'=>$data]) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
16
modules/cms/widgets/componentlist/partials/_items.php
Normal file
16
modules/cms/widgets/componentlist/partials/_items.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php if ($items): ?>
|
||||
<ul>
|
||||
<?php foreach ($items as $item): ?>
|
||||
<li class="group" data-status="<?= $this->getCollapseStatus($item->pluginClass, false) ? 'expanded' : 'collapsed' ?>" data-group-id="<?= e($item->pluginClass) ?>">
|
||||
<div class="group">
|
||||
<h4><a href="#"><?= e(trans($item->title)) ?></a></h4>
|
||||
<i class="<?= e($item->icon) ?>"></i>
|
||||
<span class="description"><?= e(trans($item->description)) ?></span>
|
||||
</div>
|
||||
<?= $this->makePartial('component_list', ['components'=>$item->items]) ?>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
<?php else: ?>
|
||||
<p class="no-data"><?= e(trans('cms::lang.component.no_records')) ?></p>
|
||||
<?php endif ?>
|
||||
16
modules/cms/widgets/componentlist/partials/_toolbar.php
Normal file
16
modules/cms/widgets/componentlist/partials/_toolbar.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<div class="layout-row min-size">
|
||||
<div class="control-toolbar toolbar-padded">
|
||||
|
||||
<!-- Component Search -->
|
||||
<div class="relative toolbar-item loading-indicator-container size-input-text">
|
||||
<input placeholder="<?= e(trans('cms::lang.sidebar.search')) ?>" type="text" name="search" value="<?= e($this->getSearchTerm()) ?>"
|
||||
class="form-control icon search" autocomplete="off"
|
||||
data-track-input
|
||||
data-load-indicator
|
||||
data-load-indicator-opaque
|
||||
data-request="<?= $this->getEventHandler('onSearch') ?>"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user