CMS und Status
This commit is contained in:
parent
60a41b5f14
commit
fe28e238be
@ -1,313 +1,210 @@
|
||||
{% extends 'backend_base.html.twig' %}
|
||||
{% extends 'backend_tailwind_base.html.twig' %}
|
||||
{% form_theme form 'tailwind_formtheme.html.twig' %}
|
||||
|
||||
{% block header %}
|
||||
<div>
|
||||
<h1 class="text-psc text-2xl font-medium flex flex-row gap-1">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="h-8">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" />
|
||||
</svg>
|
||||
CMS <span class="text-gray-500">{{ 'psc_shop_cms.Create'|trans }}</span>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="flex flex-wrap items-center gap-4 justify-start shrink-0">
|
||||
<a href="{{ path("psc_shop_cms_backend_list") }}" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.Back'|trans }}
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<h3>
|
||||
<i class="fa-fw fa fa-file-alt"></i>
|
||||
{{ 'psc_shop_cms.Site'|trans }} <span>>
|
||||
{{ 'psc_shop_cms.Create'|trans }} </span>
|
||||
</h3>
|
||||
<div class="w-full">
|
||||
{{ form_start(form, {attr: {class: ''}}) }}
|
||||
|
||||
<div class="tab-group flex-none md:flex w-full" data-dui-orientation="vertical">
|
||||
<div role="tablist" class="relative mr-5 rounded-sm flex flex-col p-1 w-full md:w-2/12">
|
||||
<div class="tab-indicator absolute left-0 w-1 bg-psc-500 transition-transform duration-300"></div>
|
||||
<a href="#" class="tab-link flex items-center text-sm active px-4 py-2 relative" data-dui-tab-target="all">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.Common'|trans }}
|
||||
</a>
|
||||
<a href="#" class="tab-link flex items-center text-sm px-4 py-2 relative" data-dui-tab-target="text">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.Text'|trans }}
|
||||
</a>
|
||||
<a href="#" class="tab-link flex items-center text-sm px-4 py-2 relative" data-dui-tab-target="seo">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.SEO'|trans }}
|
||||
</a>
|
||||
<a href="#" class="tab-link flex items-center text-sm px-4 py-2 relative" data-dui-tab-target="extend">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.343 3.94c.09-.542.56-.94 1.11-.94h1.093c.55 0 1.02.398 1.11.94l.149.894c.07.424.384.764.78.93.398.164.855.142 1.205-.108l.737-.527a1.125 1.125 0 0 1 1.45.12l.773.774c.39.389.44 1.002.12 1.45l-.527.737c-.25.35-.272.806-.107 1.204.165.397.505.71.93.78l.893.15c.543.09.94.559.94 1.109v1.094c0 .55-.397 1.02-.94 1.11l-.894.149c-.424.07-.764.383-.929.78-.165.398-.143.854.107 1.204l.527.738c.32.447.269 1.06-.12 1.45l-.774.773a1.125 1.125 0 0 1-1.449.12l-.738-.527c-.35-.25-.806-.272-1.203-.107-.398.165-.71.505-.781.929l-.149.894c-.09.542-.56.94-1.11.94h-1.094c-.55 0-1.019-.398-1.11-.94l-.148-.894c-.071-.424-.384-.764-.781-.93-.398-.164-.854-.142-1.204.108l-.738.527c-.447.32-1.06.269-1.45-.12l-.773-.774a1.125 1.125 0 0 1-.12-1.45l.527-.737c.25-.35.272-.806.108-1.204-.165-.397-.506-.71-.93-.78l-.894-.15c-.542-.09-.94-.56-.94-1.109v-1.094c0-.55.398-1.02.94-1.11l.894-.149c.424-.07.765-.383.93-.78.165-.398.143-.854-.108-1.204l-.526-.738a1.125 1.125 0 0 1 .12-1.45l.773-.773a1.125 1.125 0 0 1 1.45-.12l.737.527c.35.25.807.272 1.204.107.397-.165.71-.505.78-.929l.15-.894Z" />
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.Extended'|trans }}
|
||||
</a>
|
||||
{% for customGroup in customGroups %}
|
||||
<a href="#" class="tab-link flex items-center text-sm px-4 py-2 relative" data-dui-tab-target="{{ customGroup.id }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z" />
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
||||
</svg>
|
||||
{{ customGroup.title }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 text-end">
|
||||
<a href="{{ path("psc_shop_cms_backend_list") }}" class="btn btn-default btn-sm"><i class="fa fa-lg fa-fw fa-arrow-left"></i> {{ 'psc_shop_cms.Back'|trans }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
{{ form_start(form, { 'attr': {'class': ''}}) }}
|
||||
<div class="panel">
|
||||
<div class="header">
|
||||
<h4>{{ 'psc_shop_cms.Common'|trans }}</h4>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<ul class="nav nav-pills flex-column" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-bs-toggle="tab" href="#all" role="tab">{{ 'psc_shop_cms.Common'|trans }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-bs-toggle="tab" href="#text" role="tab">{{ 'psc_shop_cms.Text'|trans }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-bs-toggle="tab" href="#seo" role="tab">{{ 'psc_shop_cms.SEO'|trans }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-bs-toggle="tab" href="#extend" role="tab">{{ 'psc_shop_cms.Extended'|trans }}</a>
|
||||
</li>
|
||||
{% for customGroup in customGroups %}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-bs-toggle="tab" href="#{{ customGroup.id }}" role="tab">{{ customGroup.title }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<div class="rounded-sm w-full border bg-white p-5 shadow-lg dark:border-strokedark dark:bg-boxdark">
|
||||
<div id="all" class="tab-content w-full text-stone-500 text-sm block">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">{{ 'psc_shop_cms.Common'|trans }}</h6>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.menu) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.url) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="all" role="tabpanel">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.title) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.title) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.menu) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.menu) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.url) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.url) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.parentRaw) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.parentRaw) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.pos) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.pos) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.sort) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.sort) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.language) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.language) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.enable) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.enable) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.private) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.private) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.displayOnlyWhenLoggedIn) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.displayOnlyWhenLoggedIn) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="text" role="tabpanel">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.rawText) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.rawText) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.text) }}
|
||||
<div class="col-md-11">
|
||||
{{ form_widget(form.text, {attr: {'class': 'form-control summernote'}}) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="seo" role="tabpanel">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaAuthor) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaAuthor) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaCustomTitle) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaCustomTitle) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaDescription) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaDescription) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaKeywords) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaKeywords) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h5>Opengraph</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaOgTitle) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaOgTitle) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaOgType) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaOgType) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaOgUrl) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaOgUrl) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaOgImage) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaOgImage) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaOgDescription) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaOgDescription) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.noIndex) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.noIndex) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="extend" role="tabpanel">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.notInMenu) }}
|
||||
<div class="col-md-11">
|
||||
{{ form_widget(form.notInMenu) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.displayTitle) }}
|
||||
<div class="col-md-11">
|
||||
{{ form_widget(form.displayTitle) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label class="col-md-3 form-control-label">
|
||||
{{ form_label(form.extraSettings) }}
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
{{ form_widget(form.extraSettings, {'attr': {'rows' : 15}}) }}
|
||||
</div>
|
||||
{{ form_errors(form.extraSettings) }}
|
||||
</div>
|
||||
</div>
|
||||
{% for customGroup in customGroups %}
|
||||
<div class="tab-pane" id="{{ customGroup.id }}" role="tabpanel">
|
||||
{% for customField in customFields %}
|
||||
{% if customField.group == customGroup.id and customField.getTemplate %}
|
||||
{{ include(customField.getTemplate, { 'form': form }) }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.parentRaw) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.pos) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.sort) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.language) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.enable) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.private) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.displayOnlyWhenLoggedIn) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="text" class="tab-content w-full text-stone-500 text-sm hidden">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">{{ 'psc_shop_cms.Text'|trans }}</h6>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.rawText) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full px-4">
|
||||
{{ form_row(form.text, {attr: {'class': 'summernote'}}) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="seo" class="tab-content w-full text-stone-500 text-sm hidden">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">{{ 'psc_shop_cms.SEO'|trans }}</h6>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaAuthor) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaCustomTitle) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaDescription) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaKeywords) }}
|
||||
</div>
|
||||
</div>
|
||||
<h6 class="text-sm mt-6 mb-6 font-bold">Opengraph</h6>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaOgTitle) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaOgType) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaOgUrl) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaOgImage) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaOgDescription) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.noIndex) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="extend" class="tab-content w-full text-stone-500 text-sm hidden">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">{{ 'psc_shop_cms.Extended'|trans }}</h6>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.notInMenu) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.displayTitle) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full px-4">
|
||||
{{ form_row(form.extraSettings, {'attr': {'rows' : 15}}) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% for customGroup in customGroups %}
|
||||
<div id="{{ customGroup.id }}" class="tab-content w-full text-stone-500 text-sm hidden">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">{{ customGroup.title }}</h6>
|
||||
{% for customField in customFields %}
|
||||
{% if customField.group == customGroup.id and customField.getTemplate %}
|
||||
{{ include(customField.getTemplate, { 'form': form }) }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% for customField in customFields %}
|
||||
{% if customField.getTemplate %}
|
||||
{{ include(customField.getTemplate, { 'form': form }) }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<div class="panel">
|
||||
<div class="body">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-offset-2 col-md-11">
|
||||
{{ form_widget(form.save, {attr: {class: 'btn btn-primary btn-sm'}}) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-end my-2">
|
||||
{{ form_widget(form.save, {attr: {class: 'inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]'}}) }}
|
||||
</div>
|
||||
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
{{ summernote_mediabundle_init('default') }}
|
||||
|
||||
@ -1,40 +1,59 @@
|
||||
{% extends 'backend_base.html.twig' %}
|
||||
{% extends 'backend_tailwind_base.html.twig' %}
|
||||
|
||||
{% block header %}
|
||||
<div>
|
||||
<h1 class="text-psc text-2xl font-medium flex flex-row gap-1">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="h-8">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" />
|
||||
</svg>
|
||||
CMS <span class="text-gray-500">{{ 'psc_shop_cms.Delete'|trans }}</span>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="flex flex-wrap items-center gap-4 justify-start shrink-0">
|
||||
<a href="{{ path("psc_shop_cms_backend_list") }}" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.Back'|trans }}
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<h3>
|
||||
<i class="fa-fw fa fa-file-alt"></i>
|
||||
{{ 'psc_shop_cms.Site'|trans }} <span>>
|
||||
{{ 'psc_shop_cms.Delete'|trans }}</span>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="body">
|
||||
<div class="panel">
|
||||
<div class="header">
|
||||
<h4>{{ 'psc_shop_cms.Site'|trans }} {{ 'psc_shop_cms.Delete'|trans }}?</h4>
|
||||
</div>
|
||||
<div class="body">
|
||||
|
||||
<h5>{{ cms.title }}</h5>
|
||||
|
||||
|
||||
{{ form_start(form, { 'attr': {'class': ''}}) }}
|
||||
<div class="row mb-3">
|
||||
<label class="col-md-1 form-control-label"></label>
|
||||
<div class="col-md-1">
|
||||
{{ form_widget(form.yes, {attr: {class: 'btn btn-lg btn-warning btn-sm'}}) }}
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
{{ form_widget(form.no, {attr: {class: 'btn btn-lg btn-primary btn-sm'}}) }}
|
||||
</div>
|
||||
<div class="rounded-sm border bg-white px-7.5 py-6 shadow-lg dark:border-strokedark dark:bg-boxdark">
|
||||
<div class="mb-6">
|
||||
<h4 class="text-lg font-semibold text-gray-900 mb-4">{{ 'psc_shop_cms.Site'|trans }} {{ 'psc_shop_cms.Delete'|trans }}?</h4>
|
||||
<div class="bg-yellow-50 border-l-4 border-yellow-400 p-4 mb-6">
|
||||
<div class="flex">
|
||||
<div class="flex-shrink-0">
|
||||
<svg class="h-5 w-5 text-yellow-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<p class="text-sm text-yellow-700 font-medium">
|
||||
{{ cms.title }}
|
||||
</p>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ form_start(form, {attr: {class: ''}}) }}
|
||||
<div class="flex gap-4 items-center">
|
||||
<button type="submit" name="yes" value="1" class="inline-flex items-center justify-center py-2 gap-1 font-medium rounded-sm px-6 text-sm text-white shadow-lg bg-red-500 hover:bg-red-600 hover:ring-2 hover:ring-red-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" />
|
||||
</svg>
|
||||
Ja, löschen
|
||||
</button>
|
||||
<button type="submit" name="no" value="1" class="inline-flex items-center justify-center py-2 gap-1 font-medium rounded-sm px-6 text-sm text-gray-700 shadow-lg bg-white hover:bg-gray-50 hover:ring-2 hover:ring-gray-300 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
|
||||
</svg>
|
||||
Nein, abbrechen
|
||||
</button>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -1,337 +1,246 @@
|
||||
{% extends 'backend_base.html.twig' %}
|
||||
{% extends 'backend_tailwind_base.html.twig' %}
|
||||
{% form_theme form 'tailwind_formtheme.html.twig' %}
|
||||
|
||||
{% block header %}
|
||||
<div>
|
||||
<h1 class="text-psc text-2xl font-medium flex flex-row gap-1">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="h-8">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" />
|
||||
</svg>
|
||||
CMS <span class="text-gray-500">{{ 'psc_shop_cms.Edit'|trans }}</span>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="flex flex-wrap items-center gap-4 justify-start shrink-0">
|
||||
<a href="{{ path("psc_shop_cms_backend_list") }}" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.Back'|trans }}
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<h3>
|
||||
<i class="fa-fw fa fa-file-alt"></i>
|
||||
{{ 'psc_shop_cms.Site'|trans }} <span>>
|
||||
{{ 'psc_shop_cms.Edit'|trans }} </span>
|
||||
</h3>
|
||||
<div class="w-full flex flex-col gap-6">
|
||||
{{ form_start(form, {attr: {class: ''}}) }}
|
||||
|
||||
<div class="tab-group flex-none md:flex w-full" data-dui-orientation="vertical">
|
||||
<div role="tablist" class="relative mr-5 rounded-sm flex flex-col p-1 w-full md:w-2/12">
|
||||
<div class="tab-indicator absolute left-0 w-1 bg-psc-500 transition-transform duration-300"></div>
|
||||
<a href="#" class="tab-link flex items-center text-sm active px-4 py-2 relative" data-dui-tab-target="all">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.Common'|trans }}
|
||||
</a>
|
||||
<a href="#" class="tab-link flex items-center text-sm px-4 py-2 relative" data-dui-tab-target="text">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.Text'|trans }}
|
||||
</a>
|
||||
<a href="#" class="tab-link flex items-center text-sm px-4 py-2 relative" data-dui-tab-target="seo">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.SEO'|trans }}
|
||||
</a>
|
||||
<a href="#" class="tab-link flex items-center text-sm px-4 py-2 relative" data-dui-tab-target="extend">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.343 3.94c.09-.542.56-.94 1.11-.94h1.093c.55 0 1.02.398 1.11.94l.149.894c.07.424.384.764.78.93.398.164.855.142 1.205-.108l.737-.527a1.125 1.125 0 0 1 1.45.12l.773.774c.39.389.44 1.002.12 1.45l-.527.737c-.25.35-.272.806-.107 1.204.165.397.505.71.93.78l.893.15c.543.09.94.559.94 1.109v1.094c0 .55-.397 1.02-.94 1.11l-.894.149c-.424.07-.764.383-.929.78-.165.398-.143.854.107 1.204l.527.738c.32.447.269 1.06-.12 1.45l-.774.773a1.125 1.125 0 0 1-1.449.12l-.738-.527c-.35-.25-.806-.272-1.203-.107-.398.165-.71.505-.781.929l-.149.894c-.09.542-.56.94-1.11.94h-1.094c-.55 0-1.019-.398-1.11-.94l-.148-.894c-.071-.424-.384-.764-.781-.93-.398-.164-.854-.142-1.204.108l-.738.527c-.447.32-1.06.269-1.45-.12l-.773-.774a1.125 1.125 0 0 1-.12-1.45l.527-.737c.25-.35.272-.806.108-1.204-.165-.397-.506-.71-.93-.78l-.894-.15c-.542-.09-.94-.56-.94-1.109v-1.094c0-.55.398-1.02.94-1.11l.894-.149c.424-.07.765-.383.93-.78.165-.398.143-.854-.108-1.204l-.526-.738a1.125 1.125 0 0 1 .12-1.45l.773-.773a1.125 1.125 0 0 1 1.45-.12l.737.527c.35.25.807.272 1.204.107.397-.165.71-.505.78-.929l.15-.894Z" />
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.Extended'|trans }}
|
||||
</a>
|
||||
{% for customGroup in customGroups %}
|
||||
<a href="#" class="tab-link flex items-center text-sm px-4 py-2 relative" data-dui-tab-target="{{ customGroup.id }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z" />
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
||||
</svg>
|
||||
{{ customGroup.title }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="rounded-sm w-full border bg-white p-5 shadow-lg dark:border-strokedark dark:bg-boxdark">
|
||||
<div id="all" class="tab-content w-full text-stone-500 text-sm block">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">{{ 'psc_shop_cms.Common'|trans }}</h6>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.menu) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.url) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.parentRaw) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.pos) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.sort) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.language) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.enable) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.private) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.displayOnlyWhenLoggedIn) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 text-end">
|
||||
<a href="{{ path("psc_shop_cms_backend_list") }}" class="btn btn-default btn-sm"><i class="fa fa-lg fa-fw fa-arrow-left"></i> {{ 'psc_shop_cms.Back'|trans }}</a>
|
||||
|
||||
<div id="text" class="tab-content w-full text-stone-500 text-sm hidden">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">{{ 'psc_shop_cms.Text'|trans }}</h6>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-4/12 px-4">
|
||||
{{ form_row(form.rawText) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full px-4">
|
||||
{% if cms.rawText %}
|
||||
{{ form_row(form.text) }}
|
||||
{% else %}
|
||||
{{ form_row(form.text, {attr: {'class': 'summernote'}}) }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="seo" class="tab-content w-full text-stone-500 text-sm hidden">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">{{ 'psc_shop_cms.SEO'|trans }}</h6>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaAuthor) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaCustomTitle) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaDescription) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaKeywords) }}
|
||||
</div>
|
||||
</div>
|
||||
<h6 class="text-sm mt-6 mb-6 font-bold">Opengraph</h6>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaOgTitle) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaOgType) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaOgUrl) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaOgImage) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.metaOgDescription) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.noIndex) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="extend" class="tab-content w-full text-stone-500 text-sm hidden">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">{{ 'psc_shop_cms.Extended'|trans }}</h6>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.notInMenu) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.displayTitle) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full px-4">
|
||||
{{ form_row(form.extraSettings, {'attr': {'rows' : 15}}) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% for customGroup in customGroups %}
|
||||
<div id="{{ customGroup.id }}" class="tab-content w-full text-stone-500 text-sm hidden">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">{{ customGroup.title }}</h6>
|
||||
{% for customField in customFields %}
|
||||
{% if customField.group == customGroup.id and customField.getTemplate %}
|
||||
{{ include(customField.getTemplate, { 'form': form }) }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
{{ form_start(form, { 'attr': {'class': ''}}) }}
|
||||
<div class="panel">
|
||||
<div class="header">
|
||||
<h4>{{ 'psc_shop_cms.Common'|trans }}</h4>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<ul class="nav nav-pills flex-column" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-bs-toggle="tab" href="#all" role="tab">{{ 'psc_shop_cms.Common'|trans }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-bs-toggle="tab" href="#text" role="tab">{{ 'psc_shop_cms.Text'|trans }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-bs-toggle="tab" href="#seo" role="tab">{{ 'psc_shop_cms.SEO'|trans }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-bs-toggle="tab" href="#extend" role="tab">{{ 'psc_shop_cms.Extended'|trans }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="all" role="tabpanel">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.title) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.title) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.menu) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.menu) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.url) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.url) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.parentRaw) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.parentRaw) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.pos) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.pos) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.sort) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.sort) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.language) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.language) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.enable) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.enable) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.private) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.private) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.displayOnlyWhenLoggedIn) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.displayOnlyWhenLoggedIn) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="text" role="tabpanel">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.rawText) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.rawText) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.text) }}
|
||||
<div class="col-md-11">
|
||||
{% if cms.rawText %}
|
||||
{{ form_widget(form.text) }}
|
||||
{% else %}
|
||||
{{ form_widget(form.text, {attr: {'class': 'form-control summernote'}}) }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="seo" role="tabpanel">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaAuthor) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaAuthor) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaCustomTitle) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaCustomTitle) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaDescription) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaDescription) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaKeywords) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaKeywords) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h5>Opengraph</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaOgTitle) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaOgTitle) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaOgType) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaOgType) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaOgUrl) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaOgUrl) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaOgImage) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaOgImage) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.metaOgDescription) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.metaOgDescription) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.noIndex) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.noIndex) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="extend" role="tabpanel">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.notInMenu) }}
|
||||
<div class="col-md-11">
|
||||
{{ form_widget(form.notInMenu) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.displayTitle) }}
|
||||
<div class="col-md-11">
|
||||
{{ form_widget(form.displayTitle) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label class="col-md-3 form-control-label">
|
||||
{{ form_label(form.extraSettings) }}
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
{{ form_widget(form.extraSettings, {'attr': {'rows' : 15}}) }}
|
||||
</div>
|
||||
{{ form_errors(form.extraSettings) }}
|
||||
</div>
|
||||
</div>
|
||||
{% for customGroup in customGroups %}
|
||||
<div class="tab-pane" id="{{ customGroup.id }}" role="tabpanel">
|
||||
{% for customField in customFields %}
|
||||
{% if customField.group == customGroup.id and customField.getTemplate %}
|
||||
{{ include(customField.getTemplate, { 'form': form }) }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% for customField in customFields %}
|
||||
{% if customField.group == 'general' and customField.getTemplate %}
|
||||
{{ include(customField.getTemplate, { 'form': form }) }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<div class="panel">
|
||||
<div class="body">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-offset-2 col-md-11">
|
||||
{{ form_widget(form.save, {attr: {class: 'btn btn-primary btn-sm'}}) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
|
||||
{% for customField in customFields %}
|
||||
{% if customField.group == 'general' and customField.getTemplate %}
|
||||
{{ include(customField.getTemplate, { 'form': form }) }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
<div class="text-end my-2">
|
||||
{{ form_widget(form.save, {attr: {class: 'inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]'}}) }}
|
||||
</div>
|
||||
|
||||
{{ form_end(form) }}
|
||||
{{ summernote_mediabundle_init() }}
|
||||
<div class="panel">
|
||||
<div class="header">
|
||||
<h4>{{ 'Changes'|trans }}</h4>
|
||||
|
||||
<div class="rounded-sm border bg-white px-7.5 py-6 shadow-lg dark:border-strokedark dark:bg-boxdark">
|
||||
<h2 class="ml-4 text-psc text-xl font-medium mb-4">{{ 'Changes'|trans }}</h2>
|
||||
<div class="">
|
||||
<div class="w-full grid grid-cols-10 border-t border-stroke px-4 bg-slate-100 py-4.5 dark:border-strokedark md:px-6 2xl:px-7.5">
|
||||
<div class="col-span-2 px-2 py-3">
|
||||
<p class="font-medium">{{ 'Date'|trans }}</p>
|
||||
</div>
|
||||
<div class="col-span-2 px-2 py-3">
|
||||
<p class="font-medium">{{ 'Username'|trans }}</p>
|
||||
</div>
|
||||
<div class="col-span-6 px-2 py-3">
|
||||
<p class="font-medium">{{ 'Changes'|trans }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr><th>{{ 'Date'|trans }}</th><th>{{ 'Username'|trans }}</th><th>{{'Changes'|trans}}</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for change in changes %}
|
||||
<tr><td>{{ change.created|date('H:i:s d.m.Y') }}</td><td>{{ change.username }}</td><td>
|
||||
{% for key,set in change.changeset %}
|
||||
{% if set|length > 1 and set[1] is not iterable %}
|
||||
<strong>{{key}}</strong> <span class="badge bg-danger"><del>{{ set[0]}}</del></span><span class="badge bg-success">{% if set[1] is null %}0{% else %}{{ set[1] }}{% endif %}</span></br>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<td></tr>
|
||||
{% for change in changes %}
|
||||
<div class="w-full grid grid-cols-10 border-t border-stroke px-4 py-4.5 dark:border-strokedark md:px-6 2xl:px-7.5">
|
||||
<div class="col-span-2 px-2 py-3">{{ change.created|date('H:i:s d.m.Y') }}</div>
|
||||
<div class="col-span-2 px-2 py-3">{{ change.username }}</div>
|
||||
<div class="col-span-6 px-2 py-3">
|
||||
{% for key,set in change.changeset %}
|
||||
{% if set|length > 1 and set[1] is not iterable %}
|
||||
<strong>{{key}}</strong> <span class="badge-no"><del>{{ set[0]}}</del></span> <span class="badge-yes">{% if set[1] is null %}0{% else %}{{ set[1] }}{% endif %}</span><br>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
@ -1,79 +1,108 @@
|
||||
{% extends 'backend_base.html.twig' %}
|
||||
{% extends 'backend_tailwind_base.html.twig' %}
|
||||
|
||||
{% block header %}
|
||||
<div>
|
||||
<h1 class="text-psc text-2xl font-medium flex flex-row gap-1">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="h-8">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" />
|
||||
</svg>
|
||||
CMS <span class="text-gray-500">{{ 'psc_shop_cms.List'|trans }}</span>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="flex flex-wrap items-center gap-4 justify-start shrink-0">
|
||||
<a href="{{ path("psc_shop_cms_backend_edit_create") }}" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" />
|
||||
</svg>
|
||||
{{ 'psc_shop_cms.addSite'|trans }}
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<h3>
|
||||
<i class="fa-fw fa fa-file-alt"></i>
|
||||
CMS <span>>
|
||||
{{ 'psc_shop_cms.List'|trans }}</span>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="panel">
|
||||
<div class="body">
|
||||
<a href="{{ path("psc_shop_cms_backend_edit_create") }}" class="btn btn-info btn-sm"><span class="fa fa-edit"></span> {{ 'psc_shop_cms.addSite'|trans }}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel">
|
||||
<div class="body">
|
||||
{{ form_start(form, { 'attr': {'class': 'searchForm'}}) }}
|
||||
<div class="form-group form-group-sm row">
|
||||
<label class="col-md-1 form-control-label">
|
||||
{{ 'psc_shop_cms.Search'|trans }}
|
||||
</label>
|
||||
<div class="col-md-3">
|
||||
<div class="input-group input-group-sm">
|
||||
{{ form_widget(form.term, {attr: {class:'form-control'}}) }}
|
||||
<span class="input-group-append">
|
||||
<button type="submit" class="btn btn-default"><i class="fa fa-search"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="flex flex-col gap-6">
|
||||
<div class="rounded-sm border bg-white px-7.5 py-6 shadow-lg dark:border-strokedark dark:bg-boxdark">
|
||||
<div class="mb-4">
|
||||
{{ form_start(form, { 'attr': {'class': ''}}) }}
|
||||
<div class="flex items-center gap-4">
|
||||
<label class="font-medium text-sm">
|
||||
{{ 'psc_shop_cms.Search'|trans }}
|
||||
</label>
|
||||
<div class="flex-1 max-w-md">
|
||||
<div class="flex gap-2">
|
||||
{{ form_widget(form.term, {attr: {class:'form-input'}}) }}
|
||||
<button type="submit" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ form_rest(form) }}
|
||||
|
||||
{{ form_end(form) }}
|
||||
<table class="table">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>{{ knp_pagination_sortable(pagination, 'Uid', 'cms.uid') }}</th>
|
||||
<th>{{ knp_pagination_sortable(pagination, 'psc_shop_cms.Active'|trans, 'cms.enable') }}</th>
|
||||
<th>{{ knp_pagination_sortable(pagination, 'psc_shop_cms.Title'|trans, 'cms.title') }}</th>
|
||||
<th>{{ 'psc_shop_cms.Region'|trans }}</th>
|
||||
<th>{{ 'psc_shop_cms.Parent'|trans }}</th>
|
||||
<th>Url</th>
|
||||
<th>{{ 'psc_shop_cms.Menu'|trans }}?</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for cms in pagination %}
|
||||
<tr {% if loop.index is odd %}class="color"{% endif %}>
|
||||
<td>{{ cms.uid }}</td>
|
||||
<td>{% if cms.enable %}<span class="badge bg-success">Ja</span>{% else %}<span
|
||||
class="badge bg-warning">Nein</span>{% endif %}</td>
|
||||
<td>{{ cms.title }}</td>
|
||||
<td>{{ theme.config.cms.pos(cms.pos).name }}</td>
|
||||
<td>{% if cms.parent %}{{ cms.parent.title }}{% else %}{{ 'psc_shop_cms.OnTop'|trans }}{% endif %}</td>
|
||||
<td>{{ cms.url }}</td>
|
||||
<td>{% if not cms.notInMenu %}<span class="badge bg-success">{{ 'psc_shop_cms.Yes'|trans }}</span>{% else %}<span class="badge bg-warning">{{ 'psc_shop_cms.No'|trans }}</span>{% endif %}</td>
|
||||
<td class="text-end">
|
||||
<a href="{{ path("psc_shop_cms_backend_edit_edit", {uid: cms.uid}) }}" class="btn btn-info btn-sm"><span class="fa fa-edit"></span></a>
|
||||
<a href="{{ path("psc_shop_cms_backend_edit_delete", {uid: cms.uid}) }}" class="btn btn-danger btn-sm"><span class="fa fa-trash"></span></a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="navigation">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
</div>
|
||||
{{ form_rest(form) }}
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
<div class="w-full grid grid-cols-8 border-t border-stroke px-4 bg-slate-100 py-4.5 dark:border-strokedark md:px-6 2xl:px-7.5">
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
<p class="font-medium">{{ knp_pagination_sortable(pagination, 'Uid', 'cms.uid') }}</p>
|
||||
</div>
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
<p class="font-medium">{{ knp_pagination_sortable(pagination, 'psc_shop_cms.Active'|trans, 'cms.enable') }}</p>
|
||||
</div>
|
||||
<div class="col-span-2 px-2 py-3">
|
||||
<p class="font-medium">{{ knp_pagination_sortable(pagination, 'psc_shop_cms.Title'|trans, 'cms.title') }}</p>
|
||||
</div>
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
<p class="font-medium">{{ 'psc_shop_cms.Region'|trans }}</p>
|
||||
</div>
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
<p class="font-medium">{{ 'psc_shop_cms.Parent'|trans }}</p>
|
||||
</div>
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
<p class="font-medium">{{ 'psc_shop_cms.Menu'|trans }}?</p>
|
||||
</div>
|
||||
<div class="col-span-1 px-2 py-3"></div>
|
||||
</div>
|
||||
{% for cms in pagination %}
|
||||
<div class="w-full grid grid-cols-8 border-t border-stroke px-4 py-4.5 dark:border-strokedark md:px-6 2xl:px-7.5">
|
||||
<div class="col-span-1 px-2 py-3">{{ cms.uid }}</div>
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
{% if cms.enable %}
|
||||
<div class="badge-yes">Ja</div>
|
||||
{% else %}
|
||||
<div class="badge-no">Nein</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-span-2 px-2 py-3">{{ cms.title }}</div>
|
||||
<div class="col-span-1 px-2 py-3">{{ theme.config.cms.pos(cms.pos).name }}</div>
|
||||
<div class="col-span-1 px-2 py-3">{% if cms.parent %}{{ cms.parent.title }}{% else %}{{ 'psc_shop_cms.OnTop'|trans }}{% endif %}</div>
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
{% if not cms.notInMenu %}
|
||||
<div class="badge-yes">{{ 'psc_shop_cms.Yes'|trans }}</div>
|
||||
{% else %}
|
||||
<div class="badge-no">{{ 'psc_shop_cms.No'|trans }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-span-1 px-2 py-3 text-end flex flex-row gap-2 justify-end">
|
||||
<a href="{{ path("psc_shop_cms_backend_edit_edit", {uid: cms.uid}) }}" class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="table-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="{{ path("psc_shop_cms_backend_edit_delete", {uid: cms.uid}) }}" class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="table-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -1,120 +1,85 @@
|
||||
{% extends 'backend_base.html.twig' %}
|
||||
{% extends 'backend_tailwind_base.html.twig' %}
|
||||
{% form_theme form 'tailwind_formtheme.html.twig' %}
|
||||
|
||||
{% block header %}
|
||||
<div>
|
||||
<h1 class="text-psc text-2xl font-medium flex flex-row gap-1">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="h-8">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
|
||||
</svg>
|
||||
Status <span class="text-gray-500">Anlegen</span>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="flex flex-wrap items-center gap-4 justify-start shrink-0">
|
||||
<a href="{{ path("psc_system_status_list") }}" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" />
|
||||
</svg>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<h3>
|
||||
<i class="fa fa-hashtag"></i>
|
||||
Status <span>>
|
||||
anlegen </span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 text-end">
|
||||
<a href="{{ path("psc_system_status_list") }}" class="btn btn-default btn-sm"><i class="fa fa-lg fa-fw fa-arrow-left"></i> Zurück</a>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
{{ form_start(form, {attr: {class: ''}}) }}
|
||||
|
||||
<div class="tab-group flex-none md:flex w-full" data-dui-orientation="vertical">
|
||||
<div role="tablist" class="relative mr-5 rounded-sm flex flex-col p-1 w-full md:w-2/12">
|
||||
<div class="tab-indicator absolute left-0 w-1 bg-psc-500 transition-transform duration-300"></div>
|
||||
<a href="#" class="tab-link flex items-center text-sm active px-4 py-2 relative" data-dui-tab-target="all">
|
||||
<svg width="1.5em" height="1.5em" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" color="currentColor" class="button-icon">
|
||||
<path d="M21 7.35304L21 16.647C21 16.8649 20.8819 17.0656 20.6914 17.1715L12.2914 21.8381C12.1102 21.9388 11.8898 21.9388 11.7086 21.8381L3.30861 17.1715C3.11814 17.0656 3 16.8649 3 16.647L2.99998 7.35304C2.99998 7.13514 3.11812 6.93437 3.3086 6.82855L11.7086 2.16188C11.8898 2.06121 12.1102 2.06121 12.2914 2.16188L20.6914 6.82855C20.8818 6.93437 21 7.13514 21 7.35304Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M3.52844 7.29357L11.7086 11.8381C11.8898 11.9388 12.1102 11.9388 12.2914 11.8381L20.5 7.27777" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M12 21L12 12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M11.6914 11.8285L3.89139 7.49521C3.49147 7.27304 3 7.56222 3 8.01971V16.647C3 16.8649 3.11813 17.0656 3.30861 17.1715L11.1086 21.5048C11.5085 21.727 12 21.4378 12 20.9803V12.353C12 12.1351 11.8819 11.9344 11.6914 11.8285Z" fill="currentColor" stroke="currentColor" stroke-linejoin="round"></path>
|
||||
</svg> Allgemein
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="body">
|
||||
{{ form_start(form, { 'attr': {'class': ''}}) }}
|
||||
<div class="panel">
|
||||
<div class="header">
|
||||
<h4>Anlegen</h4>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<ul class="nav nav-pills flex-column" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-bs-toggle="tab" href="#all" role="tab">Allgemein</a>
|
||||
</li>
|
||||
<div class="rounded-sm w-full border bg-white p-5 shadow-lg dark:border-strokedark dark:bg-boxdark">
|
||||
<div id="all" class="tab-content w-full text-stone-500 text-sm block">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">Allgemein</h6>
|
||||
|
||||
</ul>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.code) }}
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="all" role="tabpanel">
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.code) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.code) }}
|
||||
</div>
|
||||
{{ form_errors(form.code) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.enable) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.enable) }}
|
||||
</div>
|
||||
{{ form_errors(form.enable) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.internalName) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.internalName) }}
|
||||
</div>
|
||||
{{ form_errors(form.internalName) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.externalName) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.externalName) }}
|
||||
</div>
|
||||
{{ form_errors(form.externalName) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.enable) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.typ) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.typ) }}
|
||||
</div>
|
||||
{{ form_errors(form.typ) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.color) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.color) }}
|
||||
</div>
|
||||
{{ form_errors(form.color) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.internalName) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.externalName) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.typ) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.color) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel">
|
||||
<div class="body">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-offset-1 col-md-11">
|
||||
<button class="btn btn-primary btn-sm">Speichern</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
|
||||
<div class="text-end my-2">
|
||||
<button type="submit" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
|
||||
</svg>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -1,40 +1,59 @@
|
||||
{% extends 'backend_base.html.twig' %}
|
||||
{% extends 'backend_tailwind_base.html.twig' %}
|
||||
|
||||
{% block header %}
|
||||
<div>
|
||||
<h1 class="text-psc text-2xl font-medium flex flex-row gap-1">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="h-8">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
|
||||
</svg>
|
||||
Status <span class="text-gray-500">Löschen</span>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="flex flex-wrap items-center gap-4 justify-start shrink-0">
|
||||
<a href="{{ path("psc_system_status_list") }}" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" />
|
||||
</svg>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<h3>
|
||||
<i class="fa-fw fa fa-hashtag"></i>
|
||||
Status <span>>
|
||||
Löschen</span>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="body">
|
||||
<div class="panel">
|
||||
<div class="header">
|
||||
<h4>Status löschen?</h4>
|
||||
</div>
|
||||
<div class="body">
|
||||
|
||||
<h5>{{ status.internalName }}</h5>
|
||||
|
||||
|
||||
{{ form_start(form, { 'attr': {'class': ''}}) }}
|
||||
<div class="row mb-3">
|
||||
<label class="col-md-1 form-control-label"></label>
|
||||
<div class="col-md-1">
|
||||
{{ form_widget(form.yes, {attr: {class: 'btn btn-lg btn-warning btn-sm'}}) }}
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
{{ form_widget(form.no, {attr: {class: 'btn btn-lg btn-primary btn-sm'}}) }}
|
||||
</div>
|
||||
<div class="rounded-sm border bg-white px-7.5 py-6 shadow-lg dark:border-strokedark dark:bg-boxdark">
|
||||
<div class="mb-6">
|
||||
<h4 class="text-lg font-semibold text-gray-900 mb-4">Status löschen?</h4>
|
||||
<div class="bg-yellow-50 border-l-4 border-yellow-400 p-4 mb-6">
|
||||
<div class="flex">
|
||||
<div class="flex-shrink-0">
|
||||
<svg class="h-5 w-5 text-yellow-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<p class="text-sm text-yellow-700 font-medium">
|
||||
{{ status.internalName }}
|
||||
</p>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ form_start(form, {attr: {class: ''}}) }}
|
||||
<div class="flex gap-4 items-center">
|
||||
<button type="submit" name="yes" value="1" class="inline-flex items-center justify-center py-2 gap-1 font-medium rounded-sm px-6 text-sm text-white shadow-lg bg-red-500 hover:bg-red-600 hover:ring-2 hover:ring-red-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" />
|
||||
</svg>
|
||||
Ja, löschen
|
||||
</button>
|
||||
<button type="submit" name="no" value="1" class="inline-flex items-center justify-center py-2 gap-1 font-medium rounded-sm px-6 text-sm text-gray-700 shadow-lg bg-white hover:bg-gray-50 hover:ring-2 hover:ring-gray-300 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
|
||||
</svg>
|
||||
Nein, abbrechen
|
||||
</button>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -1,120 +1,85 @@
|
||||
{% extends 'backend_base.html.twig' %}
|
||||
{% extends 'backend_tailwind_base.html.twig' %}
|
||||
{% form_theme form 'tailwind_formtheme.html.twig' %}
|
||||
|
||||
{% block header %}
|
||||
<div>
|
||||
<h1 class="text-psc text-2xl font-medium flex flex-row gap-1">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="h-8">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
|
||||
</svg>
|
||||
Status <span class="text-gray-500">Bearbeiten</span>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="flex flex-wrap items-center gap-4 justify-start shrink-0">
|
||||
<a href="{{ path("psc_system_status_list") }}" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" />
|
||||
</svg>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<h3>
|
||||
<i class="fa fa-hashtag"></i>
|
||||
Status <span>>
|
||||
Bearbeiten </span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 text-end">
|
||||
<a href="{{ path("psc_system_status_list") }}" class="btn btn-default btn-sm"><i class="fa fa-lg fa-fw fa-arrow-left"></i> Zurück</a>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
{{ form_start(form, {attr: {class: ''}}) }}
|
||||
|
||||
<div class="tab-group flex-none md:flex w-full" data-dui-orientation="vertical">
|
||||
<div role="tablist" class="relative mr-5 rounded-sm flex flex-col p-1 w-full md:w-2/12">
|
||||
<div class="tab-indicator absolute left-0 w-1 bg-psc-500 transition-transform duration-300"></div>
|
||||
<a href="#" class="tab-link flex items-center text-sm active px-4 py-2 relative" data-dui-tab-target="all">
|
||||
<svg width="1.5em" height="1.5em" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" color="currentColor" class="button-icon">
|
||||
<path d="M21 7.35304L21 16.647C21 16.8649 20.8819 17.0656 20.6914 17.1715L12.2914 21.8381C12.1102 21.9388 11.8898 21.9388 11.7086 21.8381L3.30861 17.1715C3.11814 17.0656 3 16.8649 3 16.647L2.99998 7.35304C2.99998 7.13514 3.11812 6.93437 3.3086 6.82855L11.7086 2.16188C11.8898 2.06121 12.1102 2.06121 12.2914 2.16188L20.6914 6.82855C20.8818 6.93437 21 7.13514 21 7.35304Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M3.52844 7.29357L11.7086 11.8381C11.8898 11.9388 12.1102 11.9388 12.2914 11.8381L20.5 7.27777" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M12 21L12 12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M11.6914 11.8285L3.89139 7.49521C3.49147 7.27304 3 7.56222 3 8.01971V16.647C3 16.8649 3.11813 17.0656 3.30861 17.1715L11.1086 21.5048C11.5085 21.727 12 21.4378 12 20.9803V12.353C12 12.1351 11.8819 11.9344 11.6914 11.8285Z" fill="currentColor" stroke="currentColor" stroke-linejoin="round"></path>
|
||||
</svg> Allgemein
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="body">
|
||||
{{ form_start(form, { 'attr': {'class': ''}}) }}
|
||||
<div class="panel">
|
||||
<div class="header">
|
||||
<h4>Bearbeiten</h4>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<ul class="nav nav-pills flex-column" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-bs-toggle="tab" href="#all" role="tab">Allgemein</a>
|
||||
</li>
|
||||
<div class="rounded-sm w-full border bg-white p-5 shadow-lg dark:border-strokedark dark:bg-boxdark">
|
||||
<div id="all" class="tab-content w-full text-stone-500 text-sm block">
|
||||
<h6 class="text-sm mt-3 mb-6 font-bold uppercase">Allgemein</h6>
|
||||
|
||||
</ul>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.code) }}
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="all" role="tabpanel">
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.code) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.code) }}
|
||||
</div>
|
||||
{{ form_errors(form.code) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.enable) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.enable) }}
|
||||
</div>
|
||||
{{ form_errors(form.enable) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.internalName) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.internalName) }}
|
||||
</div>
|
||||
{{ form_errors(form.internalName) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.externalName) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.externalName) }}
|
||||
</div>
|
||||
{{ form_errors(form.externalName) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.enable) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.typ) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.typ) }}
|
||||
</div>
|
||||
{{ form_errors(form.typ) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="row mb-3">
|
||||
{{ form_label(form.color) }}
|
||||
<div class="col-md-8">
|
||||
{{ form_widget(form.color) }}
|
||||
</div>
|
||||
{{ form_errors(form.color) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.internalName) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.externalName) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap">
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.typ) }}
|
||||
</div>
|
||||
<div class="w-full lg:w-6/12 px-4">
|
||||
{{ form_row(form.color) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel">
|
||||
<div class="body">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-offset-1 col-md-11">
|
||||
<button class="btn btn-primary btn-sm">Speichern</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
|
||||
<div class="text-end my-2">
|
||||
<button type="submit" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
|
||||
</svg>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -1,90 +1,118 @@
|
||||
{% extends 'backend_base.html.twig' %}
|
||||
{% extends 'backend_tailwind_base.html.twig' %}
|
||||
|
||||
{% block header %}
|
||||
<div>
|
||||
<h1 class="text-psc text-2xl font-medium flex flex-row gap-1">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="h-8">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
|
||||
</svg>
|
||||
Status <span class="text-gray-500">Liste</span>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="flex flex-wrap items-center gap-4 justify-start shrink-0">
|
||||
<a href="{{ path("psc_system_status_create") }}" class="inline-flex items-center justify-center py-1 gap-1 font-medium rounded-sm px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="button-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" />
|
||||
</svg>
|
||||
Status hinzufügen
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<h3>
|
||||
<i class="fa-fw fa fa-paper-plane"></i>
|
||||
Status <span>>
|
||||
Liste </span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 text-end">
|
||||
|
||||
<div class="flex flex-col gap-6">
|
||||
<div class="rounded-sm border bg-white px-7.5 py-6 shadow-lg dark:border-strokedark dark:bg-boxdark">
|
||||
<h2 class="ml-4 text-psc text-xl font-medium mb-4">Auftragsstatus</h2>
|
||||
<div class="">
|
||||
<div class="w-full grid grid-cols-5 border-t border-stroke px-4 bg-slate-100 py-4.5 dark:border-strokedark sm:grid-cols-10 md:px-6 2xl:px-7.5">
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
<p class="font-medium">Code</p>
|
||||
</div>
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
<p class="font-medium">Aktiv</p>
|
||||
</div>
|
||||
<div class="col-span-2 sm:col-span-3 px-2 py-3">
|
||||
<p class="font-medium">interner Name</p>
|
||||
</div>
|
||||
<div class="hidden sm:block sm:col-span-3 px-2 py-3">
|
||||
<p class="font-medium">externer Name</p>
|
||||
</div>
|
||||
<div class="col-span-1 sm:col-span-2 px-2 py-3"></div>
|
||||
</div>
|
||||
{% for status in statusOrder %}
|
||||
<div class="w-full grid grid-cols-5 border-t border-stroke px-4 py-4.5 dark:border-strokedark sm:grid-cols-10 md:px-6 2xl:px-7.5">
|
||||
<div class="col-span-1 px-2 py-3">{{ status.code }}</div>
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
{% if status.enable %}
|
||||
<div class="badge-yes">Ja</div>
|
||||
{% else %}
|
||||
<div class="badge-no">Nein</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-span-2 sm:col-span-3 px-2 py-3">{{ status.internalName }}</div>
|
||||
<div class="hidden sm:block sm:col-span-3 px-2 py-3">{{ status.externalName }}</div>
|
||||
<div class="col-span-1 sm:col-span-2 px-2 py-3 text-end flex flex-row gap-2 justify-end">
|
||||
<a href="{{ path("psc_system_status_edit", {uuid: status.id}) }}" class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="table-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="{{ path("psc_system_status_delete", {uuid: status.id}) }}" class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="table-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="panel">
|
||||
<div class="body">
|
||||
<a class="btn btn-info btn-sm" href="{{ path("psc_system_status_create") }}">Status
|
||||
hinzufügen</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel">
|
||||
<div class="body">
|
||||
<h2>Auftragsstatus</h2>
|
||||
<table class="table">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Aktiv</th>
|
||||
<th>interner Name</th>
|
||||
<th>externer Name</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for status in statusOrder %}
|
||||
<tr {% if loop.index is odd %}class="color"{% endif %}>
|
||||
<td>{{ status.code }}</td>
|
||||
<td>{% if status.enable %}<span class="badge bg-success">Ja</span>{% else %}<span
|
||||
class="badge bg-warning">Nein</span>{% endif %}</td>
|
||||
<td>{{ status.internalName }}</td>
|
||||
<td>{{ status.externalName }}</td>
|
||||
<td class="text-end">
|
||||
<a href="{{ path("psc_system_status_edit", {uuid: status.id}) }}" class="btn btn-info btn-sm"><span class="fa fa-edit"></span></a>
|
||||
<a href="{{ path("psc_system_status_delete", {uuid: status.id}) }}" class="btn btn-danger btn-sm"><span class="fa fa-trash"></span></a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel">
|
||||
<div class="body">
|
||||
<h2>Positionsstatus</h2>
|
||||
<table class="table">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Aktiv</th>
|
||||
<th>interner Name</th>
|
||||
<th>externer Name</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for status in statusPosition %}
|
||||
<tr {% if loop.index is odd %}class="color"{% endif %}>
|
||||
<td>{{ status.code }}</td>
|
||||
<td>{% if status.enable %}<span class="badge bg-success">Ja</span>{% else %}<span
|
||||
class="badge bg-warning">Nein</span>{% endif %}</td>
|
||||
<td>{{ status.internalName }}</td>
|
||||
<td>{{ status.externalName }}</td>
|
||||
<td class="text-end">
|
||||
<a href="{{ path("psc_system_status_edit", {uuid: status.id}) }}" class="btn btn-info btn-sm"><span class="fa fa-edit"></span></a>
|
||||
<a href="{{ path("psc_system_status_delete", {uuid: status.id}) }}" class="btn btn-danger btn-sm"><span class="fa fa-trash"></span></a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="rounded-sm border bg-white px-7.5 py-6 shadow-lg dark:border-strokedark dark:bg-boxdark">
|
||||
<h2 class="ml-4 text-psc text-xl font-medium mb-4">Positionsstatus</h2>
|
||||
<div class="">
|
||||
<div class="w-full grid grid-cols-5 border-t border-stroke px-4 bg-slate-100 py-4.5 dark:border-strokedark sm:grid-cols-10 md:px-6 2xl:px-7.5">
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
<p class="font-medium">Code</p>
|
||||
</div>
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
<p class="font-medium">Aktiv</p>
|
||||
</div>
|
||||
<div class="col-span-2 sm:col-span-3 px-2 py-3">
|
||||
<p class="font-medium">interner Name</p>
|
||||
</div>
|
||||
<div class="hidden sm:block sm:col-span-3 px-2 py-3">
|
||||
<p class="font-medium">externer Name</p>
|
||||
</div>
|
||||
<div class="col-span-1 sm:col-span-2 px-2 py-3"></div>
|
||||
</div>
|
||||
{% for status in statusPosition %}
|
||||
<div class="w-full grid grid-cols-5 border-t border-stroke px-4 py-4.5 dark:border-strokedark sm:grid-cols-10 md:px-6 2xl:px-7.5">
|
||||
<div class="col-span-1 px-2 py-3">{{ status.code }}</div>
|
||||
<div class="col-span-1 px-2 py-3">
|
||||
{% if status.enable %}
|
||||
<div class="badge-yes">Ja</div>
|
||||
{% else %}
|
||||
<div class="badge-no">Nein</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-span-2 sm:col-span-3 px-2 py-3">{{ status.internalName }}</div>
|
||||
<div class="hidden sm:block sm:col-span-3 px-2 py-3">{{ status.externalName }}</div>
|
||||
<div class="col-span-1 sm:col-span-2 px-2 py-3 text-end flex flex-row gap-2 justify-end">
|
||||
<a href="{{ path("psc_system_status_edit", {uuid: status.id}) }}" class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="table-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="{{ path("psc_system_status_delete", {uuid: status.id}) }}" class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="table-icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -756,6 +756,29 @@ html {
|
||||
border-color: #2563eb;
|
||||
}
|
||||
|
||||
.form-input::-moz-placeholder, .form-textarea::-moz-placeholder{
|
||||
color: #6b7280;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.form-input::placeholder,.form-textarea::placeholder{
|
||||
color: #6b7280;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.form-input::-webkit-datetime-edit-fields-wrapper{
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.form-input::-webkit-date-and-time-value{
|
||||
min-height: 1.5em;
|
||||
}
|
||||
|
||||
.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-year-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-meridiem-field{
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.form-select{
|
||||
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
|
||||
background-position: right 0.5rem center;
|
||||
@ -891,6 +914,10 @@ html {
|
||||
grid-column: span 2 / span 2;
|
||||
}
|
||||
|
||||
.col-span-6{
|
||||
grid-column: span 6 / span 6;
|
||||
}
|
||||
|
||||
.col-span-full{
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
@ -942,6 +969,10 @@ html {
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
.mb-4{
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.mb-6{
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
@ -965,6 +996,10 @@ html {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
.ml-3{
|
||||
margin-left: 0.75rem;
|
||||
}
|
||||
|
||||
.ml-4{
|
||||
margin-left: 1rem;
|
||||
}
|
||||
@ -1010,6 +1045,10 @@ html {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.mt-6{
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
.block{
|
||||
display: block;
|
||||
}
|
||||
@ -1206,6 +1245,10 @@ html {
|
||||
max-width: 20em;
|
||||
}
|
||||
|
||||
.max-w-md{
|
||||
max-width: 28rem;
|
||||
}
|
||||
|
||||
.flex-1{
|
||||
flex: 1 1 0%;
|
||||
}
|
||||
@ -1218,6 +1261,10 @@ html {
|
||||
flex-shrink: 1;
|
||||
}
|
||||
|
||||
.flex-shrink-0{
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.shrink-0{
|
||||
flex-shrink: 0;
|
||||
}
|
||||
@ -1314,14 +1361,26 @@ html {
|
||||
grid-template-columns: repeat(1, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.grid-cols-10{
|
||||
grid-template-columns: repeat(10, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.grid-cols-4{
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.grid-cols-5{
|
||||
grid-template-columns: repeat(5, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.grid-cols-7{
|
||||
grid-template-columns: repeat(7, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.grid-cols-8{
|
||||
grid-template-columns: repeat(8, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.flex-row{
|
||||
flex-direction: row;
|
||||
}
|
||||
@ -1386,6 +1445,10 @@ html {
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.gap-6{
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
.gap-8{
|
||||
gap: 2rem;
|
||||
}
|
||||
@ -1548,6 +1611,10 @@ html {
|
||||
border-left-width: 0px;
|
||||
}
|
||||
|
||||
.border-l-4{
|
||||
border-left-width: 4px;
|
||||
}
|
||||
|
||||
.border-r{
|
||||
border-right-width: 1px;
|
||||
}
|
||||
@ -1600,6 +1667,11 @@ html {
|
||||
border-color: rgb(231 229 228 / var(--tw-border-opacity));
|
||||
}
|
||||
|
||||
.border-yellow-400{
|
||||
--tw-border-opacity: 1;
|
||||
border-color: rgb(250 204 21 / var(--tw-border-opacity));
|
||||
}
|
||||
|
||||
.bg-blue-600{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(37 99 235 / var(--tw-bg-opacity));
|
||||
@ -1659,6 +1731,11 @@ html {
|
||||
background-color: rgb(254 242 242 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.bg-red-500{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(239 68 68 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.bg-slate-100{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(241 245 249 / var(--tw-bg-opacity));
|
||||
@ -1683,6 +1760,11 @@ html {
|
||||
background-color: rgb(255 255 255 / 0.5);
|
||||
}
|
||||
|
||||
.bg-yellow-50{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(254 252 232 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.bg-yellow-500{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(234 179 8 / var(--tw-bg-opacity));
|
||||
@ -2011,6 +2093,16 @@ html {
|
||||
color: rgb(255 255 255 / var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.text-yellow-400{
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(250 204 21 / var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.text-yellow-700{
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(161 98 7 / var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.text-yellow-800{
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(133 77 14 / var(--tw-text-opacity));
|
||||
@ -2450,6 +2542,11 @@ html {
|
||||
background-color: rgb(229 231 235 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.hover\:bg-gray-50:hover{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(249 250 251 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.hover\:bg-gray-500\/5:hover{
|
||||
background-color: rgb(107 114 128 / 0.05);
|
||||
}
|
||||
@ -2468,6 +2565,11 @@ html {
|
||||
background-color: rgb(172 48 37 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.hover\:bg-red-600:hover{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(220 38 38 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.hover\:bg-white:hover{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
||||
@ -2504,11 +2606,21 @@ html {
|
||||
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
||||
}
|
||||
|
||||
.hover\:ring-gray-300:hover{
|
||||
--tw-ring-opacity: 1;
|
||||
--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity));
|
||||
}
|
||||
|
||||
.hover\:ring-psc-500:hover{
|
||||
--tw-ring-opacity: 1;
|
||||
--tw-ring-color: rgb(234 100 27 / var(--tw-ring-opacity));
|
||||
}
|
||||
|
||||
.hover\:ring-red-500:hover{
|
||||
--tw-ring-opacity: 1;
|
||||
--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity));
|
||||
}
|
||||
|
||||
.hover\:ring-offset-2:hover{
|
||||
--tw-ring-offset-width: 2px;
|
||||
}
|
||||
@ -2927,10 +3039,22 @@ html {
|
||||
grid-column: span 2 / span 2;
|
||||
}
|
||||
|
||||
.sm\:col-span-3{
|
||||
grid-column: span 3 / span 3;
|
||||
}
|
||||
|
||||
.sm\:block{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.sm\:flex{
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.sm\:grid-cols-10{
|
||||
grid-template-columns: repeat(10, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.sm\:grid-cols-8{
|
||||
grid-template-columns: repeat(8, minmax(0, 1fr));
|
||||
}
|
||||
@ -3018,6 +3142,10 @@ html {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.lg\:w-4\/12{
|
||||
width: 33.333333%;
|
||||
}
|
||||
|
||||
.lg\:w-6\/12{
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user