<?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;
/* @Application/framework/_cp_topstrip.html.twig */
class __TwigTemplate_a62ccfc65b96bccae70ae5ad19bee77d6f0b727fd4cf96fa6b4cd71dfd8340f1 extends Template
{
private $source;
private $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 = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@Application/framework/_cp_topstrip.html.twig"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@Application/framework/_cp_topstrip.html.twig"));
// line 8
$context["_companyNames"] = $this->extensions['ApplicationBundle\Twig\GeneralExtension']->jsonDecode(((CoreExtension::getAttribute($this->env, $this->source, ($context["session"] ?? null), CoreExtension::getAttribute($this->env, $this->source, (isset($context["UserConstants"]) || array_key_exists("UserConstants", $context) ? $context["UserConstants"] : (function () { throw new RuntimeError('Variable "UserConstants" does not exist.', 8, $this->source); })()), "USER_COMPANY_NAME_LIST", [], "any", false, false, false, 8), [], "array", true, true, false, 8)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["session"] ?? null), CoreExtension::getAttribute($this->env, $this->source, (isset($context["UserConstants"]) || array_key_exists("UserConstants", $context) ? $context["UserConstants"] : (function () { throw new RuntimeError('Variable "UserConstants" does not exist.', 8, $this->source); })()), "USER_COMPANY_NAME_LIST", [], "any", false, false, false, 8), [], "array", false, false, false, 8), "[]")) : ("[]")));
// line 9
$context["_curCompanyId"] = ((CoreExtension::getAttribute($this->env, $this->source, ($context["session"] ?? null), CoreExtension::getAttribute($this->env, $this->source, (isset($context["UserConstants"]) || array_key_exists("UserConstants", $context) ? $context["UserConstants"] : (function () { throw new RuntimeError('Variable "UserConstants" does not exist.', 9, $this->source); })()), "USER_COMPANY_ID", [], "any", false, false, false, 9), [], "array", true, true, false, 9)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["session"] ?? null), CoreExtension::getAttribute($this->env, $this->source, (isset($context["UserConstants"]) || array_key_exists("UserConstants", $context) ? $context["UserConstants"] : (function () { throw new RuntimeError('Variable "UserConstants" does not exist.', 9, $this->source); })()), "USER_COMPANY_ID", [], "any", false, false, false, 9), [], "array", false, false, false, 9), 0)) : (0));
// line 10
$context["_userName"] = ((CoreExtension::getAttribute($this->env, $this->source, ($context["session"] ?? null), CoreExtension::getAttribute($this->env, $this->source, (isset($context["UserConstants"]) || array_key_exists("UserConstants", $context) ? $context["UserConstants"] : (function () { throw new RuntimeError('Variable "UserConstants" does not exist.', 10, $this->source); })()), "USER_NAME", [], "any", false, false, false, 10), [], "array", true, true, false, 10)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["session"] ?? null), CoreExtension::getAttribute($this->env, $this->source, (isset($context["UserConstants"]) || array_key_exists("UserConstants", $context) ? $context["UserConstants"] : (function () { throw new RuntimeError('Variable "UserConstants" does not exist.', 10, $this->source); })()), "USER_NAME", [], "any", false, false, false, 10), [], "array", false, false, false, 10), "User")) : ("User"));
// line 11
$context["_userImg"] = ((CoreExtension::getAttribute($this->env, $this->source, ($context["session"] ?? null), CoreExtension::getAttribute($this->env, $this->source, (isset($context["UserConstants"]) || array_key_exists("UserConstants", $context) ? $context["UserConstants"] : (function () { throw new RuntimeError('Variable "UserConstants" does not exist.', 11, $this->source); })()), "USER_IMAGE", [], "any", false, false, false, 11), [], "array", true, true, false, 11)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["session"] ?? null), CoreExtension::getAttribute($this->env, $this->source, (isset($context["UserConstants"]) || array_key_exists("UserConstants", $context) ? $context["UserConstants"] : (function () { throw new RuntimeError('Variable "UserConstants" does not exist.', 11, $this->source); })()), "USER_IMAGE", [], "any", false, false, false, 11), [], "array", false, false, false, 11), "")) : (""));
// line 12
yield "
<style>
/* HoneyBee brand mark — top-left of the global top strip */
.cp-ts-brand{ display:flex; align-items:center; gap:9px; text-decoration:none; padding:2px 4px; margin-right:2px; flex-shrink:0; }
.cp-ts-brand:hover{ text-decoration:none; }
.cp-ts-brand-badge{ width:30px; height:30px; border-radius:9px; flex-shrink:0;
display:flex; align-items:center; justify-content:center;
background:linear-gradient(135deg,#c07d2e 0%,#8a561f 100%);
color:#fff; font-weight:800; font-size:var(--cp-fs-lg, 16px); line-height:1; letter-spacing:.01em;
box-shadow:0 1px 2px rgba(90,60,20,.35); font-family:var(--cp-font, inherit); }
.cp-ts-brand-tx{ display:flex; flex-direction:column; line-height:1.05; }
.cp-ts-brand-name{ font-size:14px; font-weight:700; color:var(--cp-text,#1f2733); letter-spacing:-.01em; }
.cp-ts-brand-sub{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--cp-text-faint,#9aa4b2); margin-top:1px; }
.cp-ts-brand-div{ width:1px; height:26px; background:var(--cp-outline,#e3e7ee); margin:0 10px 0 6px; flex-shrink:0; }
@media(max-width:860px){ .cp-ts-brand-tx{ display:none; } .cp-ts-brand-div{ display:none; } }
.cp-ts-create{ display:flex; align-items:center; gap:5px; padding:6px 12px; border-radius:var(--cp-radius-pill); background:var(--cp-accent); color:var(--cp-on-accent)!important; font-size:var(--cp-fs-sm, 12.5px); font-weight:600; text-decoration:none; cursor:pointer; }
.cp-ts-create:hover{ background:var(--cp-accent-hover); color:var(--cp-on-accent)!important; text-decoration:none; }
.cp-ts-create .material-icons{ font-size:17px; }
.cp-ts-menu li.cp-ts-menu-h{ margin-top:4px; }
.cp-ts-menu li > a .material-icons{ font-size:var(--cp-fs-lg, 16px); }
.cp-ts-hive{ display:flex; align-items:center; gap:7px; padding:5px 12px; border-radius:var(--cp-radius-pill); border:1px solid var(--cp-outline);
color:var(--cp-text-muted)!important; font-family:var(--cp-font-mono); font-size:12px; font-weight:600; letter-spacing:.08em; text-decoration:none; }
.cp-ts-hive:hover{ border-color:var(--cp-accent); color:var(--cp-accent)!important; text-decoration:none; }
.cp-hive-dot{ width:8px; height:8px; border-radius:50%; background:#2e7d32; box-shadow:0 0 0 0 rgba(46,125,50,.5); animation:cpHivePulse 1.7s ease-in-out infinite; }
@keyframes cpHivePulse{ 0%{ box-shadow:0 0 0 0 rgba(46,125,50,.5);} 70%{ box-shadow:0 0 0 6px rgba(46,125,50,0);} 100%{ box-shadow:0 0 0 0 rgba(46,125,50,0);} }
@media(max-width:720px){ .cp-ts-create span, .cp-ts-hive{ display:none; } }
</style>
<div class=\"cp-topstrip\">
<a href=\"";
// line 40
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("dashboard");
yield "\" class=\"cp-ts-brand\" title=\"HoneyBee — Home\">
<span class=\"cp-ts-brand-badge\">H</span>
<span class=\"cp-ts-brand-tx\">
<span class=\"cp-ts-brand-name\">HoneyBee</span>
<span class=\"cp-ts-brand-sub\">Ecosystem</span>
</span>
</a>
<span class=\"cp-ts-brand-div\"></span>
<div class=\"cp-ts-search\" onclick=\"var s=document.getElementById('cpSpot'); if(s){s.classList.add('open'); var i=document.getElementById('cpSpotInput'); if(i){i.focus();}}\">
<i class=\"fa fa-search\"></i> <span>Search anything…</span> <kbd>Ctrl K</kbd>
</div>
<div class=\"cp-ts-right\">
";
// line 54
yield " <div class=\"dropdown cp-ts-dd\">
<a href=\"#\" data-toggle=\"dropdown\" class=\"cp-ts-create\"><i class=\"material-icons\">add</i> <span>Create</span></a>
<ul class=\"dropdown-menu dropdown-menu-right cp-ts-menu\" style=\"min-width:224px;\">
<li class=\"cp-ts-menu-h\">Sales</li>
<li><a href=\"";
// line 58
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("create_sales_order");
yield "\"><i class=\"material-icons\">shopping_cart</i> Sales Order</a></li>
<li><a href=\"";
// line 59
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("create_sales_proposal");
yield "\"><i class=\"material-icons\">description</i> Sales Proposal</a></li>
<li><a href=\"";
// line 60
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("create_opportunity");
yield "\"><i class=\"material-icons\">trending_up</i> Opportunity</a></li>
<li><a href=\"";
// line 61
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("create_lead");
yield "\"><i class=\"material-icons\">person_add</i> Lead</a></li>
<li><a href=\"";
// line 62
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("create_client");
yield "\"><i class=\"material-icons\">supervisor_account</i> Client</a></li>
<li class=\"divider\"></li>
<li class=\"cp-ts-menu-h\">Finance & Purchasing</li>
<li><a href=\"";
// line 65
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("create_sales_invoice");
yield "\"><i class=\"material-icons\">attach_money</i> Sales Invoice</a></li>
<li><a href=\"";
// line 66
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("create_purchase_order");
yield "\"><i class=\"material-icons\">local_shipping</i> Purchase Order</a></li>
<li><a href=\"";
// line 67
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("express_purchase_new");
yield "\"><i class=\"material-icons\">flash_on</i> Express Purchase</a></li>
<li><a href=\"";
// line 68
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("create_expense_invoice", ["id" => 0]);
yield "\"><i class=\"material-icons\">receipt</i> Expense</a></li>
<li><a href=\"";
// line 69
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("ai_import_index");
yield "\"><i class=\"material-icons\">move_to_inbox</i> Import Document</a></li>
<li><a href=\"";
// line 70
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("create_payment_voucher");
yield "\"><i class=\"material-icons\">payment</i> Payment Voucher</a></li>
<li class=\"divider\"></li>
<li class=\"cp-ts-menu-h\">Projects</li>
<li><a href=\"";
// line 73
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("create_new_project");
yield "\"><i class=\"material-icons\">work</i> New Project</a></li>
</ul>
</div>
";
// line 78
yield " <a href=\"";
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("ai_hivemind");
yield "\" class=\"cp-ts-hive\" title=\"Hivemind — Generative Command Mode (Ctrl+`)\"
onclick=\"var p=document.getElementById('hm-widget-pill'); if(p){p.click(); return false;} return true;\">
<span class=\"cp-hive-dot\"></span> HIVEMIND
</a>
<a href=\"#\" class=\"cp-ts-ico\" title=\"All Apps\" onclick=\"cpToggleAppLauncher(true);return false;\">
<i class=\"material-icons\">apps</i>
</a>
";
// line 91
yield " ";
if ((0 >= CoreExtension::compare(Twig\Extension\CoreExtension::length($this->env->getCharset(), (isset($context["_companyNames"]) || array_key_exists("_companyNames", $context) ? $context["_companyNames"] : (function () { throw new RuntimeError('Variable "_companyNames" does not exist.', 91, $this->source); })())), 1))) {
// line 92
yield " <span class=\"cp-ts-btn\" title=\"You are working in ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["_companyNames"] ?? null), (isset($context["_curCompanyId"]) || array_key_exists("_curCompanyId", $context) ? $context["_curCompanyId"] : (function () { throw new RuntimeError('Variable "_curCompanyId" does not exist.', 92, $this->source); })()), [], "array", true, true, false, 92)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["_companyNames"] ?? null), (isset($context["_curCompanyId"]) || array_key_exists("_curCompanyId", $context) ? $context["_curCompanyId"] : (function () { throw new RuntimeError('Variable "_curCompanyId" does not exist.', 92, $this->source); })()), [], "array", false, false, false, 92), "this company")) : ("this company")), "html", null, true);
yield "\">
<i class=\"material-icons\">business</i>
<span class=\"cp-ts-lbl\">";
// line 94
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["_companyNames"] ?? null), (isset($context["_curCompanyId"]) || array_key_exists("_curCompanyId", $context) ? $context["_curCompanyId"] : (function () { throw new RuntimeError('Variable "_curCompanyId" does not exist.', 94, $this->source); })()), [], "array", true, true, false, 94)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["_companyNames"] ?? null), (isset($context["_curCompanyId"]) || array_key_exists("_curCompanyId", $context) ? $context["_curCompanyId"] : (function () { throw new RuntimeError('Variable "_curCompanyId" does not exist.', 94, $this->source); })()), [], "array", false, false, false, 94), "Company")) : ("Company")), "html", null, true);
yield "</span>
</span>
";
}
// line 97
yield " ";
if ((1 === CoreExtension::compare(Twig\Extension\CoreExtension::length($this->env->getCharset(), (isset($context["_companyNames"]) || array_key_exists("_companyNames", $context) ? $context["_companyNames"] : (function () { throw new RuntimeError('Variable "_companyNames" does not exist.', 97, $this->source); })())), 1))) {
// line 98
yield " <div class=\"dropdown cp-ts-dd\">
<a href=\"#\" data-toggle=\"dropdown\" class=\"cp-ts-btn\"><i class=\"material-icons\">business</i>
<span class=\"cp-ts-lbl\">";
// line 100
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["_companyNames"] ?? null), (isset($context["_curCompanyId"]) || array_key_exists("_curCompanyId", $context) ? $context["_curCompanyId"] : (function () { throw new RuntimeError('Variable "_curCompanyId" does not exist.', 100, $this->source); })()), [], "array", true, true, false, 100)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["_companyNames"] ?? null), (isset($context["_curCompanyId"]) || array_key_exists("_curCompanyId", $context) ? $context["_curCompanyId"] : (function () { throw new RuntimeError('Variable "_curCompanyId" does not exist.', 100, $this->source); })()), [], "array", false, false, false, 100), "Company")) : ("Company")), "html", null, true);
yield "</span>
<i class=\"material-icons cp-ts-caret\">arrow_drop_down</i></a>
<ul class=\"dropdown-menu dropdown-menu-right cp-ts-menu\">
<li class=\"cp-ts-menu-h\">Switch company</li>
";
// line 104
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable((isset($context["_companyNames"]) || array_key_exists("_companyNames", $context) ? $context["_companyNames"] : (function () { throw new RuntimeError('Variable "_companyNames" does not exist.', 104, $this->source); })()));
foreach ($context['_seq'] as $context["cid"] => $context["cname"]) {
// line 105
yield " <li><a href=\"";
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("change_company_dashboard");
yield "/";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["cid"], "html", null, true);
yield "\" class=\"";
yield (((0 === CoreExtension::compare($context["cid"], (isset($context["_curCompanyId"]) || array_key_exists("_curCompanyId", $context) ? $context["_curCompanyId"] : (function () { throw new RuntimeError('Variable "_curCompanyId" does not exist.', 105, $this->source); })())))) ? ("cp-ts-active") : (""));
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["cname"], "html", null, true);
yield "</a></li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['cid'], $context['cname'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 107
yield " </ul>
</div>
";
}
// line 110
yield "
<a href=\"";
// line 111
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("my_notification");
yield "\" class=\"cp-ts-ico\" title=\"Notifications\">
<i class=\"material-icons\">notifications_none</i>
<span class=\"cp-ts-badge\" id=\"notification_count_on_menu\"></span>
</a>
<div class=\"dropdown cp-ts-dd\">
<a href=\"#\" data-toggle=\"dropdown\" class=\"cp-ts-profile\">
";
// line 118
if (((isset($context["_userImg"]) || array_key_exists("_userImg", $context) ? $context["_userImg"] : (function () { throw new RuntimeError('Variable "_userImg" does not exist.', 118, $this->source); })()) && CoreExtension::inFilter("https://", (isset($context["_userImg"]) || array_key_exists("_userImg", $context) ? $context["_userImg"] : (function () { throw new RuntimeError('Variable "_userImg" does not exist.', 118, $this->source); })())))) {
yield "<img src=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["_userImg"]) || array_key_exists("_userImg", $context) ? $context["_userImg"] : (function () { throw new RuntimeError('Variable "_userImg" does not exist.', 118, $this->source); })()), "html", null, true);
yield "\" class=\"cp-ts-avatar\">
";
} elseif ( // line 119
(isset($context["_userImg"]) || array_key_exists("_userImg", $context) ? $context["_userImg"] : (function () { throw new RuntimeError('Variable "_userImg" does not exist.', 119, $this->source); })())) {
yield "<img src=\"";
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("dashboard");
yield "/";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["_userImg"]) || array_key_exists("_userImg", $context) ? $context["_userImg"] : (function () { throw new RuntimeError('Variable "_userImg" does not exist.', 119, $this->source); })()), "html", null, true);
yield "\" class=\"cp-ts-avatar\">
";
} else {
// line 120
yield "<span class=\"cp-ts-avatar cp-ts-avatar-i\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::upper($this->env->getCharset(), Twig\Extension\CoreExtension::slice($this->env->getCharset(), (isset($context["_userName"]) || array_key_exists("_userName", $context) ? $context["_userName"] : (function () { throw new RuntimeError('Variable "_userName" does not exist.', 120, $this->source); })()), 0, 1)), "html", null, true);
yield "</span>";
}
// line 121
yield " <span class=\"cp-ts-name\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::first($this->env->getCharset(), Twig\Extension\CoreExtension::split($this->env->getCharset(), (isset($context["_userName"]) || array_key_exists("_userName", $context) ? $context["_userName"] : (function () { throw new RuntimeError('Variable "_userName" does not exist.', 121, $this->source); })()), " ")), "html", null, true);
yield "</span>
<i class=\"material-icons cp-ts-caret\">arrow_drop_down</i>
</a>
<ul class=\"dropdown-menu dropdown-menu-right cp-ts-menu\">
<li class=\"cp-ts-menu-h\">";
// line 125
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["_userName"]) || array_key_exists("_userName", $context) ? $context["_userName"] : (function () { throw new RuntimeError('Variable "_userName" does not exist.', 125, $this->source); })()), "html", null, true);
yield "</li>
<li><a href=\"";
// line 126
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("dashboard");
yield "\"><i class=\"material-icons\">home</i> ERP Home</a></li>
<li><a href=\"";
// line 127
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("my_notification");
yield "\"><i class=\"material-icons\">notifications</i> Notifications</a></li>
<li class=\"divider\"></li>
";
// line 131
yield " <li><a href=\"";
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("user_logout");
yield "?endCurrentTask=0\"><i class=\"material-icons\">swap_horiz</i> Switch WorkSpace</a></li>
<li><a href=\"";
// line 132
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("user_logout");
yield "\"><i class=\"material-icons\">exit_to_app</i> Logout</a></li>
</ul>
</div>
</div>
</div>
";
// line 137
$__internal_compile_0 = null;
try {
$__internal_compile_0 = $this->loadTemplate("@Application/inc/menu/_spotlight_search.html.twig", "@Application/framework/_cp_topstrip.html.twig", 137);
} catch (LoaderError $e) {
// ignore missing template
}
if ($__internal_compile_0) {
yield from $__internal_compile_0->unwrap()->yield($context);
}
// line 138
yield from $this->loadTemplate("@Application/framework/_cp_app_launcher.html.twig", "@Application/framework/_cp_topstrip.html.twig", 138)->unwrap()->yield($context);
// line 139
$__internal_compile_1 = null;
try {
$__internal_compile_1 = $this->loadTemplate("@Ai/hivemind_widget.html.twig", "@Application/framework/_cp_topstrip.html.twig", 139);
} catch (LoaderError $e) {
// ignore missing template
}
if ($__internal_compile_1) {
yield from $__internal_compile_1->unwrap()->yield($context);
}
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
return; yield '';
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "@Application/framework/_cp_topstrip.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 303 => 139, 301 => 138, 291 => 137, 283 => 132, 278 => 131, 273 => 127, 269 => 126, 265 => 125, 257 => 121, 252 => 120, 243 => 119, 237 => 118, 227 => 111, 224 => 110, 219 => 107, 204 => 105, 200 => 104, 193 => 100, 189 => 98, 186 => 97, 180 => 94, 174 => 92, 171 => 91, 159 => 78, 152 => 73, 146 => 70, 142 => 69, 138 => 68, 134 => 67, 130 => 66, 126 => 65, 120 => 62, 116 => 61, 112 => 60, 108 => 59, 104 => 58, 98 => 54, 82 => 40, 52 => 12, 50 => 11, 48 => 10, 46 => 9, 44 => 8,);
}
public function getSourceContext()
{
return new Source("{#
framework/_cp_topstrip.html.twig
Global top strip for cp-shell modules: spotlight Search (Ctrl+K), company switcher,
notifications, profile/logout. Reuses the EXISTING routes + the shared _spotlight_search
partial + the notification badge id (footer JS fills it) — nothing re-implemented.
Include inside a `.cp-app` column wrapper, ABOVE `.cp-shell`.
#}
{% set _companyNames = session[UserConstants.USER_COMPANY_NAME_LIST]|default('[]')|jsonDecode %}
{% set _curCompanyId = session[UserConstants.USER_COMPANY_ID]|default(0) %}
{% set _userName = session[UserConstants.USER_NAME]|default('User') %}
{% set _userImg = session[UserConstants.USER_IMAGE]|default('') %}
<style>
/* HoneyBee brand mark — top-left of the global top strip */
.cp-ts-brand{ display:flex; align-items:center; gap:9px; text-decoration:none; padding:2px 4px; margin-right:2px; flex-shrink:0; }
.cp-ts-brand:hover{ text-decoration:none; }
.cp-ts-brand-badge{ width:30px; height:30px; border-radius:9px; flex-shrink:0;
display:flex; align-items:center; justify-content:center;
background:linear-gradient(135deg,#c07d2e 0%,#8a561f 100%);
color:#fff; font-weight:800; font-size:var(--cp-fs-lg, 16px); line-height:1; letter-spacing:.01em;
box-shadow:0 1px 2px rgba(90,60,20,.35); font-family:var(--cp-font, inherit); }
.cp-ts-brand-tx{ display:flex; flex-direction:column; line-height:1.05; }
.cp-ts-brand-name{ font-size:14px; font-weight:700; color:var(--cp-text,#1f2733); letter-spacing:-.01em; }
.cp-ts-brand-sub{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--cp-text-faint,#9aa4b2); margin-top:1px; }
.cp-ts-brand-div{ width:1px; height:26px; background:var(--cp-outline,#e3e7ee); margin:0 10px 0 6px; flex-shrink:0; }
@media(max-width:860px){ .cp-ts-brand-tx{ display:none; } .cp-ts-brand-div{ display:none; } }
.cp-ts-create{ display:flex; align-items:center; gap:5px; padding:6px 12px; border-radius:var(--cp-radius-pill); background:var(--cp-accent); color:var(--cp-on-accent)!important; font-size:var(--cp-fs-sm, 12.5px); font-weight:600; text-decoration:none; cursor:pointer; }
.cp-ts-create:hover{ background:var(--cp-accent-hover); color:var(--cp-on-accent)!important; text-decoration:none; }
.cp-ts-create .material-icons{ font-size:17px; }
.cp-ts-menu li.cp-ts-menu-h{ margin-top:4px; }
.cp-ts-menu li > a .material-icons{ font-size:var(--cp-fs-lg, 16px); }
.cp-ts-hive{ display:flex; align-items:center; gap:7px; padding:5px 12px; border-radius:var(--cp-radius-pill); border:1px solid var(--cp-outline);
color:var(--cp-text-muted)!important; font-family:var(--cp-font-mono); font-size:12px; font-weight:600; letter-spacing:.08em; text-decoration:none; }
.cp-ts-hive:hover{ border-color:var(--cp-accent); color:var(--cp-accent)!important; text-decoration:none; }
.cp-hive-dot{ width:8px; height:8px; border-radius:50%; background:#2e7d32; box-shadow:0 0 0 0 rgba(46,125,50,.5); animation:cpHivePulse 1.7s ease-in-out infinite; }
@keyframes cpHivePulse{ 0%{ box-shadow:0 0 0 0 rgba(46,125,50,.5);} 70%{ box-shadow:0 0 0 6px rgba(46,125,50,0);} 100%{ box-shadow:0 0 0 0 rgba(46,125,50,0);} }
@media(max-width:720px){ .cp-ts-create span, .cp-ts-hive{ display:none; } }
</style>
<div class=\"cp-topstrip\">
<a href=\"{{ path('dashboard') }}\" class=\"cp-ts-brand\" title=\"HoneyBee — Home\">
<span class=\"cp-ts-brand-badge\">H</span>
<span class=\"cp-ts-brand-tx\">
<span class=\"cp-ts-brand-name\">HoneyBee</span>
<span class=\"cp-ts-brand-sub\">Ecosystem</span>
</span>
</a>
<span class=\"cp-ts-brand-div\"></span>
<div class=\"cp-ts-search\" onclick=\"var s=document.getElementById('cpSpot'); if(s){s.classList.add('open'); var i=document.getElementById('cpSpotInput'); if(i){i.focus();}}\">
<i class=\"fa fa-search\"></i> <span>Search anything…</span> <kbd>Ctrl K</kbd>
</div>
<div class=\"cp-ts-right\">
{# + Create — global quick-create #}
<div class=\"dropdown cp-ts-dd\">
<a href=\"#\" data-toggle=\"dropdown\" class=\"cp-ts-create\"><i class=\"material-icons\">add</i> <span>Create</span></a>
<ul class=\"dropdown-menu dropdown-menu-right cp-ts-menu\" style=\"min-width:224px;\">
<li class=\"cp-ts-menu-h\">Sales</li>
<li><a href=\"{{ path('create_sales_order') }}\"><i class=\"material-icons\">shopping_cart</i> Sales Order</a></li>
<li><a href=\"{{ path('create_sales_proposal') }}\"><i class=\"material-icons\">description</i> Sales Proposal</a></li>
<li><a href=\"{{ path('create_opportunity') }}\"><i class=\"material-icons\">trending_up</i> Opportunity</a></li>
<li><a href=\"{{ path('create_lead') }}\"><i class=\"material-icons\">person_add</i> Lead</a></li>
<li><a href=\"{{ path('create_client') }}\"><i class=\"material-icons\">supervisor_account</i> Client</a></li>
<li class=\"divider\"></li>
<li class=\"cp-ts-menu-h\">Finance & Purchasing</li>
<li><a href=\"{{ path('create_sales_invoice') }}\"><i class=\"material-icons\">attach_money</i> Sales Invoice</a></li>
<li><a href=\"{{ path('create_purchase_order') }}\"><i class=\"material-icons\">local_shipping</i> Purchase Order</a></li>
<li><a href=\"{{ path('express_purchase_new') }}\"><i class=\"material-icons\">flash_on</i> Express Purchase</a></li>
<li><a href=\"{{ path('create_expense_invoice', {id: 0}) }}\"><i class=\"material-icons\">receipt</i> Expense</a></li>
<li><a href=\"{{ path('ai_import_index') }}\"><i class=\"material-icons\">move_to_inbox</i> Import Document</a></li>
<li><a href=\"{{ path('create_payment_voucher') }}\"><i class=\"material-icons\">payment</i> Payment Voucher</a></li>
<li class=\"divider\"></li>
<li class=\"cp-ts-menu-h\">Projects</li>
<li><a href=\"{{ path('create_new_project') }}\"><i class=\"material-icons\">work</i> New Project</a></li>
</ul>
</div>
{# HIVEMIND — opens the inline terminal widget (falls back to the full page if absent) #}
<a href=\"{{ path('ai_hivemind') }}\" class=\"cp-ts-hive\" title=\"Hivemind — Generative Command Mode (Ctrl+`)\"
onclick=\"var p=document.getElementById('hm-widget-pill'); if(p){p.click(); return false;} return true;\">
<span class=\"cp-hive-dot\"></span> HIVEMIND
</a>
<a href=\"#\" class=\"cp-ts-ico\" title=\"All Apps\" onclick=\"cpToggleAppLauncher(true);return false;\">
<i class=\"material-icons\">apps</i>
</a>
{# WHICH COMPANY AM I IN — shown ALWAYS, not only when there are several to switch
between. The `> 1` gate below used to wrap this whole block, so a login with one
company saw no company name anywhere on the page and could not tell which tenant it
was looking at. That is the complaint, and it does not require a second company to
bite. main_layout.html.twig carries the same element off the same session keys. #}
{% if _companyNames|length <= 1 %}
<span class=\"cp-ts-btn\" title=\"You are working in {{ _companyNames[_curCompanyId]|default('this company') }}\">
<i class=\"material-icons\">business</i>
<span class=\"cp-ts-lbl\">{{ _companyNames[_curCompanyId]|default('Company') }}</span>
</span>
{% endif %}
{% if _companyNames|length > 1 %}
<div class=\"dropdown cp-ts-dd\">
<a href=\"#\" data-toggle=\"dropdown\" class=\"cp-ts-btn\"><i class=\"material-icons\">business</i>
<span class=\"cp-ts-lbl\">{{ _companyNames[_curCompanyId]|default('Company') }}</span>
<i class=\"material-icons cp-ts-caret\">arrow_drop_down</i></a>
<ul class=\"dropdown-menu dropdown-menu-right cp-ts-menu\">
<li class=\"cp-ts-menu-h\">Switch company</li>
{% for cid, cname in _companyNames %}
<li><a href=\"{{ url('change_company_dashboard') }}/{{ cid }}\" class=\"{{ cid == _curCompanyId ? 'cp-ts-active' : '' }}\">{{ cname }}</a></li>
{% endfor %}
</ul>
</div>
{% endif %}
<a href=\"{{ path('my_notification') }}\" class=\"cp-ts-ico\" title=\"Notifications\">
<i class=\"material-icons\">notifications_none</i>
<span class=\"cp-ts-badge\" id=\"notification_count_on_menu\"></span>
</a>
<div class=\"dropdown cp-ts-dd\">
<a href=\"#\" data-toggle=\"dropdown\" class=\"cp-ts-profile\">
{% if _userImg and 'https://' in _userImg %}<img src=\"{{ _userImg }}\" class=\"cp-ts-avatar\">
{% elseif _userImg %}<img src=\"{{ url('dashboard') }}/{{ _userImg }}\" class=\"cp-ts-avatar\">
{% else %}<span class=\"cp-ts-avatar cp-ts-avatar-i\">{{ _userName|slice(0,1)|upper }}</span>{% endif %}
<span class=\"cp-ts-name\">{{ _userName|split(' ')|first }}</span>
<i class=\"material-icons cp-ts-caret\">arrow_drop_down</i>
</a>
<ul class=\"dropdown-menu dropdown-menu-right cp-ts-menu\">
<li class=\"cp-ts-menu-h\">{{ _userName }}</li>
<li><a href=\"{{ path('dashboard') }}\"><i class=\"material-icons\">home</i> ERP Home</a></li>
<li><a href=\"{{ path('my_notification') }}\"><i class=\"material-icons\">notifications</i> Notifications</a></li>
<li class=\"divider\"></li>
{# Switch WorkSpace: same as the legacy menu — logs out keeping the current task
(endCurrentTask=0) so the user can pick another workspace/company. Logout ends it. #}
<li><a href=\"{{ url('user_logout') }}?endCurrentTask=0\"><i class=\"material-icons\">swap_horiz</i> Switch WorkSpace</a></li>
<li><a href=\"{{ path('user_logout') }}\"><i class=\"material-icons\">exit_to_app</i> Logout</a></li>
</ul>
</div>
</div>
</div>
{% include '@Application/inc/menu/_spotlight_search.html.twig' ignore missing %}
{% include '@Application/framework/_cp_app_launcher.html.twig' %}
{% include '@Ai/hivemind_widget.html.twig' ignore missing %}
", "@Application/framework/_cp_topstrip.html.twig", "/home/u405565514/domains/ourhoneybee.eu/public_html/honeybee_main/src/ApplicationBundle/Resources/views/framework/_cp_topstrip.html.twig");
}
}