<?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/pages/dashboard/index_central_landing.html.twig */
class __TwigTemplate_5dfcad24c43b73d800d95f64d8a6bd51453a8862686243cc0af5ce087637ed58 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/pages/dashboard/index_central_landing.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/pages/dashboard/index_central_landing.html.twig"));
// line 1
yield "";
yield from $this->loadTemplate("@HoneybeeWeb/website/flow_header.html.twig", "@Application/pages/dashboard/index_central_landing.html.twig", 1)->unwrap()->yield($context);
// line 2
yield "<meta name=\"robots\" content=\"noindex, nofollow\">
";
// line 3
$context["isConsultant"] = ((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.', 3, $this->source); })()), "IS_CONSULTANT", [], "any", false, false, false, 3), [], "array", true, true, false, 3)) ? (CoreExtension::getAttribute($this->env, $this->source, (isset($context["session"]) || array_key_exists("session", $context) ? $context["session"] : (function () { throw new RuntimeError('Variable "session" does not exist.', 3, $this->source); })()), 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.', 3, $this->source); })()), "IS_CONSULTANT", [], "any", false, false, false, 3), [], "array", false, false, false, 3)) : (0));
// line 4
$context["BUDDYBEE_ADMIN_LEVEL"] = ((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.', 4, $this->source); })()), "BUDDYBEE_ADMIN_LEVEL", [], "any", false, false, false, 4), [], "array", true, true, false, 4)) ? (CoreExtension::getAttribute($this->env, $this->source, (isset($context["session"]) || array_key_exists("session", $context) ? $context["session"] : (function () { throw new RuntimeError('Variable "session" does not exist.', 4, $this->source); })()), 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.', 4, $this->source); })()), "BUDDYBEE_ADMIN_LEVEL", [], "any", false, false, false, 4), [], "array", false, false, false, 4)) : (0));
// line 5
yield "<link rel=\"stylesheet\"
href=\"";
// line 6
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("dashboard")), "html", null, true);
yield "buddybee_assets/css/imgProgress.css?version=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::constant("ApplicationBundle\\Constants\\GeneralConstant::ENTITY_APP_VERSION"), "html", null, true);
yield "\">
<style>
/*.swiper-slide {*/
/* pointer-events: auto;*/
/*}*/
/*.swiper-slide-prev,*/
/*.swiper-slide-next {*/
/* pointer-events: auto; !* optional if you want them clickable *!*/
/*}*/
/*.swiper-slide-active {*/
/* z-index: 2; !* keep top slide visible *!*/
/*}*/
/*.swiper-wrapper {*/
/* overflow: visible; !* important: allows slide shadows/clicks outside container *!*/
/*}*/
.select-center {
text-align-last: center;
text-align: center;
}
.send-button:hover,
.send-button:focus,
.send-button:active {
background-color: #2673B8;
color: white;
outline: none;
box-shadow: none;
}
.modal div[class*=\"col-md\"], .modal div[class*=\"col-lg\"], .modal div[class*=\"col-xs\"], .modal div[class*=\"col-sm\"] {
margin-bottom: 0px;
}
.d-flex {
display: flex;
}
#selectEntityModal {
box-shadow: 0px 6px 18px rgb(0 0 0 / 9%);
*/ border-radius: 12px;
}
#selectEntityModal .modal-body {
padding: 0 1rem;
}
#selectEntityModal p {
margin-bottom: .5rem;
}
/* Style for selected option in selectize */
.selectize-input {
padding: 10px;
font-size: 1rem;
color: #333;
border: none;
}
#selectEntityModal .selectize-input.items {
border: 1px solid #d0d0d0;
padding: 8px 8px;
display: inline-block;
width: 100%;
overflow: hidden;
position: relative;
z-index: 1;
box-sizing: border-box;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .1);
border-radius: 3px;
}
#selectEntityModalForm {
/*max-width: 500px;*/
background-color: var(--global-background-color, #ffffff);
/*margin: 40px auto;*/
padding: 40px;
box-shadow: 0px 6px 18px rgb(0 0 0 / 9%);
/*border-radius: 12px;*/
}
#selectEntityModalForm .form-header {
gap: 5px;
text-align: center;
font-size: .9em;
}
#selectEntityModalForm .form-header .stepIndicator {
position: relative;
flex: 1;
padding-bottom: 30px;
}
#selectEntityModalForm .form-header .stepIndicator.active {
font-weight: 600;
}
#selectEntityModalForm .form-header .stepIndicator.finish {
font-weight: 600;
color: #009688;
}
#selectEntityModalForm .form-header .stepIndicator::before {
content: \"\";
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
z-index: 9;
width: 20px;
height: 20px;
background-color: #d5efed;
border-radius: 50%;
border: 3px solid #ecf5f4;
}
#selectEntityModalForm .form-header .stepIndicator.active::before {
background-color: #a7ede8;
border: 3px solid #d5f9f6;
}
#selectEntityModalForm .form-header .stepIndicator.finish::before {
background-color: #009688;
border: 3px solid #b7e1dd;
}
#selectEntityModalForm .form-header .stepIndicator::after {
content: \"\";
position: absolute;
left: 50%;
bottom: 8px;
width: 100%;
height: 3px;
background-color: #f3f3f3;
}
#selectEntityModalForm .form-header .stepIndicator.active::after {
background-color: #a7ede8;
}
#selectEntityModalForm .form-header .stepIndicator.finish::after {
background-color: #009688;
}
#selectEntityModalForm .form-header .stepIndicator:last-child:after {
display: none;
}
#selectEntityModalForm input {
padding: 15px 20px;
width: 100%;
font-size: 1em;
border: 1px solid #e3e3e3;
border-radius: 5px;
}
#selectEntityModalForm input:focus {
border: 1px solid #009688;
outline: 0;
}
#selectEntityModalForm input.invalid {
border: 1px solid #ffaba5;
}
#selectEntityModalForm .step {
display: none;
}
#selectEntityModalForm .form-footer {
overflow: auto;
gap: 20px;
}
#selectEntityModalForm .form-footer button {
background-color: #1d5b9e;
border: 1px solid #1d5b9e;
color: #ffffff;
border: none;
padding: 13px 30px;
font-size: 1em;
cursor: pointer;
border-radius: 5px;
flex: 1;
margin-top: 5px;
}
#selectEntityModalForm .form-footer button:hover {
opacity: 0.8;
}
#selectEntityModalForm .form-footer #promptInfo_prevBtn {
background-color: var(--global-background-color, #fff);
color: #009688;
}
.box-selector {
padding: 10px 4px;
cursor: pointer;
}
.box-selector .inside {
padding: 5px;
background: white;
border-radius: 5px;
-webkit-box-shadow: 10px 10px 48px -24px rgba(14, 26, 87, 1);
-moz-box-shadow: 10px 10px 48px -24px rgba(14, 26, 87, 1);
box-shadow: 10px 10px 48px -24px rgba(14, 26, 87, 1);
}
.box-selector .inside input {
cursor: pointer
}
.box-selector .inside textarea {
text-align: center;
cursor: pointer;
width: 100%;
border: none;
resize: none;
font-size: 14px;
color: #1d5b9e;
font-weight: bold;
}
.box-selector.sch_selector_mon .inside,
.box-selector.sch_selector_day .inside
/*.box-selector.sch_selector_time .inside*/
{
padding: 10px 5px;
}
.box-selector.sch_selector_time .inside {
padding: 4px 5px;
}
.step .view_if_has_schedules {
display: none;
}
.box-selector.active:not(.man_sch_selector) .inside {
border: 2px solid #1d5b9e;
-webkit-box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
-moz-box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
}
.box-selector.active.man_sch_selector .inside {
border: 2px solid #1d5b9e;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.box-selector.sch_selector_mon.active .inside,
.box-selector.sch_selector_day.active .inside,
.box-selector.sch_selector_time.active .inside {
border: 2px solid #1d5b9e;
-webkit-box-shadow: 4px 7px 24px -3px rgba(29, 91, 158, 1);
-moz-box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
box-shadow: 4px 7px 24px -3px rgba(29, 91, 158, 1);
}
.box-selector .img {
margin-left: 5px;
}
.box-selector .title {
text-align: center;
font-size: var(--cp-fs-base, 13px);
margin-top: auto;
margin-bottom: auto;
}
.box-selector.paymentMethodSelectorBtn .title {
text-align: center;
margin-bottom: 1px;
font-size: 14px;
}
.box-selector .sub-title {
font-size: 12px;
color: grey;
}
.qr-card {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: min(350px, calc(100vw - 32px));
margin-top: 10px;
border-radius: 12px;
z-index: 1000;
padding: 10px;
}
.qr-card .card {
border: none;
background: transparent;
text-align: center;
}
.qr-card img {
width: 100%;
margin: 10px auto;
display: block;
}
.hidden {
display: none;
}
/* Flexbox for card container to display them side by side */
.employee-card-container {
display: flex;
justify-content: left; /* Center the cards horizontally */
gap: 20px; /* Add space between the cards */
flex-wrap: wrap;
margin-top: 20px;
}
.employee-card {
padding: 20px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 10px;
max-width: 320px;
width: 100%;
text-align: center;
display: inline-block;
}
.form-group {
margin-bottom: 10px;
}
/* Style for the entire form */
.form-group {
margin-bottom: 1.5rem;
}
/* Style for the labels */
.form-group label {
font-size: .8rem;
font-weight: 300;
color: #333;
margin-bottom: 0.1rem;
display: block;
}
/* Style for the input fields */
.form-control {
width: 100%;
max-width: 100%;
padding: 0px;
font-size: 1rem;
border-radius: 5px;
box-sizing: border-box;
}
/* Hover effect for input fields */
.form-control:hover {
border-color: #0056b3;
}
/* Focus effect for input fields */
.form-control:focus {
border-color: #0056b3;
outline: none;
}
/* Dropdown list customization */
.selectize-dropdown {
border-radius: 5px;
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
font-size: 1rem;
max-height: 200px;
}
/* Style for selectize items */
.selectize-dropdown .option {
padding: 10px;
font-size: 1rem;
color: #333;
}
/* Hover effect for selectize items */
.selectize-dropdown .option:hover {
background-color: #0056b3;
color: white;
}
/* Style for the \"Add Employee\" and \"Close\" buttons */
.btn-primary, .btn-secondary {
padding: 10px 20px;
font-size: 1rem;
border: none;
border-radius: 5px;
cursor: pointer;
}
/* Style for the primary button */
.btn-primary {
color: white;
}
/* Hover effect for primary button */
.btn-primary:hover {
background-color: #0056b3;
}
/* Style for the secondary button */
.btn-secondary {
background-color: #6c757d;
color: white;
}
/* Hover effect for secondary button */
.btn-secondary:hover {
background-color: #5a6268;
}
#selectEntityModal .routineTable {
text-align: left;
vertical-align: middle;
}
#selectEntityModal .routineTable .icon-delete {
color: darkred;
font-weight: bold;
}
#selectEntityModal .routineTable .icon-delete .fa {
padding: 10px;
border-radius: 39px;
border: 1px solid #eddcdc;
width: 34px;
height: 34px;
text-align: center;
}
#selectEntityModal .routineTable .icon-check {
color: green;
font-weight: bold;
}
#selectEntityModal .routineTable .icon-check .fa {
opacity: 0.1;
}
#selectEntityModal .routineTable .icon-check.isChecked .fa {
opacity: 1;
}
#selectEntityModal .routineTable .icon-check .fa {
padding: 10px;
border-radius: 39px;
border: 1px solid #eddcdc;
width: 34px;
height: 34px;
text-align: center;
}
#selectEntityModal .routineTable {
text-align: left;
vertical-align: middle;
}
#selectEntityModal .routineTable .icon-delete {
color: darkred;
font-weight: bold;
}
#selectEntityModal .routineTable .icon-delete .fa {
padding: 10px;
border-radius: 39px;
border: 1px solid #eddcdc;
width: 34px;
height: 34px;
text-align: center;
}
#selectEntityModal .routineTable .icon-check {
color: green;
font-weight: bold;
}
#selectEntityModal .routineTable .icon-check .fa {
opacity: 0.1;
}
#selectEntityModal .routineTable .icon-check.isChecked .fa {
opacity: 1;
}
#selectEntityModal .routineTable .icon-check .fa {
padding: 10px;
border-radius: 39px;
border: 1px solid #eddcdc;
width: 34px;
height: 34px;
text-align: center;
}
@media (min-width: 1400px) {
.dashboard-main .container {
max-width: 1400px;
}
}
.upcoming_session_image_view {
height: 60px;
width: 60px;
border-radius: 50%;
background-size: cover !important;
background-position: center !important;
}
.badge.transaction_completed {
color: #7AE677;
background-color: #D9FFD8;
padding: .7rem;
}
.badge.transaction_canceled {
color: #ED4C5C;
background-color: #FFE3E2;
padding: .7rem;
}
.badge.transaction_pending {
color: #373A37;
background-color: #F2F2F2;
padding: .7rem;
}
.small_info .progress {
height: 1rem;
border-radius: 0.5rem;
}
.small_info .row {
margin-top: 19px;
margin-bottom: 20px;
}
.small_info .progress_holder {
margin-top: auto;
margin-bottom: auto;
padding: 0px;
}
.small_info .value_type {
margin-bottom: 0px;
font-size: 18px;
color: #373A37;
font-weight: normal;
}
.small_info .percent_value {
text-align: right;
margin-bottom: 0px;
font-size: 18px;
color: #373A37;
font-weight: normal;
}
.small_info .percent_holder {
margin-top: auto;
margin-bottom: auto;
padding-left: 0px;
}
.small_info .value_type_holder {
margin-top: auto;
margin-bottom: auto;
}
.small_info .progress .progress-bar {
background: #92E3A9;
}
.dashboard-main .card {
margin-bottom: 13px;
}
.accordion-button:focus {
z-index: 3;
/* border-color: #86b7fe; */
outline: 0;
box-shadow: none;
}
.accordion-button:not(.collapsed) {
/*color: #0c63e4;*/
background-color: white;
/*box-shadow: inset 0 -1px 0 rgb(0 0 0 / 13%);*/
}
.dial {
border: 0px;
width: 0px;
font-size: 36px !important;
color: white;
}
.rounded_border_card {
border-radius: 1rem;;
}
.status_card {
border-radius: 1rem;;
}
.status_card .card-body {
padding-bottom: 0;
}
.status_card .card-title {
color: #4B4B4B;
font-size: var(--cp-fs-xl, 20px);
font-weight: 400;
font-family: 'Poppins';
}
.status_card .status_value {
color: #4B4B4B;
font-size: 60px;
font-weight: normal;
font-family: 'Poppins';
}
.status_card .col-md-7, .status_card .col-md-5, .status_card .col-md-6 {
margin-top: auto;
margin-bottom: auto;
/*padding: 0;*/
}
.status_card .col-md-5 {
padding-left: 0px;
}
.status_card .status_value_trend {
float: right;
font-size: 14px;
font-weight: 400;
padding: 8px;
border-radius: 1em;
}
.status_value_trend.negative {
background-color: #FFE4E4;
color: #F07777;
}
.status_value_trend.positive {
background-color: #C6F1F7;
color: #137DC3;
}
.student_list_card {
/*border-radius: 1rem;;*/
}
.student_list_card .card {
/*border-radius: 1rem;;*/
border: none;;
}
.student_list_card .card-body {
padding: 8px;
border-radius: 13px;
}
.student_list_card .card-title {
color: #4B4B4B;
font-size: var(--cp-fs-xl, 20px);
font-weight: 400;
font-family: 'Poppins';
}
.student_list_card .time {
color: #818181;
font-size: var(--cp-fs-lg, 16px);
font-weight: bold;
font-family: 'Roboto', sans-serif;
padding-left: 4px;
}
.student_list_card .col-md-7,
.student_list_card .col-md-5,
.student_list_card .col-md-6,
.student_list_card .col-md-9,
.student_list_card .col-md-1,
.student_list_card .col-md-2,
.student_list_card .col-md-3 {
margin-top: auto;
margin-bottom: auto;
/*padding: 0;*/
}
.student_list_card .col-md-5,
.student_list_card .col-md-1 {
padding-left: 0px;
}
.student_list_card img {
width: 100%;
border-radius: 50%;
}
.student_list_card .student_name {
font-size: 18px;
font-weight: bold;
color: #4B4B4B;
font-family: 'Poppins';
margin-bottom: 0px;
}
.student_list_card .student_interest {
font-size: var(--cp-fs-lg, 16px);
font-weight: 400;
color: #BCC7D8;
margin-bottom: 0px;;
}
.student_list_card .more {
font-size: var(--cp-fs-lg, 16px);
font-weight: 400;
color: #333333;
margin-bottom: 0px;;
padding-right: 8px;
}
.table > :not(caption) > * > * {
padding: 1rem 1rem;
}
.more {
font-size: var(--cp-fs-lg, 16px);
font-weight: 400;
color: #333333;
margin-bottom: 0px;;
padding-right: 8px;
}
.custom-icon-btn {
background-color: #3498db;
color: white;
border: none;
border-radius: 15px;
text-align: center;
font-size: var(--cp-fs-lg, 16px);
font-weight: 500;
}
</style>
<style>
/* ── Nordic My Companies ─────────────────────────────────────────────────── */
:root {
--n-cream: #F7F5F0;
--n-dark: #1A1D2E;
--n-amber: #C07D2A;
--n-muted: #6B7280;
/* Override global blue palette so style.css rules inherit Nordic tokens */
--global-background-color: #ffffff;
--primary-color: #1A1D2E;
--swiper-theme-color: #C07D2A;
}
body { background: var(--n-cream) !important; }
.role-company-page.section { background: var(--n-cream); padding: 48px 0 80px; }
/* Page heading */
.section-head-area { text-align: center; margin-bottom: 32px; }
.section-title,
.role-company-page .section-title,
.role-company-page h1.section-title {
font-family: 'Montserrat', sans-serif !important;
font-size: clamp(1.6rem,3vw,2.2rem) !important;
font-weight: 700 !important;
color: var(--n-dark) !important;
background: none !important;
-webkit-background-clip: unset !important;
-webkit-text-fill-color: var(--n-dark) !important;
background-clip: unset !important;
margin: 0;
}
/* Tabs */
.tab-box { display: flex !important; align-items: center; gap: 4px; border-bottom: 2px solid rgba(26,29,46,.1); margin-bottom: 32px; padding-bottom: 0; overflow-x: auto; scrollbar-width: none; }
.tab-box::-webkit-scrollbar { display: none; }
.tab-btn.tab-btn-style { background: transparent !important; border: none !important; border-bottom: 3px solid transparent !important; margin-bottom: -2px; padding: 10px 18px; font-family: 'DM Sans', sans-serif; font-size: .875rem; font-weight: 600; color: var(--n-muted) !important; border-radius: 0 !important; cursor: pointer; transition: color .2s, border-color .2s; white-space: nowrap; box-shadow: none !important; }
.tab-btn.tab-btn-style.active, .tab-btn.tab-btn-style:hover { color: var(--n-dark) !important; border-bottom-color: var(--n-amber) !important; }
.tab-box .line { display: none; }
/* Company Swiper cards — !important needed: style.css hardcodes rgba(230,248,250,1) blue */
.role-company-page .tab-container .content-box .content .card {
background: var(--global-background-color, #fff) !important;
border: 1.5px solid rgba(26,29,46,.08) !important;
border-radius: 14px !important;
box-shadow: 0 4px 24px rgba(26,29,46,.08) !important;
padding: 20px !important;
text-align: center;
transition: box-shadow .2s, transform .2s;
}
.role-company-page .tab-container .content-box .content .card:hover {
box-shadow: 0 8px 32px rgba(26,29,46,.14) !important;
transform: translateY(-2px);
}
/* Active slide: amber border instead of blue */
.swiper-slide.swiper-slide-active .card {
border: 2px solid var(--n-amber) !important;
background-image: none !important; /* remove the old overlay.svg */
}
.swiper-slide .card img { width: 64px; height: 64px; border-radius: 10px; object-fit: contain; margin: 0 auto 12px; display: block; }
.swiper-slide .card h2 { font-family: 'Montserrat', sans-serif; font-size: 1rem; font-weight: 700; color: var(--n-dark) !important; margin: 0 0 8px; }
.swiper-slide .card .role { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--n-amber); background: rgba(192,125,42,.1); padding: 3px 10px; border-radius: 20px; }
/* Action buttons — !important: style.css has high-specificity blue rules for these */
.buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 28px; }
.app-btn.button {
display: inline-flex !important; align-items: center !important; gap: 8px;
padding: 11px 24px !important; border-radius: 8px !important;
background: transparent !important;
color: var(--n-dark) !important;
border: 1.5px solid rgba(26,29,46,.25) !important;
font-family: 'DM Sans',sans-serif !important; font-size: .9rem; font-weight: 600;
cursor: pointer; transition: border-color .2s, color .2s; text-decoration: none;
}
.app-btn.button:hover { border-color: var(--n-amber) !important; color: var(--n-amber) !important; }
.app-btn.button i { color: var(--n-dark) !important; }
.app-btn.button:hover i { color: var(--n-amber) !important; }
.create-btn.button {
display: inline-flex !important; align-items: center !important; gap: 8px;
padding: 11px 24px !important; border-radius: 8px !important;
background: var(--n-dark) !important; color: #fff !important;
border: 1.5px solid transparent !important;
font-family: 'DM Sans',sans-serif !important; font-size: .9rem; font-weight: 600 !important;
cursor: pointer; transition: background .2s, transform .15s; text-decoration: none !important;
}
.create-btn.button:hover { background: var(--n-amber) !important; color: #fff !important; transform: translateY(-1px); text-decoration: none !important; }
/* Swiper nav */
.swiper-button-prev::after, .swiper-button-next::after { color: var(--n-amber) !important; }
.swiper-pagination-bullet-active { background: var(--n-amber) !important; }
/* Action links bar (Join / Link / Delete) — override old absolute+blue style */
.role-company-page .tab-container .content-box .content .links {
position: relative !important;
top: auto !important;
display: flex !important;
justify-content: center !important;
align-items: stretch !important;
max-width: 560px !important;
width: 100% !important;
margin: 24px auto 0 !important;
border: 1.5px solid rgba(26,29,46,.12) !important;
border-radius: 10px !important;
background: var(--global-background-color, #fff) !important;
overflow: hidden;
flex-wrap: nowrap !important;
}
.role-company-page .tab-container .content-box .content .links .link {
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 7px;
flex: 1 1 0;
padding: 11px 14px !important;
font-family: 'DM Sans', sans-serif;
font-size: .82rem;
font-weight: 600;
color: var(--n-muted) !important;
cursor: pointer;
border-right: 1px solid rgba(26,29,46,.08) !important;
transition: color .15s, background .15s;
white-space: nowrap;
}
.role-company-page .tab-container .content-box .content .links .link:last-child { border-right: none !important; }
.role-company-page .tab-container .content-box .content .links .link:hover { color: var(--n-amber) !important; background: rgba(192,125,42,.05); }
.role-company-page .tab-container .content-box .content .links .link.active { color: var(--n-dark) !important; }
.role-company-page .tab-container .content-box .content .links .link i { font-size: 14px !important; color: var(--n-amber); padding: 0 !important; }
/* Onboarding employee cards */
.employee-card { background: var(--global-background-color, #fff); border-radius: 14px; box-shadow: 0 4px 24px rgba(26,29,46,.08); border: 1px solid rgba(26,29,46,.06); padding: 28px; }
.employee-card h5 { font-family: 'Montserrat', sans-serif; font-weight: 700; color: var(--n-dark); }
.employee-card .form-group label { font-size: .78rem; font-weight: 600; color: var(--n-muted); text-transform: uppercase; letter-spacing: .08em; }
.employee-card .form-control, .employee-card select.form-control { border: 1.5px solid rgba(26,29,46,.12); border-radius: 8px; padding: 10px 14px; font-family: 'DM Sans', sans-serif; color: var(--n-dark); }
.employee-card .form-control:focus { border-color: var(--n-amber); box-shadow: 0 0 0 3px rgba(192,125,42,.1); outline: none; }
/* Buttons inside page */
.global-button, .send-button { background: var(--n-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; padding: 10px 24px !important; font-family: 'DM Sans', sans-serif !important; font-weight: 600 !important; cursor: pointer; transition: background .2s; }
.global-button:hover, .send-button:hover, .global-button:focus, .send-button:focus { background: var(--n-amber) !important; color: #fff !important; box-shadow: none !important; }
.global-outline-button.extra-btn { background: transparent !important; color: var(--n-dark) !important; border: 2px solid rgba(26,29,46,.25) !important; border-radius: 8px !important; padding: 9px 20px !important; font-family: 'DM Sans', sans-serif; font-weight: 600; cursor: pointer; }
.global-outline-button.extra-btn:hover { border-color: var(--n-amber) !important; color: var(--n-amber) !important; }
/* QR card */
.qr-card .card { background: var(--global-background-color, #fff); border-radius: 14px; box-shadow: 0 8px 32px rgba(26,29,46,.12); border: 1px solid rgba(26,29,46,.06); }
/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
.role-company-page.section { padding: 32px 0 60px; }
.employee-card-container { justify-content: center; }
.employee-card { max-width: 100%; width: 100%; }
}
@media (max-width: 480px) {
.tab-box { gap: 0; }
.tab-btn.tab-btn-style { padding: 8px 12px; font-size: .8rem; }
.employee-card-container { flex-direction: column; align-items: stretch; gap: 16px; }
.buttons { flex-direction: column; }
.app-btn.button, .create-btn.button { width: 100%; justify-content: center; }
}
</style>
<section class=\"role-company-page section\">
<div class=\"container\">
<div class=\"row\">
<div class=\"col-md-12 d-flex justify-content-center align-items-center\">
<div class=\"section-head-area\">
<h1 class=\"section-title\">Your Role & Company List</h1>
</div>
</div>
</div>
<div class=\"row d-flex justify-content-center align-items-center\">
<div class=\"tab-container\">
<div class=\"tab-box overflow-x-auto\">
<button class=\"tab-btn tab-btn-style active \" id=\"role-tab-1\">Your Company</button>
<button class=\"tab-btn tab-btn-style \" id=\"role-tab-2\">Your Role</button>
<button class=\"tab-btn tab-btn-style \" id=\"role-tab-3\">Your Dashboard</button>
<button class=\"tab-btn tab-btn-style \" id=\"add-employee-btn\">Onboarding</button>
<button class=\"tab-btn tab-btn-style \" id=\"role-tab-4\">Shared Company</button>
<button class=\"tab-btn tab-btn-style \" id=\"role-tab-5\">Applied Company</button>
<div class=\"line\"></div>
</div>
<div class=\"content-box\">
";
// line 978
yield " <div class=\"content active\" style=\"cursor:pointer;\">
<div class=\"swiper-container\">
<div class=\"swiper-wrapper\"></div>
";
// line 986
yield "
";
// line 988
yield " <div class=\"links\">
<div class=\"link\">
<i class='fa fa-user-plus'></i><span>Join this Account</span>
</div>
<div class=\"link active\">
<i class='fa fa-link'></i><span>Link Accounts</span>
</div>
<div class=\"link active\">
<i class='fa fa-trash'></i><span>Delete Account</span>
</div>
</div>
<div class=\"swiper-pagination\"></div>
<div class=\"buttons\">
<button class=\"app-btn button\"><i class=\"fa-regular fa-user\"></i>Apply for Employment
</button>
<a class=\"create-btn button\" href=\"";
// line 1005
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("create_company");
yield "\">
<i class=\"fa-regular fa-building\"></i> Create a Company
</a>
</div>
<div class=\"swiper-button-prev\"></div>
<div class=\"swiper-button-next\"></div>
</div>
";
// line 1014
yield " </div>
";
// line 1016
yield " <div class=\"content\">
";
// line 1018
yield " </div>
";
// line 1020
yield " <div class=\"content\">
";
// line 1022
yield " </div>
";
// line 1024
yield " <div class=\"content\">
<div class=\"employee-card-container hidden\" id=\"employee-card-container\">
";
// line 1027
yield " <div class=\"employee-card fade show\" id=\"employee-form-wrapper\">
<div class=\"\" id=\"employee-card\">
<h5 class='text-center mb-3'>By Generating QR/Link</h5>
<form id=\"employee-form \">
";
// line 1032
yield " <div class=\"form-group\">
<select id=\"employee-type\" name=\"qrEmpType\"
class=\"form-control p-2 select-center\">
<option value=\"\">Select User Type</option>
<option value=\"1\">Admin</option>
<option value=\"2\">User</option>
<option value=\"3\">Manager</option>
</select>
</div>
";
// line 1043
yield " <div class=\"form-group\">
<select id=\"company-name-qr\" class=\"form-control\">
<option value=\"\">Select Company</option>
</select>
</div>
";
// line 1050
yield " <div class=\"form-group mt-3\">
<select name=\"sys_user\" class=\"form-control entityEmp \" id=\"email\">
<option value=\"\">Select Employee</option>
</select>
</div>
<button type=\"button\" class=\"global-button fs-6\" id=\"qr-code-button\">Generate
</button>
</form>
</div>
</div>
";
// line 1063
yield " <div class=\"employee-card fade show \" id=\"self-qr-form-wrapper\">
<div id=\"self-qr-card\">
<h5 class='text-center mb-3'>Generate QR for Yourself</h5>
<form id=\"self-qr-form\">
<div class=\"form-group \">
<label>Your Email</label>
<input style='' type=\"email\" id=\"self-email-input\"
class=\"form-control email-input\" placeholder=\"Enter your email\">
</div>
<button type=\"button\" class=\"global-button fs-6 mt-3\" id=\"generate-self-qr-btn\">
Generate QR
</button>
</form>
</div>
</div>
";
// line 1082
yield " <div class=\"qr-card\" id=\"qr-code-container\" style=\"display: none; margin-top: 100px\">
<div class=\"card\" style=''>
<button type=\"button\"
class=\"position-absolute top-0 end-0 m-2 p-0 border-0 bg-transparent\"
aria-label=\"Close\">
<i class=\"fa-solid fa-circle-xmark fs-4\" id=\"cl-qr-card\"></i>
</button>
<div class=\"card-body mt-4\">
<h3 class=\"text-capitalize\" id=\"qr-company-name\"></h3>
<img id=\"qr-image\" src=\"\" alt=\"QR Code\" class=\"img-fluid \">
<p id=\"message\" class=\"mt-2 text-success fs-5 text-center d-none\"></p>
<button type=\"button\" class=\" send-button mt-2 mx-2 fs-6\" id=\"send-qr-button\">
Send Qr
</button>
";
// line 1099
yield " <button type=\"button\" class=\"global-outline-button extra-btn mt-2\"
id=\"copy-link-button\">
<i class=\"fas fa-copy\" id=\"close-qr-card\"></i></button>
<!-- Send QR Loader -->
<div id=\"send-loader\" class=\"mt-3 d-none text-center\">
<div class=\"spinner-border text-primary\" role=\"status\">
<span class=\"visually-hidden\">Loading...</span>
</div>
</div>
</div>
</div>
</div>
";
// line 1116
yield "
</div>
</div>
";
// line 1121
yield " <div class=\"content\">
";
// line 1123
yield " </div>
";
// line 1126
yield " <div class=\"content\">
";
// line 1128
yield " </div>
</div>
</div>
</div>
</div>
</section>
<script>
document.addEventListener(\"DOMContentLoaded\", function () {
const accessList = ";
// line 1138
yield json_encode(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1138, $this->source); })()), "session", [], "any", false, false, false, 1138), "get", ["userAccessList", []], "method", false, false, false, 1138));
yield ";
console.log(accessList);
let qruserAccessList = [];
function populateCompanyDropdown(selectId) {
const selectElement = document.getElementById(selectId);
qruserAccessList = accessList.map(company => ({
companyName: company.companyName,
appId: company.appId,
companyId: company.companyId,
userType: company.userType
}));
selectElement.innerHTML = '<option value=\"\">Select Company</option>';
accessList.forEach(function (company) {
const option = document.createElement(\"option\");
option.value = company.companyName;
option.textContent = company.companyName;
selectElement.appendChild(option);
});
if (\$(selectElement)[0].selectize) {
\$(selectElement)[0].selectize.destroy();
}
\$(selectElement).selectize({
create: false,
sortField: 'text'
});
}
populateCompanyDropdown(\"company-name-qr\");
// generate qr code
document.getElementById(\"qr-code-button\").addEventListener(\"click\", function () {
var selectedCompany = document.getElementById(\"company-name-qr\").value;
var qrCompanyName = document.getElementById(\"qr-company-name\");
var userEmail = document.getElementById(\"email\")
var qrImage = document.getElementById(\"qr-image\");
var qrCodeContainer = document.getElementById(\"qr-code-container\");
var selectedCompanyData = qruserAccessList.find(company => company.companyName === selectedCompany);
var appId = selectedCompanyData.appId;
var companyId = selectedCompanyData.companyId;
var userType = selectedCompanyData.userType;
var baseUrl = \"";
// line 1184
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("employee_add_by_qr");
yield "\";
var connector = baseUrl.includes(\"?\") ? \"&\" : \"?\";
var finalUrl = baseUrl + connector + \"company=\" + encodeURIComponent(selectedCompany) + \"&appid=\" + encodeURIComponent(appId) + \"&companyId=\" + encodeURIComponent(companyId) + \"&userType=\" + encodeURIComponent(userType) + \"&CompanyQr=1\";
if (selectedCompany) {
qrCompanyName.textContent = selectedCompany;
\$.get(\"";
// line 1190
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("generate_qr_div");
yield "?url=\" + encodeURIComponent(finalUrl), function (data) {
\$('#qr-image').attr('src', data.html);
\$('#qr-code-container').show();
}, \"json\");
} else {
alert(\"Please select a company to generate the QR code.\");
}
});
document.getElementById(\"cl-qr-card\").addEventListener(\"click\", function (event) {
event.stopPropagation();
document.getElementById(\"qr-code-container\").style.display = \"none\";
});
document.getElementById(\"copy-link-button\").addEventListener(\"click\", function (event) {
event.stopPropagation();
var selectedCompany = document.getElementById(\"company-name-qr\").value;
var selectedCompanyData = qruserAccessList.find(company => company.companyName === selectedCompany);
var appId = selectedCompanyData.appId;
var companyId = selectedCompanyData.companyId;
var userType = selectedCompanyData.userType;
var baseUrl = \"";
// line 1213
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("employee_add_by_qr");
yield "\";
var connector = baseUrl.includes(\"?\") ? \"&\" : \"?\";
var finalUrl = baseUrl + connector + \"company=\" + encodeURIComponent(selectedCompany) +
\"&appid=\" + encodeURIComponent(appId) +
\"&companyId=\" + encodeURIComponent(companyId) +
\"&userType=\" + encodeURIComponent(userType);
navigator.clipboard.writeText(finalUrl).then(() => {
var qrContainer = document.getElementById(\"qr-code-container\");
var copyMessage = document.getElementById(\"copy-message\");
const qrImage = document.getElementById(\"qr-image\");
if (!copyMessage) {
copyMessage = document.createElement(\"p\");
copyMessage.id = \"copy-message\";
copyMessage.style.color = \"green\";
copyMessage.style.marginTop = \"0px\";
copyMessage.style.fontWeight = \"bold\";
copyMessage.style.fontSize = \"16px\";
copyMessage.style.textAlign = \"center\";
qrImage.insertAdjacentElement(\"afterend\", copyMessage);
//qrContainer.appendChild(copyMessage);
}
copyMessage.textContent = \"Link copied to clipboard!\";
// remove 'Link copied to clipboard!' after 5 seconds
setTimeout(() => {
copyMessage.remove();
copyMessage = null;
}, 5000);
}).catch(err => {
console.error(\"Failed to copy: \", err);
});
});
document.getElementById(\"send-qr-button\").addEventListener(\"click\", function () {
var selectedEmployee = document.getElementById(\"email\").value;
var selectedCompany = document.getElementById(\"company-name-qr\").value;
var selectedCompanyData = qruserAccessList.find(company => company.companyName === selectedCompany);
var appId = selectedCompanyData.appId;
var qrImage = document.getElementById(\"qr-image\");
var loader = document.getElementById(\"send-loader\"); // loader variable
if (!selectedEmployee || !selectedCompany) {
alert(\"Please select both an employee and a company.\");
return;
}
// Show loader
loader.classList.remove(\"d-none\");
var formData = new FormData();
formData.append('company', selectedCompany);
formData.append('email', selectedEmployee);
formData.append('qr_image', dataURItoBlob(qrImage.src));
formData.append('appid', appId);
fetch(\"";
// line 1275
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("employee_add_by_qr");
yield "\", {
method: \"POST\",
body: formData
}).then(response => response.json())
.then(data => {
// Hide loader
loader.classList.add(\"d-none\");
if (data.status === 'success') {
window.location.href = \"";
// line 1284
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("central_landing");
yield "\";
alert('QR Code for employee uploaded successfully!');
} else {
alert('Error: ' + data.message);
}
}).catch(error => {
console.error(\"Error uploading QR Code:\", error);
});
});
function dataURItoBlob(dataURI) {
var byteString = atob(dataURI.split(',')[1]);
var arrayBuffer = new ArrayBuffer(byteString.length);
var uintArray = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteString.length; i++) {
uintArray[i] = byteString.charCodeAt(i);
}
return new Blob([uintArray], {type: 'image/png'});
}
document.getElementById(\"generate-self-qr-btn\").addEventListener(\"click\", function () {
const emailInput = document.getElementById(\"self-email-input\").value.trim();
const qrCompanyName = document.getElementById(\"qr-company-name\");
const qrImage = document.getElementById(\"qr-image\");
const qrCodeContainer = document.getElementById(\"qr-code-container\");
if (!emailInput) {
alert(\"Please enter your email to generate the QR code.\");
return;
}
\$.get(\"";
// line 1315
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("employee_onboard_by_qr_api");
yield "\", {email: emailInput}, function (response) {
if (response.status === 'success') {
const userData = response.data;
const payloadUrl = \"";
// line 1318
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("employee_onboard_by_qr_api");
yield "?email=\" + encodeURIComponent(userData.email) +
\"&applicantId=\" + encodeURIComponent(userData.id);
\$.get(\"";
// line 1321
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("generate_qr_div");
yield "\", {url: payloadUrl}, function (qrRes) {
\$('#qr-company-name').text(userData.email);
\$('#qr-image').attr('src', qrRes.html);
\$('#qr-code-container').show();
}, 'json');
} else {
alert(response.message || \"User not found.\");
}
}, \"json\");
});
\$('.entityEmp').selectize({
placeholder: 'Enter Email',
multiple: false,
valueField: 'value',
labelField: 'text',
searchField: ['text'],
preload: 'focus',
load: function (query, callback) {
\$.ajax({
url: \"https://ourhoneybee.eu/select_data_ajax_public\",
type: 'POST',
dataType: 'json',
data: {
query: query,
entity_group: 1,
tableName: \"entity_applicant_details\",
valueField: \"email\",
textField: \"rendered_text\",
renderTextFormat: \"__email__\",
andOrConditions: [
{type: \"like\", field: \"email\", value: query},
{type: \"like\", field: \"firstname\", value: query},
],
},
success: function (res) {
if (res && res.data && Array.isArray(res.data)) {
callback(res.data);
} else {
callback([]);
}
},
error: function () {
callback([]);
}
});
},
});
\$(\"#send-qr-button\").click(function () {
var selectedEmployee = \$(\".entityEmp\").val();
var selectedCompany = \$(\"#company-name-qr\").val();
if (!selectedEmployee || !selectedCompany) {
alert(\"Please select both an employee and a company.\");
return;
}
\$.ajax({
url: '/central_landing',
type: \"POST\",
data: {
employee_id: selectedEmployee,
company_name: selectedCompany
},
success: function (response) {
if (response.status === 'success') {
const messageBox = document.getElementById('message');
messageBox.textContent = 'Sent email successfully';
messageBox.classList.remove('d-none'); // Show message
// Hide after 5 seconds
setTimeout(() => {
messageBox.classList.add('d-none');
}, 5000);
window.location.href = \"";
// line 1398
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("central_landing");
yield "\";
alert(response.company_name);
} else {
alert(\"Unexpected response from server.\");
}
},
error: function (error) {
alert(\"Error sending data!\");
}
});
});
});
</script>
";
// line 1415
yield from $this->loadTemplate("@HoneybeeWeb/website/flow_footer.html.twig", "@Application/pages/dashboard/index_central_landing.html.twig", 1415)->unwrap()->yield($context);
// line 1416
yield "<link rel=\"stylesheet\" type=\"text/css\"
href=\"";
// line 1417
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("dashboard")), "html", null, true);
yield "buddybee_assets/DataTables/datatables.min.css\"/>
<script type=\"text/javascript\"
src=\"";
// line 1420
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("dashboard")), "html", null, true);
yield "condensed_assets/pagination/pagination.js?version=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::constant("ApplicationBundle\\Constants\\GeneralConstant::ENTITY_APP_VERSION"), "html", null, true);
yield "\"></script>
<script type=\"text/javascript\"
src=\"";
// line 1423
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("dashboard")), "html", null, true);
yield "buddybee_assets/DataTables/datatables.min.js?version=";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::constant("ApplicationBundle\\Constants\\GeneralConstant::ENTITY_APP_VERSION"), "html", null, true);
yield "\"></script>
<script type=\"text/javascript\" src=\"";
// line 1424
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("dashboard")), "html", null, true);
yield "buddybee_assets/js/jquery.countTo.js\"></script>
<script type=\"text/javascript\"
src=\"";
// line 1426
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("dashboard")), "html", null, true);
yield "buddybee_assets/js/jquery.knob.min.js\"></script>
<script>
// open and close qr code
document.getElementById('qr-code-button').addEventListener('click', function () {
// showing qr card
document.getElementById('qr-code-container').style.display = 'block';
// hide form
document.getElementById('employee-form-wrapper').style.display = 'none';
})
document.getElementById('cl-qr-card').addEventListener('click', function () {
// hide qr card
document.getElementById('qr-code-container').style.display = 'none';
// showing the form again
document.getElementById('employee-form-wrapper').style.display = 'block';
})
var selectEntityModal = {};
var currentTabSelectEntityModal = 0;
var accessList = [];
";
// line 1448
if ((0 !== CoreExtension::compare(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1448, $this->source); })()), "session", [], "any", false, false, false, 1448), "get", ["userAccessList", ""], "method", false, false, false, 1448), ""))) {
// line 1449
yield " accessList =";
yield json_encode(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1449, $this->source); })()), "session", [], "any", false, false, false, 1449), "get", ["userAccessList", ""], "method", false, false, false, 1449));
yield "
";
}
// line 1451
yield "
function getUserCompanyList(userGetType) {
userGetType = userGetType || '_LOCAL_';
var pika_ind_id = \"_NA_\";
\$('#selectEntityModal .cg_holder').empty();
var userTypeTextObject = {
1: 'Admin',
2: 'User',
3: 'Vendor',
4: 'Customer',
5: 'Management User',
6: 'Group Owner',
7: 'GLobal User',
8: 'Applicant',
9: 'Collaborator',
}
var placeholderCount=6;
if (userGetType === '_LOCAL_') {
\$.ajax({
url: BaseURL + \"get_users_by_query?queryStr=\" + \$('#tempUsername').val(),
type: 'POST',
dataType: 'json',
data: {},
error: function () {
// callback();
},
success: function (res) {
if (res.success === true) {
if (res.data.length === 1) {
var dt = res.data[0];
\$('#gocId').val(dt['gocId']);
\$('#username').val(dt['loginUserName']);
\$('#loginform').submit();
} else {
for (var jj = 0; jj < res.data.length; jj++) {
var dt = res.data[jj];
var ggStr = ' <div class=\"box-selector cg_selector cg_' + dt['appId'] + '\" style=\"cursor:pointer;\"' + ' col-md-12 col-sm-12\"' +
' data-id=\"' + dt['gocId'] + '\"' +
' data-goc-id=\"' + dt['gocId'] + '\"' +
' data-user-name=\"' + dt['loginUserName'] + '\"' +
' data-gen-class=\"cg_selector\">' +
'<div class=\"inside\" style=\"display: flex;\">' +
'<div class=\"img\" style=\"' +
\"background:url('\" + dt['companyLogoUrl'] + \"');\" +
'height: 50px;width: 40%;background-position: left;background-size: contain;background-repeat: no-repeat;display: inline-block;\">' +
'</div>' +
'<h6 class=\"title\" style=\"height: 2rem; width: 60%;text-align: left;\">' + dt['companyName'] +
' <p class=\"sub-title\">' + userTypeTextObject[dt['userType']] + '</p></h6>' +
'</div>' +
'</div>';
\$('#selectEntityModal .cg_holder').append(ggStr);
}
\$('#selectEntityModal').modal('show');
}
}
}
});
}
if (userGetType == '_CENTRAL_') {
{
for (var jj = 0; jj < accessList.length; jj++) {
var dt = accessList[jj];
var ggStr = ' <div class=\"swiper-slide cg_selector cg_' + dt['appId'] + '\" style=\"cursor:pointer;\"' +
' data-id=\"' + dt['appId'] + '\"' +
' data-app-id=\"' + dt['appId'] + '\"' +
' data-goc-id=\"0\"' +
// ' data-user-name=\"' + dt['loginUserName'] + '\" ' +
' data-gen-class=\"cg_selector\" ' +
' data-auth-str=\"' + dt['authenticationStr'] + '\" ' +
' data-server-url=\"' + dt['serverUrl'] + '\" ' +
' data-cs-token=\"";
// line 1531
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1531, $this->source); })()), "session", [], "any", false, false, false, 1531), "get", ["csToken", ""], "method", false, false, false, 1531), "html", null, true);
yield "\" ' +
'>' +
' <div class=\"card\">' +
// round circle
//'<input type=\"checkbox\" id=\"check\">' +
'<img src=\"";
// line 1536
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::constant("ApplicationBundle\\Constants\\GeneralConstant::HONEYBEE_CENTRAL_SERVER"), "html", null, true);
yield "' + dt['companyLogoUrl'] + '\" alt=\" Logo\">' +
'<h2>' + dt['companyName'] + '</h2>' +
' <div class=\"role\">' + userTypeTextObject[dt['userType']] + '</div>' +
// '<p>Lorem ipsum dolor sit amet ect tur. Blandit donec tortor et et quisq. Lorem ipsum dolor sit amet ect tur. Blandit donec tortor et et quisq. Lorem ipsum ...</p> ' +
// '<a href=\"#\"><i class='bx bx-user-plus'></i>Add Employee</a> ' +
'</div> ' +
'</div>'
\$('.swiper-wrapper').append(ggStr);
placeholderCount--;
}
}
for (var jj = 0; jj < placeholderCount; jj++) {
var dt = accessList[jj];
var ggStr = ' <div class=\"swiper-slide cg_skip cg_0\" style=\"cursor:pointer;\"' +
' data-id=\"0' +
' data-app-id=\"0\"' +
' data-goc-id=\"0\"' +
// ' data-user-name=\"' + dt['loginUserName'] + '\" ' +
' data-gen-class=\"cg_selector\" ' +
' data-auth-str=\"\" ' +
' data-server-url=\"\" ' +
' data-cs-token=\"\" ' +
'>' +
' <div class=\"card\">' +
// round circle
//'<input type=\"checkbox\" id=\"check\">' +
'<img src=\"";
// line 1566
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::constant("ApplicationBundle\\Constants\\GeneralConstant::HONEYBEE_CENTRAL_SERVER"), "html", null, true);
yield "/images/company_2.png\" alt=\" Logo\">' +
'<h2><i class=\"fa fa-plus\"></i>Add a Company</h2>' +
' <div class=\"role\">Add or join a company</div>' +
'</div> ' +
'</div>'
\$('.swiper-wrapper').append(ggStr);
}
// swipper issue solved for company clicking issue
// var mySwiper = new Swiper('.swiper-container', {
// loop: true,
// speed: 400,
// effect: \"coverflow\",
// centeredSlides: true,
// slidesPerView: 3,
// mousewheel: true,
// allowTouchMove: false, // drag/swipe disabled
// coverflowEffect: {
// rotate: 0,
// stretch: 20,
// depth: 200,
// modifier: 2,
// slideShadows: false,
// },
// pagination: {
// el: \".swiper-pagination\",
// clickable: true,
// },
// navigation: {
// nextEl: \".swiper-button-next\",
// prevEl: \".swiper-button-prev\",
// },
// });
var role_company_page = new Swiper(\".role-company-page .content .swiper-container\",
{
loop: true,
speed: 400,
effect: \"coverflow\",
centeredSlides: true,
slidesPerView: 1,
mousewheel: true,
grabCursor: true,
coverflowEffect: {
rotate: 0,
stretch: 20,
depth: 200,
modifier: 2,
slideShadows: false,
},
breakpoints: {
640: { slidesPerView: 2 },
1024: { slidesPerView: 3 },
},
pagination: {
el: \".swiper-pagination\",
clickable: true,
},
navigation: {
nextEl: \".swiper-button-next\",
prevEl: \".swiper-button-prev\",
},
}
);
// var role_company_page = new Swiper(\".role-company-page .content .swiper-container\",
// {
// loop: true,
// speed: 400,
// effect: \"coverflow\",
// centeredSlides: true,
// slidesPerView: 3,
// mousewheel: true,
// grabCursor: true,
// coverflowEffect: {
// rotate: 0,
// stretch: 20,
// depth: 200,
// modifier: 2,
// slideShadows: false,
// },
//
// pagination: {
// el: \".swiper-pagination\",
// clickable: true,
//
// },
// navigation: {
// nextEl: \".swiper-button-next\",
// prevEl: \".swiper-button-prev\",
// },
//
// }
// );
// var mySwiper=role_company_page;
// Stable click for center slide
// document.querySelector('.swiper-container').addEventListener('click', function () {
// var activeSlide = mySwiper.slides[mySwiper.activeIndex];
// var serverUrl = activeSlide.getAttribute('data-server-url');
// var authStr = activeSlide.getAttribute('data-auth-str');
// var appId = activeSlide.getAttribute('data-app-id');
// var csToken = activeSlide.getAttribute('data-cs-token');
//
// if (serverUrl) {
// window.location.href =
// serverUrl +
// '?authStr=' + authStr +
// '&appId=' + appId +
// '&csToken=' + csToken;
// }
// });
}
}
jQuery(document).ready(function () {
getUserCompanyList('_CENTRAL_')
\$(document).on('click', '.box-selector', function () {
\$('.' + \$(this).data('genClass')).removeClass('active')
\$(this).addClass('active')
});
\$(document).on('click', '.cg_selector', function () {
if (typeof \$(this).data('authStr') !== 'undefined') {
let serverUrl = \$(this).data('serverUrl').replace(/\\/\$/, ''); // avoid trailing slash
window.location.href = serverUrl + '/switch_app?spd=' + \$(this).data('authStr') + '&csToken=' + \$(this).data('csToken');
//previous line window.location.href = \$(this).data('serverUrl') + '/switch_app?spd=' + \$(this).data('authStr') + '&csToken=' + \$(this).data('csToken');
} else {
\$('#gocId').val(\$(this).data('gocId'));
\$('#username').val(\$(this).data('userName'));
\$('#loginform').submit();
}
});
\$(document).on('click', '.cg_skip', function () {
window.location.href = '";
// line 1714
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("create_company");
yield "';
//previous line window.location.href = \$(this).data('serverUrl') + '/switch_app?spd=' + \$(this).data('authStr') + '&csToken=' + \$(this).data('csToken');
});
// \$(document).on('click', '.applicant_action_selector', function () {
// window.location.href = \$(this).data('url')
// });
});
</script>
";
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
return; yield '';
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "@Application/pages/dashboard/index_central_landing.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 1861 => 1714, 1710 => 1566, 1677 => 1536, 1669 => 1531, 1587 => 1451, 1581 => 1449, 1579 => 1448, 1554 => 1426, 1549 => 1424, 1543 => 1423, 1535 => 1420, 1529 => 1417, 1526 => 1416, 1524 => 1415, 1505 => 1398, 1425 => 1321, 1419 => 1318, 1413 => 1315, 1379 => 1284, 1367 => 1275, 1302 => 1213, 1276 => 1190, 1267 => 1184, 1218 => 1138, 1206 => 1128, 1203 => 1126, 1199 => 1123, 1196 => 1121, 1190 => 1116, 1172 => 1099, 1154 => 1082, 1134 => 1063, 1120 => 1050, 1112 => 1043, 1100 => 1032, 1094 => 1027, 1090 => 1024, 1087 => 1022, 1084 => 1020, 1081 => 1018, 1078 => 1016, 1075 => 1014, 1064 => 1005, 1045 => 988, 1042 => 986, 1033 => 978, 57 => 6, 54 => 5, 52 => 4, 50 => 3, 47 => 2, 44 => 1,);
}
public function getSourceContext()
{
return new Source("{% include '@HoneybeeWeb/website/flow_header.html.twig' %}
<meta name=\"robots\" content=\"noindex, nofollow\">
{% set isConsultant= session[UserConstants.IS_CONSULTANT] is defined? session[UserConstants.IS_CONSULTANT]:0 %}
{% set BUDDYBEE_ADMIN_LEVEL= session[UserConstants.BUDDYBEE_ADMIN_LEVEL] is defined? session[UserConstants.BUDDYBEE_ADMIN_LEVEL]:0 %}
<link rel=\"stylesheet\"
href=\"{{ absolute_url(path('dashboard')) }}buddybee_assets/css/imgProgress.css?version={{ constant('ApplicationBundle\\\\Constants\\\\GeneralConstant::ENTITY_APP_VERSION') }}\">
<style>
/*.swiper-slide {*/
/* pointer-events: auto;*/
/*}*/
/*.swiper-slide-prev,*/
/*.swiper-slide-next {*/
/* pointer-events: auto; !* optional if you want them clickable *!*/
/*}*/
/*.swiper-slide-active {*/
/* z-index: 2; !* keep top slide visible *!*/
/*}*/
/*.swiper-wrapper {*/
/* overflow: visible; !* important: allows slide shadows/clicks outside container *!*/
/*}*/
.select-center {
text-align-last: center;
text-align: center;
}
.send-button:hover,
.send-button:focus,
.send-button:active {
background-color: #2673B8;
color: white;
outline: none;
box-shadow: none;
}
.modal div[class*=\"col-md\"], .modal div[class*=\"col-lg\"], .modal div[class*=\"col-xs\"], .modal div[class*=\"col-sm\"] {
margin-bottom: 0px;
}
.d-flex {
display: flex;
}
#selectEntityModal {
box-shadow: 0px 6px 18px rgb(0 0 0 / 9%);
*/ border-radius: 12px;
}
#selectEntityModal .modal-body {
padding: 0 1rem;
}
#selectEntityModal p {
margin-bottom: .5rem;
}
/* Style for selected option in selectize */
.selectize-input {
padding: 10px;
font-size: 1rem;
color: #333;
border: none;
}
#selectEntityModal .selectize-input.items {
border: 1px solid #d0d0d0;
padding: 8px 8px;
display: inline-block;
width: 100%;
overflow: hidden;
position: relative;
z-index: 1;
box-sizing: border-box;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .1);
border-radius: 3px;
}
#selectEntityModalForm {
/*max-width: 500px;*/
background-color: var(--global-background-color, #ffffff);
/*margin: 40px auto;*/
padding: 40px;
box-shadow: 0px 6px 18px rgb(0 0 0 / 9%);
/*border-radius: 12px;*/
}
#selectEntityModalForm .form-header {
gap: 5px;
text-align: center;
font-size: .9em;
}
#selectEntityModalForm .form-header .stepIndicator {
position: relative;
flex: 1;
padding-bottom: 30px;
}
#selectEntityModalForm .form-header .stepIndicator.active {
font-weight: 600;
}
#selectEntityModalForm .form-header .stepIndicator.finish {
font-weight: 600;
color: #009688;
}
#selectEntityModalForm .form-header .stepIndicator::before {
content: \"\";
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
z-index: 9;
width: 20px;
height: 20px;
background-color: #d5efed;
border-radius: 50%;
border: 3px solid #ecf5f4;
}
#selectEntityModalForm .form-header .stepIndicator.active::before {
background-color: #a7ede8;
border: 3px solid #d5f9f6;
}
#selectEntityModalForm .form-header .stepIndicator.finish::before {
background-color: #009688;
border: 3px solid #b7e1dd;
}
#selectEntityModalForm .form-header .stepIndicator::after {
content: \"\";
position: absolute;
left: 50%;
bottom: 8px;
width: 100%;
height: 3px;
background-color: #f3f3f3;
}
#selectEntityModalForm .form-header .stepIndicator.active::after {
background-color: #a7ede8;
}
#selectEntityModalForm .form-header .stepIndicator.finish::after {
background-color: #009688;
}
#selectEntityModalForm .form-header .stepIndicator:last-child:after {
display: none;
}
#selectEntityModalForm input {
padding: 15px 20px;
width: 100%;
font-size: 1em;
border: 1px solid #e3e3e3;
border-radius: 5px;
}
#selectEntityModalForm input:focus {
border: 1px solid #009688;
outline: 0;
}
#selectEntityModalForm input.invalid {
border: 1px solid #ffaba5;
}
#selectEntityModalForm .step {
display: none;
}
#selectEntityModalForm .form-footer {
overflow: auto;
gap: 20px;
}
#selectEntityModalForm .form-footer button {
background-color: #1d5b9e;
border: 1px solid #1d5b9e;
color: #ffffff;
border: none;
padding: 13px 30px;
font-size: 1em;
cursor: pointer;
border-radius: 5px;
flex: 1;
margin-top: 5px;
}
#selectEntityModalForm .form-footer button:hover {
opacity: 0.8;
}
#selectEntityModalForm .form-footer #promptInfo_prevBtn {
background-color: var(--global-background-color, #fff);
color: #009688;
}
.box-selector {
padding: 10px 4px;
cursor: pointer;
}
.box-selector .inside {
padding: 5px;
background: white;
border-radius: 5px;
-webkit-box-shadow: 10px 10px 48px -24px rgba(14, 26, 87, 1);
-moz-box-shadow: 10px 10px 48px -24px rgba(14, 26, 87, 1);
box-shadow: 10px 10px 48px -24px rgba(14, 26, 87, 1);
}
.box-selector .inside input {
cursor: pointer
}
.box-selector .inside textarea {
text-align: center;
cursor: pointer;
width: 100%;
border: none;
resize: none;
font-size: 14px;
color: #1d5b9e;
font-weight: bold;
}
.box-selector.sch_selector_mon .inside,
.box-selector.sch_selector_day .inside
/*.box-selector.sch_selector_time .inside*/
{
padding: 10px 5px;
}
.box-selector.sch_selector_time .inside {
padding: 4px 5px;
}
.step .view_if_has_schedules {
display: none;
}
.box-selector.active:not(.man_sch_selector) .inside {
border: 2px solid #1d5b9e;
-webkit-box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
-moz-box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
}
.box-selector.active.man_sch_selector .inside {
border: 2px solid #1d5b9e;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.box-selector.sch_selector_mon.active .inside,
.box-selector.sch_selector_day.active .inside,
.box-selector.sch_selector_time.active .inside {
border: 2px solid #1d5b9e;
-webkit-box-shadow: 4px 7px 24px -3px rgba(29, 91, 158, 1);
-moz-box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
box-shadow: 4px 7px 24px -3px rgba(29, 91, 158, 1);
}
.box-selector .img {
margin-left: 5px;
}
.box-selector .title {
text-align: center;
font-size: var(--cp-fs-base, 13px);
margin-top: auto;
margin-bottom: auto;
}
.box-selector.paymentMethodSelectorBtn .title {
text-align: center;
margin-bottom: 1px;
font-size: 14px;
}
.box-selector .sub-title {
font-size: 12px;
color: grey;
}
.qr-card {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: min(350px, calc(100vw - 32px));
margin-top: 10px;
border-radius: 12px;
z-index: 1000;
padding: 10px;
}
.qr-card .card {
border: none;
background: transparent;
text-align: center;
}
.qr-card img {
width: 100%;
margin: 10px auto;
display: block;
}
.hidden {
display: none;
}
/* Flexbox for card container to display them side by side */
.employee-card-container {
display: flex;
justify-content: left; /* Center the cards horizontally */
gap: 20px; /* Add space between the cards */
flex-wrap: wrap;
margin-top: 20px;
}
.employee-card {
padding: 20px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 10px;
max-width: 320px;
width: 100%;
text-align: center;
display: inline-block;
}
.form-group {
margin-bottom: 10px;
}
/* Style for the entire form */
.form-group {
margin-bottom: 1.5rem;
}
/* Style for the labels */
.form-group label {
font-size: .8rem;
font-weight: 300;
color: #333;
margin-bottom: 0.1rem;
display: block;
}
/* Style for the input fields */
.form-control {
width: 100%;
max-width: 100%;
padding: 0px;
font-size: 1rem;
border-radius: 5px;
box-sizing: border-box;
}
/* Hover effect for input fields */
.form-control:hover {
border-color: #0056b3;
}
/* Focus effect for input fields */
.form-control:focus {
border-color: #0056b3;
outline: none;
}
/* Dropdown list customization */
.selectize-dropdown {
border-radius: 5px;
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
font-size: 1rem;
max-height: 200px;
}
/* Style for selectize items */
.selectize-dropdown .option {
padding: 10px;
font-size: 1rem;
color: #333;
}
/* Hover effect for selectize items */
.selectize-dropdown .option:hover {
background-color: #0056b3;
color: white;
}
/* Style for the \"Add Employee\" and \"Close\" buttons */
.btn-primary, .btn-secondary {
padding: 10px 20px;
font-size: 1rem;
border: none;
border-radius: 5px;
cursor: pointer;
}
/* Style for the primary button */
.btn-primary {
color: white;
}
/* Hover effect for primary button */
.btn-primary:hover {
background-color: #0056b3;
}
/* Style for the secondary button */
.btn-secondary {
background-color: #6c757d;
color: white;
}
/* Hover effect for secondary button */
.btn-secondary:hover {
background-color: #5a6268;
}
#selectEntityModal .routineTable {
text-align: left;
vertical-align: middle;
}
#selectEntityModal .routineTable .icon-delete {
color: darkred;
font-weight: bold;
}
#selectEntityModal .routineTable .icon-delete .fa {
padding: 10px;
border-radius: 39px;
border: 1px solid #eddcdc;
width: 34px;
height: 34px;
text-align: center;
}
#selectEntityModal .routineTable .icon-check {
color: green;
font-weight: bold;
}
#selectEntityModal .routineTable .icon-check .fa {
opacity: 0.1;
}
#selectEntityModal .routineTable .icon-check.isChecked .fa {
opacity: 1;
}
#selectEntityModal .routineTable .icon-check .fa {
padding: 10px;
border-radius: 39px;
border: 1px solid #eddcdc;
width: 34px;
height: 34px;
text-align: center;
}
#selectEntityModal .routineTable {
text-align: left;
vertical-align: middle;
}
#selectEntityModal .routineTable .icon-delete {
color: darkred;
font-weight: bold;
}
#selectEntityModal .routineTable .icon-delete .fa {
padding: 10px;
border-radius: 39px;
border: 1px solid #eddcdc;
width: 34px;
height: 34px;
text-align: center;
}
#selectEntityModal .routineTable .icon-check {
color: green;
font-weight: bold;
}
#selectEntityModal .routineTable .icon-check .fa {
opacity: 0.1;
}
#selectEntityModal .routineTable .icon-check.isChecked .fa {
opacity: 1;
}
#selectEntityModal .routineTable .icon-check .fa {
padding: 10px;
border-radius: 39px;
border: 1px solid #eddcdc;
width: 34px;
height: 34px;
text-align: center;
}
@media (min-width: 1400px) {
.dashboard-main .container {
max-width: 1400px;
}
}
.upcoming_session_image_view {
height: 60px;
width: 60px;
border-radius: 50%;
background-size: cover !important;
background-position: center !important;
}
.badge.transaction_completed {
color: #7AE677;
background-color: #D9FFD8;
padding: .7rem;
}
.badge.transaction_canceled {
color: #ED4C5C;
background-color: #FFE3E2;
padding: .7rem;
}
.badge.transaction_pending {
color: #373A37;
background-color: #F2F2F2;
padding: .7rem;
}
.small_info .progress {
height: 1rem;
border-radius: 0.5rem;
}
.small_info .row {
margin-top: 19px;
margin-bottom: 20px;
}
.small_info .progress_holder {
margin-top: auto;
margin-bottom: auto;
padding: 0px;
}
.small_info .value_type {
margin-bottom: 0px;
font-size: 18px;
color: #373A37;
font-weight: normal;
}
.small_info .percent_value {
text-align: right;
margin-bottom: 0px;
font-size: 18px;
color: #373A37;
font-weight: normal;
}
.small_info .percent_holder {
margin-top: auto;
margin-bottom: auto;
padding-left: 0px;
}
.small_info .value_type_holder {
margin-top: auto;
margin-bottom: auto;
}
.small_info .progress .progress-bar {
background: #92E3A9;
}
.dashboard-main .card {
margin-bottom: 13px;
}
.accordion-button:focus {
z-index: 3;
/* border-color: #86b7fe; */
outline: 0;
box-shadow: none;
}
.accordion-button:not(.collapsed) {
/*color: #0c63e4;*/
background-color: white;
/*box-shadow: inset 0 -1px 0 rgb(0 0 0 / 13%);*/
}
.dial {
border: 0px;
width: 0px;
font-size: 36px !important;
color: white;
}
.rounded_border_card {
border-radius: 1rem;;
}
.status_card {
border-radius: 1rem;;
}
.status_card .card-body {
padding-bottom: 0;
}
.status_card .card-title {
color: #4B4B4B;
font-size: var(--cp-fs-xl, 20px);
font-weight: 400;
font-family: 'Poppins';
}
.status_card .status_value {
color: #4B4B4B;
font-size: 60px;
font-weight: normal;
font-family: 'Poppins';
}
.status_card .col-md-7, .status_card .col-md-5, .status_card .col-md-6 {
margin-top: auto;
margin-bottom: auto;
/*padding: 0;*/
}
.status_card .col-md-5 {
padding-left: 0px;
}
.status_card .status_value_trend {
float: right;
font-size: 14px;
font-weight: 400;
padding: 8px;
border-radius: 1em;
}
.status_value_trend.negative {
background-color: #FFE4E4;
color: #F07777;
}
.status_value_trend.positive {
background-color: #C6F1F7;
color: #137DC3;
}
.student_list_card {
/*border-radius: 1rem;;*/
}
.student_list_card .card {
/*border-radius: 1rem;;*/
border: none;;
}
.student_list_card .card-body {
padding: 8px;
border-radius: 13px;
}
.student_list_card .card-title {
color: #4B4B4B;
font-size: var(--cp-fs-xl, 20px);
font-weight: 400;
font-family: 'Poppins';
}
.student_list_card .time {
color: #818181;
font-size: var(--cp-fs-lg, 16px);
font-weight: bold;
font-family: 'Roboto', sans-serif;
padding-left: 4px;
}
.student_list_card .col-md-7,
.student_list_card .col-md-5,
.student_list_card .col-md-6,
.student_list_card .col-md-9,
.student_list_card .col-md-1,
.student_list_card .col-md-2,
.student_list_card .col-md-3 {
margin-top: auto;
margin-bottom: auto;
/*padding: 0;*/
}
.student_list_card .col-md-5,
.student_list_card .col-md-1 {
padding-left: 0px;
}
.student_list_card img {
width: 100%;
border-radius: 50%;
}
.student_list_card .student_name {
font-size: 18px;
font-weight: bold;
color: #4B4B4B;
font-family: 'Poppins';
margin-bottom: 0px;
}
.student_list_card .student_interest {
font-size: var(--cp-fs-lg, 16px);
font-weight: 400;
color: #BCC7D8;
margin-bottom: 0px;;
}
.student_list_card .more {
font-size: var(--cp-fs-lg, 16px);
font-weight: 400;
color: #333333;
margin-bottom: 0px;;
padding-right: 8px;
}
.table > :not(caption) > * > * {
padding: 1rem 1rem;
}
.more {
font-size: var(--cp-fs-lg, 16px);
font-weight: 400;
color: #333333;
margin-bottom: 0px;;
padding-right: 8px;
}
.custom-icon-btn {
background-color: #3498db;
color: white;
border: none;
border-radius: 15px;
text-align: center;
font-size: var(--cp-fs-lg, 16px);
font-weight: 500;
}
</style>
<style>
/* ── Nordic My Companies ─────────────────────────────────────────────────── */
:root {
--n-cream: #F7F5F0;
--n-dark: #1A1D2E;
--n-amber: #C07D2A;
--n-muted: #6B7280;
/* Override global blue palette so style.css rules inherit Nordic tokens */
--global-background-color: #ffffff;
--primary-color: #1A1D2E;
--swiper-theme-color: #C07D2A;
}
body { background: var(--n-cream) !important; }
.role-company-page.section { background: var(--n-cream); padding: 48px 0 80px; }
/* Page heading */
.section-head-area { text-align: center; margin-bottom: 32px; }
.section-title,
.role-company-page .section-title,
.role-company-page h1.section-title {
font-family: 'Montserrat', sans-serif !important;
font-size: clamp(1.6rem,3vw,2.2rem) !important;
font-weight: 700 !important;
color: var(--n-dark) !important;
background: none !important;
-webkit-background-clip: unset !important;
-webkit-text-fill-color: var(--n-dark) !important;
background-clip: unset !important;
margin: 0;
}
/* Tabs */
.tab-box { display: flex !important; align-items: center; gap: 4px; border-bottom: 2px solid rgba(26,29,46,.1); margin-bottom: 32px; padding-bottom: 0; overflow-x: auto; scrollbar-width: none; }
.tab-box::-webkit-scrollbar { display: none; }
.tab-btn.tab-btn-style { background: transparent !important; border: none !important; border-bottom: 3px solid transparent !important; margin-bottom: -2px; padding: 10px 18px; font-family: 'DM Sans', sans-serif; font-size: .875rem; font-weight: 600; color: var(--n-muted) !important; border-radius: 0 !important; cursor: pointer; transition: color .2s, border-color .2s; white-space: nowrap; box-shadow: none !important; }
.tab-btn.tab-btn-style.active, .tab-btn.tab-btn-style:hover { color: var(--n-dark) !important; border-bottom-color: var(--n-amber) !important; }
.tab-box .line { display: none; }
/* Company Swiper cards — !important needed: style.css hardcodes rgba(230,248,250,1) blue */
.role-company-page .tab-container .content-box .content .card {
background: var(--global-background-color, #fff) !important;
border: 1.5px solid rgba(26,29,46,.08) !important;
border-radius: 14px !important;
box-shadow: 0 4px 24px rgba(26,29,46,.08) !important;
padding: 20px !important;
text-align: center;
transition: box-shadow .2s, transform .2s;
}
.role-company-page .tab-container .content-box .content .card:hover {
box-shadow: 0 8px 32px rgba(26,29,46,.14) !important;
transform: translateY(-2px);
}
/* Active slide: amber border instead of blue */
.swiper-slide.swiper-slide-active .card {
border: 2px solid var(--n-amber) !important;
background-image: none !important; /* remove the old overlay.svg */
}
.swiper-slide .card img { width: 64px; height: 64px; border-radius: 10px; object-fit: contain; margin: 0 auto 12px; display: block; }
.swiper-slide .card h2 { font-family: 'Montserrat', sans-serif; font-size: 1rem; font-weight: 700; color: var(--n-dark) !important; margin: 0 0 8px; }
.swiper-slide .card .role { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--n-amber); background: rgba(192,125,42,.1); padding: 3px 10px; border-radius: 20px; }
/* Action buttons — !important: style.css has high-specificity blue rules for these */
.buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 28px; }
.app-btn.button {
display: inline-flex !important; align-items: center !important; gap: 8px;
padding: 11px 24px !important; border-radius: 8px !important;
background: transparent !important;
color: var(--n-dark) !important;
border: 1.5px solid rgba(26,29,46,.25) !important;
font-family: 'DM Sans',sans-serif !important; font-size: .9rem; font-weight: 600;
cursor: pointer; transition: border-color .2s, color .2s; text-decoration: none;
}
.app-btn.button:hover { border-color: var(--n-amber) !important; color: var(--n-amber) !important; }
.app-btn.button i { color: var(--n-dark) !important; }
.app-btn.button:hover i { color: var(--n-amber) !important; }
.create-btn.button {
display: inline-flex !important; align-items: center !important; gap: 8px;
padding: 11px 24px !important; border-radius: 8px !important;
background: var(--n-dark) !important; color: #fff !important;
border: 1.5px solid transparent !important;
font-family: 'DM Sans',sans-serif !important; font-size: .9rem; font-weight: 600 !important;
cursor: pointer; transition: background .2s, transform .15s; text-decoration: none !important;
}
.create-btn.button:hover { background: var(--n-amber) !important; color: #fff !important; transform: translateY(-1px); text-decoration: none !important; }
/* Swiper nav */
.swiper-button-prev::after, .swiper-button-next::after { color: var(--n-amber) !important; }
.swiper-pagination-bullet-active { background: var(--n-amber) !important; }
/* Action links bar (Join / Link / Delete) — override old absolute+blue style */
.role-company-page .tab-container .content-box .content .links {
position: relative !important;
top: auto !important;
display: flex !important;
justify-content: center !important;
align-items: stretch !important;
max-width: 560px !important;
width: 100% !important;
margin: 24px auto 0 !important;
border: 1.5px solid rgba(26,29,46,.12) !important;
border-radius: 10px !important;
background: var(--global-background-color, #fff) !important;
overflow: hidden;
flex-wrap: nowrap !important;
}
.role-company-page .tab-container .content-box .content .links .link {
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 7px;
flex: 1 1 0;
padding: 11px 14px !important;
font-family: 'DM Sans', sans-serif;
font-size: .82rem;
font-weight: 600;
color: var(--n-muted) !important;
cursor: pointer;
border-right: 1px solid rgba(26,29,46,.08) !important;
transition: color .15s, background .15s;
white-space: nowrap;
}
.role-company-page .tab-container .content-box .content .links .link:last-child { border-right: none !important; }
.role-company-page .tab-container .content-box .content .links .link:hover { color: var(--n-amber) !important; background: rgba(192,125,42,.05); }
.role-company-page .tab-container .content-box .content .links .link.active { color: var(--n-dark) !important; }
.role-company-page .tab-container .content-box .content .links .link i { font-size: 14px !important; color: var(--n-amber); padding: 0 !important; }
/* Onboarding employee cards */
.employee-card { background: var(--global-background-color, #fff); border-radius: 14px; box-shadow: 0 4px 24px rgba(26,29,46,.08); border: 1px solid rgba(26,29,46,.06); padding: 28px; }
.employee-card h5 { font-family: 'Montserrat', sans-serif; font-weight: 700; color: var(--n-dark); }
.employee-card .form-group label { font-size: .78rem; font-weight: 600; color: var(--n-muted); text-transform: uppercase; letter-spacing: .08em; }
.employee-card .form-control, .employee-card select.form-control { border: 1.5px solid rgba(26,29,46,.12); border-radius: 8px; padding: 10px 14px; font-family: 'DM Sans', sans-serif; color: var(--n-dark); }
.employee-card .form-control:focus { border-color: var(--n-amber); box-shadow: 0 0 0 3px rgba(192,125,42,.1); outline: none; }
/* Buttons inside page */
.global-button, .send-button { background: var(--n-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; padding: 10px 24px !important; font-family: 'DM Sans', sans-serif !important; font-weight: 600 !important; cursor: pointer; transition: background .2s; }
.global-button:hover, .send-button:hover, .global-button:focus, .send-button:focus { background: var(--n-amber) !important; color: #fff !important; box-shadow: none !important; }
.global-outline-button.extra-btn { background: transparent !important; color: var(--n-dark) !important; border: 2px solid rgba(26,29,46,.25) !important; border-radius: 8px !important; padding: 9px 20px !important; font-family: 'DM Sans', sans-serif; font-weight: 600; cursor: pointer; }
.global-outline-button.extra-btn:hover { border-color: var(--n-amber) !important; color: var(--n-amber) !important; }
/* QR card */
.qr-card .card { background: var(--global-background-color, #fff); border-radius: 14px; box-shadow: 0 8px 32px rgba(26,29,46,.12); border: 1px solid rgba(26,29,46,.06); }
/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
.role-company-page.section { padding: 32px 0 60px; }
.employee-card-container { justify-content: center; }
.employee-card { max-width: 100%; width: 100%; }
}
@media (max-width: 480px) {
.tab-box { gap: 0; }
.tab-btn.tab-btn-style { padding: 8px 12px; font-size: .8rem; }
.employee-card-container { flex-direction: column; align-items: stretch; gap: 16px; }
.buttons { flex-direction: column; }
.app-btn.button, .create-btn.button { width: 100%; justify-content: center; }
}
</style>
<section class=\"role-company-page section\">
<div class=\"container\">
<div class=\"row\">
<div class=\"col-md-12 d-flex justify-content-center align-items-center\">
<div class=\"section-head-area\">
<h1 class=\"section-title\">Your Role & Company List</h1>
</div>
</div>
</div>
<div class=\"row d-flex justify-content-center align-items-center\">
<div class=\"tab-container\">
<div class=\"tab-box overflow-x-auto\">
<button class=\"tab-btn tab-btn-style active \" id=\"role-tab-1\">Your Company</button>
<button class=\"tab-btn tab-btn-style \" id=\"role-tab-2\">Your Role</button>
<button class=\"tab-btn tab-btn-style \" id=\"role-tab-3\">Your Dashboard</button>
<button class=\"tab-btn tab-btn-style \" id=\"add-employee-btn\">Onboarding</button>
<button class=\"tab-btn tab-btn-style \" id=\"role-tab-4\">Shared Company</button>
<button class=\"tab-btn tab-btn-style \" id=\"role-tab-5\">Applied Company</button>
<div class=\"line\"></div>
</div>
<div class=\"content-box\">
{# 1st div: your company #}
<div class=\"content active\" style=\"cursor:pointer;\">
<div class=\"swiper-container\">
<div class=\"swiper-wrapper\"></div>
{# <div id=\"selected-counter\" class=\"selected-counter\">0 out of 5 Selected</div> #}
{# three buttons #}
<div class=\"links\">
<div class=\"link\">
<i class='fa fa-user-plus'></i><span>Join this Account</span>
</div>
<div class=\"link active\">
<i class='fa fa-link'></i><span>Link Accounts</span>
</div>
<div class=\"link active\">
<i class='fa fa-trash'></i><span>Delete Account</span>
</div>
</div>
<div class=\"swiper-pagination\"></div>
<div class=\"buttons\">
<button class=\"app-btn button\"><i class=\"fa-regular fa-user\"></i>Apply for Employment
</button>
<a class=\"create-btn button\" href=\"{{ url('create_company') }}\">
<i class=\"fa-regular fa-building\"></i> Create a Company
</a>
</div>
<div class=\"swiper-button-prev\"></div>
<div class=\"swiper-button-next\"></div>
</div>
{# <div id=\"selected-counter\" class=\"selected-counter\">0 out of 5 Selected</div> #}
</div>
{# 2nd div: your role #}
<div class=\"content\">
{# role #}
</div>
{# 3rd div: your dashboard #}
<div class=\"content\">
{# dashboard #}
</div>
{# 4th div: add employee #}
<div class=\"content\">
<div class=\"employee-card-container hidden\" id=\"employee-card-container\">
{# employee card form #}
<div class=\"employee-card fade show\" id=\"employee-form-wrapper\">
<div class=\"\" id=\"employee-card\">
<h5 class='text-center mb-3'>By Generating QR/Link</h5>
<form id=\"employee-form \">
{# user type #}
<div class=\"form-group\">
<select id=\"employee-type\" name=\"qrEmpType\"
class=\"form-control p-2 select-center\">
<option value=\"\">Select User Type</option>
<option value=\"1\">Admin</option>
<option value=\"2\">User</option>
<option value=\"3\">Manager</option>
</select>
</div>
{# select company #}
<div class=\"form-group\">
<select id=\"company-name-qr\" class=\"form-control\">
<option value=\"\">Select Company</option>
</select>
</div>
{# select employee email #}
<div class=\"form-group mt-3\">
<select name=\"sys_user\" class=\"form-control entityEmp \" id=\"email\">
<option value=\"\">Select Employee</option>
</select>
</div>
<button type=\"button\" class=\"global-button fs-6\" id=\"qr-code-button\">Generate
</button>
</form>
</div>
</div>
{# end employee card form #}
<div class=\"employee-card fade show \" id=\"self-qr-form-wrapper\">
<div id=\"self-qr-card\">
<h5 class='text-center mb-3'>Generate QR for Yourself</h5>
<form id=\"self-qr-form\">
<div class=\"form-group \">
<label>Your Email</label>
<input style='' type=\"email\" id=\"self-email-input\"
class=\"form-control email-input\" placeholder=\"Enter your email\">
</div>
<button type=\"button\" class=\"global-button fs-6 mt-3\" id=\"generate-self-qr-btn\">
Generate QR
</button>
</form>
</div>
</div>
{# qr card #}
<div class=\"qr-card\" id=\"qr-code-container\" style=\"display: none; margin-top: 100px\">
<div class=\"card\" style=''>
<button type=\"button\"
class=\"position-absolute top-0 end-0 m-2 p-0 border-0 bg-transparent\"
aria-label=\"Close\">
<i class=\"fa-solid fa-circle-xmark fs-4\" id=\"cl-qr-card\"></i>
</button>
<div class=\"card-body mt-4\">
<h3 class=\"text-capitalize\" id=\"qr-company-name\"></h3>
<img id=\"qr-image\" src=\"\" alt=\"QR Code\" class=\"img-fluid \">
<p id=\"message\" class=\"mt-2 text-success fs-5 text-center d-none\"></p>
<button type=\"button\" class=\" send-button mt-2 mx-2 fs-6\" id=\"send-qr-button\">
Send Qr
</button>
{# working #}
<button type=\"button\" class=\"global-outline-button extra-btn mt-2\"
id=\"copy-link-button\">
<i class=\"fas fa-copy\" id=\"close-qr-card\"></i></button>
<!-- Send QR Loader -->
<div id=\"send-loader\" class=\"mt-3 d-none text-center\">
<div class=\"spinner-border text-primary\" role=\"status\">
<span class=\"visually-hidden\">Loading...</span>
</div>
</div>
</div>
</div>
</div>
{# qr card end #}
</div>
</div>
{# 5th div: shared company #}
<div class=\"content\">
{# shared company #}
</div>
{# 6th div: applied company #}
<div class=\"content\">
{# applied company #}
</div>
</div>
</div>
</div>
</div>
</section>
<script>
document.addEventListener(\"DOMContentLoaded\", function () {
const accessList = {{ app.session.get('userAccessList', [])|json_encode|raw() }};
console.log(accessList);
let qruserAccessList = [];
function populateCompanyDropdown(selectId) {
const selectElement = document.getElementById(selectId);
qruserAccessList = accessList.map(company => ({
companyName: company.companyName,
appId: company.appId,
companyId: company.companyId,
userType: company.userType
}));
selectElement.innerHTML = '<option value=\"\">Select Company</option>';
accessList.forEach(function (company) {
const option = document.createElement(\"option\");
option.value = company.companyName;
option.textContent = company.companyName;
selectElement.appendChild(option);
});
if (\$(selectElement)[0].selectize) {
\$(selectElement)[0].selectize.destroy();
}
\$(selectElement).selectize({
create: false,
sortField: 'text'
});
}
populateCompanyDropdown(\"company-name-qr\");
// generate qr code
document.getElementById(\"qr-code-button\").addEventListener(\"click\", function () {
var selectedCompany = document.getElementById(\"company-name-qr\").value;
var qrCompanyName = document.getElementById(\"qr-company-name\");
var userEmail = document.getElementById(\"email\")
var qrImage = document.getElementById(\"qr-image\");
var qrCodeContainer = document.getElementById(\"qr-code-container\");
var selectedCompanyData = qruserAccessList.find(company => company.companyName === selectedCompany);
var appId = selectedCompanyData.appId;
var companyId = selectedCompanyData.companyId;
var userType = selectedCompanyData.userType;
var baseUrl = \"{{ url('employee_add_by_qr') }}\";
var connector = baseUrl.includes(\"?\") ? \"&\" : \"?\";
var finalUrl = baseUrl + connector + \"company=\" + encodeURIComponent(selectedCompany) + \"&appid=\" + encodeURIComponent(appId) + \"&companyId=\" + encodeURIComponent(companyId) + \"&userType=\" + encodeURIComponent(userType) + \"&CompanyQr=1\";
if (selectedCompany) {
qrCompanyName.textContent = selectedCompany;
\$.get(\"{{ path('generate_qr_div') }}?url=\" + encodeURIComponent(finalUrl), function (data) {
\$('#qr-image').attr('src', data.html);
\$('#qr-code-container').show();
}, \"json\");
} else {
alert(\"Please select a company to generate the QR code.\");
}
});
document.getElementById(\"cl-qr-card\").addEventListener(\"click\", function (event) {
event.stopPropagation();
document.getElementById(\"qr-code-container\").style.display = \"none\";
});
document.getElementById(\"copy-link-button\").addEventListener(\"click\", function (event) {
event.stopPropagation();
var selectedCompany = document.getElementById(\"company-name-qr\").value;
var selectedCompanyData = qruserAccessList.find(company => company.companyName === selectedCompany);
var appId = selectedCompanyData.appId;
var companyId = selectedCompanyData.companyId;
var userType = selectedCompanyData.userType;
var baseUrl = \"{{ url('employee_add_by_qr') }}\";
var connector = baseUrl.includes(\"?\") ? \"&\" : \"?\";
var finalUrl = baseUrl + connector + \"company=\" + encodeURIComponent(selectedCompany) +
\"&appid=\" + encodeURIComponent(appId) +
\"&companyId=\" + encodeURIComponent(companyId) +
\"&userType=\" + encodeURIComponent(userType);
navigator.clipboard.writeText(finalUrl).then(() => {
var qrContainer = document.getElementById(\"qr-code-container\");
var copyMessage = document.getElementById(\"copy-message\");
const qrImage = document.getElementById(\"qr-image\");
if (!copyMessage) {
copyMessage = document.createElement(\"p\");
copyMessage.id = \"copy-message\";
copyMessage.style.color = \"green\";
copyMessage.style.marginTop = \"0px\";
copyMessage.style.fontWeight = \"bold\";
copyMessage.style.fontSize = \"16px\";
copyMessage.style.textAlign = \"center\";
qrImage.insertAdjacentElement(\"afterend\", copyMessage);
//qrContainer.appendChild(copyMessage);
}
copyMessage.textContent = \"Link copied to clipboard!\";
// remove 'Link copied to clipboard!' after 5 seconds
setTimeout(() => {
copyMessage.remove();
copyMessage = null;
}, 5000);
}).catch(err => {
console.error(\"Failed to copy: \", err);
});
});
document.getElementById(\"send-qr-button\").addEventListener(\"click\", function () {
var selectedEmployee = document.getElementById(\"email\").value;
var selectedCompany = document.getElementById(\"company-name-qr\").value;
var selectedCompanyData = qruserAccessList.find(company => company.companyName === selectedCompany);
var appId = selectedCompanyData.appId;
var qrImage = document.getElementById(\"qr-image\");
var loader = document.getElementById(\"send-loader\"); // loader variable
if (!selectedEmployee || !selectedCompany) {
alert(\"Please select both an employee and a company.\");
return;
}
// Show loader
loader.classList.remove(\"d-none\");
var formData = new FormData();
formData.append('company', selectedCompany);
formData.append('email', selectedEmployee);
formData.append('qr_image', dataURItoBlob(qrImage.src));
formData.append('appid', appId);
fetch(\"{{ path('employee_add_by_qr') }}\", {
method: \"POST\",
body: formData
}).then(response => response.json())
.then(data => {
// Hide loader
loader.classList.add(\"d-none\");
if (data.status === 'success') {
window.location.href = \"{{ path('central_landing') }}\";
alert('QR Code for employee uploaded successfully!');
} else {
alert('Error: ' + data.message);
}
}).catch(error => {
console.error(\"Error uploading QR Code:\", error);
});
});
function dataURItoBlob(dataURI) {
var byteString = atob(dataURI.split(',')[1]);
var arrayBuffer = new ArrayBuffer(byteString.length);
var uintArray = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteString.length; i++) {
uintArray[i] = byteString.charCodeAt(i);
}
return new Blob([uintArray], {type: 'image/png'});
}
document.getElementById(\"generate-self-qr-btn\").addEventListener(\"click\", function () {
const emailInput = document.getElementById(\"self-email-input\").value.trim();
const qrCompanyName = document.getElementById(\"qr-company-name\");
const qrImage = document.getElementById(\"qr-image\");
const qrCodeContainer = document.getElementById(\"qr-code-container\");
if (!emailInput) {
alert(\"Please enter your email to generate the QR code.\");
return;
}
\$.get(\"{{ path('employee_onboard_by_qr_api') }}\", {email: emailInput}, function (response) {
if (response.status === 'success') {
const userData = response.data;
const payloadUrl = \"{{ url('employee_onboard_by_qr_api') }}?email=\" + encodeURIComponent(userData.email) +
\"&applicantId=\" + encodeURIComponent(userData.id);
\$.get(\"{{ path('generate_qr_div') }}\", {url: payloadUrl}, function (qrRes) {
\$('#qr-company-name').text(userData.email);
\$('#qr-image').attr('src', qrRes.html);
\$('#qr-code-container').show();
}, 'json');
} else {
alert(response.message || \"User not found.\");
}
}, \"json\");
});
\$('.entityEmp').selectize({
placeholder: 'Enter Email',
multiple: false,
valueField: 'value',
labelField: 'text',
searchField: ['text'],
preload: 'focus',
load: function (query, callback) {
\$.ajax({
url: \"https://ourhoneybee.eu/select_data_ajax_public\",
type: 'POST',
dataType: 'json',
data: {
query: query,
entity_group: 1,
tableName: \"entity_applicant_details\",
valueField: \"email\",
textField: \"rendered_text\",
renderTextFormat: \"__email__\",
andOrConditions: [
{type: \"like\", field: \"email\", value: query},
{type: \"like\", field: \"firstname\", value: query},
],
},
success: function (res) {
if (res && res.data && Array.isArray(res.data)) {
callback(res.data);
} else {
callback([]);
}
},
error: function () {
callback([]);
}
});
},
});
\$(\"#send-qr-button\").click(function () {
var selectedEmployee = \$(\".entityEmp\").val();
var selectedCompany = \$(\"#company-name-qr\").val();
if (!selectedEmployee || !selectedCompany) {
alert(\"Please select both an employee and a company.\");
return;
}
\$.ajax({
url: '/central_landing',
type: \"POST\",
data: {
employee_id: selectedEmployee,
company_name: selectedCompany
},
success: function (response) {
if (response.status === 'success') {
const messageBox = document.getElementById('message');
messageBox.textContent = 'Sent email successfully';
messageBox.classList.remove('d-none'); // Show message
// Hide after 5 seconds
setTimeout(() => {
messageBox.classList.add('d-none');
}, 5000);
window.location.href = \"{{ path('central_landing') }}\";
alert(response.company_name);
} else {
alert(\"Unexpected response from server.\");
}
},
error: function (error) {
alert(\"Error sending data!\");
}
});
});
});
</script>
{# {% include '@Application/footer/central_footer_backup.html.twig' %} #}
{% include '@HoneybeeWeb/website/flow_footer.html.twig' %}
<link rel=\"stylesheet\" type=\"text/css\"
href=\"{{ absolute_url(path('dashboard')) }}buddybee_assets/DataTables/datatables.min.css\"/>
<script type=\"text/javascript\"
src=\"{{ absolute_url(path('dashboard')) }}condensed_assets/pagination/pagination.js?version={{ constant('ApplicationBundle\\\\Constants\\\\GeneralConstant::ENTITY_APP_VERSION') }}\"></script>
<script type=\"text/javascript\"
src=\"{{ absolute_url(path('dashboard')) }}buddybee_assets/DataTables/datatables.min.js?version={{ constant('ApplicationBundle\\\\Constants\\\\GeneralConstant::ENTITY_APP_VERSION') }}\"></script>
<script type=\"text/javascript\" src=\"{{ absolute_url(path('dashboard')) }}buddybee_assets/js/jquery.countTo.js\"></script>
<script type=\"text/javascript\"
src=\"{{ absolute_url(path('dashboard')) }}buddybee_assets/js/jquery.knob.min.js\"></script>
<script>
// open and close qr code
document.getElementById('qr-code-button').addEventListener('click', function () {
// showing qr card
document.getElementById('qr-code-container').style.display = 'block';
// hide form
document.getElementById('employee-form-wrapper').style.display = 'none';
})
document.getElementById('cl-qr-card').addEventListener('click', function () {
// hide qr card
document.getElementById('qr-code-container').style.display = 'none';
// showing the form again
document.getElementById('employee-form-wrapper').style.display = 'block';
})
var selectEntityModal = {};
var currentTabSelectEntityModal = 0;
var accessList = [];
{% if app.session.get('userAccessList','') !='' %}
accessList ={{ app.session.get('userAccessList','')|json_encode|raw() }}
{% endif %}
function getUserCompanyList(userGetType) {
userGetType = userGetType || '_LOCAL_';
var pika_ind_id = \"_NA_\";
\$('#selectEntityModal .cg_holder').empty();
var userTypeTextObject = {
1: 'Admin',
2: 'User',
3: 'Vendor',
4: 'Customer',
5: 'Management User',
6: 'Group Owner',
7: 'GLobal User',
8: 'Applicant',
9: 'Collaborator',
}
var placeholderCount=6;
if (userGetType === '_LOCAL_') {
\$.ajax({
url: BaseURL + \"get_users_by_query?queryStr=\" + \$('#tempUsername').val(),
type: 'POST',
dataType: 'json',
data: {},
error: function () {
// callback();
},
success: function (res) {
if (res.success === true) {
if (res.data.length === 1) {
var dt = res.data[0];
\$('#gocId').val(dt['gocId']);
\$('#username').val(dt['loginUserName']);
\$('#loginform').submit();
} else {
for (var jj = 0; jj < res.data.length; jj++) {
var dt = res.data[jj];
var ggStr = ' <div class=\"box-selector cg_selector cg_' + dt['appId'] + '\" style=\"cursor:pointer;\"' + ' col-md-12 col-sm-12\"' +
' data-id=\"' + dt['gocId'] + '\"' +
' data-goc-id=\"' + dt['gocId'] + '\"' +
' data-user-name=\"' + dt['loginUserName'] + '\"' +
' data-gen-class=\"cg_selector\">' +
'<div class=\"inside\" style=\"display: flex;\">' +
'<div class=\"img\" style=\"' +
\"background:url('\" + dt['companyLogoUrl'] + \"');\" +
'height: 50px;width: 40%;background-position: left;background-size: contain;background-repeat: no-repeat;display: inline-block;\">' +
'</div>' +
'<h6 class=\"title\" style=\"height: 2rem; width: 60%;text-align: left;\">' + dt['companyName'] +
' <p class=\"sub-title\">' + userTypeTextObject[dt['userType']] + '</p></h6>' +
'</div>' +
'</div>';
\$('#selectEntityModal .cg_holder').append(ggStr);
}
\$('#selectEntityModal').modal('show');
}
}
}
});
}
if (userGetType == '_CENTRAL_') {
{
for (var jj = 0; jj < accessList.length; jj++) {
var dt = accessList[jj];
var ggStr = ' <div class=\"swiper-slide cg_selector cg_' + dt['appId'] + '\" style=\"cursor:pointer;\"' +
' data-id=\"' + dt['appId'] + '\"' +
' data-app-id=\"' + dt['appId'] + '\"' +
' data-goc-id=\"0\"' +
// ' data-user-name=\"' + dt['loginUserName'] + '\" ' +
' data-gen-class=\"cg_selector\" ' +
' data-auth-str=\"' + dt['authenticationStr'] + '\" ' +
' data-server-url=\"' + dt['serverUrl'] + '\" ' +
' data-cs-token=\"{{ app.session.get('csToken','') }}\" ' +
'>' +
' <div class=\"card\">' +
// round circle
//'<input type=\"checkbox\" id=\"check\">' +
'<img src=\"{{ constant('ApplicationBundle\\\\Constants\\\\GeneralConstant::HONEYBEE_CENTRAL_SERVER') }}' + dt['companyLogoUrl'] + '\" alt=\" Logo\">' +
'<h2>' + dt['companyName'] + '</h2>' +
' <div class=\"role\">' + userTypeTextObject[dt['userType']] + '</div>' +
// '<p>Lorem ipsum dolor sit amet ect tur. Blandit donec tortor et et quisq. Lorem ipsum dolor sit amet ect tur. Blandit donec tortor et et quisq. Lorem ipsum ...</p> ' +
// '<a href=\"#\"><i class='bx bx-user-plus'></i>Add Employee</a> ' +
'</div> ' +
'</div>'
\$('.swiper-wrapper').append(ggStr);
placeholderCount--;
}
}
for (var jj = 0; jj < placeholderCount; jj++) {
var dt = accessList[jj];
var ggStr = ' <div class=\"swiper-slide cg_skip cg_0\" style=\"cursor:pointer;\"' +
' data-id=\"0' +
' data-app-id=\"0\"' +
' data-goc-id=\"0\"' +
// ' data-user-name=\"' + dt['loginUserName'] + '\" ' +
' data-gen-class=\"cg_selector\" ' +
' data-auth-str=\"\" ' +
' data-server-url=\"\" ' +
' data-cs-token=\"\" ' +
'>' +
' <div class=\"card\">' +
// round circle
//'<input type=\"checkbox\" id=\"check\">' +
'<img src=\"{{ constant('ApplicationBundle\\\\Constants\\\\GeneralConstant::HONEYBEE_CENTRAL_SERVER') }}/images/company_2.png\" alt=\" Logo\">' +
'<h2><i class=\"fa fa-plus\"></i>Add a Company</h2>' +
' <div class=\"role\">Add or join a company</div>' +
'</div> ' +
'</div>'
\$('.swiper-wrapper').append(ggStr);
}
// swipper issue solved for company clicking issue
// var mySwiper = new Swiper('.swiper-container', {
// loop: true,
// speed: 400,
// effect: \"coverflow\",
// centeredSlides: true,
// slidesPerView: 3,
// mousewheel: true,
// allowTouchMove: false, // drag/swipe disabled
// coverflowEffect: {
// rotate: 0,
// stretch: 20,
// depth: 200,
// modifier: 2,
// slideShadows: false,
// },
// pagination: {
// el: \".swiper-pagination\",
// clickable: true,
// },
// navigation: {
// nextEl: \".swiper-button-next\",
// prevEl: \".swiper-button-prev\",
// },
// });
var role_company_page = new Swiper(\".role-company-page .content .swiper-container\",
{
loop: true,
speed: 400,
effect: \"coverflow\",
centeredSlides: true,
slidesPerView: 1,
mousewheel: true,
grabCursor: true,
coverflowEffect: {
rotate: 0,
stretch: 20,
depth: 200,
modifier: 2,
slideShadows: false,
},
breakpoints: {
640: { slidesPerView: 2 },
1024: { slidesPerView: 3 },
},
pagination: {
el: \".swiper-pagination\",
clickable: true,
},
navigation: {
nextEl: \".swiper-button-next\",
prevEl: \".swiper-button-prev\",
},
}
);
// var role_company_page = new Swiper(\".role-company-page .content .swiper-container\",
// {
// loop: true,
// speed: 400,
// effect: \"coverflow\",
// centeredSlides: true,
// slidesPerView: 3,
// mousewheel: true,
// grabCursor: true,
// coverflowEffect: {
// rotate: 0,
// stretch: 20,
// depth: 200,
// modifier: 2,
// slideShadows: false,
// },
//
// pagination: {
// el: \".swiper-pagination\",
// clickable: true,
//
// },
// navigation: {
// nextEl: \".swiper-button-next\",
// prevEl: \".swiper-button-prev\",
// },
//
// }
// );
// var mySwiper=role_company_page;
// Stable click for center slide
// document.querySelector('.swiper-container').addEventListener('click', function () {
// var activeSlide = mySwiper.slides[mySwiper.activeIndex];
// var serverUrl = activeSlide.getAttribute('data-server-url');
// var authStr = activeSlide.getAttribute('data-auth-str');
// var appId = activeSlide.getAttribute('data-app-id');
// var csToken = activeSlide.getAttribute('data-cs-token');
//
// if (serverUrl) {
// window.location.href =
// serverUrl +
// '?authStr=' + authStr +
// '&appId=' + appId +
// '&csToken=' + csToken;
// }
// });
}
}
jQuery(document).ready(function () {
getUserCompanyList('_CENTRAL_')
\$(document).on('click', '.box-selector', function () {
\$('.' + \$(this).data('genClass')).removeClass('active')
\$(this).addClass('active')
});
\$(document).on('click', '.cg_selector', function () {
if (typeof \$(this).data('authStr') !== 'undefined') {
let serverUrl = \$(this).data('serverUrl').replace(/\\/\$/, ''); // avoid trailing slash
window.location.href = serverUrl + '/switch_app?spd=' + \$(this).data('authStr') + '&csToken=' + \$(this).data('csToken');
//previous line window.location.href = \$(this).data('serverUrl') + '/switch_app?spd=' + \$(this).data('authStr') + '&csToken=' + \$(this).data('csToken');
} else {
\$('#gocId').val(\$(this).data('gocId'));
\$('#username').val(\$(this).data('userName'));
\$('#loginform').submit();
}
});
\$(document).on('click', '.cg_skip', function () {
window.location.href = '{{ url('create_company') }}';
//previous line window.location.href = \$(this).data('serverUrl') + '/switch_app?spd=' + \$(this).data('authStr') + '&csToken=' + \$(this).data('csToken');
});
// \$(document).on('click', '.applicant_action_selector', function () {
// window.location.href = \$(this).data('url')
// });
});
</script>
", "@Application/pages/dashboard/index_central_landing.html.twig", "/home/u405565514/domains/ourhoneybee.eu/public_html/honeybee_main/src/ApplicationBundle/Resources/views/pages/dashboard/index_central_landing.html.twig");
}
}