First Commit

This commit is contained in:
marco
2026-09-01 10:46:29 -03:00
commit bf96b77e9c
10000 changed files with 3508600 additions and 0 deletions
+429
View File
@@ -0,0 +1,429 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* contact/views/admin/index.twig */
class __TwigTemplate_1985e325c45fcfbb6e6030b7126ad8e3 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'content' => [$this, 'block_content'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/dashboard.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/dashboard.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<div class=\"container-fluid px-4\">
<h1 class=\"mt-4\">";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield "</h1>
<ol class=\"breadcrumb mb-4\">
<li class=\"breadcrumb-item\"><a href=\"";
// line 9
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/dashboard"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.title"), "html", null, true);
yield "</a></li>
<li class=\"breadcrumb-item active\">";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.title"), "html", null, true);
yield "</li>
</ol>
<div class=\"mb-4\">
<div class=\"btn-group\" role=\"group\">
<a href=\"";
// line 15
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/contacts?status=all"), "html", null, true);
yield "\" class=\"btn ";
yield (((($context["current_status"] ?? null) == "all")) ? ("btn-primary") : ("btn-outline-primary"));
yield "\">
";
// line 16
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.statuses.all"), "html", null, true);
yield "
</a>
<a href=\"";
// line 18
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/contacts?status=unread"), "html", null, true);
yield "\" class=\"btn ";
yield (((($context["current_status"] ?? null) == "unread")) ? ("btn-primary") : ("btn-outline-primary"));
yield "\">
";
// line 19
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.statuses.unread"), "html", null, true);
yield "
</a>
<a href=\"";
// line 21
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/contacts?status=read"), "html", null, true);
yield "\" class=\"btn ";
yield (((($context["current_status"] ?? null) == "read")) ? ("btn-primary") : ("btn-outline-primary"));
yield "\">
";
// line 22
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.statuses.read"), "html", null, true);
yield "
</a>
<a href=\"";
// line 24
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/contacts?status=new"), "html", null, true);
yield "\" class=\"btn ";
yield (((($context["current_status"] ?? null) == "new")) ? ("btn-primary") : ("btn-outline-primary"));
yield "\">
";
// line 25
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.statuses.new"), "html", null, true);
yield "
</a>
<a href=\"";
// line 27
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/contacts?status=in_progress"), "html", null, true);
yield "\" class=\"btn ";
yield (((($context["current_status"] ?? null) == "in_progress")) ? ("btn-primary") : ("btn-outline-primary"));
yield "\">
";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.statuses.in_progress"), "html", null, true);
yield "
</a>
<a href=\"";
// line 30
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/contacts?status=resolved"), "html", null, true);
yield "\" class=\"btn ";
yield (((($context["current_status"] ?? null) == "resolved")) ? ("btn-primary") : ("btn-outline-primary"));
yield "\">
";
// line 31
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.statuses.resolved"), "html", null, true);
yield "
</a>
<a href=\"";
// line 33
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/contacts?status=closed"), "html", null, true);
yield "\" class=\"btn ";
yield (((($context["current_status"] ?? null) == "closed")) ? ("btn-primary") : ("btn-outline-primary"));
yield "\">
";
// line 34
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.statuses.closed"), "html", null, true);
yield "
</a>
</div>
</div>
<div class=\"card mb-4\">
<div class=\"card-header\">
<i class=\"bi bi-envelope me-1\"></i>
";
// line 42
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.list_title"), "html", null, true);
yield "
</div>
<div class=\"card-body\">
<div class=\"table-responsive\">
<table class=\"table table-bordered\" id=\"dataTable\" width=\"100%\" cellspacing=\"0\">
<thead>
<tr>
<th>";
// line 49
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.columns.name"), "html", null, true);
yield "</th>
<th>";
// line 50
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.columns.email"), "html", null, true);
yield "</th>
<th>";
// line 51
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.columns.subject"), "html", null, true);
yield "</th>
<th>";
// line 52
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.columns.status"), "html", null, true);
yield "</th>
<th>";
// line 53
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.columns.date"), "html", null, true);
yield "</th>
<th>";
// line 54
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.columns.actions"), "html", null, true);
yield "</th>
</tr>
</thead>
<tbody>
";
// line 58
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["contacts"] ?? null));
$context['_iterated'] = false;
foreach ($context['_seq'] as $context["_key"] => $context["contact"]) {
// line 59
yield " <tr class=\"";
yield (((($tmp = !CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "isRead", [], "method", false, false, false, 59)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ("table-primary") : (""));
yield "\">
<td>
";
// line 61
if ((($tmp = !CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "isRead", [], "method", false, false, false, 61)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 62
yield " <i class=\"bi bi-envelope-fill text-primary me-1\"></i>
";
} else {
// line 64
yield " <i class=\"bi bi-envelope-open text-muted me-1\"></i>
";
}
// line 66
yield " ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "contacts_name", [], "any", false, false, false, 66), "html", null, true);
yield "
</td>
<td>";
// line 68
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "contacts_email", [], "any", false, false, false, 68), "html", null, true);
yield "</td>
<td>";
// line 69
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "contacts_subject", [], "any", false, false, false, 69), "html", null, true);
yield "</td>
<td>
";
// line 71
$context["statusColors"] = ["new" => "primary", "in_progress" => "warning", "resolved" => "success", "closed" => "secondary"];
// line 77
yield " <span class=\"badge bg-";
yield (((CoreExtension::getAttribute($this->env, $this->source, ($context["statusColors"] ?? null), CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "contacts_status", [], "any", false, false, false, 77), [], "array", true, true, false, 77) && !(null === (($_v0 = ($context["statusColors"] ?? null)) && is_array($_v0) || $_v0 instanceof ArrayAccess ? ($_v0[CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "contacts_status", [], "any", false, false, false, 77)] ?? null) : null)))) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((($_v1 = ($context["statusColors"] ?? null)) && is_array($_v1) || $_v1 instanceof ArrayAccess ? ($_v1[CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "contacts_status", [], "any", false, false, false, 77)] ?? null) : null), "html", null, true)) : ("secondary"));
yield "\">
";
// line 78
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()(("contact.admin.statuses." . CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "contacts_status", [], "any", false, false, false, 78))), "html", null, true);
yield "
</span>
</td>
<td>";
// line 81
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "formatted_created_at", [], "any", false, false, false, 81), "html", null, true);
yield "</td>
<td>
<a href=\"";
// line 83
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("admin/contacts/" . CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "contacts_id", [], "any", false, false, false, 83))), "html", null, true);
yield "\" class=\"btn btn-info btn-sm\" title=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.actions.view"), "html", null, true);
yield "\">
<i class=\"bi bi-eye\"></i>
</a>
<button type=\"button\" class=\"btn btn-sm ";
// line 86
yield (((($tmp = CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "isRead", [], "method", false, false, false, 86)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ("btn-secondary") : ("btn-success"));
yield "\"
onclick=\"toggleReadStatus(";
// line 87
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "contacts_id", [], "any", false, false, false, 87), "html", null, true);
yield ")\"
title=\"";
// line 88
yield (((($tmp = CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "isRead", [], "method", false, false, false, 88)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.actions.mark_unread"), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.actions.mark_read"), "html", null, true)));
yield "\">
<i class=\"bi ";
// line 89
yield (((($tmp = CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "isRead", [], "method", false, false, false, 89)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ("bi-envelope") : ("bi-envelope-check"));
yield "\"></i>
</button>
<button type=\"button\" class=\"btn btn-danger btn-sm\"
onclick=\"deleteContact(";
// line 92
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["contact"], "contacts_id", [], "any", false, false, false, 92), "html", null, true);
yield ")\"
title=\"";
// line 93
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.actions.delete"), "html", null, true);
yield "\">
<i class=\"bi bi-trash\"></i>
</button>
</td>
</tr>
";
$context['_iterated'] = true;
}
// line 98
if (!$context['_iterated']) {
// line 99
yield " <tr>
<td colspan=\"6\" class=\"text-center\">";
// line 100
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.no_messages"), "html", null, true);
yield "</td>
</tr>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['contact'], $context['_parent'], $context['_iterated']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 103
yield " </tbody>
</table>
</div>
</div>
</div>
</div>
<script>
function toggleReadStatus(id) {
fetch(`";
// line 112
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/contacts/"), "html", null, true);
yield "\${id}/toggle-read`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
})
.then(response => response.json())
.then(data => {
if (data.success) {
location.reload();
} else {
alert(data.message || '";
// line 124
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.error_occurred"), "html", null, true);
yield "');
}
})
.catch(error => {
console.error('Error:', error);
alert('";
// line 129
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.error_occurred"), "html", null, true);
yield "');
});
}
function deleteContact(id) {
if (confirm(\"";
// line 134
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.confirm_delete"), "html", null, true);
yield "\")) {
fetch(`";
// line 135
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/contacts/"), "html", null, true);
yield "\${id}`, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
})
.then(response => response.json())
.then(data => {
if (data.success) {
location.reload();
} else {
alert(data.message || '";
// line 147
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.error_occurred"), "html", null, true);
yield "');
}
})
.catch(error => {
console.error('Error:', error);
alert('";
// line 152
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.admin.error_occurred"), "html", null, true);
yield "');
});
}
}
</script>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "contact/views/admin/index.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 391 => 152, 383 => 147, 368 => 135, 364 => 134, 356 => 129, 348 => 124, 333 => 112, 322 => 103, 313 => 100, 310 => 99, 308 => 98, 298 => 93, 294 => 92, 288 => 89, 284 => 88, 280 => 87, 276 => 86, 268 => 83, 263 => 81, 257 => 78, 252 => 77, 250 => 71, 245 => 69, 241 => 68, 235 => 66, 231 => 64, 227 => 62, 225 => 61, 219 => 59, 214 => 58, 207 => 54, 203 => 53, 199 => 52, 195 => 51, 191 => 50, 187 => 49, 177 => 42, 166 => 34, 160 => 33, 155 => 31, 149 => 30, 144 => 28, 138 => 27, 133 => 25, 127 => 24, 122 => 22, 116 => 21, 111 => 19, 105 => 18, 100 => 16, 94 => 15, 86 => 10, 80 => 9, 75 => 7, 72 => 6, 65 => 5, 52 => 3, 41 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "contact/views/admin/index.twig", "/app/modules/contact/views/admin/index.twig");
}
}
+102
View File
@@ -0,0 +1,102 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* @users/admin/nav.twig */
class __TwigTemplate_b33844e3ffa4c406c8dcc1be4e0f7c21 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<div class=\"mb-4 d-print-none\">
<div class=\"btn-group\" role=\"group\" aria-label=\"Navegação Usuários\">
<a href=\"/admin/users\" class=\"btn btn-outline-primary ";
// line 3
if ((($context["request_path"] ?? null) == "/admin/users")) {
yield "active";
}
yield "\">
<i class=\"bi bi-people\"></i> Todos os Usuários
</a>
<a href=\"/admin/users/create\" class=\"btn btn-outline-primary ";
// line 6
if ((($context["request_path"] ?? null) == "/admin/users/create")) {
yield "active";
}
yield "\">
<i class=\"bi bi-person-plus\"></i> Novo Usuário
</a>
<a href=\"/admin/users/manual\" class=\"btn btn-outline-info ";
// line 9
if ((($context["request_path"] ?? null) == "/admin/users/manual")) {
yield "active";
}
yield "\">
<i class=\"bi bi-book\"></i> Manual
</a>
</div>
</div>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "@users/admin/nav.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 62 => 9, 54 => 6, 46 => 3, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "@users/admin/nav.twig", "/app/modules/users/views/admin/nav.twig");
}
}
+533
View File
@@ -0,0 +1,533 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* @index/layout.twig */
class __TwigTemplate_8723fb70cf74eece5affeb4939cd01b7 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
'head' => [$this, 'block_head'],
'layout_navbar' => [$this, 'block_layout_navbar'],
'layout_body' => [$this, 'block_layout_body'],
'content' => [$this, 'block_content'],
'scripts' => [$this, 'block_scripts'],
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"pt-BR\">
<head>
<meta charset=\"utf-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">
";
// line 8
yield " <title>";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("title", $context)) ? (Twig\Extension\CoreExtension::default(($context["title"] ?? null), ((CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_title", [], "any", true, true, false, 8)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_title", [], "any", false, false, false, 8), ($context["platformName"] ?? null))) : (($context["platformName"] ?? null))))) : (((CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_title", [], "any", true, true, false, 8)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_title", [], "any", false, false, false, 8), ($context["platformName"] ?? null))) : (($context["platformName"] ?? null))))), "html", null, true);
yield "</title>
<meta name=\"description\" content=\"";
// line 9
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_description", [], "any", false, false, false, 9), "html", null, true);
yield "\">
";
// line 10
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_keywords", [], "any", false, false, false, 10)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 11
yield " <meta name=\"keywords\" content=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_keywords", [], "any", false, false, false, 11), "html", null, true);
yield "\">
";
}
// line 13
yield " <link rel=\"canonical\" href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("canonical_url", $context)) ? (Twig\Extension\CoreExtension::default(($context["canonical_url"] ?? null), $this->env->getFunction('url')->getCallable()(((array_key_exists("request_path", $context)) ? (Twig\Extension\CoreExtension::default(($context["request_path"] ?? null), "")) : (""))))) : ($this->env->getFunction('url')->getCallable()(((array_key_exists("request_path", $context)) ? (Twig\Extension\CoreExtension::default(($context["request_path"] ?? null), "")) : (""))))), "html", null, true);
yield "\">
";
// line 16
yield " <meta property=\"og:type\" content=\"website\">
<meta property=\"og:url\" content=\"";
// line 17
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(((array_key_exists("request_path", $context)) ? (Twig\Extension\CoreExtension::default(($context["request_path"] ?? null), "")) : (""))), "html", null, true);
yield "\">
<meta property=\"og:title\" content=\"";
// line 18
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_title", [], "any", true, true, false, 18)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_title", [], "any", false, false, false, 18), ((array_key_exists("title", $context)) ? (Twig\Extension\CoreExtension::default(($context["title"] ?? null), ($context["platformName"] ?? null))) : (($context["platformName"] ?? null))))) : (((array_key_exists("title", $context)) ? (Twig\Extension\CoreExtension::default(($context["title"] ?? null), ($context["platformName"] ?? null))) : (($context["platformName"] ?? null))))), "html", null, true);
yield "\">
<meta property=\"og:description\" content=\"";
// line 19
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_description", [], "any", true, true, false, 19)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_description", [], "any", false, false, false, 19), CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_description", [], "any", false, false, false, 19))) : (CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_description", [], "any", false, false, false, 19))), "html", null, true);
yield "\">
";
// line 20
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_image", [], "any", false, false, false, 20)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 21
yield " <meta property=\"og:image\" content=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("storage/uploads/seo/" . CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_image", [], "any", false, false, false, 21))), "html", null, true);
yield "\">
";
}
// line 23
yield "
";
// line 25
yield " <meta name=\"twitter:card\" content=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "twitter_card", [], "any", true, true, false, 25)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "twitter_card", [], "any", false, false, false, 25), "summary_large_image")) : ("summary_large_image")), "html", null, true);
yield "\">
<meta name=\"twitter:url\" content=\"";
// line 26
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(((array_key_exists("request_path", $context)) ? (Twig\Extension\CoreExtension::default(($context["request_path"] ?? null), "")) : (""))), "html", null, true);
yield "\">
<meta name=\"twitter:title\" content=\"";
// line 27
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_title", [], "any", true, true, false, 27)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_title", [], "any", false, false, false, 27), ((array_key_exists("title", $context)) ? (Twig\Extension\CoreExtension::default(($context["title"] ?? null), ($context["platformName"] ?? null))) : (($context["platformName"] ?? null))))) : (((array_key_exists("title", $context)) ? (Twig\Extension\CoreExtension::default(($context["title"] ?? null), ($context["platformName"] ?? null))) : (($context["platformName"] ?? null))))), "html", null, true);
yield "\">
<meta name=\"twitter:description\" content=\"";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_description", [], "any", true, true, false, 28)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_description", [], "any", false, false, false, 28), CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_description", [], "any", false, false, false, 28))) : (CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "meta_description", [], "any", false, false, false, 28))), "html", null, true);
yield "\">
";
// line 29
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_image", [], "any", false, false, false, 29)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 30
yield " <meta name=\"twitter:image\" content=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("storage/uploads/seo/" . CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "og_image", [], "any", false, false, false, 30))), "html", null, true);
yield "\">
";
}
// line 32
yield "
";
// line 34
yield " ";
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "google_site_verification", [], "any", false, false, false, 34)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 35
yield " <meta name=\"google-site-verification\" content=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "google_site_verification", [], "any", false, false, false, 35), "html", null, true);
yield "\">
";
}
// line 37
yield "
";
// line 39
yield " ";
if ((CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_type", [], "any", false, false, false, 39) && (CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_type", [], "any", false, false, false, 39) != "none"))) {
// line 40
yield " <script type=\"application/ld+json\">
{
\"@context\": \"https://schema.org\",
\"@type\": \"";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_type", [], "any", false, false, false, 43), "html", null, true);
yield "\",
\"name\": \"";
// line 44
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_name", [], "any", false, false, false, 44), "html", null, true);
yield "\",
\"url\": \"";
// line 45
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_url", [], "any", false, false, false, 45), "html", null, true);
yield "\",
\"description\": \"";
// line 46
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_description", [], "any", false, false, false, 46), "html", null, true);
yield "\",
";
// line 47
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_phone", [], "any", false, false, false, 47)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
yield "\"telephone\": \"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_phone", [], "any", false, false, false, 47), "html", null, true);
yield "\",";
}
// line 48
yield " ";
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_email", [], "any", false, false, false, 48)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
yield "\"email\": \"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_email", [], "any", false, false, false, 48), "html", null, true);
yield "\",";
}
// line 49
yield " ";
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_address", [], "any", false, false, false, 49)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 50
yield " \"address\": {
\"@type\": \"PostalAddress\",
\"streetAddress\": \"";
// line 52
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_address", [], "any", false, false, false, 52), "html", null, true);
yield "\",
\"addressLocality\": \"";
// line 53
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_city", [], "any", false, false, false, 53), "html", null, true);
yield "\",
\"addressRegion\": \"";
// line 54
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_state", [], "any", false, false, false, 54), "html", null, true);
yield "\",
\"postalCode\": \"";
// line 55
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_zip", [], "any", false, false, false, 55), "html", null, true);
yield "\",
\"addressCountry\": \"";
// line 56
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_country", [], "any", false, false, false, 56), "html", null, true);
yield "\"
},
";
}
// line 59
yield " \"sameAs\": [
";
// line 60
$context["social_links"] = Twig\Extension\CoreExtension::split($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "json_ld_social_links", [], "any", false, false, false, 60), "
");
// line 61
yield " ";
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["social_links"] ?? null));
$context['loop'] = [
'parent' => $context['_parent'],
'index0' => 0,
'index' => 1,
'first' => true,
];
if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
$length = count($context['_seq']);
$context['loop']['revindex0'] = $length - 1;
$context['loop']['revindex'] = $length;
$context['loop']['length'] = $length;
$context['loop']['last'] = 1 === $length;
}
foreach ($context['_seq'] as $context["_key"] => $context["link"]) {
// line 62
yield " \"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::trim($context["link"]), "html", null, true);
yield "\"";
yield (((($tmp = !CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 62)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (",") : (""));
yield "
";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['revindex0'], $context['loop']['revindex'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['link'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 64
yield " ]
}
</script>
";
}
// line 68
yield "
";
// line 70
yield " ";
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "google_analytics_id", [], "any", false, false, false, 70)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 71
yield " <script async src=\"https://www.googletagmanager.com/gtag/js?id=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "google_analytics_id", [], "any", false, false, false, 71), "html", null, true);
yield "\"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '";
// line 76
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["seo"] ?? null), "google_analytics_id", [], "any", false, false, false, 76), "html", null, true);
yield "');
</script>
";
}
// line 79
yield "
";
// line 81
yield " <link rel=\"stylesheet\" href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()("css/bootstrap.min.css"), "html", null, true);
yield "\">
";
// line 84
yield " <link rel=\"stylesheet\" href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()("css/landing-page.css"), "html", null, true);
yield "\">
";
// line 87
yield " <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css\">
";
// line 90
yield "
";
// line 92
yield " <script src=\"https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js\" defer></script>
";
// line 94
yield from $this->unwrap()->yieldBlock('head', $context, $blocks);
// line 95
yield "
";
// line 97
yield " <style id=\"theme-customizer-css\">
:root {
--primary-color: ";
// line 99
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["theme_settings"] ?? null), "primary_color", [], "any", true, true, false, 99)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["theme_settings"] ?? null), "primary_color", [], "any", false, false, false, 99), "#0d6efd")) : ("#0d6efd")), "html", null, true);
yield ";
--bg-color: ";
// line 100
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["theme_settings"] ?? null), "background_color", [], "any", true, true, false, 100)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["theme_settings"] ?? null), "background_color", [], "any", false, false, false, 100), "#f8f9fa")) : ("#f8f9fa")), "html", null, true);
yield ";
--text-color: ";
// line 101
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["theme_settings"] ?? null), "text_color", [], "any", true, true, false, 101)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["theme_settings"] ?? null), "text_color", [], "any", false, false, false, 101), "#212529")) : ("#212529")), "html", null, true);
yield ";
}
body {
background-color: var(--bg-color) !important;
color: var(--text-color) !important;
}
.text-primary, .btn-primary {
color: var(--primary-color) !important;
}
.bg-primary, .btn-primary {
background-color: var(--primary-color) !important;
border-color: var(--primary-color) !important;
}
";
// line 114
if ((CoreExtension::getAttribute($this->env, $this->source, ($context["theme_settings"] ?? null), "container_width", [], "any", false, false, false, 114) == "container-fluid")) {
// line 115
yield " .container {
max-width: 100% !important;
}
";
}
// line 119
yield " </style>
</head>
<body style=\"background:#f8f9fa;\">
";
// line 124
yield from $this->unwrap()->yieldBlock('layout_navbar', $context, $blocks);
// line 130
yield "
";
// line 131
yield from $this->unwrap()->yieldBlock('layout_body', $context, $blocks);
// line 137
yield "
";
// line 139
yield " ";
if (( !($context["is_maintenance_mode"] ?? null) || (CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", true, true, false, 139) && (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 139), "role", [], "any", false, false, false, 139) == "super_admin")))) {
// line 140
yield " ";
yield from $this->load("partials/footer.twig", 140)->unwrap()->yield($context);
// line 141
yield " ";
}
// line 142
yield "
";
// line 144
yield " <script src=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()("js/bootstrap.bundle.js"), "html", null, true);
yield "\"></script>
";
// line 147
yield "
";
// line 148
yield from $this->unwrap()->yieldBlock('scripts', $context, $blocks);
// line 149
yield "
<link rel=\"stylesheet\" type=\"text/css\" href=\"/consent/cookieconsent.min.css\" />
<script src=\"/consent/cookieconsent.min.js\"></script>
<script>
window.addEventListener(\"load\", function(){
window.cookieconsent.initialise({
\"palette\": {
\"popup\": {
\"background\": \"#216942\",
\"text\": \"#b2d192\"
},
\"button\": {
\"background\": \"#afed71\"
}
},
\"content\": {
\"message\": \"";
// line 168
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.cookie_consent.message"), "html", null, true);
yield "\",
\"dismiss\": \"";
// line 169
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.cookie_consent.dismiss"), "html", null, true);
yield "\",
\"link\": \"";
// line 170
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.footer.terms"), "html", null, true);
yield "\",
\"href\": \"/user_terms.html\"
}
})});
</script>
</body>
</html>
";
yield from [];
}
// line 94
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_head(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield from [];
}
// line 124
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_layout_navbar(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 125
yield " ";
// line 126
yield " ";
if (( !($context["is_maintenance_mode"] ?? null) || (CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", true, true, false, 126) && (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 126), "role", [], "any", false, false, false, 126) == "super_admin")))) {
// line 127
yield " ";
yield from $this->load("partials/nav-bar.twig", 127)->unwrap()->yield($context);
// line 128
yield " ";
}
// line 129
yield " ";
yield from [];
}
// line 131
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_layout_body(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 132
yield " ";
// line 133
yield " <main class=\"container py-4\">
";
// line 134
yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
// line 135
yield " </main>
";
yield from [];
}
// line 134
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield from [];
}
// line 148
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_scripts(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "@index/layout.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 496 => 148, 486 => 134, 480 => 135, 478 => 134, 475 => 133, 473 => 132, 466 => 131, 461 => 129, 458 => 128, 455 => 127, 452 => 126, 450 => 125, 443 => 124, 433 => 94, 416 => 170, 412 => 169, 408 => 168, 387 => 149, 385 => 148, 382 => 147, 376 => 144, 373 => 142, 370 => 141, 367 => 140, 364 => 139, 361 => 137, 359 => 131, 356 => 130, 354 => 124, 347 => 119, 341 => 115, 339 => 114, 323 => 101, 319 => 100, 315 => 99, 311 => 97, 308 => 95, 306 => 94, 302 => 92, 299 => 90, 295 => 87, 289 => 84, 283 => 81, 280 => 79, 274 => 76, 265 => 71, 262 => 70, 259 => 68, 253 => 64, 234 => 62, 216 => 61, 213 => 60, 210 => 59, 204 => 56, 200 => 55, 196 => 54, 192 => 53, 188 => 52, 184 => 50, 181 => 49, 174 => 48, 168 => 47, 164 => 46, 160 => 45, 156 => 44, 152 => 43, 147 => 40, 144 => 39, 141 => 37, 135 => 35, 132 => 34, 129 => 32, 123 => 30, 121 => 29, 117 => 28, 113 => 27, 109 => 26, 104 => 25, 101 => 23, 95 => 21, 93 => 20, 89 => 19, 85 => 18, 81 => 17, 78 => 16, 72 => 13, 66 => 11, 64 => 10, 60 => 9, 55 => 8, 47 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "@index/layout.twig", "/app/modules/index/views/layout.twig");
}
}
+501
View File
@@ -0,0 +1,501 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* contact/views/index.twig */
class __TwigTemplate_deceba250b5979e30973458887d46339 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'head' => [$this, 'block_head'],
'layout_body' => [$this, 'block_layout_body'],
'scripts' => [$this, 'block_scripts'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "@index/layout.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("@index/layout.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.title"), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_head(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield " <style>
:root {
--primary-gradient: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
--ai-gradient: linear-gradient(135deg, #8b5cf6 0%, #d946ef 100%);
--dark-bg: #0f172a;
}
body {
font-family: 'Inter', system-ui, -apple-system, sans-serif;
background: #f8fafc !important;
}
.contact-hero {
background: var(--dark-bg);
background-image:
radial-gradient(circle at 10% 20%, rgba(59, 130, 246, 0.1) 0%, transparent 40%),
radial-gradient(circle at 90% 80%, rgba(139, 92, 246, 0.1) 0%, transparent 40%);
color: white;
padding: 100px 0 60px;
text-align: center;
}
.contact-badge {
background: rgba(59, 130, 246, 0.1);
border: 1px solid rgba(59, 130, 246, 0.3);
color: #60a5fa;
padding: 8px 20px;
border-radius: 50px;
font-size: 0.9rem;
font-weight: 600;
display: inline-block;
margin-bottom: 20px;
}
.contact-title {
font-size: 3rem;
font-weight: 800;
margin-bottom: 20px;
}
.contact-card {
background: white;
border-radius: 24px;
border: 1px solid #e2e8f0;
overflow: hidden;
box-shadow: 0 20px 40px rgba(0,0,0,0.05);
margin-top: -50px;
}
.contact-info-sidebar {
background: #f1f5f9;
padding: 40px;
height: 100%;
}
.info-item {
display: flex;
gap: 20px;
margin-bottom: 30px;
}
.info-icon {
width: 48px;
height: 48px;
background: white;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.25rem;
color: #3b82f6;
box-shadow: 0 4px 10px rgba(0,0,0,0.05);
flex-shrink: 0;
}
.info-content h5 {
font-weight: 700;
margin-bottom: 5px;
color: #0f172a;
}
.info-content p {
color: #64748b;
margin-bottom: 0;
}
.contact-form-body {
padding: 40px;
}
.form-label {
font-weight: 600;
color: #334155;
margin-bottom: 8px;
}
.form-control {
border-radius: 12px;
padding: 12px 16px;
border: 1px solid #e2e8f0;
transition: all 0.3s;
}
.form-control:focus {
border-color: #3b82f6;
box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}
.btn-submit {
background: var(--primary-gradient);
color: white;
border: none;
padding: 14px 30px;
border-radius: 12px;
font-weight: 700;
transition: all 0.3s;
width: 100%;
}
.btn-submit:hover {
transform: translateY(-2px);
box-shadow: 0 10px 20px rgba(59, 130, 246, 0.3);
color: white;
}
.captcha-box {
background: #f8fafc;
border-radius: 12px;
padding: 15px;
border: 1px dashed #cbd5e1;
margin-bottom: 20px;
}
.alert-toast {
position: fixed;
top: 20px;
right: 20px;
z-index: 1060;
min-width: 300px;
}
</style>
";
yield from [];
}
// line 149
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_layout_body(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 150
yield " <div class=\"alert-toast\" x-data=\"{ show: false, message: '', type: 'success' }\"
@show-alert.window=\"show = true; message = \$event.detail.message; type = \$event.detail.type; setTimeout(() => show = false, 5000)\">
<div x-show=\"show\" x-transition
:class=\"`alert alert-\${type} shadow-lg border-0 rounded-4`\" role=\"alert\">
<div class=\"d-flex align-items-center gap-2\">
<i class=\"bi\" :class=\"type === 'success' ? 'bi-check-circle-fill' : 'bi-exclamation-triangle-fill'\"></i>
<span x-text=\"message\"></span>
</div>
</div>
</div>
<section class=\"contact-hero\">
<div class=\"container\">
<div class=\"contact-badge\">Contato</div>
<h1 class=\"contact-title\">";
// line 164
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.title"), "html", null, true);
yield "</h1>
<p class=\"lead opacity-75 mx-auto\" style=\"max-width: 600px;\">
";
// line 166
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.subtitle"), "html", null, true);
yield "
</p>
</div>
</section>
<section class=\"pb-5\">
<div class=\"container\">
<div class=\"contact-card\">
<div class=\"row g-0\">
<div class=\"col-lg-5\">
<div class=\"contact-info-sidebar\">
<h3 class=\"fw-bold mb-4\" style=\"color: #0f172a;\">Informações</h3>
<div class=\"info-item\">
<div class=\"info-icon\"><i class=\"bi bi-geo-alt\"></i></div>
<div class=\"info-content\">
<h5>";
// line 182
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.address_title"), "html", null, true);
yield "</h5>
<p>";
// line 183
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.address_line1"), "html", null, true);
yield "<br>";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.address_line2"), "html", null, true);
yield "</p>
</div>
</div>
<div class=\"info-item\">
<div class=\"info-icon\"><i class=\"bi bi-telephone\"></i></div>
<div class=\"info-content\">
<h5>";
// line 190
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.phone_title"), "html", null, true);
yield "</h5>
<p>";
// line 191
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.phone_number"), "html", null, true);
yield "<br><small>";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.phone_hours"), "html", null, true);
yield "</small></p>
</div>
</div>
<div class=\"info-item\">
<div class=\"info-icon\"><i class=\"bi bi-envelope\"></i></div>
<div class=\"info-content\">
<h5>";
// line 198
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.email_title"), "html", null, true);
yield "</h5>
<p>";
// line 199
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.email_info"), "html", null, true);
if ((($tmp = $this->env->getFunction('__')->getCallable()("contact.email_support")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
yield "<br>";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.email_support"), "html", null, true);
}
yield "</p>
</div>
</div>
</div>
</div>
<div class=\"col-lg-7\">
<div class=\"contact-form-body\" x-data=\"contactForm()\">
<h3 class=\"fw-bold mb-4\" style=\"color: #0f172a;\">";
// line 206
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.form_title"), "html", null, true);
yield "</h3>
<form @submit.prevent=\"submitForm\">
<div class=\"row\">
<div class=\"col-md-6 mb-3\">
<label class=\"form-label\">";
// line 210
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.form_name"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" x-model=\"formData.name\" required placeholder=\"Seu nome completo\">
</div>
<div class=\"col-md-6 mb-3\">
<label class=\"form-label\">";
// line 214
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.form_email"), "html", null, true);
yield "</label>
<input type=\"email\" class=\"form-control\" x-model=\"formData.email\" required placeholder=\"seu@email.com\">
</div>
</div>
<div class=\"mb-3\">
<label class=\"form-label\">";
// line 219
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.form_subject"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" x-model=\"formData.subject\" required placeholder=\"Como podemos ajudar?\">
</div>
<div class=\"mb-4\">
<label class=\"form-label\">";
// line 223
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.form_message"), "html", null, true);
yield "</label>
<textarea class=\"form-control\" rows=\"5\" x-model=\"formData.message\" required placeholder=\"Descreva sua dúvida ou sugestão...\"></textarea>
</div>
";
// line 227
if ((($tmp = ($context["require_captcha_contact"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 228
yield " <div class=\"captcha-box\" x-data=\"{
num1: 0, num2: 0, userAnswer: '', solved: false,
generate() {
this.num1 = Math.floor(Math.random() * 10) + 1;
this.num2 = Math.floor(Math.random() * 10) + 1;
this.userAnswer = ''; this.solved = false;
},
check() { this.solved = (parseInt(this.userAnswer) === (this.num1 + this.num2)); }
}\" x-init=\"generate()\" @reset-captcha.window=\"generate()\">
<label class=\"form-label d-block mb-2\">";
// line 237
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.security_check"), "html", null, true);
yield "</label>
<div class=\"d-flex align-items-center gap-3\">
<div class=\"bg-white px-3 py-2 rounded border fw-bold\">
<span x-text=\"num1\"></span> + <span x-text=\"num2\"></span> =
</div>
<input type=\"number\" class=\"form-control\" style=\"width: 100px;\" x-model=\"userAnswer\" @input=\"check()\" placeholder=\"?\">
<span x-show=\"solved\" class=\"text-success\"><i class=\"bi bi-check-circle-fill\"></i></span>
</div>
<input type=\"hidden\" name=\"captcha_valid\" :value=\"solved ? '1' : ''\">
</div>
";
}
// line 248
yield "
<button type=\"submit\" class=\"btn-submit\" :disabled=\"loading\">
<span x-show=\"!loading\"><i class=\"bi bi-send-fill me-2\"></i> ";
// line 250
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.form_submit"), "html", null, true);
yield "</span>
<span x-show=\"loading\" class=\"spinner-border spinner-border-sm me-2\"></span>
<span x-show=\"loading\">";
// line 252
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.sending"), "html", null, true);
yield "</span>
</button>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
";
yield from [];
}
// line 263
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_scripts(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 264
yield "<script>
function contactForm() {
return {
formData: { name: '', email: '', subject: '', message: '' },
loading: false,
submitForm() {
const captchaInput = document.querySelector('input[name=\"captcha_valid\"]');
if (captchaInput && captchaInput.value !== '1') {
window.dispatchEvent(new CustomEvent('show-alert', {
detail: { message: '";
// line 273
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.js_invalid_captcha"), "html", null, true);
yield "', type: 'danger' }
}));
return;
}
this.loading = true;
// Inclui o captcha_valid no corpo da requisição JSON para o backend
const payload = { ...this.formData };
if (captchaInput) {
payload.captcha_valid = captchaInput.value;
}
fetch('/contact/submit', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },
body: JSON.stringify(payload)
})
.then(res => res.json())
.then(data => {
if (data.success) {
window.dispatchEvent(new CustomEvent('show-alert', {
detail: { message: '";
// line 295
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.js_success"), "html", null, true);
yield "', type: 'success' }
}));
this.formData = { name: '', email: '', subject: '', message: '' };
window.dispatchEvent(new CustomEvent('reset-captcha'));
} else {
throw new Error(data.message);
}
})
.catch(err => {
window.dispatchEvent(new CustomEvent('show-alert', {
detail: { message: err.message || '";
// line 305
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("contact.js_error"), "html", null, true);
yield "', type: 'danger' }
}));
})
.finally(() => { this.loading = false; });
}
}
}
</script>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "contact/views/index.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 460 => 305, 447 => 295, 422 => 273, 411 => 264, 404 => 263, 389 => 252, 384 => 250, 380 => 248, 366 => 237, 355 => 228, 353 => 227, 346 => 223, 339 => 219, 331 => 214, 324 => 210, 317 => 206, 303 => 199, 299 => 198, 287 => 191, 283 => 190, 271 => 183, 267 => 182, 248 => 166, 243 => 164, 227 => 150, 220 => 149, 74 => 6, 67 => 5, 54 => 3, 43 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "contact/views/index.twig", "/app/modules/contact/views/index.twig");
}
}
+478
View File
@@ -0,0 +1,478 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* @notes/admin/index.twig */
class __TwigTemplate_2a4cddb3e6c00a6056d8dc4b84ce9379 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'head' => [$this, 'block_head'],
'content' => [$this, 'block_content'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/dashboard.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/dashboard.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_head(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<style>
.note-card {
transition: transform 0.2s, box-shadow 0.2s;
border-radius: 10px;
overflow: hidden;
height: 100%;
}
.note-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}
.note-content {
max-height: 200px;
overflow: hidden;
position: relative;
word-break: break-word;
overflow-wrap: break-word;
}
.note-content p {
margin-bottom: 0.5rem;
}
.note-content *:last-child {
margin-bottom: 0;
}
.pinned-badge {
position: absolute;
top: 10px;
right: 10px;
color: #ffc107;
font-size: 1.2rem;
}
</style>
";
yield from [];
}
// line 40
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 41
yield "<div class=\"container-fluid px-4\">
<div class=\"d-flex justify-content-between align-items-center mb-4\">
<h1 class=\"mt-4\">";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield "</h1>
<div class=\"d-flex gap-2\">
<form action=\"";
// line 45
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("/admin/notes"), "html", null, true);
yield "\" method=\"GET\" class=\"d-flex gap-2 me-3\">
<div class=\"input-group\" style=\"min-width: 250px;\">
<span class=\"input-group-text bg-white\"><i class=\"bi bi-search\"></i></span>
<input type=\"text\" name=\"search\" class=\"form-control\" placeholder=\"";
// line 48
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.search_placeholder"), "html", null, true);
yield "\" value=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["filters"] ?? null), "search", [], "any", false, false, false, 48), "html", null, true);
yield "\">
</div>
<select name=\"subject_id\" class=\"form-select\" style=\"min-width: 180px;\" onchange=\"this.form.submit()\">
<option value=\"\">";
// line 51
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.all_subjects"), "html", null, true);
yield "</option>
";
// line 52
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["subjects"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["subject"]) {
// line 53
yield " <option value=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["subject"], "subjects_id", [], "any", false, false, false, 53), "html", null, true);
yield "\" ";
yield (((CoreExtension::getAttribute($this->env, $this->source, ($context["filters"] ?? null), "subject_id", [], "any", false, false, false, 53) == CoreExtension::getAttribute($this->env, $this->source, $context["subject"], "subjects_id", [], "any", false, false, false, 53))) ? ("selected") : (""));
yield ">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["subject"], "subjects_name", [], "any", false, false, false, 53), "html", null, true);
yield "</option>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['subject'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 55
yield " </select>
";
// line 56
if ((CoreExtension::getAttribute($this->env, $this->source, ($context["filters"] ?? null), "search", [], "any", false, false, false, 56) || CoreExtension::getAttribute($this->env, $this->source, ($context["filters"] ?? null), "subject_id", [], "any", false, false, false, 56))) {
// line 57
yield " <a href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("/admin/notes"), "html", null, true);
yield "\" class=\"btn btn-outline-secondary\" title=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.cancel"), "html", null, true);
yield "\"><i class=\"bi bi-x-lg\"></i></a>
";
}
// line 59
yield " </form>
<button type=\"button\" class=\"btn btn-outline-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#subjectsModal\">
<i class=\"bi bi-tags me-1\"></i> ";
// line 61
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.manage_subjects"), "html", null, true);
yield "
</button>
<a href=\"";
// line 63
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("/admin/notes/create"), "html", null, true);
yield "\" class=\"btn btn-primary\">
<i class=\"bi bi-file-earmark-plus me-1\"></i> ";
// line 64
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.add_note"), "html", null, true);
yield "
</a>
</div>
</div>
";
// line 69
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["flash_messages"] ?? null), "success", [], "any", false, false, false, 69)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 70
yield " <div class=\"alert alert-success alert-dismissible fade show\" role=\"alert\">
";
// line 71
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["flash_messages"] ?? null), "success", [], "any", false, false, false, 71), "html", null, true);
yield "
<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>
</div>
";
}
// line 75
yield "
<div class=\"row row-cols-1 row-cols-md-2 row-cols-lg-3 row-cols-xl-4 g-4\">
";
// line 77
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["notes"] ?? null));
$context['_iterated'] = false;
foreach ($context['_seq'] as $context["_key"] => $context["note"]) {
// line 78
yield " <div class=\"col\">
<div class=\"card note-card shadow-sm h-100\" style=\"background-color: ";
// line 79
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["note"], "notes_color", [], "any", false, false, false, 79), "html", null, true);
yield ";\">
";
// line 80
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, $context["note"], "notes_is_pinned", [], "any", false, false, false, 80)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 81
yield " <div class=\"pinned-badge\"><i class=\"bi bi-pin-angle-fill\"></i></div>
";
}
// line 83
yield "
<div class=\"card-body\">
<div class=\"d-flex justify-content-between align-items-start mb-2\">
<h5 class=\"card-title text-truncate pe-4\">
";
// line 87
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["note"], "notes_title", [], "any", false, false, false, 87), "html", null, true);
yield "
";
// line 88
if ((CoreExtension::getAttribute($this->env, $this->source, $context["note"], "notes_image", [], "any", false, false, false, 88) || CoreExtension::getAttribute($this->env, $this->source, $context["note"], "notes_file", [], "any", false, false, false, 88))) {
// line 89
yield " <span class=\"ms-1 fs-6 text-muted\" title=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->env->getFunction('__')->getCallable()("notes.has_attachments"), "Possui anexos"), "html", null, true);
yield "\">
<i class=\"bi bi-paperclip\"></i>
</span>
";
}
// line 93
yield " </h5>
<div class=\"dropdown\">
<button class=\"btn btn-link btn-sm text-dark p-0\" type=\"button\" data-bs-toggle=\"dropdown\">
<i class=\"bi bi-three-dots-vertical\"></i>
</button>
<ul class=\"dropdown-menu dropdown-menu-end\">
<li>
<a href=\"";
// line 100
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("/admin/notes/edit/" . CoreExtension::getAttribute($this->env, $this->source, $context["note"], "notes_id", [], "any", false, false, false, 100))), "html", null, true);
yield "\" class=\"dropdown-item\">
<i class=\"bi bi-pencil me-2\"></i> ";
// line 101
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.edit_note"), "html", null, true);
yield "
</a>
</li>
<li>
<form action=\"";
// line 105
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("/admin/notes/pin/" . CoreExtension::getAttribute($this->env, $this->source, $context["note"], "notes_id", [], "any", false, false, false, 105))), "html", null, true);
yield "\" method=\"POST\" class=\"d-inline\">
<button type=\"submit\" class=\"dropdown-item\">
<i class=\"bi bi-pin me-2\"></i> ";
// line 107
yield (((($tmp = CoreExtension::getAttribute($this->env, $this->source, $context["note"], "notes_is_pinned", [], "any", false, false, false, 107)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.unpin"), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.pin"), "html", null, true)));
yield "
</button>
</form>
</li>
<li><hr class=\"dropdown-divider\"></li>
<li>
<form action=\"";
// line 113
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("/admin/notes/delete/" . CoreExtension::getAttribute($this->env, $this->source, $context["note"], "notes_id", [], "any", false, false, false, 113))), "html", null, true);
yield "\" method=\"POST\" class=\"d-inline\" onsubmit=\"return confirm('";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.delete_confirm"), "html", null, true);
yield "')\">
<button type=\"submit\" class=\"dropdown-item text-danger\">
<i class=\"bi bi-trash me-2\"></i> ";
// line 115
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.delete"), "html", null, true);
yield "
</button>
</form>
</li>
</ul>
</div>
</div>
<div class=\"note-content small text-muted\">
";
// line 124
yield CoreExtension::getAttribute($this->env, $this->source, $context["note"], "notes_content", [], "any", false, false, false, 124);
yield "
</div>
</div>
<div class=\"card-footer bg-transparent border-0 d-flex justify-content-between align-items-center\">
<div class=\"d-flex gap-1\">
";
// line 129
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, $context["note"], "subject", [], "any", false, false, false, 129)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 130
yield " <span class=\"badge text-dark\" style=\"background-color: ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["note"], "subject", [], "any", false, false, false, 130), "subjects_color", [], "any", false, false, false, 130), "html", null, true);
yield ";\">
<i class=\"bi bi-tag me-1\"></i>
";
// line 132
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["note"], "subject", [], "any", false, false, false, 132), "subjects_name", [], "any", false, false, false, 132), "html", null, true);
yield "
</span>
";
}
// line 135
yield " </div>
<small class=\"text-muted\" title=\"";
// line 136
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.created_at"), "html", null, true);
yield ": ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env, $this->source, $context["note"], "created_at", [], "any", false, false, false, 136), "d/m/Y H:i"), "html", null, true);
yield "\">
";
// line 137
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env, $this->source, $context["note"], "created_at", [], "any", false, false, false, 137), "d/m/Y"), "html", null, true);
yield "
</small>
</div>
</div>
</div>
";
$context['_iterated'] = true;
}
// line 142
if (!$context['_iterated']) {
// line 143
yield " <div class=\"col-12 text-center py-5\">
<div class=\"text-muted\">
<i class=\"bi bi-journal-x display-1 mb-3\"></i>
<p class=\"lead\">";
// line 146
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.no_notes"), "html", null, true);
yield "</p>
</div>
</div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['note'], $context['_parent'], $context['_iterated']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 150
yield " </div>
</div>
<!-- Subjects Management Modal -->
<div class=\"modal fade\" id=\"subjectsModal\" tabindex=\"-1\" aria-hidden=\"true\">
<div class=\"modal-dialog\">
<div class=\"modal-content\">
<div class=\"modal-header\">
<h5 class=\"modal-title\">";
// line 158
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.manage_subjects"), "html", null, true);
yield "</h5>
<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"";
// line 159
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.cancel"), "html", null, true);
yield "\"></button>
</div>
<div class=\"modal-body\">
<form action=\"";
// line 162
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("/admin/notes/subjects/store"), "html", null, true);
yield "\" method=\"POST\" class=\"mb-4\">
<div class=\"row g-2\">
<div class=\"col-7\">
<input type=\"text\" name=\"subjects_name\" class=\"form-control\" placeholder=\"";
// line 165
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.subject_name"), "html", null, true);
yield "\" required>
</div>
<div class=\"col-3\">
<input type=\"color\" name=\"subjects_color\" class=\"form-control form-control-color w-100\" value=\"#6c757d\" title=\"";
// line 168
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.subject_color"), "html", null, true);
yield "\">
</div>
<div class=\"col-2\">
<button type=\"submit\" class=\"btn btn-primary w-100\" title=\"";
// line 171
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.add"), "html", null, true);
yield "\"><i class=\"bi bi-plus-lg\"></i></button>
</div>
</div>
</form>
<div class=\"list-group\">
";
// line 177
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["subjects"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["subject"]) {
// line 178
yield " <div class=\"list-group-item d-flex justify-content-between align-items-center\">
<div>
<span class=\"badge rounded-circle p-2 me-2\" style=\"background-color: ";
// line 180
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["subject"], "subjects_color", [], "any", false, false, false, 180), "html", null, true);
yield ";\"> </span>
";
// line 181
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["subject"], "subjects_name", [], "any", false, false, false, 181), "html", null, true);
yield "
</div>
<form action=\"";
// line 183
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("/admin/notes/subjects/delete/" . CoreExtension::getAttribute($this->env, $this->source, $context["subject"], "subjects_id", [], "any", false, false, false, 183))), "html", null, true);
yield "\" method=\"POST\" onsubmit=\"return confirm('";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.delete_subject_confirm"), "html", null, true);
yield "')\">
<button type=\"submit\" class=\"btn btn-link btn-sm text-danger p-0\" title=\"";
// line 184
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("notes.delete"), "html", null, true);
yield "\"><i class=\"bi bi-trash\"></i></button>
</form>
</div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['subject'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 188
yield " </div>
</div>
</div>
</div>
</div>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "@notes/admin/index.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 440 => 188, 430 => 184, 424 => 183, 419 => 181, 415 => 180, 411 => 178, 407 => 177, 398 => 171, 392 => 168, 386 => 165, 380 => 162, 374 => 159, 370 => 158, 360 => 150, 350 => 146, 345 => 143, 343 => 142, 333 => 137, 327 => 136, 324 => 135, 318 => 132, 312 => 130, 310 => 129, 302 => 124, 290 => 115, 283 => 113, 274 => 107, 269 => 105, 262 => 101, 258 => 100, 249 => 93, 241 => 89, 239 => 88, 235 => 87, 229 => 83, 225 => 81, 223 => 80, 219 => 79, 216 => 78, 211 => 77, 207 => 75, 200 => 71, 197 => 70, 195 => 69, 187 => 64, 183 => 63, 178 => 61, 174 => 59, 166 => 57, 164 => 56, 161 => 55, 148 => 53, 144 => 52, 140 => 51, 132 => 48, 126 => 45, 121 => 43, 117 => 41, 110 => 40, 73 => 6, 66 => 5, 53 => 3, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "@notes/admin/index.twig", "/app/modules/notes/views/admin/index.twig");
}
}
+500
View File
@@ -0,0 +1,500 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* auth/views/login.twig */
class __TwigTemplate_44be6b4d2ac2b550de094f1a83fa4139 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'head' => [$this, 'block_head'],
'content' => [$this, 'block_content'],
'scripts' => [$this, 'block_scripts'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/base.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/base.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.login_title", ["platformName" => ($context["platformName"] ?? null)]), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_head(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<style>
.login-container {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 20px 0;
}
.login-card {
border: none;
border-radius: 15px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
max-width: 450px;
width: 100%;
}
.login-header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 30px 20px;
text-align: center;
}
.login-header h3 {
margin: 0;
font-weight: 600;
}
.login-body {
padding: 40px 30px;
background-color: #fff;
}
.form-floating {
margin-bottom: 20px;
}
.form-control {
border-radius: 10px;
border: 1px solid #e0e0e0;
padding: 12px 15px;
font-size: 16px;
transition: all 0.3s;
}
.form-control:focus {
border-color: #667eea;
box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}
.btn-primary {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border: none;
border-radius: 10px;
padding: 12px;
font-weight: 600;
transition: all 0.3s;
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
}
.btn-link {
color: #667eea;
text-decoration: none;
font-weight: 500;
transition: all 0.3s;
}
.btn-link:hover {
color: #764ba2;
text-decoration: underline;
}
.form-check-input:checked {
background-color: #667eea;
border-color: #667eea;
}
.alert {
border-radius: 10px;
border: none;
margin-bottom: 20px;
}
.captcha-container {
background-color: #f8f9fa;
border-radius: 10px;
padding: 15px;
margin-bottom: 20px;
}
.captcha-image {
border-radius: 8px;
overflow: hidden;
display: inline-block;
}
.password-toggle {
position: absolute;
right: 15px;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
color: #6c757d;
z-index: 10;
}
</style>
";
yield from [];
}
// line 105
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 106
yield "<div class=\"login-container\">
<div class=\"row justify-content-center w-100\">
<div class=\"col-lg-5\">
<div class=\"card login-card\">
<div class=\"login-header\">
<h3>";
// line 111
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.login_title", ["platformName" => ($context["platformName"] ?? null)]), "html", null, true);
yield "</h3>
</div>
<div class=\"login-body\">
";
// line 114
if ((($tmp = ($context["password_reset_success"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 115
yield " <div class=\"alert alert-success\" role=\"alert\">
";
// line 116
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.password_reset_success"), "html", null, true);
yield "
</div>
";
}
// line 119
yield "
";
// line 120
if ((($tmp = ($context["error"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 121
yield " <div class=\"alert alert-danger\" role=\"alert\">
";
// line 122
yield (((($context["error"] ?? null) == 1)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.invalid_credentials"), "html", null, true)) : (""));
yield "
";
// line 123
yield (((($context["error"] ?? null) == 2)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.account_inactive"), "html", null, true)) : (""));
yield "
";
// line 124
yield (((($context["error"] ?? null) == 3)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.registration_pending"), "html", null, true)) : (""));
yield "
";
// line 125
yield (((($context["error"] ?? null) == "captcha")) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.invalid_captcha"), "html", null, true)) : (""));
yield "
";
// line 126
yield (((($context["error"] ?? null) == "rate")) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.too_many_attempts"), "html", null, true)) : (""));
yield "
</div>
";
}
// line 129
yield "
";
// line 130
if ((($tmp = ($context["expired"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 131
yield " <div class=\"alert alert-warning\" role=\"alert\">
";
// line 132
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.session_expired"), "html", null, true);
yield "
</div>
";
}
// line 135
yield "
<form method=\"POST\" action=\"";
// line 136
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("login"), "html", null, true);
yield "\">
";
// line 137
yield $this->env->getFunction('csrf_field')->getCallable()();
yield "
<div class=\"form-floating mb-3\">
<input type=\"email\" class=\"form-control\" id=\"email\" name=\"email\" placeholder=\"";
// line 140
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.email_placeholder"), "html", null, true);
yield "\" value=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('old')->getCallable()("email"), "html", null, true);
yield "\" required>
<label for=\"email\">";
// line 141
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.email"), "html", null, true);
yield "</label>
</div>
";
// line 144
yield from $this->load("components/password-field.twig", 144)->unwrap()->yield(CoreExtension::merge($context, ["id" => "password", "name" => "password", "label" => $this->env->getFunction('__')->getCallable()("auth.password"), "placeholder" => $this->env->getFunction('__')->getCallable()("auth.password_placeholder"), "required" => true]));
// line 151
yield "
";
// line 152
if ((($tmp = ($context["require_captcha_login"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 153
yield " <div class=\"captcha-container\" x-data=\"{
num1: 0,
num2: 0,
userAnswer: '',
solved: false,
generate() {
this.num1 = Math.floor(Math.random() * 10) + 1;
this.num2 = Math.floor(Math.random() * 10) + 1;
this.userAnswer = '';
this.solved = false;
},
check() {
if (parseInt(this.userAnswer) === (this.num1 + this.num2)) {
this.solved = true;
} else {
this.solved = false;
}
}
}\" x-init=\"generate()\">
<div class=\"mb-3\">
<label class=\"form-label fw-bold mb-2\">";
// line 173
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.security_check"), "html", null, true);
yield "</label>
<div class=\"d-flex align-items-center gap-2\">
<div class=\"px-3 py-2 bg-white border rounded fw-bold fs-5 text-nowrap\">
<span x-text=\"num1\"></span> + <span x-text=\"num2\"></span> =
</div>
<input type=\"number\" class=\"form-control\" style=\"width: 80px;\" x-model=\"userAnswer\" @input=\"check()\" placeholder=\"?\">
<button type=\"button\" class=\"btn btn-outline-secondary btn-sm ms-1\" @click=\"generate()\" title=\"";
// line 179
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.captcha_reload"), "html", null, true);
yield "\">
<i class=\"bi bi-arrow-clockwise\"></i> ↻
</button>
</div>
<div class=\"mt-2\" style=\"min-height: 24px;\">
<span x-show=\"solved\" class=\"text-success fw-bold small\">
✓ ";
// line 185
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.captcha_solved"), "html", null, true);
yield "
</span>
<span x-show=\"!solved\" class=\"text-muted small\">
";
// line 188
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.captcha_instruction"), "html", null, true);
yield "
</span>
</div>
</div>
<input type=\"hidden\" name=\"captcha_valid\" :value=\"solved ? '1' : ''\">
</div>
";
}
// line 195
yield "
<div class=\"form-check mb-3\">
<input class=\"form-check-input\" type=\"checkbox\" id=\"remember\" name=\"remember\">
<label class=\"form-check-label\" for=\"remember\">";
// line 198
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.remember_me"), "html", null, true);
yield "</label>
</div>
<div class=\"d-grid gap-3\">
<button class=\"btn btn-primary btn-lg\" type=\"submit\">
";
// line 203
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.login_button"), "html", null, true);
yield "
</button>
<a href=\"";
// line 205
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("forgot-password"), "html", null, true);
yield "\" class=\"btn btn-link\">
";
// line 206
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.forgot_password"), "html", null, true);
yield "
</a>
";
// line 208
if ((($tmp = ($context["allow_registration"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 209
yield " <a href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("register"), "html", null, true);
yield "\" class=\"btn btn-link\">
";
// line 210
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.register_button"), "html", null, true);
yield "
</a>
";
}
// line 213
yield " </div>
</form>
<div class=\"mt-3 d-grid\">
<a href=\"";
// line 217
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("verify-email/resend"), "html", null, true);
yield "\" class=\"btn btn-outline-secondary btn-sm\">
";
// line 218
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.resend_verification"), "html", null, true);
yield "
</a>
</div>
";
// line 222
if ((($tmp = ($context["success"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 223
yield " <div class=\"alert alert-success\" role=\"alert\">
";
// line 224
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.logout_success"), "html", null, true);
yield "
</div>
";
}
// line 227
yield "
";
// line 228
if ((($tmp = ($context["registered"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 229
yield " <div class=\"alert alert-success\" role=\"alert\">
";
// line 230
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.registration_success"), "html", null, true);
yield "
</div>
";
}
// line 233
yield " ";
if ((($tmp = ($context["verified"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 234
yield " <div class=\"alert alert-success\" role=\"alert\">
";
// line 235
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.email_verified_success"), "html", null, true);
yield "
</div>
";
}
// line 238
yield " ";
if ((($tmp = ($context["resend"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 239
yield " <div class=\"alert alert-info\" role=\"alert\">
";
// line 240
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.verification_email_sent"), "html", null, true);
yield "
</div>
";
}
// line 243
yield " </div>
</div>
</div>
</div>
";
yield from [];
}
// line 249
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_scripts(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 250
yield "<script>
// Auto-focus on email field
document.addEventListener('DOMContentLoaded', function() {
const emailField = document.getElementById('email');
if (emailField) {
emailField.focus();
}
});
</script>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "auth/views/login.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 459 => 250, 452 => 249, 443 => 243, 437 => 240, 434 => 239, 431 => 238, 425 => 235, 422 => 234, 419 => 233, 413 => 230, 410 => 229, 408 => 228, 405 => 227, 399 => 224, 396 => 223, 394 => 222, 387 => 218, 383 => 217, 377 => 213, 371 => 210, 366 => 209, 364 => 208, 359 => 206, 355 => 205, 350 => 203, 342 => 198, 337 => 195, 327 => 188, 321 => 185, 312 => 179, 303 => 173, 281 => 153, 279 => 152, 276 => 151, 274 => 144, 268 => 141, 262 => 140, 256 => 137, 252 => 136, 249 => 135, 243 => 132, 240 => 131, 238 => 130, 235 => 129, 229 => 126, 225 => 125, 221 => 124, 217 => 123, 213 => 122, 210 => 121, 208 => 120, 205 => 119, 199 => 116, 196 => 115, 194 => 114, 188 => 111, 181 => 106, 174 => 105, 72 => 6, 65 => 5, 54 => 3, 43 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "auth/views/login.twig", "/app/modules/auth/views/login.twig");
}
}
+161
View File
@@ -0,0 +1,161 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* errors/404.twig */
class __TwigTemplate_c6f0267ca5da37320d6b8008035addab extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"pt-BR\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<title>Página não encontrada - 404</title>
<link href=\"/assets/css/bootstrap.min.css\" rel=\"stylesheet\">
<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css\">
<style>
body {
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background-color: #f8f9fa;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.error-container {
text-align: center;
max-width: 600px;
padding: 60px 40px;
background: white;
border-radius: 20px;
box-shadow: 0 10px 40px rgba(0,0,0,0.08);
transition: transform 0.3s ease;
}
.error-container:hover {
transform: translateY(-5px);
}
.error-code {
font-size: 120px;
font-weight: 800;
line-height: 1;
background: linear-gradient(135deg, #6c757d 0%, #343a40 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom: 20px;
}
.error-title {
font-size: 24px;
font-weight: 600;
color: #343a40;
margin-bottom: 15px;
}
.error-message {
color: #6c757d;
font-size: 16px;
margin-bottom: 30px;
line-height: 1.6;
}
.btn-home {
padding: 12px 30px;
border-radius: 50px;
font-weight: 500;
transition: all 0.3s;
}
.btn-home:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(13, 110, 253, 0.3);
}
.icon-circle {
width: 80px;
height: 80px;
background: #f8f9fa;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 30px;
}
.icon-circle i {
font-size: 32px;
color: #6c757d;
}
</style>
</head>
<body>
<div class=\"container\">
<div class=\"row justify-content-center\">
<div class=\"col-12 col-md-8 col-lg-6\">
<div class=\"error-container\">
<div class=\"error-code\">404</div>
<h1 class=\"error-title\">Página não encontrada</h1>
<p class=\"error-message\">
Ops! A página que você está procurando parece não existir.
Ela pode ter sido movida ou excluída.
</p>
<a href=\"/\" class=\"btn btn-primary btn-home\">
<i class=\"bi bi-arrow-left me-2\"></i> Voltar para o Início
</a>
</div>
</div>
</div>
</div>
</body>
</html>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "errors/404.twig";
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "errors/404.twig", "/app/templates/errors/404.twig");
}
}
+107
View File
@@ -0,0 +1,107 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* partials/footer.twig */
class __TwigTemplate_74ec71c0c13395ea5e86234aad4caca3 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!-- Footer-->
<footer class=\"py-5 bg-dark\">
<div class=\"container px-4 px-lg-5\">
<p class=\"m-0 text-center text-white\">
";
// line 5
if ((($tmp = ((CoreExtension::getAttribute($this->env, $this->source, ($context["theme_settings"] ?? null), "show_footer_credits", [], "any", true, true, false, 5)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["theme_settings"] ?? null), "show_footer_credits", [], "any", false, false, false, 5), true)) : (true))) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 6
yield " ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.footer.powered_by"), "html", null, true);
yield " <a href=\"https://syscms.syspanel.com.br\" class=\"text-white text-decoration-none\" target=\"_blank\">SysCMS</a> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate("now", "Y"), "html", null, true);
yield ".
";
} else {
// line 8
yield " &copy; ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate("now", "Y"), "html", null, true);
yield "
";
}
// line 10
yield " <br>
<a href=\"/user_terms.html\" class=\"text-white text-decoration-none small\" target=\"_blank\">";
// line 11
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.footer.terms"), "html", null, true);
yield "</a> |
<a href=\"/eula.html\" class=\"text-white text-decoration-none small\" target=\"_blank\">";
// line 12
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.footer.eula"), "html", null, true);
yield "</a>
</p>
</div>
</footer>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "partials/footer.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 71 => 12, 67 => 11, 64 => 10, 58 => 8, 50 => 6, 48 => 5, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "partials/footer.twig", "/app/templates/partials/footer.twig");
}
}
+277
View File
@@ -0,0 +1,277 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* configindex/views/admin/index.twig */
class __TwigTemplate_591e0e7c86df9c57ac4a5e5da0f4c46f extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'content' => [$this, 'block_content'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/dashboard.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/dashboard.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<div class=\"container-fluid px-4\">
<h1 class=\"mt-4\">";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield "</h1>
<ol class=\"breadcrumb mb-4\">
<li class=\"breadcrumb-item\"><a href=\"";
// line 9
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("dashboard"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.menu.dashboard"), "html", null, true);
yield "</a></li>
<li class=\"breadcrumb-item active\">";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield "</li>
</ol>
<div class=\"card mb-4\">
<div class=\"card-header d-flex justify-content-between align-items-center\">
<div class=\"d-flex align-items-center\">
<i class=\"bi bi-file-earmark-text me-2\"></i>
<span class=\"me-3\">";
// line 17
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.list_title"), "html", null, true);
yield "</span>
<form action=\"";
// line 19
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/configindex"), "html", null, true);
yield "\" method=\"GET\" class=\"d-inline-flex align-items-center\">
<label class=\"me-2 small text-muted\">Editar para o Tema:</label>
<select name=\"theme\" class=\"form-select form-select-sm\" onchange=\"this.form.submit()\" style=\"width: auto;\">
";
// line 22
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["availableThemes"] ?? null));
foreach ($context['_seq'] as $context["slug"] => $context["name"]) {
// line 23
yield " <option value=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["slug"], "html", null, true);
yield "\" ";
yield (((($context["currentTheme"] ?? null) == $context["slug"])) ? ("selected") : (""));
yield ">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["name"], "html", null, true);
yield "</option>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['slug'], $context['name'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 25
yield " </select>
</form>
</div>
<a href=\"";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/configindex/create"), "html", null, true);
yield "\" class=\"btn btn-success btn-sm\">
<i class=\"bi bi-plus-circle\"></i> Nova Página
</a>
</div>
<div class=\"card-body\">
<div class=\"table-responsive\">
<table class=\"table table-bordered table-hover\" width=\"100%\" cellspacing=\"0\">
<thead class=\"table-light\">
<tr>
<th>";
// line 37
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.page_name"), "html", null, true);
yield "</th>
<th>Localização do Arquivo</th>
<th>";
// line 39
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.actions"), "html", null, true);
yield "</th>
</tr>
</thead>
<tbody>
";
// line 43
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["pages"] ?? null));
foreach ($context['_seq'] as $context["key"] => $context["name"]) {
// line 44
yield " <tr>
<td>
<strong>";
// line 46
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["name"], "html", null, true);
yield "</strong> <small class=\"text-muted\">(";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["key"], "html", null, true);
yield ")</small>
</td>
<td>
<code class=\"small\">
";
// line 50
if ((($context["currentTheme"] ?? null) == "default")) {
// line 51
yield " modules/index/views/";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["key"], "html", null, true);
yield ".twig
";
} else {
// line 53
yield " themes/";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["currentTheme"] ?? null), "html", null, true);
yield "/modules/index/views/";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["key"], "html", null, true);
yield ".twig
";
}
// line 55
yield " </code>
</td>
<td>
<div class=\"btn-group\" role=\"group\">
<a href=\"";
// line 59
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()((("admin/configindex/" . $context["key"]) . "/edit")), "html", null, true);
yield "?theme=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["currentTheme"] ?? null), "html", null, true);
yield "\" class=\"btn btn-primary btn-sm\" title=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.edit"), "html", null, true);
yield "\">
<i class=\"bi bi-pencil\"></i> Editar
</a>
";
// line 63
if ((($context["currentTheme"] ?? null) == "default")) {
// line 64
yield " <form action=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()((("admin/configindex/" . $context["key"]) . "/toggle-status")), "html", null, true);
yield "\" method=\"POST\" style=\"display:inline;\">
<button type=\"submit\" class=\"btn btn-outline-warning btn-sm\" title=\"Ativar/Desativar\">
<i class=\"bi bi-eye\"></i>
</button>
</form>
";
// line 70
if (($context["key"] != "index")) {
// line 71
yield " <form action=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()((("admin/configindex/" . $context["key"]) . "/delete")), "html", null, true);
yield "\" method=\"POST\" style=\"display:inline;\" onsubmit=\"return confirm('Tem certeza que deseja excluir esta página e todos os seus arquivos?');\">
<button type=\"submit\" class=\"btn btn-outline-danger btn-sm\" title=\"Excluir\">
<i class=\"bi bi-trash\"></i>
</button>
</form>
";
}
// line 77
yield " ";
}
// line 78
yield " </div>
</td>
</tr>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['key'], $context['name'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 82
yield " </tbody>
</table>
</div>
</div>
</div>
</div>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "configindex/views/admin/index.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 239 => 82, 230 => 78, 227 => 77, 217 => 71, 215 => 70, 205 => 64, 203 => 63, 192 => 59, 186 => 55, 178 => 53, 172 => 51, 170 => 50, 161 => 46, 157 => 44, 153 => 43, 146 => 39, 141 => 37, 129 => 28, 124 => 25, 111 => 23, 107 => 22, 101 => 19, 96 => 17, 86 => 10, 80 => 9, 75 => 7, 72 => 6, 65 => 5, 52 => 3, 41 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "configindex/views/admin/index.twig", "/app/modules/configindex/views/admin/index.twig");
}
}
+580
View File
@@ -0,0 +1,580 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* @index/index.twig */
class __TwigTemplate_70a42c031da9899b34f801bf2cf5a81e extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'head' => [$this, 'block_head'],
'layout_body' => [$this, 'block_layout_body'],
'scripts' => [$this, 'block_scripts'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "@index/layout.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("@index/layout.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield " - Fluxo de Caixa Pro com Inteligência Artificial";
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_head(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield " <style>
:root {
--primary-gradient: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
--ai-gradient: linear-gradient(135deg, #8b5cf6 0%, #d946ef 100%);
--dark-bg: #0f172a;
--success-color: #22c55e;
--danger-color: #ef4444;
--info-color: #06b6d4;
}
body {
font-family: 'Inter', system-ui, -apple-system, sans-serif;
overflow-x: hidden;
background: #f8fafc !important;
}
.hero-section {
background: var(--dark-bg);
background-image:
radial-gradient(circle at 20% 30%, rgba(59, 130, 246, 0.15) 0%, transparent 40%),
radial-gradient(circle at 80% 70%, rgba(139, 92, 246, 0.15) 0%, transparent 40%);
color: white;
padding: 120px 0 80px;
position: relative;
overflow: hidden;
}
.hero-badge {
background: rgba(139, 92, 246, 0.1);
border: 1px solid rgba(139, 92, 246, 0.3);
color: #a78bfa;
padding: 8px 20px;
border-radius: 50px;
font-size: 0.9rem;
font-weight: 600;
display: inline-block;
margin-bottom: 25px;
backdrop-filter: blur(10px);
}
.hero-title {
font-size: clamp(2.5rem, 5vw, 4rem);
font-weight: 800;
line-height: 1.1;
margin-bottom: 25px;
letter-spacing: -0.02em;
}
.text-gradient {
background: var(--primary-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.text-ai-gradient {
background: var(--ai-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.hero-subtitle {
font-size: 1.25rem;
color: #94a3b8;
margin-bottom: 40px;
max-width: 600px;
line-height: 1.6;
}
.btn-glow {
position: relative;
padding: 16px 35px;
font-size: 1.1rem;
font-weight: 600;
border-radius: 12px;
transition: all 0.3s ease;
border: none;
}
.btn-success-glow {
background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
color: white;
box-shadow: 0 0 20px rgba(37, 211, 102, 0.4);
}
.btn-success-glow:hover {
transform: translateY(-2px);
box-shadow: 0 0 30px rgba(37, 211, 102, 0.6);
color: white;
}
.btn-whatsapp-cta {
background: white;
color: #128c7e !important;
padding: 18px 45px;
font-size: 1.2rem;
font-weight: 800;
border-radius: 15px;
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
border: none;
display: inline-flex;
align-items: center;
gap: 12px;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}
.btn-whatsapp-cta:hover {
transform: scale(1.05) translateY(-5px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
background: #f8fafc;
}
.btn-whatsapp-cta i {
font-size: 1.5rem;
}
/* Dashboard Mockup from Imagem3 */
.mockup-wrapper {
position: relative;
z-index: 1;
margin-top: 50px;
}
.mockup-container {
background: white;
border-radius: 20px;
padding: 25px;
box-shadow: 0 40px 100px -20px rgba(0,0,0,0.5);
border: 1px solid rgba(255,255,255,0.1);
}
.mockup-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30px;
flex-wrap: wrap;
gap: 15px;
}
.mockup-title {
color: #1e293b;
font-size: 1.5rem;
font-weight: 700;
margin: 0;
}
.mockup-actions {
display: flex;
gap: 10px;
}
.mockup-btn {
padding: 8px 16px;
border-radius: 8px;
font-size: 0.85rem;
font-weight: 600;
border: 1px solid #e2e8f0;
display: flex;
align-items: center;
gap: 8px;
background: white;
color: #64748b;
}
.btn-ai-action {
background: #06b6d4;
color: white;
border: none;
}
.mockup-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin-bottom: 30px;
}
.mockup-card {
padding: 20px;
border-radius: 12px;
border-left: 4px solid #cbd5e1;
background: #f8fafc;
}
.card-receitas { border-left-color: var(--success-color); }
.card-despesas { border-left-color: var(--danger-color); }
.card-saldo { border-left-color: var(--info-color); }
.card-pendentes { border-left-color: #eab308; }
.card-label {
font-size: 0.75rem;
text-transform: uppercase;
font-weight: 700;
color: #64748b;
margin-bottom: 5px;
}
.card-value {
font-size: 1.25rem;
font-weight: 800;
color: #1e293b;
}
.ai-floating-badge {
position: absolute;
top: -20px;
right: -20px;
background: var(--ai-gradient);
color: white;
padding: 15px 25px;
border-radius: 15px;
box-shadow: 0 15px 30px rgba(139, 92, 246, 0.4);
display: flex;
align-items: center;
gap: 12px;
z-index: 2;
animation: float 6s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0) rotate(0deg); }
50% { transform: translateY(-15px) rotate(2deg); }
}
.ai-pulse {
width: 10px;
height: 10px;
background: white;
border-radius: 50%;
position: relative;
}
.ai-pulse::after {
content: '';
position: absolute;
width: 100%;
height: 100%;
background: white;
border-radius: 50%;
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { transform: scale(1); opacity: 0.8; }
100% { transform: scale(3); opacity: 0; }
}
/* Features Section */
.features-section {
padding: 100px 0;
}
.feature-card {
background: white;
padding: 40px;
border-radius: 24px;
border: 1px solid #e2e8f0;
transition: all 0.3s ease;
height: 100%;
}
.feature-card:hover {
transform: translateY(-10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.05);
border-color: #3b82f6;
}
.icon-box {
width: 50px;
height: 50px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
font-size: 1.25rem;
}
.chart-placeholder {
height: 200px;
background: linear-gradient(to top, #f1f5f9 0%, transparent 100%);
border-radius: 8px;
display: flex;
align-items: flex-end;
gap: 8px;
padding: 15px;
}
.chart-bar {
flex: 1;
background: #e2e8f0;
border-radius: 4px 4px 0 0;
transition: height 1s ease;
}
.chart-bar.active { background: #3b82f6; }
</style>
";
yield from [];
}
// line 305
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_layout_body(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 306
yield " ";
// line 307
yield " <section class=\"hero-section\">
<div class=\"container\">
<div class=\"row align-items-center\">
<div class=\"col-lg-6\">
<div class=\"hero-badge\">
<i class=\"bi bi-stars\"></i> Nova Era da Gestão Financeira
</div>
<h1 class=\"hero-title\">
Seu Fluxo de Caixa <br>
<span class=\"text-ai-gradient\">Potencializado por IA</span>
</h1>
<p class=\"hero-subtitle\">
O Fluxo de Caixa Pro utiliza IA para analisar a saúde financeira do seu negócio, alertando sobre misturas de contas pessoais, sugerindo reservas de emergência e prevendo o saldo futuro.
</p>
<div class=\"d-flex gap-3 flex-wrap\">
<a href=\"https://wa.me/5535992261684?text=Olá! Gostaria de saber mais sobre o Fluxo de Caixa Pro.\" target=\"_blank\" class=\"btn btn-glow btn-success-glow\">
<i class=\"bi bi-whatsapp\"></i> Falar com Especialista
</a>
</div>
</div>
<div class=\"col-lg-6\">
<div class=\"mockup-wrapper\">
<div class=\"ai-floating-badge\">
<div class=\"ai-pulse\"></div>
<div>
<div class=\"fw-bold\" style=\"font-size: 0.85rem;\">IA Ativa</div>
<div style=\"font-size: 0.75rem; opacity: 0.9;\">Otimizando projeções...</div>
</div>
</div>
<div class=\"mockup-container\">
<div class=\"mockup-header\">
<h3 class=\"mockup-title\">Dashboard Pro</h3>
<div class=\"mockup-actions\">
<div class=\"mockup-btn\"><i class=\"bi bi-bank\"></i> Conciliação</div>
<div class=\"mockup-btn btn-ai-action\"><i class=\"bi bi-cpu\"></i> Análise IA</div>
</div>
</div>
<div class=\"mockup-cards\">
<div class=\"mockup-card card-receitas\">
<div class=\"card-label\">Receitas</div>
<div class=\"card-value\">R\$ 45.200,00</div>
</div>
<div class=\"mockup-card card-despesas\">
<div class=\"card-label\">Despesas</div>
<div class=\"card-value\">R\$ 28.150,00</div>
</div>
<div class=\"mockup-card card-saldo\">
<div class=\"card-label\">Saldo</div>
<div class=\"card-value text-info\">R\$ 17.050,00</div>
</div>
</div>
<div class=\"mt-4\">
<div class=\"d-flex justify-content-between align-items-center mb-3\">
<h6 class=\"fw-bold m-0\" style=\"color: #1e293b;\">Projeção de Saldo (12 meses)</h6>
<span class=\"badge bg-success-subtle text-success\">Cenário Otimista +24%</span>
</div>
<div class=\"chart-placeholder\">
<div class=\"chart-bar\" style=\"height: 30%;\"></div>
<div class=\"chart-bar\" style=\"height: 45%;\"></div>
<div class=\"chart-bar\" style=\"height: 40%;\"></div>
<div class=\"chart-bar active\" style=\"height: 65%;\"></div>
<div class=\"chart-bar\" style=\"height: 55%;\"></div>
<div class=\"chart-bar\" style=\"height: 80%;\"></div>
<div class=\"chart-bar active\" style=\"height: 95%;\"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
";
// line 384
yield " <section class=\"features-section\">
<div class=\"container\">
<div class=\"text-center mb-5\">
<span class=\"text-primary fw-bold text-uppercase tracking-wider\">Recursos Premium</span>
<h2 class=\"display-5 fw-bold mt-2\" style=\"color: #0f172a;\">Por que escolher o Pro?</h2>
</div>
<div class=\"row g-4\">
<div class=\"col-md-3\">
<div class=\"feature-card\">
<div class=\"icon-box bg-blue-subtle text-primary\">
<i class=\"bi bi-lightning-charge-fill\"></i>
</div>
<h4 class=\"fw-bold mb-3\">Análise Preditiva</h4>
<p class=\"text-muted small\">Previsões baseadas em dados históricos reais para os próximos 12 meses, identificando tendências de crescimento.</p>
</div>
</div>
<div class=\"col-md-3\">
<div class=\"feature-card\">
<div class=\"icon-box bg-purple-subtle text-purple\" style=\"color: #8b5cf6;\">
<i class=\"bi bi-robot\"></i>
</div>
<h4 class=\"fw-bold mb-3\">IA Consultiva</h4>
<p class=\"text-muted small\">Receba recomendações automáticas sobre reserva de emergência e separação entre contas pessoais e empresariais.</p>
</div>
</div>
<div class=\"col-md-3\">
<div class=\"feature-card\">
<div class=\"icon-box bg-info-subtle text-info\">
<i class=\"bi bi-graph-up-arrow\"></i>
</div>
<h4 class=\"fw-bold mb-3\">Gestão de Riscos</h4>
<p class=\"text-muted small\">Identificação imediata de déficit operacional e gaps de caixa (contas a pagar vs receber).</p>
</div>
</div>
<div class=\"col-md-3\">
<div class=\"feature-card\">
<div class=\"icon-box bg-green-subtle text-success\">
<i class=\"bi bi-file-earmark-excel\"></i>
</div>
<h4 class=\"fw-bold mb-3\">Exportação Pro</h4>
<p class=\"text-muted small\">Gere relatórios detalhados em Excel com um clique para contabilidade ou reuniões de diretoria.</p>
</div>
</div>
</div>
</div>
</section>
";
// line 433
yield " <section class=\"py-5\">
<div class=\"container\">
<div class=\"bg-primary rounded-5 p-5 text-center text-white\" style=\"background: var(--primary-gradient) !important;\">
<h2 class=\"display-6 fw-bold mb-4\">Pronto para transformar sua gestão?</h2>
<p class=\"lead mb-4 opacity-75\">Fale agora mesmo conosco e descubra como a IA pode dominar suas finanças.</p>
<a href=\"https://wa.me/5535992261684?text=Olá! Gostaria de uma demonstração do Fluxo de Caixa Pro.\" target=\"_blank\" class=\"btn-whatsapp-cta\">
<i class=\"bi bi-whatsapp\"></i> Solicitar Demonstração Grátis
</a>
</div>
</div>
</section>
";
yield from [];
}
// line 446
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_scripts(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 447
yield " <script>
// Simulação de animação das barras do gráfico
document.addEventListener('DOMContentLoaded', () => {
const bars = document.querySelectorAll('.chart-bar');
bars.forEach((bar, index) => {
const finalHeight = bar.style.height;
bar.style.height = '0';
setTimeout(() => {
bar.style.height = finalHeight;
}, index * 100);
});
});
</script>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "@index/index.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 535 => 447, 528 => 446, 512 => 433, 462 => 384, 384 => 307, 382 => 306, 375 => 305, 73 => 6, 66 => 5, 54 => 3, 43 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "@index/index.twig", "/app/modules/index/views/index.twig");
}
}
+97
View File
@@ -0,0 +1,97 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* components/password-field.twig */
class __TwigTemplate_3411eefee05eacf3f2774f1b4ddf0619 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
$context["req"] = (((array_key_exists("required", $context) && ($context["required"] ?? null))) ? ("required") : (""));
// line 2
yield "<div class=\"form-floating mb-3 position-relative\" x-data=\"{show:false}\">
<input :type=\"show ? 'text' : 'password'\" class=\"form-control\" id=\"";
// line 3
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["id"] ?? null), "html", null, true);
yield "\" name=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["name"] ?? null), "html", null, true);
yield "\" placeholder=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["placeholder"] ?? null), "html", null, true);
yield "\" ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["req"] ?? null), "html", null, true);
yield ">
<label for=\"";
// line 4
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["id"] ?? null), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["label"] ?? null), "html", null, true);
yield "</label>
<button type=\"button\" class=\"btn btn-outline-secondary btn-sm position-absolute top-50 end-0 translate-middle-y me-2\" @click=\"show = !show\" aria-label=\"Toggle password visibility\">
<i :class=\"show ? 'bi bi-eye-slash' : 'bi bi-eye'\"></i>
</button>
</div>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "components/password-field.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 57 => 4, 47 => 3, 44 => 2, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "components/password-field.twig", "/app/templates/components/password-field.twig");
}
}
+300
View File
@@ -0,0 +1,300 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* users/views/admin/index.twig */
class __TwigTemplate_998a6923e68bc5cae9fddc4daebe3b7a extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'content' => [$this, 'block_content'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/dashboard.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/dashboard.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.titles.management"), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<div class=\"container-fluid px-4\">
<h1 class=\"mt-4\">";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.titles.management"), "html", null, true);
yield "</h1>
<ol class=\"breadcrumb mb-4\">
<li class=\"breadcrumb-item\"><a href=\"";
// line 9
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/dashboard"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.title"), "html", null, true);
yield "</a></li>
<li class=\"breadcrumb-item active\">";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.breadcrumb.users"), "html", null, true);
yield "</li>
</ol>
";
// line 13
try {
$_v0 = $this->load("@users/admin/nav.twig", 13);
} catch (LoaderError $e) {
// ignore missing template
$_v0 = null;
}
if ($_v0) {
yield from $_v0->unwrap()->yield($context);
}
// line 14
yield "
<div class=\"card mb-4\">
<div class=\"card-header d-flex justify-content-between align-items-center\">
<div>
<i class=\"bi bi-people me-1\"></i>
";
// line 19
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.headers.all_users"), "html", null, true);
yield "
</div>
</div>
<div class=\"card-body\">
<table class=\"table table-striped table-hover\">
<thead>
<tr>
<th>";
// line 26
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.fields.name"), "html", null, true);
yield "</th>
<th>";
// line 27
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.fields.email"), "html", null, true);
yield "</th>
<th>";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.fields.role"), "html", null, true);
yield "</th>
<th>";
// line 29
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.fields.status"), "html", null, true);
yield "</th>
<th>";
// line 30
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.fields.created_at"), "html", null, true);
yield "</th>
<th>";
// line 31
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.fields.actions"), "html", null, true);
yield "</th>
</tr>
</thead>
<tbody>
";
// line 35
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["users"] ?? null));
$context['_iterated'] = false;
foreach ($context['_seq'] as $context["_key"] => $context["user"]) {
// line 36
yield " <tr>
<td>";
// line 37
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_name", [], "any", false, false, false, 37), "html", null, true);
yield "</td>
<td>";
// line 38
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_email", [], "any", false, false, false, 38), "html", null, true);
yield "</td>
<td>";
// line 39
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()(("users.roles." . CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_role", [], "any", false, false, false, 39))), "html", null, true);
yield "</td>
<td>
";
// line 41
if ((CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_status", [], "any", false, false, false, 41) == "active")) {
// line 42
yield " <span class=\"badge bg-success\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.statuses.active"), "html", null, true);
yield "</span>
";
} else {
// line 44
yield " <span class=\"badge bg-secondary\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()(("users.statuses." . CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_status", [], "any", false, false, false, 44))), "html", null, true);
yield "</span>
";
}
// line 46
yield " </td>
<td>";
// line 47
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env, $this->source, $context["user"], "created_at", [], "any", false, false, false, 47), "Y-m-d"), "html", null, true);
yield "</td>
<td>
<a href=\"";
// line 49
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("admin/users/" . CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_id", [], "any", false, false, false, 49))), "html", null, true);
yield "\" class=\"btn btn-sm btn-secondary\" title=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.actions.view"), "html", null, true);
yield "\">
<i class=\"bi bi-eye\"></i>
</a>
<a href=\"";
// line 52
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()((("admin/users/" . CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_id", [], "any", false, false, false, 52)) . "/edit")), "html", null, true);
yield "\" class=\"btn btn-sm btn-info\" title=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.actions.edit"), "html", null, true);
yield "\">
<i class=\"bi bi-pencil\"></i>
</a>
";
// line 56
if (((($this->env->getFunction('session')->getCallable()("user_role") == "super_admin") || ($this->env->getFunction('session')->getCallable()("user_role") == "admin")) && ((CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_role", [], "any", false, false, false, 56) == "member") || (CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_role", [], "any", false, false, false, 56) == "user")))) {
// line 57
yield " <a href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()((("admin/users/" . CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_id", [], "any", false, false, false, 57)) . "/permissions")), "html", null, true);
yield "\" class=\"btn btn-sm btn-warning\" title=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.headers.user_permissions"), "html", null, true);
yield "\">
<i class=\"bi bi-shield-lock\"></i>
</a>
";
}
// line 61
yield "
";
// line 62
if ((CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_id", [], "any", false, false, false, 62) != $this->env->getFunction('session')->getCallable()("user_id"))) {
// line 63
yield " <form action=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("admin/users/" . CoreExtension::getAttribute($this->env, $this->source, $context["user"], "users_id", [], "any", false, false, false, 63))), "html", null, true);
yield "\" method=\"POST\" class=\"d-inline\" onsubmit=\"return confirm('";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.actions.confirm_delete"), "html", null, true);
yield "');\">
<input type=\"hidden\" name=\"_method\" value=\"DELETE\">
";
// line 65
yield $this->env->getFunction('csrf_field')->getCallable()();
yield "
<button type=\"submit\" class=\"btn btn-sm btn-danger\" title=\"";
// line 66
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.actions.delete"), "html", null, true);
yield "\">
<i class=\"bi bi-trash\"></i>
</button>
</form>
";
}
// line 71
yield " </td>
</tr>
";
$context['_iterated'] = true;
}
// line 73
if (!$context['_iterated']) {
// line 74
yield " <tr>
<td colspan=\"6\" class=\"text-center\">";
// line 75
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("users.messages.no_users_found"), "html", null, true);
yield "</td>
</tr>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['user'], $context['_parent'], $context['_iterated']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 78
yield " </tbody>
</table>
</div>
</div>
</div>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "users/views/admin/index.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 263 => 78, 254 => 75, 251 => 74, 249 => 73, 243 => 71, 235 => 66, 231 => 65, 223 => 63, 221 => 62, 218 => 61, 208 => 57, 206 => 56, 197 => 52, 189 => 49, 184 => 47, 181 => 46, 175 => 44, 169 => 42, 167 => 41, 162 => 39, 158 => 38, 154 => 37, 151 => 36, 146 => 35, 139 => 31, 135 => 30, 131 => 29, 127 => 28, 123 => 27, 119 => 26, 109 => 19, 102 => 14, 92 => 13, 86 => 10, 80 => 9, 75 => 7, 72 => 6, 65 => 5, 52 => 3, 41 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "users/views/admin/index.twig", "/app/modules/users/views/admin/index.twig");
}
}
+544
View File
@@ -0,0 +1,544 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* dashboard/index.twig */
class __TwigTemplate_83deae6ddcf0e0d5f7be1131d559f77e extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'content' => [$this, 'block_content'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/dashboard.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/dashboard.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.title"), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<div class=\"d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom\">
<h1 class=\"h2\">";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.title"), "html", null, true);
yield "</h1>
<div class=\"btn-toolbar mb-2 mb-md-0\">
<div class=\"btn-group me-2\">
</div>
</div>
</div>
";
// line 16
if ((($tmp = ($context["seo_pending"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 17
yield "<div class=\"alert alert-warning alert-dismissible fade show\" role=\"alert\">
<strong><i class=\"bi bi-exclamation-triangle-fill\"></i> ";
// line 18
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.seo_warning_title"), "html", null, true);
yield "</strong> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.seo_warning_message"), "html", null, true);
yield "
<a href=\"";
// line 19
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/system/install-seo"), "html", null, true);
yield "\" class=\"btn btn-warning btn-sm ms-2\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.seo_install_repair_button"), "html", null, true);
yield "</a>
<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>
</div>
";
}
// line 23
yield "
";
// line 24
if ((($tmp = ($context["cache_cleared"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 25
yield "<div class=\"alert alert-success alert-dismissible fade show\" role=\"alert\">
<strong>";
// line 26
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.cache_cleared_title"), "html", null, true);
yield "</strong> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.cache_cleared_message", ["files" => ($context["deleted_count"] ?? null), "opcache" => (((($tmp = ($context["opcache_cleared"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getFunction('__')->getCallable()("dashboard.yes")) : ($this->env->getFunction('__')->getCallable()("dashboard.no")))]), "html", null, true);
yield "
<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>
</div>
";
}
// line 30
yield "
";
// line 31
if ((($tmp = ($context["seo_pending"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 32
yield "<div class=\"alert alert-warning alert-dismissible fade show\" role=\"alert\">
<strong><i class=\"bi bi-exclamation-triangle-fill\"></i> ";
// line 33
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.seo_warning_title"), "html", null, true);
yield "</strong> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.seo_missing_message"), "html", null, true);
yield "
<a href=\"";
// line 34
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/system/install-seo"), "html", null, true);
yield "\" class=\"btn btn-warning btn-sm ms-2\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.seo_install_button"), "html", null, true);
yield "</a>
<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>
</div>
";
}
// line 38
yield "
<!-- Syspanel Ad Section -->
<div class=\"row mb-4\">
<div class=\"col-12\">
<div class=\"card border-0 shadow-lg overflow-hidden\" style=\"border-radius: 24px; background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); transition: transform 0.3s ease;\">
<div class=\"card-body p-0\">
<div class=\"row g-0 align-items-center\">
<div class=\"col-lg-7 p-4 p-md-5\">
<div class=\"d-inline-flex align-items-center px-3 py-1 rounded-pill mb-4\" style=\"background: rgba(59, 130, 246, 0.1); border: 1px solid rgba(59, 130, 246, 0.2);\">
<span class=\"text-primary fw-bold small\"><i class=\"bi bi-rocket-takeoff-fill me-2\"></i> Syspanel Enterprise</span>
</div>
<h2 class=\"display-4 fw-bold text-white mb-4\">Conheça também os outros <span style=\"background: linear-gradient(135deg, #60a5fa 0%, #a855f7 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;\">serviços Syspanel</span></h2>
<p class=\"lead text-light opacity-75 mb-4 fs-5\">
A solução definitiva para empresas que buscam excelência operacional, automação inteligente e crescimento escalável. Tudo o que você precisa em uma única plataforma.
</p>
<div class=\"row g-4 mb-5 text-light\">
<div class=\"col-md-6\">
<div class=\"d-flex align-items-start gap-3\">
<div class=\"rounded-circle bg-primary bg-opacity-10 p-2\">
<i class=\"bi bi-speedometer2 text-primary fs-4\"></i>
</div>
<div>
<h6 class=\"fw-bold mb-1\">Performance Ultra-Rápida</h6>
<p class=\"small opacity-75 mb-0\">Decisões em tempo real com dados precisos.</p>
</div>
</div>
</div>
<div class=\"col-md-6\">
<div class=\"d-flex align-items-start gap-3\">
<div class=\"rounded-circle bg-primary bg-opacity-10 p-2\">
<i class=\"bi bi-shield-check text-primary fs-4\"></i>
</div>
<div>
<h6 class=\"fw-bold mb-1\">Segurança Avançada</h6>
<p class=\"small opacity-75 mb-0\">Proteção de dados de nível corporativo.</p>
</div>
</div>
</div>
</div>
<div class=\"d-flex flex-wrap gap-3\">
<a href=\"https://home.syspanel.com.br\" target=\"_blank\" class=\"btn btn-primary btn-lg px-5 py-3 fw-bold shadow-sm\" style=\"border-radius: 16px; background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); border: none;\">
Começar Agora <i class=\"bi bi-arrow-right ms-2\"></i>
</a>
<a href=\"https://home.syspanel.com.br/contato\" target=\"_blank\" class=\"btn btn-outline-light btn-lg px-5 py-3 fw-bold\" style=\"border-radius: 16px;\">
Falar com Especialista
</a>
</div>
</div>
<div class=\"col-lg-5 d-none d-lg-block position-relative\">
<div class=\"h-100\" style=\"min-height: 500px; background: url('https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&q=80&w=1000') center/cover;\">
<div class=\"position-absolute top-0 start-0 w-100 h-100\" style=\"background: linear-gradient(to right, #0f172a, transparent);\"></div>
<div class=\"position-absolute bottom-0 start-0 p-5 w-100\">
<div class=\"glass-card p-4 rounded-4\" style=\"background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.1);\">
<div class=\"d-flex align-items-center gap-4\">
<div class=\"p-3 bg-white bg-opacity-10 rounded-3\">
<i class=\"bi bi-graph-up text-white fs-3\"></i>
</div>
<div>
<div class=\"text-white fw-bold fs-5\">+250%</div>
<div class=\"text-light small opacity-75\">Aumento em produtividade média</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Statistics Cards -->
<div class=\"row\">
";
// line 112
if ((CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "role", [], "any", false, false, false, 112) == "super_admin")) {
// line 113
yield " <div class=\"col-xl-3 col-md-6 mb-4\">
<div class=\"card bg-primary text-white mb-4\">
<div class=\"card-body\">
<div class=\"row no-gutters align-items-center\">
<div class=\"col mr-2\">
<div class=\"small text-white-50 text-uppercase mb-1\">
";
// line 119
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.total_companies"), "html", null, true);
yield "</div>
<div class=\"h5 mb-0 font-weight-bold text-white\">";
// line 120
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["stats"] ?? null), "total_companies", [], "any", false, false, false, 120), "html", null, true);
yield "</div>
</div>
<div class=\"col-auto\">
<i class=\"bi bi-building fs-2 text-white-50\"></i>
</div>
</div>
</div>
</div>
</div>
<div class=\"col-xl-3 col-md-6 mb-4\">
<div class=\"card bg-success text-white mb-4\">
<div class=\"card-body\">
<div class=\"row no-gutters align-items-center\">
<div class=\"col mr-2\">
<div class=\"small text-white-50 text-uppercase mb-1\">
";
// line 136
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.active_companies"), "html", null, true);
yield "</div>
<div class=\"h5 mb-0 font-weight-bold text-white\">";
// line 137
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["stats"] ?? null), "active_companies", [], "any", false, false, false, 137), "html", null, true);
yield "</div>
</div>
<div class=\"col-auto\">
<i class=\"bi bi-check-circle-fill fs-2 text-white-50\"></i>
</div>
</div>
</div>
</div>
</div>
<div class=\"col-xl-3 col-md-6 mb-4\">
<div class=\"card bg-info text-white mb-4\">
<div class=\"card-body\">
<div class=\"row no-gutters align-items-center\">
<div class=\"col mr-2\">
<div class=\"small text-white-50 text-uppercase mb-1\">
";
// line 153
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.total_users"), "html", null, true);
yield "</div>
<div class=\"h5 mb-0 font-weight-bold text-white\">";
// line 154
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["stats"] ?? null), "total_users", [], "any", false, false, false, 154), "html", null, true);
yield "</div>
</div>
<div class=\"col-auto\">
<i class=\"bi bi-people-fill fs-2 text-white-50\"></i>
</div>
</div>
</div>
</div>
</div>
<div class=\"col-xl-3 col-md-6 mb-4\">
<div class=\"card bg-warning text-white mb-4\">
<div class=\"card-body\">
<div class=\"row no-gutters align-items-center\">
<div class=\"col mr-2\">
<div class=\"small text-white-50 text-uppercase mb-1\">
";
// line 170
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.active_users"), "html", null, true);
yield "</div>
<div class=\"h5 mb-0 font-weight-bold text-white\">";
// line 171
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["stats"] ?? null), "active_users", [], "any", false, false, false, 171), "html", null, true);
yield "</div>
</div>
<div class=\"col-auto\">
<i class=\"bi bi-person-check fs-2 text-white-50\"></i>
</div>
</div>
</div>
</div>
</div>
";
}
// line 181
yield "</div>
<!-- Widgets Section -->
";
// line 184
if ((Twig\Extension\CoreExtension::length($this->env->getCharset(), ($context["widgets"] ?? null)) > 0)) {
// line 185
yield "<div class=\"row\">
";
// line 186
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["widgets"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["widget"]) {
// line 187
yield " <div class=\"col-lg-6 mb-4\">
";
// line 188
yield $context["widget"];
yield "
</div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['widget'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 191
yield "</div>
";
}
// line 193
yield "
<!-- Recent Activity -->
<div class=\"card shadow mb-4\">
<div class=\"card-header py-3\">
<h6 class=\"m-0 font-weight-bold text-primary\">";
// line 197
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.recent_activity"), "html", null, true);
yield "</h6>
</div>
<div class=\"card-body\">
";
// line 200
if ((Twig\Extension\CoreExtension::length($this->env->getCharset(), ($context["recent_activity"] ?? null)) > 0)) {
// line 201
yield " <div class=\"table-responsive\">
<table class=\"table table-bordered\" width=\"100%\" cellspacing=\"0\">
<thead>
<tr>
<th>";
// line 205
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.activity.user"), "html", null, true);
yield "</th>
<th>";
// line 206
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.activity.action"), "html", null, true);
yield "</th>
<th>";
// line 207
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.activity.resource"), "html", null, true);
yield "</th>
<th>";
// line 208
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.activity.date"), "html", null, true);
yield "</th>
</tr>
</thead>
<tbody>
";
// line 212
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["recent_activity"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["activity"]) {
// line 213
yield " <tr>
<td>";
// line 214
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["activity"], "user_name", [], "any", false, false, false, 214), "html", null, true);
yield "</td>
<td>
<span class=\"badge badge-";
// line 216
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, $context["activity"], "action_color", [], "any", true, true, false, 216)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, $context["activity"], "action_color", [], "any", false, false, false, 216), "secondary")) : ("secondary")), "html", null, true);
yield "\">
";
// line 217
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()(("dashboard.activity." . CoreExtension::getAttribute($this->env, $this->source, $context["activity"], "action", [], "any", false, false, false, 217))), "html", null, true);
yield "
</span>
</td>
<td>";
// line 220
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["activity"], "resource_type", [], "any", false, false, false, 220), "html", null, true);
yield " #";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["activity"], "resource_id", [], "any", false, false, false, 220), "html", null, true);
yield "</td>
<td>";
// line 221
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env, $this->source, $context["activity"], "created_at", [], "any", false, false, false, 221), "d/m/Y H:i"), "html", null, true);
yield "</td>
</tr>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['activity'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 224
yield " </tbody>
</table>
</div>
";
} else {
// line 228
yield " <p class=\"text-muted\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.no_recent_activity"), "html", null, true);
yield "</p>
";
}
// line 230
yield " </div>
</div>
<!-- Welcome Message -->
<div class=\"row\">
<div class=\"col-lg-12\">
<div class=\"card shadow mb-4\">
<div class=\"card-header py-3\">
<h6 class=\"m-0 font-weight-bold text-primary\">";
// line 238
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.welcome", ["platformName" => ($context["platformName"] ?? null)]), "html", null, true);
yield "</h6>
</div>
<div class=\"card-body\">
<p>";
// line 241
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.welcome_message", ["name" => CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "name", [], "any", false, false, false, 241)]), "html", null, true);
yield "</p>
";
// line 243
if ((CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "role", [], "any", false, false, false, 243) == "super_admin")) {
// line 244
yield " <div class=\"alert alert-info\">
<i class=\"bi bi-info-circle\"></i>
";
// line 246
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.super_admin_info"), "html", null, true);
yield "
<a href=\"";
// line 247
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/modules/install"), "html", null, true);
yield "\" class=\"btn btn-sm btn-primary ms-2\">
<i class=\"bi bi-upload\"></i> ";
// line 248
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.install_module"), "html", null, true);
yield "
</a>
</div>
";
}
// line 252
yield "
";
// line 253
if (((CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "role", [], "any", false, false, false, 253) == "admin") || (CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "role", [], "any", false, false, false, 253) == "user"))) {
// line 254
yield " <div class=\"alert alert-success\">
<i class=\"bi bi-shield-check\"></i>
";
// line 256
yield (((CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "role", [], "any", false, false, false, 256) == "admin")) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.admin_info"), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.user_info"), "html", null, true)));
yield "
</div>
";
}
// line 259
yield "
<div class=\"mt-3\">
<a href=\"";
// line 261
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("profile"), "html", null, true);
yield "\" class=\"btn btn-primary btn-sm\">
<i class=\"bi bi-person\"></i> ";
// line 262
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.edit_profile"), "html", null, true);
yield "
</a>
</div>
</div>
</div>
</div>
</div>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "dashboard/index.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 502 => 262, 498 => 261, 494 => 259, 488 => 256, 484 => 254, 482 => 253, 479 => 252, 472 => 248, 468 => 247, 464 => 246, 460 => 244, 458 => 243, 453 => 241, 447 => 238, 437 => 230, 431 => 228, 425 => 224, 416 => 221, 410 => 220, 404 => 217, 400 => 216, 395 => 214, 392 => 213, 388 => 212, 381 => 208, 377 => 207, 373 => 206, 369 => 205, 363 => 201, 361 => 200, 355 => 197, 349 => 193, 345 => 191, 336 => 188, 333 => 187, 329 => 186, 326 => 185, 324 => 184, 319 => 181, 306 => 171, 302 => 170, 283 => 154, 279 => 153, 260 => 137, 256 => 136, 237 => 120, 233 => 119, 225 => 113, 223 => 112, 147 => 38, 138 => 34, 132 => 33, 129 => 32, 127 => 31, 124 => 30, 115 => 26, 112 => 25, 110 => 24, 107 => 23, 98 => 19, 92 => 18, 89 => 17, 87 => 16, 75 => 7, 72 => 6, 65 => 5, 52 => 3, 41 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "dashboard/index.twig", "/app/templates/dashboard/index.twig");
}
}
+743
View File
@@ -0,0 +1,743 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* company/views/admin/form.twig */
class __TwigTemplate_a32b59f8438891012ef9b918fd0ec07b extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'content' => [$this, 'block_content'],
'scripts' => [$this, 'block_scripts'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/dashboard.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/dashboard.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<div class=\"container-fluid px-4\">
<h1 class=\"mt-4\">";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield "</h1>
<ol class=\"breadcrumb mb-4\">
<li class=\"breadcrumb-item\"><a href=\"";
// line 9
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/dashboard"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.dashboard"), "html", null, true);
yield "</a></li>
<li class=\"breadcrumb-item\"><a href=\"";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/companies"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.title"), "html", null, true);
yield "</a></li>
<li class=\"breadcrumb-item active\">";
// line 11
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.edit_title"), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.create_title"), "html", null, true)));
yield "</li>
</ol>
<div class=\"card mb-4\">
<div class=\"card-header\">
<i class=\"bi bi-building me-1\"></i>
";
// line 17
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.details_title"), "html", null, true);
yield "
</div>
<div class=\"card-body\">
";
// line 20
if ((($tmp = ($context["error"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 21
yield " <div class=\"alert alert-danger\" role=\"alert\">
";
// line 22
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["error"] ?? null), "html", null, true);
yield "
</div>
";
}
// line 25
yield " <form action=\"";
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("admin/companies/" . CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_id", [], "any", false, false, false, 25))), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/companies"), "html", null, true)));
yield "\" method=\"POST\" enctype=\"multipart/form-data\">
";
// line 26
if ((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 27
yield " <input type=\"hidden\" name=\"_method\" value=\"PUT\">
";
}
// line 29
yield " ";
yield $this->env->getFunction('csrf_field')->getCallable()();
yield "
<div class=\"mb-3\">
<label for=\"name\" class=\"form-label\">";
// line 32
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.company_name"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"name\" name=\"name\" value=\"";
// line 33
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_name", [], "any", false, false, false, 33), "html", null, true)) : (""));
yield "\" required>
</div>
<div class=\"mb-3\">
<label for=\"email\" class=\"form-label\">";
// line 37
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.email"), "html", null, true);
yield "</label>
<input type=\"email\" class=\"form-control\" id=\"email\" name=\"email\" value=\"";
// line 38
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_email", [], "any", false, false, false, 38), "html", null, true)) : (""));
yield "\" required>
</div>
<div class=\"mb-3\">
<label for=\"description\" class=\"form-label\">";
// line 42
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.description"), "html", null, true);
yield "</label>
<div id=\"quill-editor\" style=\"height: 300px;\" data-target=\"description\">";
// line 43
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_description", [], "any", false, false, false, 43)) : (""));
yield "</div>
<textarea class=\"form-control\" id=\"description\" name=\"description\" style=\"display:none\">";
// line 44
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_description", [], "any", false, false, false, 44), "html", null, true)) : (""));
yield "</textarea>
</div>
<div class=\"mb-3\">
<label for=\"phone\" class=\"form-label\">";
// line 48
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.phone"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"phone\" name=\"phone\" value=\"";
// line 49
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_phone", [], "any", false, false, false, 49), "html", null, true)) : (""));
yield "\">
</div>
<div class=\"mb-3\">
<label for=\"website\" class=\"form-label\">";
// line 53
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.website"), "html", null, true);
yield "</label>
<input type=\"url\" class=\"form-control\" id=\"website\" name=\"website\" value=\"";
// line 54
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_website", [], "any", false, false, false, 54), "html", null, true)) : (""));
yield "\">
</div>
<div class=\"mb-3\">
<label for=\"tax_id\" class=\"form-label\">";
// line 58
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.tax_id"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"tax_id\" name=\"tax_id\" value=\"";
// line 59
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_tax_id", [], "any", false, false, false, 59), "html", null, true)) : (""));
yield "\">
</div>
<div class=\"mb-3\">
<label for=\"bus_type\" class=\"form-label\">";
// line 63
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.business_type"), "html", null, true);
yield "</label>
<select class=\"form-select\" id=\"bus_type\" name=\"bus_type\">
<option value=\"individual\" ";
// line 65
yield (((($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_type", [], "any", false, false, false, 65) == "individual"))) ? ("selected") : (""));
yield ">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.individual"), "html", null, true);
yield "</option>
<option value=\"business\" ";
// line 66
yield (((($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_type", [], "any", false, false, false, 66) == "business"))) ? ("selected") : (""));
yield ">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.business"), "html", null, true);
yield "</option>
<option value=\"nonprofit\" ";
// line 67
yield (((($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_type", [], "any", false, false, false, 67) == "nonprofit"))) ? ("selected") : (""));
yield ">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.nonprofit"), "html", null, true);
yield "</option>
</select>
</div>
<div class=\"mb-3\">
<label for=\"status\" class=\"form-label\">";
// line 72
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.status"), "html", null, true);
yield "</label>
<select class=\"form-select\" id=\"status\" name=\"status\">
<option value=\"active\" ";
// line 74
yield (((($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_status", [], "any", false, false, false, 74) == "active"))) ? ("selected") : (""));
yield ">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.active"), "html", null, true);
yield "</option>
<option value=\"inactive\" ";
// line 75
yield (((($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_status", [], "any", false, false, false, 75) == "inactive"))) ? ("selected") : (""));
yield ">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.inactive"), "html", null, true);
yield "</option>
</select>
</div>
";
// line 79
if ((CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "isSuperAdmin", [], "method", false, false, false, 79) || (($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_id", [], "any", false, false, false, 79) == 1)))) {
// line 80
yield " <div class=\"card mb-3 border-warning\">
<div class=\"card-header bg-warning text-dark\">
<i class=\"bi bi-globe me-1\"></i> ";
// line 82
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.platform_config_title"), "html", null, true);
yield "
</div>
<div class=\"card-body\">
<div class=\"mb-3\">
<label for=\"platform_name\" class=\"form-label\">";
// line 86
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.platform_name"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"platform_name\" name=\"platform_name\" value=\"";
// line 87
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "platform_name", [], "any", false, false, false, 87), "html", null, true)) : (""));
yield "\" placeholder=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.platform_name_placeholder"), "html", null, true);
yield "\">
<div class=\"form-text\">";
// line 88
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.platform_name_help"), "html", null, true);
yield "</div>
</div>
</div>
</div>
";
}
// line 93
yield "
<div class=\"card mb-4 border-primary\">
<div class=\"card-header bg-primary text-white\">
<i class=\"bi bi-robot me-1\"></i> ";
// line 96
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.ai_agent_config_title"), "html", null, true);
yield "
</div>
<div class=\"card-body\">
<div class=\"row\">
<div class=\"col-md-4\">
<div class=\"mb-3\">
<label for=\"ai_provider\" class=\"form-label\">";
// line 102
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.ai_provider"), "html", null, true);
yield "</label>
<select class=\"form-select\" id=\"ai_provider\" name=\"ai_provider\">
<option value=\"openrouter\" ";
// line 104
yield (((($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "ai_provider", [], "any", false, false, false, 104) == "openrouter"))) ? ("selected") : (""));
yield ">OpenRouter (";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.recommended"), "html", null, true);
yield ")</option>
<option value=\"openai\" ";
// line 105
yield (((($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "ai_provider", [], "any", false, false, false, 105) == "openai"))) ? ("selected") : (""));
yield ">OpenAI (Direct)</option>
<option value=\"gemini\" ";
// line 106
yield (((($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "ai_provider", [], "any", false, false, false, 106) == "gemini"))) ? ("selected") : (""));
yield ">Google Gemini (Direct)</option>
<option value=\"zai\" ";
// line 107
yield (((($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "ai_provider", [], "any", false, false, false, 107) == "zai"))) ? ("selected") : (""));
yield ">Z.ai (Direct)</option>
<option value=\"ollama\" ";
// line 108
yield (((($context["target_company"] ?? null) && (CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "ai_provider", [], "any", false, false, false, 108) == "ollama"))) ? ("selected") : (""));
yield ">Ollama (Local)</option>
</select>
</div>
</div>
<div class=\"col-md-4\">
<div class=\"mb-3\">
<label for=\"ai_model\" class=\"form-label\">";
// line 114
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.ai_model"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"ai_model\" name=\"ai_model\" value=\"";
// line 115
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "ai_model", [], "any", false, false, false, 115), "html", null, true)) : ("google/gemini-2.0-flash-001"));
yield "\" placeholder=\"ex: stepfun/step-3.5-flash:free\">
</div>
</div>
<div class=\"col-md-4\">
<div class=\"mb-3\">
<label for=\"ai_endpoint\" class=\"form-label\">";
// line 120
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.ai_endpoint"), "html", null, true);
yield " (";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.optional"), "html", null, true);
yield ")</label>
<input type=\"text\" class=\"form-control\" id=\"ai_endpoint\" name=\"ai_endpoint\" value=\"";
// line 121
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "ai_endpoint", [], "any", false, false, false, 121), "html", null, true)) : (""));
yield "\" placeholder=\"http://localhost:11434/v1\">
</div>
</div>
</div>
<div class=\"mb-0\">
<label for=\"openrouter_api_key\" class=\"form-label\">";
// line 126
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.api_key_secret"), "html", null, true);
yield "</label>
<input type=\"password\" class=\"form-control\" id=\"openrouter_api_key\" name=\"openrouter_api_key\" value=\"";
// line 127
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "openrouter_api_key", [], "any", false, false, false, 127), "html", null, true)) : (""));
yield "\" placeholder=\"sk-...\">
<div class=\"form-text\">";
// line 128
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.api_key_help"), "html", null, true);
yield "</div>
</div>
</div>
</div>
<div class=\"row\">
<div class=\"col-md-6\">
<div class=\"mb-3\">
<label for=\"address\" class=\"form-label\">";
// line 136
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.address"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"address\" name=\"address\" value=\"";
// line 137
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_address", [], "any", false, false, false, 137), "html", null, true)) : (""));
yield "\">
</div>
</div>
<div class=\"col-md-6\">
<div class=\"mb-3\">
<label for=\"city\" class=\"form-label\">";
// line 142
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.city"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"city\" name=\"city\" value=\"";
// line 143
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_city", [], "any", false, false, false, 143), "html", null, true)) : (""));
yield "\">
</div>
</div>
</div>
<div class=\"row\">
<div class=\"col-md-4\">
<div class=\"mb-3\">
<label for=\"state\" class=\"form-label\">";
// line 151
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.state"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"state\" name=\"state\" value=\"";
// line 152
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_state", [], "any", false, false, false, 152), "html", null, true)) : (""));
yield "\">
</div>
</div>
<div class=\"col-md-4\">
<div class=\"mb-3\">
<label for=\"country\" class=\"form-label\">";
// line 157
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.country"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"country\" name=\"country\" value=\"";
// line 158
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_country", [], "any", false, false, false, 158), "html", null, true)) : (""));
yield "\">
</div>
</div>
<div class=\"col-md-4\">
<div class=\"mb-3\">
<label for=\"postal_code\" class=\"form-label\">";
// line 163
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.postal_code"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"postal_code\" name=\"postal_code\" value=\"";
// line 164
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_postal_code", [], "any", false, false, false, 164), "html", null, true)) : (""));
yield "\">
</div>
</div>
</div>
";
// line 169
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "isSuperAdmin", [], "method", false, false, false, 169)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 170
yield " <div class=\"card mb-3\">
<div class=\"card-header\">
";
// line 172
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.module_visibility_title"), "html", null, true);
yield "
</div>
<div class=\"card-body\">
";
// line 175
if ((($tmp = ($context["modules"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 176
yield " <div class=\"table-responsive\">
<table class=\"table table-bordered table-striped\">
<thead>
<tr>
<th>";
// line 180
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.module_header"), "html", null, true);
yield "</th>
<th class=\"text-center\">";
// line 181
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.enabled_header"), "html", null, true);
yield "</th>
<th class=\"text-center\">";
// line 182
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.public_navbar_header"), "html", null, true);
yield "</th>
<th class=\"text-center\">";
// line 183
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.dashboard_navbar_header"), "html", null, true);
yield "</th>
</tr>
</thead>
<tbody>
";
// line 187
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["modules"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["module"]) {
// line 188
yield " ";
$context["isEnabled"] = false;
// line 189
yield " ";
$context["showPublic"] = true;
// line 190
yield " ";
$context["showDashboard"] = true;
// line 191
yield "
";
// line 192
if ((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 193
yield " ";
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "modules", [], "any", false, false, false, 193));
foreach ($context['_seq'] as $context["_key"] => $context["cm"]) {
// line 194
yield " ";
if ((CoreExtension::getAttribute($this->env, $this->source, $context["cm"], "modules_id", [], "any", false, false, false, 194) == CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_id", [], "any", false, false, false, 194))) {
// line 195
yield " ";
$context["isEnabled"] = CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["cm"], "pivot", [], "any", false, false, false, 195), "bus_modules_is_enabled", [], "any", false, false, false, 195);
// line 196
yield " ";
$context["showPublic"] = CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["cm"], "pivot", [], "any", false, false, false, 196), "bus_modules_show_public_nav", [], "any", false, false, false, 196);
// line 197
yield " ";
$context["showDashboard"] = CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["cm"], "pivot", [], "any", false, false, false, 197), "bus_modules_show_dashboard_nav", [], "any", false, false, false, 197);
// line 198
yield " ";
}
// line 199
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['cm'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 200
yield " ";
}
// line 201
yield "
<tr>
<td>
<input type=\"hidden\" name=\"modules[";
// line 204
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_id", [], "any", false, false, false, 204), "html", null, true);
yield "][present]\" value=\"1\">
<strong>";
// line 205
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_display_name", [], "any", false, false, false, 205), "html", null, true);
yield "</strong>
<small class=\"d-block text-muted\">";
// line 206
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_description", [], "any", false, false, false, 206), "html", null, true);
yield "</small>
</td>
<td class=\"text-center\">
<div class=\"form-check d-inline-block\">
<input class=\"form-check-input\" type=\"checkbox\" name=\"modules[";
// line 210
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_id", [], "any", false, false, false, 210), "html", null, true);
yield "][enabled]\" id=\"module_enabled_";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_id", [], "any", false, false, false, 210), "html", null, true);
yield "\" ";
yield (((($tmp = ($context["isEnabled"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ("checked") : (""));
yield ">
</div>
</td>
<td class=\"text-center\">
<div class=\"form-check d-inline-block\">
<input class=\"form-check-input\" type=\"checkbox\" name=\"modules[";
// line 215
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_id", [], "any", false, false, false, 215), "html", null, true);
yield "][public]\" id=\"module_public_";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_id", [], "any", false, false, false, 215), "html", null, true);
yield "\" ";
yield (((($tmp = ($context["showPublic"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ("checked") : (""));
yield ">
</div>
</td>
<td class=\"text-center\">
<div class=\"form-check d-inline-block\">
<input class=\"form-check-input\" type=\"checkbox\" name=\"modules[";
// line 220
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_id", [], "any", false, false, false, 220), "html", null, true);
yield "][dashboard]\" id=\"module_dashboard_";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_id", [], "any", false, false, false, 220), "html", null, true);
yield "\" ";
yield (((($tmp = ($context["showDashboard"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ("checked") : (""));
yield ">
</div>
</td>
</tr>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['module'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 225
yield " </tbody>
</table>
</div>
";
} else {
// line 229
yield " <p class=\"text-muted mb-0\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.no_active_modules"), "html", null, true);
yield "</p>
";
}
// line 231
yield " </div>
</div>
";
}
// line 234
yield "
<div class=\"mb-3\">
<label for=\"logo\" class=\"form-label\">";
// line 236
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.logo"), "html", null, true);
yield "</label>
<input type=\"file\" class=\"form-control\" id=\"logo\" name=\"logo\" accept=\"image/*\">
<div id=\"logoPreview\" class=\"mt-2\"></div>
";
// line 239
if ((($context["target_company"] ?? null) && CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_logo", [], "any", false, false, false, 239))) {
// line 240
yield " <div class=\"mt-2\">
<small class=\"form-text text-muted\">";
// line 241
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.current_logo"), "html", null, true);
yield "</small>
<img src=\"";
// line 242
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "logo_url", [], "any", false, false, false, 242), "html", null, true);
yield "\" alt=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.alt_logo"), "html", null, true);
yield "\" class=\"img-thumbnail\" style=\"max-height: 100px;\">
</div>
";
}
// line 245
yield " </div>
<div class=\"mb-3\">
<label for=\"business_card\" class=\"form-label\">";
// line 248
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.business_card"), "html", null, true);
yield "</label>
<input type=\"file\" class=\"form-control\" id=\"business_card\" name=\"business_card\" accept=\"image/*\">
<div id=\"businessCardPreview\" class=\"mt-2\"></div>
";
// line 251
if ((($context["target_company"] ?? null) && CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "bus_business_card", [], "any", false, false, false, 251))) {
// line 252
yield " <div class=\"mt-2\">
<small class=\"form-text text-muted\">";
// line 253
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.current_business_card"), "html", null, true);
yield "</small>
<img src=\"";
// line 254
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["target_company"] ?? null), "business_card_url", [], "any", false, false, false, 254), "html", null, true);
yield "\" alt=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.alt_business_card"), "html", null, true);
yield "\" class=\"img-thumbnail\" style=\"max-height: 100px;\">
</div>
";
}
// line 257
yield " </div>
<div class=\"mt-4 border-top pt-3\">
<button type=\"submit\" class=\"btn btn-primary\"><i class=\"bi bi-save me-1\"></i> ";
// line 260
yield (((($tmp = ($context["target_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.update_button"), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.create_button"), "html", null, true)));
yield "</button>
<a href=\"";
// line 261
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/companies"), "html", null, true);
yield "\" class=\"btn btn-secondary\"><i class=\"bi bi-x-lg me-1\"></i> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("company.cancel"), "html", null, true);
yield "</a>
</div>
</form>
</div>
</div>
</div>
";
yield from [];
}
// line 269
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_scripts(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 270
yield "<script>
// Logo Preview
document.getElementById('logo').addEventListener('change', function(e) {
const file = e.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(e) {
document.getElementById('logoPreview').innerHTML = `<img src=\"\${e.target.result}\" class=\"img-thumbnail\" style=\"max-height: 100px;\">`;
}
reader.readAsDataURL(file);
}
});
// Business Card Preview
document.getElementById('business_card').addEventListener('change', function(e) {
const file = e.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(e) {
document.getElementById('businessCardPreview').innerHTML = `<img src=\"\${e.target.result}\" class=\"img-thumbnail\" style=\"max-height: 100px;\">`;
}
reader.readAsDataURL(file);
}
});
</script>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "company/views/admin/form.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 686 => 270, 679 => 269, 665 => 261, 661 => 260, 656 => 257, 648 => 254, 644 => 253, 641 => 252, 639 => 251, 633 => 248, 628 => 245, 620 => 242, 616 => 241, 613 => 240, 611 => 239, 605 => 236, 601 => 234, 596 => 231, 590 => 229, 584 => 225, 569 => 220, 557 => 215, 545 => 210, 538 => 206, 534 => 205, 530 => 204, 525 => 201, 522 => 200, 516 => 199, 513 => 198, 510 => 197, 507 => 196, 504 => 195, 501 => 194, 496 => 193, 494 => 192, 491 => 191, 488 => 190, 485 => 189, 482 => 188, 478 => 187, 471 => 183, 467 => 182, 463 => 181, 459 => 180, 453 => 176, 451 => 175, 445 => 172, 441 => 170, 439 => 169, 431 => 164, 427 => 163, 419 => 158, 415 => 157, 407 => 152, 403 => 151, 392 => 143, 388 => 142, 380 => 137, 376 => 136, 365 => 128, 361 => 127, 357 => 126, 349 => 121, 343 => 120, 335 => 115, 331 => 114, 322 => 108, 318 => 107, 314 => 106, 310 => 105, 304 => 104, 299 => 102, 290 => 96, 285 => 93, 277 => 88, 271 => 87, 267 => 86, 260 => 82, 256 => 80, 254 => 79, 245 => 75, 239 => 74, 234 => 72, 224 => 67, 218 => 66, 212 => 65, 207 => 63, 200 => 59, 196 => 58, 189 => 54, 185 => 53, 178 => 49, 174 => 48, 167 => 44, 163 => 43, 159 => 42, 152 => 38, 148 => 37, 141 => 33, 137 => 32, 130 => 29, 126 => 27, 124 => 26, 119 => 25, 113 => 22, 110 => 21, 108 => 20, 102 => 17, 93 => 11, 87 => 10, 81 => 9, 76 => 7, 73 => 6, 66 => 5, 53 => 3, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "company/views/admin/form.twig", "/app/modules/company/views/admin/form.twig");
}
}
+336
View File
@@ -0,0 +1,336 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* auth/views/profile.twig */
class __TwigTemplate_38fbd01991f543704d0382773ae4f2a0 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'content' => [$this, 'block_content'],
'scripts' => [$this, 'block_scripts'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/dashboard.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/dashboard.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.profile_title"), "html", null, true);
yield " - ";
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<div class=\"row\">
<div class=\"col-lg-8\">
<div class=\"card shadow\">
<div class=\"card-header\">
<h3 class=\"card-title\">";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.profile_title"), "html", null, true);
yield "</h3>
</div>
<div class=\"card-body\">
";
// line 13
if ((($tmp = ($context["success"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 14
yield " <div class=\"alert alert-success\" role=\"alert\">
";
// line 15
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.profile_updated"), "html", null, true);
yield "
</div>
";
}
// line 18
yield "
";
// line 19
if ((($tmp = ($context["error"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 20
yield " <div class=\"alert alert-danger\" role=\"alert\">
";
// line 21
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["error"] ?? null), "html", null, true);
yield "
</div>
";
}
// line 24
yield "
<form method=\"POST\" action=\"";
// line 25
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("profile"), "html", null, true);
yield "\" enctype=\"multipart/form-data\">
";
// line 26
yield $this->env->getFunction('csrf_field')->getCallable()();
yield "
<div class=\"row\">
<div class=\"col-md-6 mb-3\">
<label for=\"name\" class=\"form-label\">";
// line 30
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.name"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"name\" name=\"name\" value=\"";
// line 31
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "name", [], "any", false, false, false, 31), "html", null, true);
yield "\" required>
</div>
<div class=\"col-md-6 mb-3\">
<label for=\"email\" class=\"form-label\">";
// line 35
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.email"), "html", null, true);
yield "</label>
<input type=\"email\" class=\"form-control\" id=\"email\" name=\"email\" value=\"";
// line 36
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "email", [], "any", false, false, false, 36), "html", null, true);
yield "\" required>
</div>
</div>
<div class=\"row\">
<div class=\"col-md-6 mb-3\">
<label for=\"phone\" class=\"form-label\">";
// line 42
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.phone"), "html", null, true);
yield "</label>
<input type=\"text\" class=\"form-control\" id=\"phone\" name=\"phone\" value=\"";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "phone", [], "any", false, false, false, 43), "html", null, true);
yield "\">
</div>
<div class=\"col-md-12 mb-3\">
<label for=\"bio\" class=\"form-label\">";
// line 47
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.bio"), "html", null, true);
yield "</label>
<textarea class=\"form-control\" id=\"bio\" name=\"bio\" rows=\"4\">";
// line 48
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "bio", [], "any", false, false, false, 48), "html", null, true);
yield "</textarea>
</div>
</div>
<div class=\"row\">
<div class=\"col-md-6 mb-3\">
<label for=\"avatar\" class=\"form-label\">";
// line 54
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.avatar"), "html", null, true);
yield "</label>
<input type=\"file\" class=\"form-control\" id=\"avatar\" name=\"avatar\" accept=\"image/*\">
<div id=\"avatarPreview\" class=\"mt-2\"></div>
";
// line 57
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "avatar", [], "any", false, false, false, 57)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 58
yield " <div class=\"mt-2\">
<small class=\"form-text text-muted\">";
// line 59
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.current_avatar"), "html", null, true);
yield ":</small>
<img src=\"";
// line 60
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "avatar_url", [], "any", false, false, false, 60), "html", null, true);
yield "\" alt=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.current_avatar"), "html", null, true);
yield "\" class=\"img-thumbnail\" style=\"max-width: 100px;\">
</div>
";
}
// line 63
yield " </div>
<div class=\"col-md-6 mb-3\" x-data=\"{ show: false }\">
<label for=\"current_password\" class=\"form-label\">";
// line 66
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.current_password"), "html", null, true);
yield "</label>
<div class=\"input-group\">
<input :type=\"show ? 'text' : 'password'\" class=\"form-control\" id=\"current_password\" name=\"current_password\" placeholder=\"";
// line 68
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.current_password_placeholder"), "html", null, true);
yield "\" autocomplete=\"new-password\" value=\"\">
<button class=\"btn btn-outline-secondary\" type=\"button\" @click=\"show = !show\">
<i :class=\"show ? 'bi bi-eye-slash' : 'bi bi-eye'\"></i>
</button>
</div>
</div>
</div>
<div class=\"row\">
<div class=\"col-md-6 mb-3\" x-data=\"{ show: false }\">
<label for=\"password\" class=\"form-label\">";
// line 78
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.new_password"), "html", null, true);
yield "</label>
<div class=\"input-group\">
<input :type=\"show ? 'text' : 'password'\" class=\"form-control\" id=\"password\" name=\"password\" placeholder=\"";
// line 80
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.new_password_placeholder"), "html", null, true);
yield "\" autocomplete=\"new-password\" value=\"\">
<button class=\"btn btn-outline-secondary\" type=\"button\" @click=\"show = !show\">
<i :class=\"show ? 'bi bi-eye-slash' : 'bi bi-eye'\"></i>
</button>
</div>
</div>
<div class=\"col-md-6 mb-3\" x-data=\"{ show: false }\">
<label for=\"password_confirmation\" class=\"form-label\">";
// line 88
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.password_confirmation"), "html", null, true);
yield "</label>
<div class=\"input-group\">
<input :type=\"show ? 'text' : 'password'\" class=\"form-control\" id=\"password_confirmation\" name=\"password_confirmation\" placeholder=\"";
// line 90
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.password_confirmation_placeholder"), "html", null, true);
yield "\" autocomplete=\"new-password\" value=\"\">
<button class=\"btn btn-outline-secondary\" type=\"button\" @click=\"show = !show\">
<i :class=\"show ? 'bi bi-eye-slash' : 'bi bi-eye'\"></i>
</button>
</div>
</div>
</div>
<div class=\"row\">
<div class=\"col-12\">
<button type=\"submit\" class=\"btn btn-primary\">";
// line 100
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.update_profile"), "html", null, true);
yield "</button>
<a href=\"";
// line 101
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("dashboard"), "html", null, true);
yield "\" class=\"btn btn-secondary\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.cancel"), "html", null, true);
yield "</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
";
yield from [];
}
// line 111
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_scripts(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 112
yield "<script>
// Preview avatar before upload
document.addEventListener('DOMContentLoaded', function() {
const avatarInput = document.getElementById('avatar');
const avatarPreview = document.getElementById('avatarPreview');
if (avatarInput && avatarPreview) {
avatarInput.addEventListener('change', function(e) {
const file = e.target.files[0];
if (file && file.type.startsWith('image/')) {
const reader = new FileReader();
reader.onload = function(e) {
avatarPreview.innerHTML = `<img src=\"\${e.target.result}\" alt=\"";
// line 126
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.preview"), "html", null, true);
yield "\" class=\"img-thumbnail\" style=\"max-width: 200px;\">`;
};
reader.readAsDataURL(file);
}
});
}
});
</script>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "auth/views/profile.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 294 => 126, 278 => 112, 271 => 111, 255 => 101, 251 => 100, 238 => 90, 233 => 88, 222 => 80, 217 => 78, 204 => 68, 199 => 66, 194 => 63, 186 => 60, 182 => 59, 179 => 58, 177 => 57, 171 => 54, 162 => 48, 158 => 47, 151 => 43, 147 => 42, 138 => 36, 134 => 35, 127 => 31, 123 => 30, 116 => 26, 112 => 25, 109 => 24, 103 => 21, 100 => 20, 98 => 19, 95 => 18, 89 => 15, 86 => 14, 84 => 13, 78 => 10, 72 => 6, 65 => 5, 53 => 3, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "auth/views/profile.twig", "/app/modules/auth/views/profile.twig");
}
}
+321
View File
@@ -0,0 +1,321 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* layouts/base.twig */
class __TwigTemplate_701120f820c65877c3edabf3f7b0cf8a extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
'title' => [$this, 'block_title'],
'head' => [$this, 'block_head'],
'layout_navbar' => [$this, 'block_layout_navbar'],
'layout_body' => [$this, 'block_layout_body'],
'content' => [$this, 'block_content'],
'layout_footer' => [$this, 'block_layout_footer'],
'scripts' => [$this, 'block_scripts'],
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"";
// line 2
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->env->getFunction('session')->getCallable()("lang"), "pt-BR"), "html", null, true);
yield "\">
<head>
<meta charset=\"utf-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">
<title>";
// line 7
yield from $this->unwrap()->yieldBlock('title', $context, $blocks);
yield "</title>
";
// line 10
yield " <link rel=\"stylesheet\" href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()("css/bootstrap.min.css"), "html", null, true);
yield "\">
";
// line 13
yield " <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css\">
";
// line 16
yield " <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.3/css/lightbox.min.css\">
";
// line 19
yield " <link rel=\"stylesheet\" href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('theme_asset')->getCallable()("css/style.css"), "html", null, true);
yield "\">
<link rel=\"stylesheet\" href=\"";
// line 20
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('theme_url')->getCallable()("style.css"), "html", null, true);
yield "\">
";
// line 23
yield " <script src=\"https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js\" defer></script>
";
// line 25
yield from $this->unwrap()->yieldBlock('head', $context, $blocks);
// line 26
yield "</head>
<body class=\"theme-";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["active_theme"] ?? null), "html", null, true);
yield "\">
";
// line 30
yield from $this->unwrap()->yieldBlock('layout_navbar', $context, $blocks);
// line 34
yield "
";
// line 35
yield from $this->unwrap()->yieldBlock('layout_body', $context, $blocks);
// line 40
yield "
";
// line 41
yield from $this->unwrap()->yieldBlock('layout_footer', $context, $blocks);
// line 45
yield "
";
// line 47
yield " <script src=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()("js/bootstrap.bundle.js"), "html", null, true);
yield "\"></script>
";
// line 50
yield " <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js\"></script>
";
// line 53
yield " <script src=\"https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.3/js/lightbox.min.js\"></script>
<script>
if (typeof lightbox !== 'undefined') {
lightbox.option({
'resizeDuration': 200,
'wrapAround': true,
'albumLabel': \"";
// line 59
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->env->getFunction('__')->getCallable()("layout.lightbox.image_of"), "Imagem %1 de %2"), "html", null, true);
yield "\",
'fadeDuration': 300,
'imageFadeDuration': 300
});
}
</script>
";
// line 66
yield from $this->unwrap()->yieldBlock('scripts', $context, $blocks);
// line 67
yield "
";
// line 69
yield " <link rel=\"stylesheet\" type=\"text/css\" href=\"/consent/cookieconsent.min.css\" />
<script src=\"/consent/cookieconsent.min.js\"></script>
<script>
window.addEventListener(\"load\", function(){
window.cookieconsent.initialise({
\"palette\": {
\"popup\": { \"background\": \"#216942\", \"text\": \"#b2d192\" },
\"button\": { \"background\": \"#afed71\" }
},
\"content\": {
\"message\": \"";
// line 79
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.cookie_consent.message"), "html", null, true);
yield "\",
\"dismiss\": \"";
// line 80
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.cookie_consent.dismiss"), "html", null, true);
yield "\",
\"link\": \"";
// line 81
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.footer.terms"), "html", null, true);
yield "\",
\"href\": \"/user_terms.html\"
}
})});
</script>
</body>
</html>
";
yield from [];
}
// line 7
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("title", $context)) ? (Twig\Extension\CoreExtension::default(($context["title"] ?? null), ($context["platformName"] ?? null))) : (($context["platformName"] ?? null))), "html", null, true);
yield from [];
}
// line 25
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_head(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield from [];
}
// line 30
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_layout_navbar(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 31
yield " ";
// line 32
yield " ";
try {
$_v0 = $this->load("partials/nav-bar.twig", 32);
} catch (LoaderError $e) {
// ignore missing template
$_v0 = null;
}
if ($_v0) {
yield from $_v0->unwrap()->yield($context);
}
// line 33
yield " ";
yield from [];
}
// line 35
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_layout_body(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 36
yield " <main class=\"container py-4\">
";
// line 37
yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
// line 38
yield " </main>
";
yield from [];
}
// line 37
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield from [];
}
// line 41
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_layout_footer(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 42
yield " ";
// line 43
yield " ";
try {
$_v1 = $this->load("partials/footer.twig", 43);
} catch (LoaderError $e) {
// ignore missing template
$_v1 = null;
}
if ($_v1) {
yield from $_v1->unwrap()->yield($context);
}
// line 44
yield " ";
yield from [];
}
// line 66
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_scripts(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "layouts/base.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 284 => 66, 279 => 44, 268 => 43, 266 => 42, 259 => 41, 249 => 37, 243 => 38, 241 => 37, 238 => 36, 231 => 35, 226 => 33, 215 => 32, 213 => 31, 206 => 30, 196 => 25, 185 => 7, 172 => 81, 168 => 80, 164 => 79, 152 => 69, 149 => 67, 147 => 66, 137 => 59, 129 => 53, 125 => 50, 119 => 47, 116 => 45, 114 => 41, 111 => 40, 109 => 35, 106 => 34, 104 => 30, 99 => 28, 95 => 26, 93 => 25, 89 => 23, 84 => 20, 79 => 19, 75 => 16, 71 => 13, 65 => 10, 60 => 7, 52 => 2, 49 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "layouts/base.twig", "/app/themes/default/views/layouts/base.twig");
}
}
+155
View File
@@ -0,0 +1,155 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* configindex/views/admin/create.twig */
class __TwigTemplate_c4ed2d8a4b51eb4c868d914cbd128680 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'content' => [$this, 'block_content'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/dashboard.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/dashboard.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<div class=\"container-fluid px-4\">
<h1 class=\"mt-4\">";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield "</h1>
<ol class=\"breadcrumb mb-4\">
<li class=\"breadcrumb-item\"><a href=\"";
// line 9
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("dashboard"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.menu.dashboard"), "html", null, true);
yield "</a></li>
<li class=\"breadcrumb-item\"><a href=\"";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/configindex"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.title"), "html", null, true);
yield "</a></li>
<li class=\"breadcrumb-item active\">";
// line 11
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield "</li>
</ol>
<div class=\"card mb-4\">
<div class=\"card-header\">
<i class=\"bi bi-plus-circle me-1\"></i>
Criar Nova Página Index
</div>
<div class=\"card-body\">
<form action=\"";
// line 20
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/configindex/store"), "html", null, true);
yield "\" method=\"POST\">
<div class=\"mb-3\">
<label for=\"key\" class=\"form-label\">Identificador da Página (Slug)</label>
<input type=\"text\" class=\"form-label form-control\" id=\"key\" name=\"key\" required placeholder=\"ex: contato, sobre, galeria\">
<div class=\"form-text\">Este identificador será usado para o nome do arquivo .twig e para as chaves de tradução. Use apenas letras, números e hífens.</div>
</div>
<div class=\"d-flex justify-content-between\">
<a href=\"";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/configindex"), "html", null, true);
yield "\" class=\"btn btn-secondary\">Cancelar</a>
<button type=\"submit\" class=\"btn btn-primary\">Criar Página</button>
</div>
</form>
</div>
</div>
</div>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "configindex/views/admin/create.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 115 => 28, 104 => 20, 92 => 11, 86 => 10, 80 => 9, 75 => 7, 72 => 6, 65 => 5, 52 => 3, 41 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "configindex/views/admin/create.twig", "/app/modules/configindex/views/admin/create.twig");
}
}
+268
View File
@@ -0,0 +1,268 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* partials/sidebar.twig */
class __TwigTemplate_6c94e61aa00a90716030d2272db6e37f extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<nav class=\"sb-sidenav accordion sb-sidenav-dark\" id=\"sidenavAccordion\">
<div class=\"sb-sidenav-menu\">
<div class=\"nav\">
<div class=\"sb-sidenav-menu-heading\">";
// line 4
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.core"), "html", null, true);
yield "</div>
<a class=\"nav-link\" href=\"";
// line 5
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("dashboard"), "html", null, true);
yield "\">
<div class=\"sb-nav-link-icon\"><i class=\"bi bi-speedometer2\"></i></div>
";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.title"), "html", null, true);
yield "
</a>
";
// line 10
if (((CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "role", [], "any", false, false, false, 10) == "member") || (CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "role", [], "any", false, false, false, 10) == "user"))) {
// line 11
yield " <a class=\"nav-link\" href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("profile"), "html", null, true);
yield "\">
<div class=\"sb-nav-link-icon\"><i class=\"bi bi-person-circle\"></i></div>
";
// line 13
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.profile_title"), "html", null, true);
yield "
</a>
";
}
// line 16
yield "
";
// line 17
if ((Twig\Extension\CoreExtension::length($this->env->getCharset(), ($context["sidebar_items"] ?? null)) > 0)) {
// line 18
yield " <div class=\"sb-sidenav-menu-heading\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.modules_header"), "html", null, true);
yield "</div>
";
// line 19
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["sidebar_items"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["item"]) {
// line 20
yield " <a class=\"nav-link\" href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(CoreExtension::getAttribute($this->env, $this->source, $context["item"], "route", [], "any", false, false, false, 20)), "html", null, true);
yield "\">
<div class=\"sb-nav-link-icon\">
<i class=\"";
// line 22
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["item"], "icon", [], "any", false, false, false, 22), "html", null, true);
yield "\"></i>
</div>
";
// line 24
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["item"], "label", [], "any", false, false, false, 24), "html", null, true);
yield "
</a>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['item'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 27
yield " ";
}
// line 28
yield "
";
// line 29
if ((CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "role", [], "any", false, false, false, 29) == "super_admin")) {
// line 30
yield " <div class=\"sb-sidenav-menu-heading\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.system"), "html", null, true);
yield "</div>
<a class=\"nav-link\" href=\"";
// line 31
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/themes"), "html", null, true);
yield "\">
<div class=\"sb-nav-link-icon\"><i class=\"bi bi-palette\"></i></div>
";
// line 33
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.themes"), "html", null, true);
yield "
</a>
<a class=\"nav-link\" href=\"";
// line 35
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/globallists"), "html", null, true);
yield "\">
<div class=\"sb-nav-link-icon\"><i class=\"bi bi-list-ul\"></i></div>
";
// line 37
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.global_lists"), "html", null, true);
yield "
</a>
<a class=\"nav-link\" href=\"";
// line 39
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/systemconfig"), "html", null, true);
yield "\">
<div class=\"sb-nav-link-icon\"><i class=\"bi bi-gear\"></i></div>
";
// line 41
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.settings"), "html", null, true);
yield "
</a>
<a class=\"nav-link\" href=\"";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/logs"), "html", null, true);
yield "\">
<div class=\"sb-nav-link-icon\"><i class=\"bi bi-file-text\"></i></div>
";
// line 45
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.system_logs"), "html", null, true);
yield "
</a>
<a class=\"nav-link\" href=\"";
// line 47
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/system/info"), "html", null, true);
yield "\">
<div class=\"sb-nav-link-icon\"><i class=\"bi bi-server\"></i></div>
";
// line 49
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.system_info"), "html", null, true);
yield "
</a>
<a class=\"nav-link\" href=\"";
// line 51
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/system/phpinfo"), "html", null, true);
yield "\">
<div class=\"sb-nav-link-icon\"><i class=\"bi bi-filetype-php\"></i></div>
";
// line 53
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.php_info"), "html", null, true);
yield "
</a>
<a class=\"nav-link\" href=\"";
// line 55
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/modules/install"), "html", null, true);
yield "\">
<div class=\"sb-nav-link-icon\"><i class=\"bi bi-box\"></i></div>
";
// line 57
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.modules"), "html", null, true);
yield "
</a>
<a class=\"nav-link\" href=\"";
// line 59
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/system/clear-cache"), "html", null, true);
yield "\" onclick=\"return confirm('";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.clear_cache_confirm"), "html", null, true);
yield "')\">
<div class=\"sb-nav-link-icon\"><i class=\"bi bi-eraser\"></i></div>
";
// line 61
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.clear_cache"), "html", null, true);
yield "
</a>
";
}
// line 64
yield " </div>
</div>
<div class=\"sb-sidenav-footer\">
<div class=\"small\">";
// line 68
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.logged_in_as"), "html", null, true);
yield ":</div>
";
// line 69
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "display_name", [], "any", true, true, false, 69)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "display_name", [], "any", false, false, false, 69), CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "name", [], "any", false, false, false, 69))) : (CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "name", [], "any", false, false, false, 69))), "html", null, true);
yield "
";
// line 70
if ((($tmp = ($context["current_company"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 71
yield " <div class=\"small\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["current_company"] ?? null), "name", [], "any", false, false, false, 71), "html", null, true);
yield "</div>
";
} else {
// line 73
yield " <div class=\"small\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("dashboard.no_company"), "html", null, true);
yield "</div>
";
}
// line 75
yield " </div>
</nav>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "partials/sidebar.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 234 => 75, 228 => 73, 222 => 71, 220 => 70, 216 => 69, 212 => 68, 206 => 64, 200 => 61, 193 => 59, 188 => 57, 183 => 55, 178 => 53, 173 => 51, 168 => 49, 163 => 47, 158 => 45, 153 => 43, 148 => 41, 143 => 39, 138 => 37, 133 => 35, 128 => 33, 123 => 31, 118 => 30, 116 => 29, 113 => 28, 110 => 27, 101 => 24, 96 => 22, 90 => 20, 86 => 19, 81 => 18, 79 => 17, 76 => 16, 70 => 13, 64 => 11, 62 => 10, 56 => 7, 51 => 5, 47 => 4, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "partials/sidebar.twig", "/app/templates/partials/sidebar.twig");
}
}
+362
View File
@@ -0,0 +1,362 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* @fluxocaixapro/admin/categories/index.twig */
class __TwigTemplate_8ff3a7d87f6563449834e1eb121f41b2 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'content' => [$this, 'block_content'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/dashboard.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/dashboard.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<div class=\"container-fluid px-4\">
<div class=\"d-flex justify-content-between align-items-center mb-4\">
<h1 class=\"mt-4\">";
// line 8
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield "</h1>
<div>
<a href=\"";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("/admin/fluxo-caixa"), "html", null, true);
yield "\" class=\"btn btn-outline-secondary me-2\">
<i class=\"bi bi-arrow-left me-1\"></i> Voltar ao Fluxo
</a>
<button type=\"button\" class=\"btn btn-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#newCategoryModal\">
<i class=\"bi bi-plus-circle me-1\"></i> Nova Categoria
</button>
</div>
</div>
";
// line 19
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["flash_messages"] ?? null), "success", [], "any", false, false, false, 19)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 20
yield " <div class=\"alert alert-success alert-dismissible fade show\" role=\"alert\">
";
// line 21
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["flash_messages"] ?? null), "success", [], "any", false, false, false, 21), "html", null, true);
yield "
<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>
</div>
";
}
// line 25
yield "
<div class=\"card shadow mb-4 border-0\">
<div class=\"card-body p-0\">
<div class=\"table-responsive\">
<table class=\"table table-hover align-middle mb-0\">
<thead class=\"bg-light\">
<tr>
<th class=\"ps-4\">Nome</th>
<th>Tipo Padrão</th>
<th>Cor</th>
<th>Ícone</th>
<th>Status</th>
<th class=\"text-center\">Ações</th>
</tr>
</thead>
<tbody>
";
// line 41
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["categories"] ?? null));
$context['_iterated'] = false;
foreach ($context['_seq'] as $context["_key"] => $context["cat"]) {
// line 42
yield " <tr>
<td class=\"ps-4 fw-bold\">";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "name", [], "any", false, false, false, 43), "html", null, true);
yield "</td>
<td>
";
// line 45
if ((CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "type", [], "any", false, false, false, 45) == "income")) {
// line 46
yield " <span class=\"text-success small\"><i class=\"bi bi-plus-circle me-1\"></i> Receita</span>
";
} else {
// line 48
yield " <span class=\"text-danger small\"><i class=\"bi bi-dash-circle me-1\"></i> Despesa</span>
";
}
// line 50
yield " </td>
<td>
<div class=\"d-flex align-items-center\">
<div style=\"width: 20px; height: 20px; border-radius: 50%; background-color: ";
// line 53
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "color", [], "any", false, false, false, 53), "html", null, true);
yield "; margin-right: 8px;\"></div>
<small class=\"text-muted\">";
// line 54
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "color", [], "any", false, false, false, 54), "html", null, true);
yield "</small>
</div>
</td>
<td><i class=\"";
// line 57
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "icon", [], "any", false, false, false, 57), "html", null, true);
yield " fs-5\"></i></td>
<td>
";
// line 59
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "is_active", [], "any", false, false, false, 59)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 60
yield " <span class=\"badge bg-success\">Ativa</span>
";
} else {
// line 62
yield " <span class=\"badge bg-secondary\">Inativa</span>
";
}
// line 64
yield " </td>
<td class=\"text-center\">
<div class=\"btn-group\">
<button type=\"button\" class=\"btn btn-sm btn-outline-primary border-0\"
data-bs-toggle=\"modal\" data-bs-target=\"#editCategoryModal";
// line 68
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "id", [], "any", false, false, false, 68), "html", null, true);
yield "\">
<i class=\"bi bi-pencil\"></i>
</button>
<form action=\"";
// line 71
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("/admin/fluxo-caixa/categories/delete/" . CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "id", [], "any", false, false, false, 71))), "html", null, true);
yield "\" method=\"POST\">
<button type=\"submit\" class=\"btn btn-sm btn-outline-";
// line 72
yield (((($tmp = CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "is_active", [], "any", false, false, false, 72)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ("warning") : ("success"));
yield " border-0\">
<i class=\"bi bi-power\"></i>
</button>
</form>
</div>
</td>
</tr>
<!-- Modal Editar Categoria -->
<div class=\"modal fade\" id=\"editCategoryModal";
// line 81
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "id", [], "any", false, false, false, 81), "html", null, true);
yield "\" tabindex=\"-1\" aria-hidden=\"true\">
<div class=\"modal-dialog\">
<div class=\"modal-content\">
<div class=\"modal-header\">
<h5 class=\"modal-title\">Editar Categoria: ";
// line 85
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "name", [], "any", false, false, false, 85), "html", null, true);
yield "</h5>
<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>
</div>
<form action=\"";
// line 88
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("/admin/fluxo-caixa/categories/update/" . CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "id", [], "any", false, false, false, 88))), "html", null, true);
yield "\" method=\"POST\">
<div class=\"modal-body\">
<div class=\"mb-3\">
<label class=\"form-label\">Nome da Categoria</label>
<input type=\"text\" name=\"name\" class=\"form-control\" value=\"";
// line 92
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "name", [], "any", false, false, false, 92), "html", null, true);
yield "\" required>
</div>
<div class=\"row\">
<div class=\"col-md-6 mb-3\">
<label class=\"form-label\">Tipo Padrão</label>
<select name=\"type\" class=\"form-select\">
<option value=\"income\" ";
// line 98
yield (((CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "type", [], "any", false, false, false, 98) == "income")) ? ("selected") : (""));
yield ">Receita</option>
<option value=\"expense\" ";
// line 99
yield (((CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "type", [], "any", false, false, false, 99) == "expense")) ? ("selected") : (""));
yield ">Despesa</option>
</select>
</div>
<div class=\"col-md-6 mb-3\">
<label class=\"form-label\">Cor</label>
<input type=\"color\" name=\"color\" class=\"form-control form-control-color w-100\" value=\"";
// line 104
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "color", [], "any", false, false, false, 104), "html", null, true);
yield "\">
</div>
</div>
<div class=\"mb-3\">
<label class=\"form-label\">Ícone (Bootstrap Icon)</label>
<input type=\"text\" name=\"icon\" class=\"form-control\" value=\"";
// line 109
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["cat"], "icon", [], "any", false, false, false, 109), "html", null, true);
yield "\" placeholder=\"bi bi-tag\">
</div>
</div>
<div class=\"modal-footer\">
<button type=\"button\" class=\"btn btn-secondary\" data-bs-dismiss=\"modal\">Cancelar</button>
<button type=\"submit\" class=\"btn btn-primary\">Salvar Alterações</button>
</div>
</form>
</div>
</div>
</div>
";
$context['_iterated'] = true;
}
// line 120
if (!$context['_iterated']) {
// line 121
yield " <tr>
<td colspan=\"6\" class=\"text-center py-4 text-muted\">Nenhuma categoria cadastrada.</td>
</tr>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['cat'], $context['_parent'], $context['_iterated']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 125
yield " </tbody>
</table>
</div>
</div>
</div>
</div>
<!-- Modal Nova Categoria -->
<div class=\"modal fade\" id=\"newCategoryModal\" tabindex=\"-1\" aria-hidden=\"true\">
<div class=\"modal-dialog\">
<div class=\"modal-content\">
<div class=\"modal-header\">
<h5 class=\"modal-title\">Nova Categoria</h5>
<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>
</div>
<form action=\"";
// line 140
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("/admin/fluxo-caixa/categories/store"), "html", null, true);
yield "\" method=\"POST\">
<div class=\"modal-body\">
<div class=\"mb-3\">
<label class=\"form-label\">Nome da Categoria</label>
<input type=\"text\" name=\"name\" class=\"form-control\" required placeholder=\"Ex: Alimentação, Vendas...\">
</div>
<div class=\"row\">
<div class=\"col-md-6 mb-3\">
<label class=\"form-label\">Tipo Padrão</label>
<select name=\"type\" class=\"form-select\">
<option value=\"income\">Receita</option>
<option value=\"expense\" selected>Despesa</option>
</select>
</div>
<div class=\"col-md-6 mb-3\">
<label class=\"form-label\">Cor</label>
<input type=\"color\" name=\"color\" class=\"form-control form-control-color w-100\" value=\"#0d6efd\">
</div>
</div>
<div class=\"mb-3\">
<label class=\"form-label\">Ícone (Bootstrap Icon)</label>
<input type=\"text\" name=\"icon\" class=\"form-control\" value=\"bi bi-tag\" placeholder=\"bi bi-tag\">
</div>
</div>
<div class=\"modal-footer\">
<button type=\"button\" class=\"btn btn-secondary\" data-bs-dismiss=\"modal\">Cancelar</button>
<button type=\"submit\" class=\"btn btn-primary\">Criar Categoria</button>
</div>
</form>
</div>
</div>
</div>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "@fluxocaixapro/admin/categories/index.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 297 => 140, 280 => 125, 271 => 121, 269 => 120, 253 => 109, 245 => 104, 237 => 99, 233 => 98, 224 => 92, 217 => 88, 211 => 85, 204 => 81, 192 => 72, 188 => 71, 182 => 68, 176 => 64, 172 => 62, 168 => 60, 166 => 59, 161 => 57, 155 => 54, 151 => 53, 146 => 50, 142 => 48, 138 => 46, 136 => 45, 131 => 43, 128 => 42, 123 => 41, 105 => 25, 98 => 21, 95 => 20, 93 => 19, 81 => 10, 76 => 8, 72 => 6, 65 => 5, 52 => 3, 41 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "@fluxocaixapro/admin/categories/index.twig", "/app/modules/fluxocaixapro/views/admin/categories/index.twig");
}
}
+114
View File
@@ -0,0 +1,114 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* partials/language-switcher.twig */
class __TwigTemplate_94c02dabea82e9eeeb9551ca0d80abd0 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
if ((($tmp = $this->env->getFunction('is_multi_lang_enabled')->getCallable()()) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 2
yield "<li class=\"nav-item dropdown\">
<a class=\"nav-link dropdown-toggle\" href=\"#\" id=\"navbarDropdownLanguage\" role=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">
<i class=\"bi bi-globe\"></i>
</a>
<ul class=\"dropdown-menu dropdown-menu-end\" aria-labelledby=\"navbarDropdownLanguage\">
<li><a class=\"dropdown-item\" href=\"";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("language/pt_BR"), "html", null, true);
yield "?redirect=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["current_uri"] ?? null), "html", null, true);
yield "\">Português</a></li>
<li><a class=\"dropdown-item\" href=\"";
// line 8
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("language/en_US"), "html", null, true);
yield "?redirect=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["current_uri"] ?? null), "html", null, true);
yield "\">English</a></li>
<li><a class=\"dropdown-item\" href=\"";
// line 9
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("language/es_ES"), "html", null, true);
yield "?redirect=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["current_uri"] ?? null), "html", null, true);
yield "\">Español</a></li>
<li><a class=\"dropdown-item\" href=\"";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("language/de_DE"), "html", null, true);
yield "?redirect=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["current_uri"] ?? null), "html", null, true);
yield "\">Deutsch</a></li>
<li><a class=\"dropdown-item\" href=\"";
// line 11
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("language/fr_FR"), "html", null, true);
yield "?redirect=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["current_uri"] ?? null), "html", null, true);
yield "\">Français</a></li>
</ul>
</li>
";
}
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "partials/language-switcher.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 75 => 11, 69 => 10, 63 => 9, 57 => 8, 51 => 7, 44 => 2, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "partials/language-switcher.twig", "/app/templates/partials/language-switcher.twig");
}
}
+331
View File
@@ -0,0 +1,331 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* partials/nav-bar.twig */
class __TwigTemplate_ff6d1a443d439cf368a7ab6c176d9a59 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!-- Responsive navbar-->
<nav class=\"navbar navbar-expand-lg navbar-dark bg-dark\">
<div class=\"container px-5\">
<a class=\"navbar-brand\" href=\"";
// line 4
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("/"), "html", null, true);
yield "\">
<img src=\"";
// line 5
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()("img/logo_syscms.png"), "html", null, true);
yield "\" alt=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield "\" height=\"30\">
</a>
<button class=\"navbar-toggler\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarSupportedContent\" aria-controls=\"navbarSupportedContent\" aria-expanded=\"false\" aria-label=\"Toggle navigation\"><span class=\"navbar-toggler-icon\"></span></button>
<div class=\"collapse navbar-collapse\" id=\"navbarSupportedContent\">
<ul class=\"navbar-nav ms-auto mb-2 mb-lg-0\">
<li class=\"nav-item\"><a class=\"nav-link active\" aria-current=\"page\" href=\"";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("/"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.menu.home"), "html", null, true);
yield "</a></li>
";
// line 12
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["config_pages_visibility"] ?? null));
foreach ($context['_seq'] as $context["key"] => $context["visibility"]) {
// line 13
yield " ";
if (((CoreExtension::getAttribute($this->env, $this->source, $context["visibility"], "public", [], "any", false, false, false, 13) && ($context["key"] != "index")) && ($context["key"] != "contact"))) {
// line 14
yield " <li class=\"nav-item\">
<a class=\"nav-link\" href=\"";
// line 15
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()($context["key"]), "html", null, true);
yield "\">
";
// line 16
yield ((($this->env->getFunction('__')->getCallable()(("layout.menu." . $context["key"])) != ("layout.menu." . $context["key"]))) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()(("layout.menu." . $context["key"])), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["visibility"], "title", [], "any", false, false, false, 16), "html", null, true)));
yield "
</a>
</li>
";
}
// line 20
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['key'], $context['visibility'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 21
yield "
<li class=\"nav-item\"><a class=\"nav-link\" href=\"";
// line 22
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("contact"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.menu.contact"), "html", null, true);
yield "</a></li>
";
// line 25
yield " ";
if ((array_key_exists("main_company", $context) && CoreExtension::getAttribute($this->env, $this->source, ($context["main_company"] ?? null), "modules", [], "any", true, true, false, 25))) {
// line 26
yield " ";
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, ($context["main_company"] ?? null), "modules", [], "any", false, false, false, 26));
foreach ($context['_seq'] as $context["_key"] => $context["module"]) {
// line 27
yield " ";
if ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "pivot", [], "any", false, false, false, 27), "bus_modules_is_enabled", [], "any", false, false, false, 27) && CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "pivot", [], "any", false, false, false, 27), "bus_modules_show_public_nav", [], "any", false, false, false, 27))) {
// line 28
yield " ";
$context["route"] = CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 28);
// line 29
yield " ";
$context["label"] = CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_display_name", [], "any", false, false, false, 29);
// line 30
yield "
";
// line 31
if (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, true, false, 31), "menu", [], "any", false, true, false, 31), "public", [], "any", true, true, false, 31)) {
// line 32
yield " ";
$context["route"] = (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, true, false, 32), "menu", [], "any", false, true, false, 32), "public", [], "any", false, true, false, 32), "route", [], "any", true, true, false, 32) && !(null === CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, false, false, 32), "menu", [], "any", false, false, false, 32), "public", [], "any", false, false, false, 32), "route", [], "any", false, false, false, 32)))) ? (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, false, false, 32), "menu", [], "any", false, false, false, 32), "public", [], "any", false, false, false, 32), "route", [], "any", false, false, false, 32)) : (($context["route"] ?? null)));
// line 33
yield " ";
$context["label"] = (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, true, false, 33), "menu", [], "any", false, true, false, 33), "public", [], "any", false, true, false, 33), "label", [], "any", true, true, false, 33) && !(null === CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, false, false, 33), "menu", [], "any", false, false, false, 33), "public", [], "any", false, false, false, 33), "label", [], "any", false, false, false, 33)))) ? (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, false, false, 33), "menu", [], "any", false, false, false, 33), "public", [], "any", false, false, false, 33), "label", [], "any", false, false, false, 33)) : (($context["label"] ?? null)));
// line 34
yield " ";
}
// line 35
yield "
";
// line 36
if ((CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 36) != "pagebuilder")) {
// line 37
yield " <li class=\"nav-item\">
<a class=\"nav-link\" href=\"";
// line 38
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(($context["route"] ?? null)), "html", null, true);
yield "\">
";
// line 39
yield ((($this->env->getFunction('__')->getCallable()(("layout.menu." . CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 39))) != ("layout.menu." . CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 39)))) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()(("layout.menu." . CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 39))), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()(($context["label"] ?? null)), "html", null, true)));
yield "
</a>
</li>
";
}
// line 43
yield " ";
}
// line 44
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['module'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 45
yield " ";
}
// line 46
yield "
";
// line 48
yield " ";
$context["show_pages"] = false;
// line 49
yield " ";
if ((array_key_exists("main_company", $context) && CoreExtension::getAttribute($this->env, $this->source, ($context["main_company"] ?? null), "modules", [], "any", true, true, false, 49))) {
// line 50
yield " ";
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, ($context["main_company"] ?? null), "modules", [], "any", false, false, false, 50));
foreach ($context['_seq'] as $context["_key"] => $context["module"]) {
// line 51
yield " ";
if ((((CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 51) == "pagebuilder") && CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "pivot", [], "any", false, false, false, 51), "bus_modules_is_enabled", [], "any", false, false, false, 51)) && CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "pivot", [], "any", false, false, false, 51), "bus_modules_show_public_nav", [], "any", false, false, false, 51))) {
// line 52
yield " ";
$context["show_pages"] = true;
// line 53
yield " ";
}
// line 54
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['module'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 55
yield " ";
}
// line 56
yield "
";
// line 57
if ((($context["show_pages"] ?? null) && (Twig\Extension\CoreExtension::length($this->env->getCharset(), ($context["pages_public"] ?? null)) > 0))) {
// line 58
yield " <li class=\"nav-item dropdown\">
<a class=\"nav-link dropdown-toggle\" id=\"navbarDropdownPages\" href=\"#\" role=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">";
// line 59
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.menu.pages"), "html", null, true);
yield "</a>
<ul class=\"dropdown-menu dropdown-menu-end\" aria-labelledby=\"navbarDropdownPages\">
";
// line 61
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["pages_public"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["page"]) {
// line 62
yield " <li><a class=\"dropdown-item\" href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(("pages/" . CoreExtension::getAttribute($this->env, $this->source, $context["page"], "pages_slug", [], "any", false, false, false, 62))), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["page"], "pages_title", [], "any", false, false, false, 62), "html", null, true);
yield "</a></li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['page'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 64
yield " </ul>
</li>
";
}
// line 67
yield " ";
yield from $this->load("partials/language-switcher.twig", 67)->unwrap()->yield($context);
// line 68
yield "
";
// line 69
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 69)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 70
yield " <li class=\"nav-item dropdown\">
<a class=\"nav-link dropdown-toggle\" id=\"navbarDropdownUser\" href=\"#\" role=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">
";
// line 72
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 72), "users_avatar", [], "any", false, false, false, 72)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 73
yield " <img src=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 73), "avatar_url", [], "any", false, false, false, 73), "html", null, true);
yield "\" alt=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 73), "display_name", [], "any", false, false, false, 73), "html", null, true);
yield "\" class=\"rounded-circle\" style=\"width: 25px; height: 25px; object-fit: cover; margin-right: 5px;\">
";
} else {
// line 75
yield " <i class=\"bi bi-person\"></i>
";
}
// line 77
yield " ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 77), "display_name", [], "any", false, false, false, 77), "html", null, true);
yield "
</a>
<ul class=\"dropdown-menu dropdown-menu-end\" aria-labelledby=\"navbarDropdownUser\">
<li><a class=\"dropdown-item\" href=\"";
// line 80
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("dashboard"), "html", null, true);
yield "\"><i class=\"bi bi-speedometer2\"></i> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.menu.dashboard"), "html", null, true);
yield "</a></li>
<li><a class=\"dropdown-item\" href=\"";
// line 81
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("profile"), "html", null, true);
yield "\"><i class=\"bi bi-person-circle\"></i> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.profile.title"), "html", null, true);
yield "</a></li>
<li><hr class=\"dropdown-divider\" /></li>
<li><a class=\"dropdown-item\" href=\"";
// line 83
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("logout"), "html", null, true);
yield "\"><i class=\"bi bi-box-arrow-right\"></i> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.logout"), "html", null, true);
yield "</a></li>
</ul>
</li>
";
} else {
// line 87
yield " <li class=\"nav-item\"><a class=\"nav-link\" href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("login"), "html", null, true);
yield "\"><i class=\"bi bi-box-arrow-in-right\"></i> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.menu.login"), "html", null, true);
yield "</a></li>
";
}
// line 89
yield " </ul>
</div>
</div>
</nav>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "partials/nav-bar.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 295 => 89, 287 => 87, 278 => 83, 271 => 81, 265 => 80, 258 => 77, 254 => 75, 246 => 73, 244 => 72, 240 => 70, 238 => 69, 235 => 68, 232 => 67, 227 => 64, 216 => 62, 212 => 61, 207 => 59, 204 => 58, 202 => 57, 199 => 56, 196 => 55, 190 => 54, 187 => 53, 184 => 52, 181 => 51, 176 => 50, 173 => 49, 170 => 48, 167 => 46, 164 => 45, 158 => 44, 155 => 43, 148 => 39, 144 => 38, 141 => 37, 139 => 36, 136 => 35, 133 => 34, 130 => 33, 127 => 32, 125 => 31, 122 => 30, 119 => 29, 116 => 28, 113 => 27, 108 => 26, 105 => 25, 98 => 22, 95 => 21, 89 => 20, 82 => 16, 78 => 15, 75 => 14, 72 => 13, 68 => 12, 61 => 10, 51 => 5, 47 => 4, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "partials/nav-bar.twig", "/app/templates/partials/nav-bar.twig");
}
}
+100
View File
@@ -0,0 +1,100 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* @index/contato.twig */
class __TwigTemplate_29eae8c86d0fd4fb429ee961078e94bc extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'content' => [$this, 'block_content'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "@index/layout.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("@index/layout.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 4
yield "<div class=\"container my-5\">
<h1>";
// line 5
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("index.contato.title"), "html", null, true);
yield "</h1>
<p>";
// line 6
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("index.contato.description"), "html", null, true);
yield "</p>
</div>
";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "@index/contato.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 65 => 6, 61 => 5, 58 => 4, 51 => 3, 40 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "@index/contato.twig", "/app/modules/index/views/contato.twig");
}
}
+613
View File
@@ -0,0 +1,613 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* layouts/dashboard.twig */
class __TwigTemplate_0d3dd437951260cf9a725483d4e92a1f extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
'title' => [$this, 'block_title'],
'head' => [$this, 'block_head'],
'sidebar' => [$this, 'block_sidebar'],
'content' => [$this, 'block_content'],
'scripts' => [$this, 'block_scripts'],
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"";
// line 2
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::replace(Twig\Extension\CoreExtension::default($this->env->getFunction('session')->getCallable()("lang"), "pt_BR"), ["_" => "-"]), "html", null, true);
yield "\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<title>";
// line 6
yield from $this->unwrap()->yieldBlock('title', $context, $blocks);
yield "</title>
<!-- Dynamic Admin Theme CSS -->
";
// line 9
if ((($context["admin_theme_slug"] ?? null) == "sb-admin")) {
// line 10
yield " <link href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()("css/sb-admin.css"), "html", null, true);
yield "\" rel=\"stylesheet\">
";
} else {
// line 12
yield " <link href=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()((("themes/admin/" . ($context["admin_theme_slug"] ?? null)) . "/css/style.css")), "html", null, true);
yield "\" rel=\"stylesheet\">
";
}
// line 14
yield " <!-- Font Awesome (Legacy - Removed) -->
<!-- <script src=\"https://use.fontawesome.com/releases/v6.3.0/js/all.js\" crossorigin=\"anonymous\"></script> -->
<!-- Bootstrap Icons (For compatibility with existing modules) -->
<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css\">
<!-- Quill Editor CSS (se habilitado) -->
<link href=\"https://cdn.quilljs.com/1.3.6/quill.snow.css\" rel=\"stylesheet\">
<style>
.form-control-xs {
height: calc(1.5em + 0.5rem + 2px);
padding: 0.25rem 0.5rem;
font-size: 0.75rem;
border-radius: 0.2rem;
}
.x-small {
font-size: 0.7rem;
}
.btn-xs {
padding: 0.1rem 0.3rem;
font-size: 0.7rem;
line-height: 1.2;
border-radius: 0.2rem;
}
</style>
<!-- DataTables CSS -->
<link href=\"https://cdn.datatables.net/1.13.7/css/dataTables.bootstrap5.min.css\" rel=\"stylesheet\">
<!-- Lightbox2 CSS -->
<link href=\"https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.4/css/lightbox.min.css\" rel=\"stylesheet\">
<!-- Alpine.js -->
<script src=\"https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js\" defer></script>
";
// line 49
yield from $this->unwrap()->yieldBlock('head', $context, $blocks);
// line 50
yield "</head>
<body class=\"sb-nav-fixed\">
<nav class=\"sb-topnav navbar navbar-expand navbar-dark bg-dark\">
<!-- Navbar Brand-->
<a class=\"navbar-brand ps-3\" href=\"";
// line 54
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("dashboard"), "html", null, true);
yield "\">
";
// line 55
if ((($context["active_theme"] ?? null) && CoreExtension::getAttribute($this->env, $this->source, ($context["active_theme"] ?? null), "themes_logo", [], "any", false, false, false, 55))) {
// line 56
yield " <img src=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["active_theme"] ?? null), "themes_logo", [], "any", false, false, false, 56), "html", null, true);
yield "\" alt=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.app_name", ["platformName" => ($context["platformName"] ?? null)]), "html", null, true);
yield "\" height=\"30\">
";
} else {
// line 58
yield " <img src=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()("img/logo_syscms.png"), "html", null, true);
yield "\" alt=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.app_name", ["platformName" => ($context["platformName"] ?? null)]), "html", null, true);
yield "\" height=\"30\">
";
}
// line 60
yield " </a>
<!-- Sidebar Toggle-->
<button class=\"btn btn-link btn-sm order-1 order-lg-0 me-4 me-lg-0\" id=\"sidebarToggle\" href=\"#!\">
<i class=\"bi bi-list\"></i>
</button>
";
// line 66
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 66)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 67
yield " <!-- User Dropdown-->
<ul class=\"navbar-nav ms-auto ms-md-0 me-3 me-lg-4\">
<li class=\"nav-item\">
<a class=\"nav-link\" href=\"";
// line 70
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("/"), "html", null, true);
yield "\" target=\"_blank\"><i class=\"bi bi-house\"></i> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.menu.home"), "html", null, true);
yield "</a>
</li>
";
// line 72
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["config_pages_visibility"] ?? null));
foreach ($context['_seq'] as $context["key"] => $context["visibility"]) {
// line 73
yield " ";
if ((CoreExtension::getAttribute($this->env, $this->source, $context["visibility"], "dashboard", [], "any", false, false, false, 73) && ($context["key"] != "index"))) {
// line 74
yield " ";
$context["icon"] = "bi bi-file-text";
// line 75
yield " ";
if (($context["key"] == "about")) {
$context["icon"] = "bi bi-info-circle";
// line 76
yield " ";
} elseif (($context["key"] == "contact")) {
$context["icon"] = "bi bi-envelope";
// line 77
yield " ";
} elseif (($context["key"] == "services")) {
$context["icon"] = "bi bi-briefcase";
// line 78
yield " ";
}
// line 79
yield " <li class=\"nav-item\">
<a class=\"nav-link\" href=\"";
// line 80
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()($context["key"]), "html", null, true);
yield "\" target=\"_blank\">
<i class=\"";
// line 81
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["icon"] ?? null), "html", null, true);
yield "\"></i> ";
yield ((($this->env->getFunction('__')->getCallable()(("layout.menu." . $context["key"])) != ("layout.menu." . $context["key"]))) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()(("layout.menu." . $context["key"])), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["visibility"], "title", [], "any", false, false, false, 81), "html", null, true)));
yield "
</a>
</li>
";
}
// line 85
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['key'], $context['visibility'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 86
yield "
";
// line 88
yield " ";
if ((((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 88), "role", [], "any", false, false, false, 88) != "admin") && (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 88), "role", [], "any", false, false, false, 88) != "super_admin")) && (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 88), "role", [], "any", false, false, false, 88) != "member"))) {
// line 89
yield " ";
if ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, true, false, 89), "company", [], "any", true, true, false, 89) && CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, true, false, 89), "company", [], "any", false, true, false, 89), "modules", [], "any", true, true, false, 89))) {
// line 90
yield " ";
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["auth"] ?? null), "user", [], "any", false, false, false, 90), "company", [], "any", false, false, false, 90), "modules", [], "any", false, false, false, 90));
foreach ($context['_seq'] as $context["_key"] => $context["module"]) {
// line 91
yield " ";
if ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "pivot", [], "any", false, false, false, 91), "bus_modules_is_enabled", [], "any", false, false, false, 91) && CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "pivot", [], "any", false, false, false, 91), "bus_modules_show_dashboard_nav", [], "any", false, false, false, 91))) {
// line 92
yield " ";
$context["route"] = CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 92);
// line 93
yield " ";
$context["label"] = CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_display_name", [], "any", false, false, false, 93);
// line 94
yield " ";
$context["icon"] = "bi bi-puzzle";
// line 95
yield "
";
// line 97
yield " ";
if (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, true, false, 97), "menu", [], "any", false, true, false, 97), "public", [], "any", true, true, false, 97)) {
// line 98
yield " ";
$context["route"] = (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, true, false, 98), "menu", [], "any", false, true, false, 98), "public", [], "any", false, true, false, 98), "route", [], "any", true, true, false, 98) && !(null === CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, false, false, 98), "menu", [], "any", false, false, false, 98), "public", [], "any", false, false, false, 98), "route", [], "any", false, false, false, 98)))) ? (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, false, false, 98), "menu", [], "any", false, false, false, 98), "public", [], "any", false, false, false, 98), "route", [], "any", false, false, false, 98)) : (($context["route"] ?? null)));
// line 99
yield " ";
$context["label"] = (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, true, false, 99), "menu", [], "any", false, true, false, 99), "public", [], "any", false, true, false, 99), "label", [], "any", true, true, false, 99) && !(null === CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, false, false, 99), "menu", [], "any", false, false, false, 99), "public", [], "any", false, false, false, 99), "label", [], "any", false, false, false, 99)))) ? (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_settings", [], "any", false, false, false, 99), "menu", [], "any", false, false, false, 99), "public", [], "any", false, false, false, 99), "label", [], "any", false, false, false, 99)) : (($context["label"] ?? null)));
// line 100
yield " ";
}
// line 101
yield "
";
// line 102
if ((CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 102) == "faq")) {
// line 103
yield " ";
$context["route"] = "faq";
// line 104
yield " ";
$context["label"] = $this->env->getFunction('__')->getCallable()("layout.menu.faq");
// line 105
yield " ";
$context["icon"] = "bi bi-question-circle";
// line 106
yield " ";
} elseif ((CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 106) == "blog")) {
// line 107
yield " ";
$context["route"] = "publicposts";
// line 108
yield " ";
$context["label"] = $this->env->getFunction('__')->getCallable()("layout.menu.posts");
// line 109
yield " ";
$context["icon"] = "bi bi-book";
// line 110
yield " ";
} elseif ((CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 110) == "vitrine")) {
// line 111
yield " ";
$context["route"] = "publicvitrine";
// line 112
yield " ";
$context["label"] = $this->env->getFunction('__')->getCallable()("layout.menu.vitrine");
// line 113
yield " ";
$context["icon"] = "bi bi-shop";
// line 114
yield " ";
} elseif ((CoreExtension::getAttribute($this->env, $this->source, $context["module"], "modules_name", [], "any", false, false, false, 114) == "pagebuilder")) {
// line 115
yield " ";
$context["route"] = "";
yield " ";
// line 116
yield " ";
$context["label"] = $this->env->getFunction('__')->getCallable()("layout.menu.pages");
// line 117
yield " ";
$context["icon"] = "bi bi-file-text";
// line 118
yield " ";
}
// line 119
yield "
<li class=\"nav-item\">
<a class=\"nav-link\" href=\"";
// line 121
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()(($context["route"] ?? null)), "html", null, true);
yield "\" target=\"_blank\"><i class=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["icon"] ?? null), "html", null, true);
yield "\"></i> ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()(($context["label"] ?? null)), "html", null, true);
yield "</a>
</li>
";
}
// line 124
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['module'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 125
yield " ";
}
// line 126
yield " ";
}
// line 127
yield "
";
// line 128
yield from $this->load("partials/language-switcher.twig", 128)->unwrap()->yield($context);
// line 129
yield " <li class=\"nav-item dropdown\">
<a class=\"nav-link dropdown-toggle\" id=\"navbarDropdown\" href=\"#\" role=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">
";
// line 131
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "users_avatar", [], "any", false, false, false, 131)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 132
yield " <img src=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "avatar_url", [], "any", false, false, false, 132), "html", null, true);
yield "\" alt=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "display_name", [], "any", false, false, false, 132), "html", null, true);
yield "\" class=\"rounded-circle\" style=\"width: 25px; height: 25px; object-fit: cover; margin-right: 5px;\">
";
} else {
// line 134
yield " <i class=\"bi bi-person\"></i>
";
}
// line 136
yield " ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, ($context["user"] ?? null), "display_name", [], "any", false, false, false, 136), "html", null, true);
yield "
</a>
<ul class=\"dropdown-menu dropdown-menu-end\" aria-labelledby=\"navbarDropdown\">
<li><a class=\"dropdown-item\" href=\"";
// line 139
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("profile"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.profile.title"), "html", null, true);
yield "</a></li>
<li><hr class=\"dropdown-divider\" /></li>
<li><a class=\"dropdown-item\" href=\"";
// line 141
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("logout"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("auth.logout"), "html", null, true);
yield "</a></li>
</ul>
</li>
</ul>
";
}
// line 146
yield " </nav>
<div id=\"layoutSidenav\">
<div id=\"layoutSidenav_nav\">
";
// line 150
yield from $this->unwrap()->yieldBlock('sidebar', $context, $blocks);
// line 153
yield " </div>
<div id=\"layoutSidenav_content\">
<main>
<div class=\"container-fluid px-4\">
";
// line 158
yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
// line 161
yield " </div>
</main>
<footer class=\"py-4 bg-light mt-auto\">
<div class=\"container-fluid px-4\">
<div class=\"d-flex align-items-center justify-content-between small\">
<div class=\"text-muted\">
Copyright &copy; ";
// line 168
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield " ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate("now", "Y"), "html", null, true);
yield "
&nbsp;|&nbsp;
Desenvolvido com <a href=\"https://syscms.syspanel.com.br\" target=\"_blank\">SysCMS 2026</a>
</div>
<div>
<a href=\"/user_terms.html\" target=\"_blank\">";
// line 173
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.footer.terms"), "html", null, true);
yield "</a>
&middot;
<a href=\"/eula.html\" target=\"_blank\">";
// line 175
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.footer.eula"), "html", null, true);
yield "</a>
</div>
</div>
</div>
</footer>
</div>
</div>
<!-- Bootstrap JS -->
<script src=\"";
// line 184
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()("js/bootstrap.bundle.min.js"), "html", null, true);
yield "\"></script>
<!-- SB Admin Custom JS -->
<script src=\"";
// line 187
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('asset_url')->getCallable()("js/sb-admin.js"), "html", null, true);
yield "\"></script>
<!-- DataTables JS -->
<script src=\"https://code.jquery.com/jquery-3.7.0.js\"></script>
<script src=\"https://cdn.datatables.net/1.13.7/js/jquery.dataTables.min.js\"></script>
<script src=\"https://cdn.datatables.net/1.13.7/js/dataTables.bootstrap5.min.js\"></script>
<!-- Quill Editor JS (se habilitado) -->
<script src=\"https://cdn.quilljs.com/1.3.6/quill.js\"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
var editorContainer = document.getElementById('quill-editor');
if (editorContainer) {
var quill = new Quill('#quill-editor', {
theme: 'snow',
modules: {
toolbar: [
['bold', 'italic', 'underline', 'strike'],
['blockquote', 'code-block'],
[{ 'header': 1 }, { 'header': 2 }],
[{ 'list': 'ordered'}, { 'list': 'bullet' }],
[{ 'script': 'sub'}, { 'script': 'super' }],
[{ 'indent': '-1'}, { 'indent': '+1' }],
[{ 'direction': 'rtl' }],
[{ 'size': ['small', false, 'large', 'huge'] }],
[{ 'header': [1, 2, 3, 4, 5, 6, false] }],
[{ 'color': [] }, { 'background': [] }],
[{ 'font': [] }],
[{ 'align': [] }],
['clean'],
['link', 'image', 'video']
]
}
});
// Sync with hidden textarea
var targetId = editorContainer.getAttribute('data-target');
var targetInput = targetId ? document.getElementById(targetId) : null;
// Fallback: try to find a hidden textarea next to the editor
if (!targetInput) {
targetInput = editorContainer.nextElementSibling;
if (targetInput && targetInput.tagName !== 'TEXTAREA') {
targetInput = null;
}
}
if (targetInput) {
quill.on('text-change', function() {
targetInput.value = quill.root.innerHTML;
});
var form = editorContainer.closest('form');
if (form) {
form.addEventListener('submit', function() {
targetInput.value = quill.root.innerHTML;
});
}
}
}
});
</script>
<!-- Lightbox2 JS -->
<script src=\"https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.4/js/lightbox.min.js\"></script>
<script>
lightbox.option({
'resizeDuration': 200,
'wrapAround': true,
'showImageNumberLabel': true,
'imageFadeDuration': 300
});
</script>
";
// line 261
yield from $this->unwrap()->yieldBlock('scripts', $context, $blocks);
// line 262
yield "</body>
</html>
";
yield from [];
}
// line 6
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield " - Dashboard";
yield from [];
}
// line 49
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_head(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield from [];
}
// line 150
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_sidebar(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 151
yield " ";
yield from $this->load("partials/sidebar.twig", 151)->unwrap()->yield($context);
// line 152
yield " ";
yield from [];
}
// line 158
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 159
yield " <!-- Main content will be injected here -->
";
yield from [];
}
// line 261
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_scripts(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "layouts/dashboard.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 576 => 261, 570 => 159, 563 => 158, 558 => 152, 555 => 151, 548 => 150, 538 => 49, 526 => 6, 519 => 262, 517 => 261, 440 => 187, 434 => 184, 422 => 175, 417 => 173, 407 => 168, 398 => 161, 396 => 158, 389 => 153, 387 => 150, 381 => 146, 371 => 141, 364 => 139, 357 => 136, 353 => 134, 345 => 132, 343 => 131, 339 => 129, 337 => 128, 334 => 127, 331 => 126, 328 => 125, 322 => 124, 312 => 121, 308 => 119, 305 => 118, 302 => 117, 299 => 116, 295 => 115, 292 => 114, 289 => 113, 286 => 112, 283 => 111, 280 => 110, 277 => 109, 274 => 108, 271 => 107, 268 => 106, 265 => 105, 262 => 104, 259 => 103, 257 => 102, 254 => 101, 251 => 100, 248 => 99, 245 => 98, 242 => 97, 239 => 95, 236 => 94, 233 => 93, 230 => 92, 227 => 91, 222 => 90, 219 => 89, 216 => 88, 213 => 86, 207 => 85, 198 => 81, 194 => 80, 191 => 79, 188 => 78, 184 => 77, 180 => 76, 176 => 75, 173 => 74, 170 => 73, 166 => 72, 159 => 70, 154 => 67, 152 => 66, 144 => 60, 136 => 58, 128 => 56, 126 => 55, 122 => 54, 116 => 50, 114 => 49, 77 => 14, 71 => 12, 65 => 10, 63 => 9, 57 => 6, 50 => 2, 47 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "layouts/dashboard.twig", "/app/templates/layouts/dashboard.twig");
}
}
+280
View File
@@ -0,0 +1,280 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* configindex/views/admin/edit.twig */
class __TwigTemplate_3649cc372845a43791f9d7f02b5ff7da extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'content' => [$this, 'block_content'],
'scripts' => [$this, 'block_scripts'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layouts/dashboard.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$this->parent = $this->load("layouts/dashboard.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["platformName"] ?? null), "html", null, true);
yield from [];
}
// line 5
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 6
yield "<div class=\"container-fluid px-4\">
<h1 class=\"mt-4\">";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield "</h1>
<ol class=\"breadcrumb mb-4\">
<li class=\"breadcrumb-item\"><a href=\"";
// line 9
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("dashboard"), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("layout.menu.dashboard"), "html", null, true);
yield "</a></li>
<li class=\"breadcrumb-item\"><a href=\"";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/configindex"), "html", null, true);
yield "?theme=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["currentTheme"] ?? null), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
yield "</a></li>
<li class=\"breadcrumb-item active\">";
// line 11
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["page_key"] ?? null), "html", null, true);
yield "</li>
</ol>
<div class=\"alert alert-info d-flex align-items-center mb-4\">
<i class=\"bi bi-info-circle-fill me-2\"></i>
<div>
Você está editando a página para o tema: <strong>";
// line 17
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::capitalize($this->env->getCharset(), ($context["currentTheme"] ?? null)), "html", null, true);
yield "</strong>.
<br><small>Arquivo: <code>";
// line 18
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::replace(($context["foundPath"] ?? null), [ (string)($context["base_path"] ?? null) => ""]), "html", null, true);
yield "</code></small>
</div>
</div>
<div class=\"card mb-4\">
<div class=\"card-body\">
<form action=\"";
// line 24
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()((("admin/configindex/" . ($context["page_key"] ?? null)) . "/update")), "html", null, true);
yield "?theme=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["currentTheme"] ?? null), "html", null, true);
yield "\" method=\"POST\">
<div class=\"row mb-3\">
<div class=\"col-md-6\">
<div class=\"form-check form-switch\">
<input class=\"form-check-input\" type=\"checkbox\" id=\"show_public_nav\" name=\"config_index_show_public_nav\" ";
// line 28
if ((($tmp = ($context["page_data"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["page_data"] ?? null), "config_index_show_public_nav", [], "any", false, false, false, 28)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
yield "checked";
}
} else {
yield "checked";
}
yield ">
<label class=\"form-check-label\" for=\"show_public_nav\">";
// line 29
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.show_public_nav"), "html", null, true);
yield "</label>
</div>
</div>
<div class=\"col-md-6\">
<div class=\"form-check form-switch\">
<input class=\"form-check-input\" type=\"checkbox\" id=\"show_dashboard_nav\" name=\"config_index_show_dashboard_nav\" ";
// line 34
if ((($tmp = ($context["page_data"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, ($context["page_data"] ?? null), "config_index_show_dashboard_nav", [], "any", false, false, false, 34)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
yield "checked";
}
} else {
yield "checked";
}
yield ">
<label class=\"form-check-label\" for=\"show_dashboard_nav\">";
// line 35
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.show_dashboard_nav"), "html", null, true);
yield "</label>
</div>
</div>
</div>
<div class=\"mb-3\">
<label for=\"content\" class=\"form-label\">";
// line 41
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.form_content"), "html", null, true);
yield "</label>
<textarea name=\"content\" id=\"content\" class=\"form-control\" rows=\"18\">";
// line 42
if ((($tmp = ($context["template_code"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
yield ($context["template_code"] ?? null);
} else {
yield CoreExtension::getAttribute($this->env, $this->source, ($context["page_data"] ?? null), "config_index_content", [], "any", false, false, false, 42);
}
yield "</textarea>
</div>
<div class=\"mb-4\">
<h5 class=\"mb-3\">";
// line 46
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.template_translations"), "html", null, true);
yield "</h5>
";
// line 47
if ((($tmp = ($context["languages"] ?? null)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 48
yield " ";
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["languages"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["lang"]) {
// line 49
yield " <div class=\"mb-3\">
<label class=\"form-label\">";
// line 50
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["lang"], "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.index_json_section"), "html", null, true);
yield " ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["page_key"] ?? null), "html", null, true);
yield ")</label>
<textarea name=\"translations_index_section[";
// line 51
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["lang"], "html", null, true);
yield "]\" class=\"form-control\" rows=\"10\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["translations_index_section"] ?? null), $context["lang"], [], "array", true, true, false, 51)) ? (Twig\Extension\CoreExtension::default((($_v0 = ($context["translations_index_section"] ?? null)) && is_array($_v0) || $_v0 instanceof ArrayAccess ? ($_v0[$context["lang"]] ?? null) : null), "{}")) : ("{}")), "html", null, true);
yield "</textarea>
</div>
<hr/>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['lang'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 55
yield " ";
}
// line 56
yield " </div>
<button type=\"submit\" class=\"btn btn-primary\">
<i class=\"bi bi-save\"></i> ";
// line 61
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.save"), "html", null, true);
yield "
</button>
<a href=\"";
// line 63
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('url')->getCallable()("admin/configindex"), "html", null, true);
yield "\" class=\"btn btn-secondary\">
";
// line 64
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getFunction('__')->getCallable()("configindex.cancel"), "html", null, true);
yield "
</a>
</form>
</div>
</div>
</div>
";
yield from [];
}
// line 72
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_scripts(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "configindex/views/admin/edit.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 243 => 72, 231 => 64, 227 => 63, 222 => 61, 215 => 56, 212 => 55, 200 => 51, 192 => 50, 189 => 49, 184 => 48, 182 => 47, 178 => 46, 167 => 42, 163 => 41, 154 => 35, 144 => 34, 136 => 29, 126 => 28, 117 => 24, 108 => 18, 104 => 17, 95 => 11, 87 => 10, 81 => 9, 76 => 7, 73 => 6, 66 => 5, 53 => 3, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "configindex/views/admin/edit.twig", "/app/modules/configindex/views/admin/edit.twig");
}
}
+1064
View File
File diff suppressed because it is too large Load Diff