<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
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;
/* menu_components/header_nav_bar/header_nav_bar_new.html.twig */
class __TwigTemplate_10ce75542339d552838fb96c9037289a extends \Twig\Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
'stylesheets' => [$this, 'block_stylesheets'],
'javascripts' => [$this, 'block_javascripts'],
];
$macros["_self"] = $this->macros["_self"] = $this;
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "menu_components/header_nav_bar/header_nav_bar_new.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "menu_components/header_nav_bar/header_nav_bar_new.html.twig"));
// line 1
echo "<div class=\"header navbar\">
<div class=\"header-container\">
<ul class=\"nav-left\">
<li>
<a id='sidebar-toggle' class=\"sidebar-toggle\" href=\"javascript:void(0);\">
<i class=\"fa-solid fa-bars\"></i>
<i class=\"fa-solid fa-xmark\"></i>
</a>
<a class=\"sidebar-link mobile-logo\" href=\"";
// line 9
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("dashboard");
echo "\">
<img src=\"";
// line 10
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/core-logo-full.png"), "html", null, true);
echo "\" alt=\"logo\"/>
</a>
</li>
</ul>
<ul class=\"nav-mid p-0\">
<div class=\"header-lesson-list\">
";
// line 16
$context["lessonExtension"] = $this->env->getRuntime('App\Twig\NotificationExtensionRuntime')->getNewestLessons();
// line 17
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, (isset($context["lessonExtension"]) || array_key_exists("lessonExtension", $context) ? $context["lessonExtension"] : (function () { throw new RuntimeError('Variable "lessonExtension" does not exist.', 17, $this->source); })()), "lessons", [], "any", false, false, false, 17));
foreach ($context['_seq'] as $context["_key"] => $context["lesson"]) {
// line 18
echo " ";
$context["wasOnline"] = (((twig_get_attribute($this->env, $this->source, $context["lesson"], "attendedAtTeacher", [], "any", false, false, false, 18) && twig_get_attribute($this->env, $this->source, $context["lesson"], "attendedAtChild", [], "any", false, false, false, 18))) ? (true) : (false));
// line 19
echo " <div class=\"card has-timer active h-100p \">
<div class=\"card-body\">
<div class=\"card-item h-100p\"
data-start=\"";
// line 22
((twig_get_attribute($this->env, $this->source, $context["lesson"], "startTime", [], "any", false, false, false, 22)) ? (print (twig_escape_filter($this->env, twig_date_format_filter($this->env, twig_get_attribute($this->env, $this->source, $context["lesson"], "startTime", [], "any", false, false, false, 22), "Y-m-d H:i"), "html", null, true))) : (print ("")));
echo "\"
data-end=\"";
// line 23
((twig_get_attribute($this->env, $this->source, $context["lesson"], "endTime", [], "any", false, false, false, 23)) ? (print (twig_escape_filter($this->env, twig_date_format_filter($this->env, twig_get_attribute($this->env, $this->source, $context["lesson"], "endTime", [], "any", false, false, false, 23), "Y-m-d H:i"), "html", null, true))) : (print ("")));
echo "\"
data-lesson-id=\"";
// line 24
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["lesson"], "id", [], "any", false, false, false, 24), "html", null, true);
echo "\">
<div class=\"discipline\">
<div class=\"name\">";
// line 26
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["lesson"], "discipline", [], "any", false, false, false, 26), "displayName", [], "any", false, false, false, 26), "html", null, true);
echo "</div>
</div>
<div class=\"users ";
// line 28
echo (((isset($context["wasOnline"]) || array_key_exists("wasOnline", $context) ? $context["wasOnline"] : (function () { throw new RuntimeError('Variable "wasOnline" does not exist.', 28, $this->source); })())) ? ("was-joined") : (""));
echo "\">
<div class=\"teacher\">
<div class=\"status\">
<div class=\"box ";
// line 31
echo ((twig_get_attribute($this->env, $this->source, $context["lesson"], "statusTeacher", [], "any", false, false, false, 31)) ? ("joined") : ("not-joined"));
echo "\"></div>
</div>
<div class=\"label-wrap\">
<div class=\"text\">";
// line 34
echo $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Korepetitorius:", [], "messages");
echo "</div>
<div class=\"name\">";
// line 35
$context["name"] = twig_split_filter($this->env, twig_get_attribute($this->env, $this->source, $context["lesson"], "teacher", [], "any", false, false, false, 35), " ");
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["name"]) || array_key_exists("name", $context) ? $context["name"] : (function () { throw new RuntimeError('Variable "name" does not exist.', 35, $this->source); })()), 0, [], "array", false, false, false, 35), "html", null, true);
echo "</div>
</div>
</div>
<div class=\"student\">
<div class=\"status\">
<div class=\"box ";
// line 40
echo ((twig_get_attribute($this->env, $this->source, $context["lesson"], "statusChild", [], "any", false, false, false, 40)) ? ("joined") : ("not-joined"));
echo "\"></div>
</div>
<div class=\"label-wrap\">
<div class=\"text\">";
// line 43
echo $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Mokinys:", [], "messages");
echo "</div>
<div class=\"name\">";
// line 44
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["lesson"], "child", [], "any", false, false, false, 44), "fullname", [], "any", false, false, false, 44), "html", null, true);
echo "</div>
</div>
</div>
</div>
";
// line 49
echo " ";
// line 50
echo " ";
// line 51
echo " ";
// line 52
echo " ";
// line 53
echo " ";
// line 54
echo " <div class=\"actions\">
<div class=\"notice\"></div>
<button class='btn btn-success join-lesson'
";
// line 57
echo ((twig_get_attribute($this->env, $this->source, $context["lesson"], "getLessonJoin", [], "method", false, false, false, 57)) ? ("") : ("disabled"));
echo "
data-href=\"";
// line 58
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("unicko_router", ["id" => twig_get_attribute($this->env, $this->source, $context["lesson"], "id", [], "any", false, false, false, 58)]), "html", null, true);
echo "\">
Jungtis
</button>
</div>
</div>
</div>
</div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['lesson'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 67
echo " </div>
</ul>
<ul class=\"nav-right\">
";
// line 71
if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN")) {
// line 72
echo " ";
// line 82
echo " ";
echo twig_call_macro($macros["_self"], "macro_counter_badge", ["/guardian_register/registrations", "fa-user-plus", $this->env->getRuntime('App\Twig\AdminCountersExtensionRuntime')->getNewRegistrationsCount(), "Naujos registracijos"], 82, $context, $this->getSourceContext());
echo "
";
// line 83
echo twig_call_macro($macros["_self"], "macro_counter_badge", ["/child_preference_assigment/", "fa-list-check", $this->env->getRuntime('App\Twig\AdminCountersExtensionRuntime')->getPendingAssignmentsCount(), "Priskyrimo laukia"], 83, $context, $this->getSourceContext());
echo "
<li class=\"admin-counter-item dropdown bug-report\">
<a href=\"javascript:void(0);\" title=\"Klaidos\">
<span class=\"counter-icon-wrap\">
<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"22\" fill=\"currentColor\" class=\"bi bi-bug\" viewBox=\"0 0 16 16\">
<path d=\"M4.355.522a.5.5 0 0 1 .623.333l.291.956A5 5 0 0 1 8 1c1.007 0 1.946.298 2.731.811l.29-.956a.5.5 0 1 1 .957.29l-.41 1.352A5 5 0 0 1 13 6h.5a.5.5 0 0 0 .5-.5V5a.5.5 0 0 1 1 0v.5A1.5 1.5 0 0 1 13.5 7H13v1h1.5a.5.5 0 0 1 0 1H13v1h.5a1.5 1.5 0 0 1 1.5 1.5v.5a.5.5 0 1 1-1 0v-.5a.5.5 0 0 0-.5-.5H13a5 5 0 0 1-10 0h-.5a.5.5 0 0 0-.5.5v.5a.5.5 0 1 1-1 0v-.5A1.5 1.5 0 0 1 2.5 10H3V9H1.5a.5.5 0 0 1 0-1H3V7h-.5A1.5 1.5 0 0 1 1 5.5V5a.5.5 0 0 1 1 0v.5a.5.5 0 0 0 .5.5H3c0-1.364.547-2.601 1.432-3.503l-.41-1.352a.5.5 0 0 1 .333-.623M4 7v4a4 4 0 0 0 3.5 3.97V7zm4.5 0v7.97A4 4 0 0 0 12 11V7zM12 6a4 4 0 0 0-1.334-2.982A3.98 3.98 0 0 0 8 2a3.98 3.98 0 0 0-2.667 1.018A4 4 0 0 0 4 6z\"/>
</svg>
</span>
</a>
</li>
";
}
// line 94
echo " ";
// line 95
echo " ";
if (($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_GUARDIAN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_CHILD"))) {
// line 96
echo " <li class=\"dropdown\">
<a href=\"https://pagalba.corepetitus.lt/hc/lt/sections/22038273075346-Klientams\"
class=\"peers fxw-nw ai-c lh-1\">
<div class=\"peer\">
<i class=\"fa-solid fa-circle-question\"></i>
</div>
</a>
</li>
";
}
// line 105
echo " ";
if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_TEACHER")) {
// line 106
echo " <li class=\"dropdown\">
<a href=\"https://pagalba.corepetitus.lt/hc/lt/sections/22038256444690-Korepetitoriams\"
class=\"peers fxw-nw ai-c lh-1\">
<div class=\"peer\">
<i class=\"fa-solid fa-circle-question\"></i>
</div>
</a>
";
// line 114
echo " ";
// line 115
echo " ";
// line 116
echo " ";
// line 117
echo " ";
// line 118
echo " ";
// line 119
echo " ";
// line 120
echo " ";
// line 121
echo " ";
// line 122
echo " ";
// line 123
echo " ";
// line 124
echo " ";
// line 125
echo " ";
// line 126
echo " ";
// line 127
echo " ";
// line 128
echo " ";
// line 129
echo " ";
// line 130
echo " ";
// line 131
echo " ";
// line 132
echo " ";
// line 133
echo " ";
// line 134
echo " ";
// line 135
echo " ";
// line 136
echo " ";
// line 137
echo " ";
// line 138
echo " </li>
<li class=\"nav-badge\">
<a href=\"";
// line 140
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_salary_vacation");
echo "\" class=\"peers\">
<div class=\"peer\">
<img class=\"w-3r\"
src=\"";
// line 143
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((("assets/images/badge_" . twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 143, $this->source); })()), "user", [], "any", false, false, false, 143), "levelInfo", [], "any", false, false, false, 143), "badge", [], "any", false, false, false, 143)) . ".svg")), "html", null, true);
echo "\" alt=\"\">
</div>
</a>
</li>
";
}
// line 148
echo "
<li class=\"";
// line 149
echo (($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN")) ? ("admin-counter-item ") : (""));
echo "notifications dropdown\">
<a href=\"\" class=\"dropdown-toggle user-notifications no-after ";
// line 150
echo (($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN")) ? ("") : ("peers fxw-nw ai-c lh-1"));
echo "\"
data-toggle=\"dropdown\">
";
// line 152
if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN")) {
// line 153
echo " <span class=\"counter-icon-wrap\">
<i class=\"fa fa-bell ";
// line 154
if ($this->env->getRuntime('App\Twig\NotificationExtensionRuntime')->getUserNotificationCount()) {
echo "ring";
}
echo "\"></i>
<span class=\"badge badge-pill ";
// line 155
echo ((($this->env->getRuntime('App\Twig\NotificationExtensionRuntime')->getUserNotificationCount() > 0)) ? ("badge-danger") : ("badge-secondary"));
echo "\">";
echo twig_escape_filter($this->env, $this->env->getRuntime('App\Twig\NotificationExtensionRuntime')->getUserNotificationCount(), "html", null, true);
echo "</span>
</span>
";
} else {
// line 158
echo " <div class=\"peer\">
<i class=\"fa fa-bell ";
// line 159
if ($this->env->getRuntime('App\Twig\NotificationExtensionRuntime')->getUserNotificationCount()) {
echo "ring";
}
echo "\">
";
// line 160
if ($this->env->getRuntime('App\Twig\NotificationExtensionRuntime')->getUserNotificationCount()) {
// line 161
echo " <span class=\"badge badge-danger badge-pill user-notification-badge\"><span class=\"number\">";
echo twig_escape_filter($this->env, $this->env->getRuntime('App\Twig\NotificationExtensionRuntime')->getUserNotificationCount(), "html", null, true);
echo "</span></span>
";
}
// line 163
echo " </i>
</div>
";
}
// line 166
echo " </a>
<ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton1\" data-bs-popper=\"none\">
<li class=\"notification-title\"><i class=\"fa fa-bell pR-10\"></i> <span class=\"text\">Pranešimai</span>
</li>
";
// line 170
if ((twig_length_filter($this->env, twig_get_attribute($this->env, $this->source, $this->env->getRuntime('App\Twig\NotificationExtensionRuntime')->getUserNotificationData(), "notifications", [], "any", false, false, false, 170)) > 0)) {
// line 171
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, $this->env->getRuntime('App\Twig\NotificationExtensionRuntime')->getUserNotificationData(), "notifications", [], "any", false, false, false, 171));
foreach ($context['_seq'] as $context["_key"] => $context["notification"]) {
// line 172
echo " <li class=\"\">
<a href=\"";
// line 173
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_me_notification_index_id", ["id" => twig_get_attribute($this->env, $this->source, $context["notification"], "id", [], "any", false, false, false, 173)]), "html", null, true);
echo "\"
class=\"";
// line 174
echo ((twig_get_attribute($this->env, $this->source, $context["notification"], "seen", [], "any", false, false, false, 174)) ? ("") : ("new"));
echo " peers fxw-nw td-n bdB c-grey-800 cH-blue bgcH-grey-100\">
<div class=\"peer mR-10\">
<div class=\"image w-3r\"
style=\"background-image: url(";
// line 177
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["notification"], "createdBy", [], "any", false, false, false, 177), "profileImagePath", [], "any", false, false, false, 177), "html", null, true);
echo ")\"></div>
</div>
<div class=\"peer peer-greed\">
<div>
<div class=\"peers jc-sb fxw-nw mB-5\">
<div class=\"peer\"><p
class=\"fw-500 mB-0\">";
// line 183
echo twig_escape_filter($this->env, twig_truncate_filter($this->env, twig_get_attribute($this->env, $this->source, $context["notification"], "topic", [], "any", false, false, false, 183), 25, false), "html", null, true);
echo "</p>
</div>
<div class=\"peer alt-text\">
<small class=\"fsz-xs\">prieš ";
// line 186
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["notification"], "getAgo", [0 => twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 186, $this->source); })()), "user", [], "any", false, false, false, 186)], "method", false, false, false, 186), "html", null, true);
echo "</small>
</div>
</div>
<span class=\"sub-headline\">";
// line 189
echo twig_first($this->env, twig_split_filter($this->env, twig_truncate_filter($this->env, twig_striptags(twig_get_attribute($this->env, $this->source, $context["notification"], "message", [], "any", false, false, false, 189)), 60, true), "."));
echo "</span>
</div>
</div>
</a>
</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['notification'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 195
echo " ";
} else {
// line 196
echo " <li class=\"c-grey-600 cH-blue td-n ta-c p-10\">Pranešimų nėra</li>
";
}
// line 198
echo " <li class=\"notification-title ta-c\">
<span>
<a href=\"";
// line 200
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_me_notification_index");
echo "\" class=\"td-n\">Visi pranešimai
<i class=\"ti-angle-right fsz-xs mL-10\"></i>
</a>
</span>
</li>
</ul>
</li>
";
// line 208
if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_TEACHER")) {
// line 209
echo " ";
$context["teacherPublicProfiles"] = ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["app"] ?? null), "user", [], "any", false, true, false, 209), "teacherPublicProfiles", [], "any", true, true, false, 209)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["app"] ?? null), "user", [], "any", false, true, false, 209), "teacherPublicProfiles", [], "any", false, false, false, 209), [])) : ([]));
// line 210
echo " ";
$context["teacherEditablePublicProfiles"] = twig_array_filter($this->env, (isset($context["teacherPublicProfiles"]) || array_key_exists("teacherPublicProfiles", $context) ? $context["teacherPublicProfiles"] : (function () { throw new RuntimeError('Variable "teacherPublicProfiles" does not exist.', 210, $this->source); })()), function ($__publicProfile__) use ($context, $macros) { $context["publicProfile"] = $__publicProfile__; return twig_in_filter(twig_get_attribute($this->env, $this->source, (isset($context["publicProfile"]) || array_key_exists("publicProfile", $context) ? $context["publicProfile"] : (function () { throw new RuntimeError('Variable "publicProfile" does not exist.', 210, $this->source); })()), "status", [], "any", false, false, false, 210), [0 => twig_constant("App\\Entity\\TeacherPublicProfile::STATUS_IN_REVIEW"), 1 => twig_constant("App\\Entity\\TeacherPublicProfile::STATUS_REJECTED")]); });
// line 211
echo " ";
$context["teacherConfirmedPublicProfiles"] = twig_array_filter($this->env, (isset($context["teacherPublicProfiles"]) || array_key_exists("teacherPublicProfiles", $context) ? $context["teacherPublicProfiles"] : (function () { throw new RuntimeError('Variable "teacherPublicProfiles" does not exist.', 211, $this->source); })()), function ($__publicProfile__) use ($context, $macros) { $context["publicProfile"] = $__publicProfile__; return (twig_get_attribute($this->env, $this->source, (isset($context["publicProfile"]) || array_key_exists("publicProfile", $context) ? $context["publicProfile"] : (function () { throw new RuntimeError('Variable "publicProfile" does not exist.', 211, $this->source); })()), "status", [], "any", false, false, false, 211) == twig_constant("App\\Entity\\TeacherPublicProfile::STATUS_CONFIRMED")); });
// line 212
echo " ";
$context["teacherPublicProfile"] = ((twig_length_filter($this->env, (isset($context["teacherEditablePublicProfiles"]) || array_key_exists("teacherEditablePublicProfiles", $context) ? $context["teacherEditablePublicProfiles"] : (function () { throw new RuntimeError('Variable "teacherEditablePublicProfiles" does not exist.', 212, $this->source); })()))) ? (twig_first($this->env, (isset($context["teacherEditablePublicProfiles"]) || array_key_exists("teacherEditablePublicProfiles", $context) ? $context["teacherEditablePublicProfiles"] : (function () { throw new RuntimeError('Variable "teacherEditablePublicProfiles" does not exist.', 212, $this->source); })()))) : (((twig_length_filter($this->env, (isset($context["teacherConfirmedPublicProfiles"]) || array_key_exists("teacherConfirmedPublicProfiles", $context) ? $context["teacherConfirmedPublicProfiles"] : (function () { throw new RuntimeError('Variable "teacherConfirmedPublicProfiles" does not exist.', 212, $this->source); })()))) ? (twig_first($this->env, (isset($context["teacherConfirmedPublicProfiles"]) || array_key_exists("teacherConfirmedPublicProfiles", $context) ? $context["teacherConfirmedPublicProfiles"] : (function () { throw new RuntimeError('Variable "teacherConfirmedPublicProfiles" does not exist.', 212, $this->source); })()))) : (null))));
// line 213
echo " ";
$context["isTeacherPublicProfileCanceled"] = ((isset($context["teacherPublicProfile"]) || array_key_exists("teacherPublicProfile", $context) ? $context["teacherPublicProfile"] : (function () { throw new RuntimeError('Variable "teacherPublicProfile" does not exist.', 213, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["teacherPublicProfile"]) || array_key_exists("teacherPublicProfile", $context) ? $context["teacherPublicProfile"] : (function () { throw new RuntimeError('Variable "teacherPublicProfile" does not exist.', 213, $this->source); })()), "status", [], "any", false, false, false, 213) == twig_constant("App\\Entity\\TeacherPublicProfile::STATUS_REJECTED")));
// line 214
echo " ";
if (( !(isset($context["teacherPublicProfile"]) || array_key_exists("teacherPublicProfile", $context) ? $context["teacherPublicProfile"] : (function () { throw new RuntimeError('Variable "teacherPublicProfile" does not exist.', 214, $this->source); })()) || (isset($context["isTeacherPublicProfileCanceled"]) || array_key_exists("isTeacherPublicProfileCanceled", $context) ? $context["isTeacherPublicProfileCanceled"] : (function () { throw new RuntimeError('Variable "isTeacherPublicProfileCanceled" does not exist.', 214, $this->source); })()))) {
// line 215
echo " <li class=\"nav-fill-profile-item\">
<span class=\"nav-fill-profile-btn\"";
// line 216
if ((isset($context["isTeacherPublicProfileCanceled"]) || array_key_exists("isTeacherPublicProfileCanceled", $context) ? $context["isTeacherPublicProfileCanceled"] : (function () { throw new RuntimeError('Variable "isTeacherPublicProfileCanceled" does not exist.', 216, $this->source); })())) {
echo " style=\"border-color:#dc3545;color:#dc3545;\"";
}
echo ">
<a href=\"";
// line 217
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("me_teacher_public_profile");
echo "\" class=\"td-n\"";
if ((isset($context["isTeacherPublicProfileCanceled"]) || array_key_exists("isTeacherPublicProfileCanceled", $context) ? $context["isTeacherPublicProfileCanceled"] : (function () { throw new RuntimeError('Variable "isTeacherPublicProfileCanceled" does not exist.', 217, $this->source); })())) {
echo " style=\"color:#dc3545;\"";
}
echo ">
<i class=\"fas fa-exclamation-triangle\" style=\"margin-right:6px;\"></i>";
// line 218
echo $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Reikia užpildyti viešą profilį", [], "messages");
// line 219
echo " </a>
</span>
</li>
";
}
// line 223
echo " ";
}
// line 224
echo " <li class=\"dropdown\">
<a href=\"\" class=\"dropdown-toggle no-after peers fxw-nw ai-c lh-1\" data-toggle=\"dropdown\">
<div class=\"peer\">
<img class=\"w-2r bdrs-50p\"
src=\"";
// line 228
if (((twig_get_attribute($this->env, $this->source, ($context["app"] ?? null), "user", [], "any", true, true, false, 228) && !(null === twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 228, $this->source); })()), "user", [], "any", false, false, false, 228))) && !(null === twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 228, $this->source); })()), "user", [], "any", false, false, false, 228), "profileImagePath", [], "any", false, false, false, 228)))) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 228, $this->source); })()), "user", [], "any", false, false, false, 228), "profileImagePath", [], "any", false, false, false, 228), "html", null, true);
} else {
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/default.png"), "html", null, true);
}
echo "\"
alt=\"\">
</div>
<div class=\"peer pl-2\">
<span class=\" user-name\">";
// line 232
if (((twig_get_attribute($this->env, $this->source, ($context["app"] ?? null), "user", [], "any", true, true, false, 232) && !(null === twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 232, $this->source); })()), "user", [], "any", false, false, false, 232))) && !(null === twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 232, $this->source); })()), "user", [], "any", false, false, false, 232), "fullname", [], "any", false, false, false, 232)))) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 232, $this->source); })()), "user", [], "any", false, false, false, 232), "fullname", [], "any", false, false, false, 232), "html", null, true);
}
echo "</span>
</div>
</a>
<ul class=\"dropdown-menu \">
";
// line 236
if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_TEACHER")) {
// line 237
echo " <li>
";
// line 238
if ( !(isset($context["teacherPublicProfile"]) || array_key_exists("teacherPublicProfile", $context) ? $context["teacherPublicProfile"] : (function () { throw new RuntimeError('Variable "teacherPublicProfile" does not exist.', 238, $this->source); })())) {
// line 239
echo " <a href=\"";
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("me_teacher_public_profile");
echo "\" class=\"menu-item fill-profile-dropdown-link\" style=\"color:#e08c00;font-weight:600;display:flex;align-items:center;\">
<i class=\"fas fa-exclamation-triangle\" style=\"padding-left:25px;margin-right:4px;flex-shrink:0;\"></i><span style=\"padding:0;margin:0;font-weight:700;\">";
// line 240
echo $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Užpildyk savo viešą profilį", [], "messages");
echo "</span>
</a>
";
} elseif ((twig_get_attribute($this->env, $this->source, // line 242
(isset($context["teacherPublicProfile"]) || array_key_exists("teacherPublicProfile", $context) ? $context["teacherPublicProfile"] : (function () { throw new RuntimeError('Variable "teacherPublicProfile" does not exist.', 242, $this->source); })()), "status", [], "any", false, false, false, 242) == twig_constant("App\\Entity\\TeacherPublicProfile::STATUS_REJECTED"))) {
// line 243
echo " <a href=\"";
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("me_teacher_public_profile");
echo "\" class=\"menu-item fill-profile-dropdown-link\" style=\"color:#dc3545;font-weight:600;display:flex;align-items:center;\">
<i class=\"fas fa-exclamation-triangle\" style=\"padding-left:25px;margin-right:4px;flex-shrink:0;\"></i><span style=\"padding:0;margin:0;font-weight:700;\">";
// line 244
echo $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Užpildyk savo viešą profilį", [], "messages");
echo "</span>
</a>
";
} else {
// line 247
echo " <a href=\"";
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("me_teacher_public_profile");
echo "\" class=\"menu-item\">
<span>";
// line 248
echo $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Public Profile", [], "messages");
echo "</span>
</a>
";
}
// line 251
echo " </li>
<li class=\"divider\"></li>
";
}
// line 254
echo " <li>
<a href=\"";
// line 255
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("me_edit");
echo "\" class=\"menu-item\">
<span>";
// line 256
echo $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Edit Profile", [], "messages");
echo "</span>
</a>
</li>
<li>
<a href=\"/logout\" class=\"menu-item\">
<span>";
// line 261
echo $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Logout", [], "messages");
echo "</span>
</a>
</li>
</ul>
</li>
<li>
<a id=\"sidebar-toggle\" class=\"sidebar-toggle\" href=\"javascript:void(0);\">
<i class=\"fa-solid fa-bars\"></i>
<i class=\"fa-solid fa-xmark\"></i>
</a>
</li>
</ul>
</div>
</div>
";
// line 275
if ( !$this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN")) {
// line 276
echo " ";
$this->displayBlock('stylesheets', $context, $blocks);
// line 278
echo " ";
$this->displayBlock('javascripts', $context, $blocks);
// line 573
echo "
";
}
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
// line 276
public function block_stylesheets($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
// line 277
echo " ";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 278
public function block_javascripts($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
// line 280
echo " <script>
document.addEventListener(\"DOMContentLoaded\", function(event) {
\$('.card.has-timer').each(function (index, item) {
CountDownTimer(item);
})
\$('.move-lesson').on('click', function () {
Swal.fire({
title: \"Ar tikrai?\",
text: \"Norint perkelti užsiėmimą į naują dieną ir laiką privaloma susitarti su mokinio ar mokinio tėvais/ globėjais. Nesusitarus, perkelti draudžiama.\",
icon: \"warning\",
showCancelButton: true,
confirmButtonColor: \"#3085d6\",
cancelButtonColor: \"#d33\",
confirmButtonText: \"Tėvai/mokinys sutiko\",
cancelButtonText: \"Dar nesusitariau\",
customClass: {container: \"version_2\"},
}).then((result) => {
if (result.isConfirmed) {
initLessonMoveModal(this.getAttribute('data-lesson'))
}
})
})
\$('.missed-lesson').on('click', function () {
let modal = \$('#missedLessonModal');
modal.modal().show();
modal.attr('data-lesson', this.getAttribute('data-lesson'))
})
\$('#modal .modal-save').on('click', function (e) {
e.stopPropagation()
if (\$('.modal-body form').get(0).reportValidity()) {
if (confirm(\"Ar tikrai norite perkelti šią pamoką?\")) {
let lessonId = this.getAttribute('lesson');
let url = `";
// line 314
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("me_teacher_lesson_move", ["id" => "id"]);
echo "`;
url = url.replace('id', lessonId);
\$.ajax({
type: 'POST',
url: url,
data: \$('.modal-body form').serialize(),
success: function (res) {
\$('#modal').modal('hide')
\$('#modal .modal-footer .modal-save').removeAttr('lesson')
window.location.reload()
},
error: function (error) {
toastr.error(error.responseJSON.status);
}
});
}
}
})
let searchParams = new URLSearchParams(window.location.search)
if (searchParams.has('action') && searchParams.get('action') == 'missed') {// true
initModal('Informacija', `
<p>Kadangi kita pusė neinformuotai praleido užsiėmimą (neprisijungė laiku), užsiėmimas laikomas kaip kitos pusės neinformuotai praleistas.</p>
<p>Klientas už tokį korepetitoriaus praleistą užsiėmimą pinigų nemoka. Esant galimybei, korepetitorius susisieks su Jumis ir sutars naują laiką užsiėmimui atidirbti.</p>
<p>Korepetitorius už tokį mokinio praleistą užsiėmimą atlygį gauna ir klientas už mokinio neinformuotai praleistą užsiėmimą moka pilną kainą. Esant galimybei, korepetitorius susisieks su Jumis ir sutars naują laiką užsiėmimui atidirbti.</p>`);
let url = document.location.href;
window.history.pushState({}, \"\", url.split(\"?\")[0]);
}
if (searchParams.has('action') && searchParams.get('action') == 'moved') {// true
initModal('Informacija', `
<div class=\"ta-c\">
<p>Korepetitorius šį užsiėmimą ką tik perkėlė ir užsiėmimas vyks kitu laiku!</p>
<p>Pradinė užsiėmimo data ir laikas:<br>\${searchParams.get('from')}</p>
<p>Nauja užsiėmimo data ir laikas:<br>\${searchParams.get('to')}</p>
</div>`);
let url = document.location.href;
window.history.pushState({}, \"\", url.split(\"?\")[0]);
}
if (searchParams.has('action') && searchParams.get('action') == 'denied') {// true
initModal('Šiuo metu nėra galimybės prisijungti prie užsiėmimo.', `
<div class=\"ta-c\">
<p><b>Taip yra dėl vienos iš žemiau pateiktų priežasčių:</b></p>
<p>A) šiuo metu vienas vartotojas jau yra prisijungęs (mokinys arba tėvas/ globėjas);</p>
<p>B) jūs neplanuotai atsijungėte nuo užsiėmimo.</p>
<p><b>JEI NORITE PRISIJUNGTI:</b></p>
<p>A) atveju privaloma, jog vienas vartotojas atsijungtų ir tik tada galės prisijungti kitas vartotojas;</p>
<p>B) atveju vėl galėsite prisijungti 60 sekundžių eigoje nuo neplanuoto atsijungimo;</p>
</div>`);
let url = document.location.href;
// window.history.pushState({}, \"\", url.split(\"?\")[0]);
}
// create new scope
var timer;
// bind event handler
\$('.join-lesson').on('click', function () {
var buttonClicked = this;
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(function () {
window.open(buttonClicked.getAttribute('data-href'), \"_blank\")
}, 700, buttonClicked);
});
})
function initModal(header, body, footerVisible = false) {
let modal = \$('#modal').modal();
modal.find('.modal-header .modal-title').html(header)
modal.find('.modal-body .content').html(body)
if (footerVisible) {
modal.find('.modal-footer').show();
} else {
modal.find('.modal-footer').hide();
}
modal.show();
}
function initLessonMoveModal(lessonId) {
let url = `";
// line 394
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("me_teacher_lesson_move", ["id" => "id"]);
echo "`;
url = url.replace('id', lessonId);
\$('#modal .modal-footer .modal-save').attr('lesson', lessonId);
\$.ajax({
type: 'GET',
url: url,
success: function (res) {
initModal('Perkelti...', res, true);
\$('#lesson_move_startTime').flatpickr({
locale: \"lt\",
altInput: true,
enableTime: true,
altFormat: \"Y-m-d H:i\",
dateFormat: \"Y-m-d H:i\",
minTime: \"05:00\",
time_24hr: true,
allowInput: true,
onClose: function (change, string, event) {
var duration = \$('#lesson_move_duration').val();
var endTime = moment(string).add(duration, 'minutes').format('YYYY-MM-DD HH:mm')
\$('#lesson_move_endTime').val(endTime);
}
})
}
})
}
function CountDownTimer(selector) {
var timeBlock = \$(selector).find('.card-item');
var startTime = new Date(timeBlock.attr('data-start').replace(/-/g, \"/\"));
var endTime = new Date(timeBlock.attr('data-end').replace(/-/g, \"/\"));
endTime = endTime.setMinutes(endTime.getMinutes() + 4);
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
///var now = new Date(\"";
// line 432
echo twig_escape_filter($this->env, twig_date_format_filter($this->env, "now", "Y-m-d H:i:s"), "html", null, true);
echo "\");
var server = moment('";
// line 433
echo twig_escape_filter($this->env, twig_date_format_filter($this->env, "now", "Y-m-d H:i:s"), "html", null, true);
echo "')
var user = moment()
var difference = user - server;
// console.log(server);
function showRemaining() {
var now = new Date(new Date().toLocaleString(\"en-US\", {timeZone: \"Europe/Vilnius\"})) - difference;
// console.log(moment(now).format())
// console.log(moment().format())
var distanceUntilStart = startTime - now;
var days = Math.floor(distanceUntilStart / _day);
var hours = Math.floor((distanceUntilStart % _day) / _hour);
var minutes = Math.floor((distanceUntilStart % _hour) / _minute);
var seconds = Math.floor((distanceUntilStart % _minute) / _second);
//how long lesson is already going
var distanceFromStart = now - startTime;
var goingHours = Math.floor((distanceFromStart % _day) / _hour);
var goingMinutes = Math.floor((distanceFromStart % _hour) / _minute) + (goingHours * 60);
var goingSeconds = Math.floor((distanceFromStart % _minute) / _second);
//how long after the lesson end to remove the card dom object.
var distanceFromEnd = endTime - now;
var afterMinutes = Math.floor((distanceFromEnd % _hour) / _minute);
var afterSeconds = Math.floor((distanceFromEnd % _minute) / _second);
//console.log(goingMinutes + \" going\");
if (distanceUntilStart > 0) {
// timeText = days + 'days ';
timeText = hours + 'val. ';
timeText += minutes + 'min. ';
timeText += seconds + 's.';
// \$(selector).find('.timer').html(timeText);//bug
checkminutes = 5
";
// line 468
if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_TEACHER")) {
// line 469
echo " checkminutes = 10
";
}
// line 471
echo "
if (days == 0 && hours == 0 && minutes < checkminutes) {
// \$(selector).find('.timer').hide()
\$(selector).find('.notice').html(`Iki pradžios liko: <b>\${minutes} min. \${seconds} s.</b><br>Junkitės į užsiėmimą!`)
\$(selector).find('.join-lesson').removeAttr('disabled')
} else {
if (days > 0) {
\$(selector).find('.notice').html(`Iki užsiėmimo pradžios liko: <b>\${days + \" d.\"} \${hours} val \${minutes} min.</b>`)
} else {
if (hours == 0) {
let text = `Iki užsiėmimo pradžios: <b>\${minutes} min. \${seconds} s.</b>`
";
// line 483
if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_TEACHER")) {
// line 484
echo " minutes = minutes - 10
";
} else {
// line 486
echo " minutes = minutes - 5
";
}
// line 488
echo "
text += `<br>Jungtis galėsite po: <b>\${minutes} min. \${seconds} s.</b>`;
\$(selector).find('.notice').html(text)
} else {
let text = `Iki užsiėmimo pradžios: <b>\${hours} val \${minutes} min.</b>`
";
// line 494
if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_TEACHER")) {
// line 495
echo " minutes = minutes - 10
";
} else {
// line 497
echo " minutes = minutes - 5
";
}
// line 499
echo " if (minutes < 0) {
hours = hours - 1;
minutes = minutes + 60;
}
text += `<br>Jungtis galėsite po: <b>\${hours ? hours : \"\"} \${hours ? \"val\" : \"\"} \${minutes} min.</b>`;
\$(selector).find('.notice').html(text)
}
}
}
if (days == 0 && hours == 0 && minutes < 60) {
\$(selector).find('.missed-lesson').attr('disabled', false);
} else {
\$(selector).find('.missed-lesson').attr('disabled', true);
}
return;
}
//console.log('after', afterMinutes)
// console.log(`afterminutes`,afterMinutes);
// console.log(`going`,goingMinutes);
if (distanceFromStart > 0) {
lesson = \$(selector).find('.card-item').data('lesson-id');
if (!\$(`[data-lesson-id=\${lesson}]`).find('.users').hasClass('was-joined')) {
if (\$(selector).find('.teacher').find('.box').hasClass('not-joined') && \$(selector).find('.student').find('.box').hasClass('not-joined') && goingMinutes > 4) {
\$(`[data-lesson-id=\${lesson}]`).parent().parent().hide();
}
if (\$(selector).find('.student').find('.box').hasClass('not-joined') && \$(selector).find('.teacher').find('.box').hasClass('not-joined') && goingMinutes > 14) {
\$(`[data-lesson-id=\${lesson}]`).parent().parent().hide();
// \$(selector).find('.btn').hide();
}
}
// \$(selector).find('.timer').hide()
\$(selector).find('.notice').html(``);
\$(selector).find('.notice').html(`Jau vyksta (\${goingMinutes}min. \${goingSeconds}s.)!`);
}
if (afterMinutes < 0) {
clearInterval(timer);
\$(selector).hide();
}
}
timer = setInterval(showRemaining, 1000);
}
";
// line 545
$context["userType"] = twig_get_attribute($this->env, $this->source, (isset($context["lessonExtension"]) || array_key_exists("lessonExtension", $context) ? $context["lessonExtension"] : (function () { throw new RuntimeError('Variable "lessonExtension" does not exist.', 545, $this->source); })()), "learncubeUser", [], "any", false, false, false, 545);
// line 546
echo " ";
if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_GUARDIAN")) {
// line 547
echo " ";
$context["userType"] = twig_constant("App\\Service\\LearnCubeService::tag_guardian");
// line 548
echo " ";
}
// line 549
echo " const eventSource = new EventSource(\"";
echo twig_escape_filter($this->env, twig_escape_filter($this->env, $this->extensions['Symfony\Component\Mercure\Twig\MercureExtension']->mercure(((("lesson_status/" . (isset($context["userType"]) || array_key_exists("userType", $context) ? $context["userType"] : (function () { throw new RuntimeError('Variable "userType" does not exist.', 549, $this->source); })())) . "/") . twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 549, $this->source); })()), "user", [], "any", false, false, false, 549), "id", [], "any", false, false, false, 549))), "js"), "html", null, true);
echo "\");
eventSource.onmessage = event => {
event = JSON.parse(event.data);
console.log(event);
if (event.action == \"reload\") {
window.location.reload();
}
if (event.id > 0) {
\$(`.lesson-list .card-item[data-lesson-id=\${event.id}] .box`).removeClass('joined')
\$(`.lesson-list .card-item[data-lesson-id=\${event.id}] .box`).removeClass('not-joined')
\$(`.lesson-list .card-item[data-lesson-id=\${event.id}] .teacher .box`).toggleClass(parseStatus(event.teacher))
\$(`.lesson-list .card-item[data-lesson-id=\${event.id}] .student .box`).toggleClass(parseStatus(event.student))
}
}
function parseStatus(status) {
if (status) {
return \"joined\"
} else {
return `not-joined`
}
}
</script>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 72
public function macro_counter_badge($__href__ = null, $__icon__ = null, $__count__ = null, $__title__ = null, ...$__varargs__)
{
$macros = $this->macros;
$context = $this->env->mergeGlobals([
"href" => $__href__,
"icon" => $__icon__,
"count" => $__count__,
"title" => $__title__,
"varargs" => $__varargs__,
]);
$blocks = [];
ob_start();
try {
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "counter_badge"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "counter_badge"));
// line 73
echo " <li class=\"admin-counter-item\">
<a href=\"";
// line 74
echo twig_escape_filter($this->env, (isset($context["href"]) || array_key_exists("href", $context) ? $context["href"] : (function () { throw new RuntimeError('Variable "href" does not exist.', 74, $this->source); })()), "html", null, true);
echo "\" title=\"";
echo twig_escape_filter($this->env, (isset($context["title"]) || array_key_exists("title", $context) ? $context["title"] : (function () { throw new RuntimeError('Variable "title" does not exist.', 74, $this->source); })()), "html", null, true);
echo "\">
<span class=\"counter-icon-wrap\">
<i class=\"fa-solid ";
// line 76
echo twig_escape_filter($this->env, (isset($context["icon"]) || array_key_exists("icon", $context) ? $context["icon"] : (function () { throw new RuntimeError('Variable "icon" does not exist.', 76, $this->source); })()), "html", null, true);
echo "\"></i>
<span class=\"badge badge-pill ";
// line 77
echo ((((isset($context["count"]) || array_key_exists("count", $context) ? $context["count"] : (function () { throw new RuntimeError('Variable "count" does not exist.', 77, $this->source); })()) > 0)) ? ("badge-danger") : ("badge-secondary"));
echo "\">";
echo twig_escape_filter($this->env, (isset($context["count"]) || array_key_exists("count", $context) ? $context["count"] : (function () { throw new RuntimeError('Variable "count" does not exist.', 77, $this->source); })()), "html", null, true);
echo "</span>
</span>
</a>
</li>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
return ('' === $tmp = ob_get_contents()) ? '' : new Markup($tmp, $this->env->getCharset());
} finally {
ob_end_clean();
}
}
public function getTemplateName()
{
return "menu_components/header_nav_bar/header_nav_bar_new.html.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 1017 => 77, 1013 => 76, 1006 => 74, 1003 => 73, 981 => 72, 946 => 549, 943 => 548, 940 => 547, 937 => 546, 935 => 545, 887 => 499, 883 => 497, 879 => 495, 877 => 494, 869 => 488, 865 => 486, 861 => 484, 859 => 483, 845 => 471, 841 => 469, 839 => 468, 801 => 433, 797 => 432, 756 => 394, 673 => 314, 637 => 280, 627 => 278, 617 => 277, 607 => 276, 595 => 573, 592 => 278, 589 => 276, 587 => 275, 570 => 261, 562 => 256, 558 => 255, 555 => 254, 550 => 251, 544 => 248, 539 => 247, 533 => 244, 528 => 243, 526 => 242, 521 => 240, 516 => 239, 514 => 238, 511 => 237, 509 => 236, 500 => 232, 489 => 228, 483 => 224, 480 => 223, 474 => 219, 472 => 218, 464 => 217, 458 => 216, 455 => 215, 452 => 214, 449 => 213, 446 => 212, 443 => 211, 440 => 210, 437 => 209, 435 => 208, 424 => 200, 420 => 198, 416 => 196, 413 => 195, 401 => 189, 395 => 186, 389 => 183, 380 => 177, 374 => 174, 370 => 173, 367 => 172, 362 => 171, 360 => 170, 354 => 166, 349 => 163, 343 => 161, 341 => 160, 335 => 159, 332 => 158, 324 => 155, 318 => 154, 315 => 153, 313 => 152, 308 => 150, 304 => 149, 301 => 148, 293 => 143, 287 => 140, 283 => 138, 281 => 137, 279 => 136, 277 => 135, 275 => 134, 273 => 133, 271 => 132, 269 => 131, 267 => 130, 265 => 129, 263 => 128, 261 => 127, 259 => 126, 257 => 125, 255 => 124, 253 => 123, 251 => 122, 249 => 121, 247 => 120, 245 => 119, 243 => 118, 241 => 117, 239 => 116, 237 => 115, 235 => 114, 226 => 106, 223 => 105, 212 => 96, 209 => 95, 207 => 94, 193 => 83, 188 => 82, 186 => 72, 184 => 71, 178 => 67, 163 => 58, 159 => 57, 154 => 54, 152 => 53, 150 => 52, 148 => 51, 146 => 50, 144 => 49, 137 => 44, 133 => 43, 127 => 40, 118 => 35, 114 => 34, 108 => 31, 102 => 28, 97 => 26, 92 => 24, 88 => 23, 84 => 22, 79 => 19, 76 => 18, 71 => 17, 69 => 16, 60 => 10, 56 => 9, 46 => 1,);
}
public function getSourceContext()
{
return new Source("<div class=\"header navbar\">
<div class=\"header-container\">
<ul class=\"nav-left\">
<li>
<a id='sidebar-toggle' class=\"sidebar-toggle\" href=\"javascript:void(0);\">
<i class=\"fa-solid fa-bars\"></i>
<i class=\"fa-solid fa-xmark\"></i>
</a>
<a class=\"sidebar-link mobile-logo\" href=\"{{ path('dashboard') }}\">
<img src=\"{{ asset('assets/images/core-logo-full.png') }}\" alt=\"logo\"/>
</a>
</li>
</ul>
<ul class=\"nav-mid p-0\">
<div class=\"header-lesson-list\">
{% set lessonExtension = getNewestLessons() %}
{% for lesson in lessonExtension.lessons %}
{% set wasOnline = (lesson.attendedAtTeacher and lesson.attendedAtChild) ? true : false %}
<div class=\"card has-timer active h-100p \">
<div class=\"card-body\">
<div class=\"card-item h-100p\"
data-start=\"{{ lesson.startTime ? lesson.startTime|date('Y-m-d H:i') : '' }}\"
data-end=\"{{ lesson.endTime ? lesson.endTime|date('Y-m-d H:i') : '' }}\"
data-lesson-id=\"{{ lesson.id }}\">
<div class=\"discipline\">
<div class=\"name\">{{ lesson.discipline.displayName }}</div>
</div>
<div class=\"users {{ wasOnline ? \"was-joined\" : \"\" }}\">
<div class=\"teacher\">
<div class=\"status\">
<div class=\"box {{ lesson.statusTeacher ? \"joined\" : \"not-joined\" }}\"></div>
</div>
<div class=\"label-wrap\">
<div class=\"text\">{% trans %}Korepetitorius:{% endtrans %}</div>
<div class=\"name\">{% set name = lesson.teacher|split(' ') %}{{ name[0] }}</div>
</div>
</div>
<div class=\"student\">
<div class=\"status\">
<div class=\"box {{ lesson.statusChild ? \"joined\" : \"not-joined\" }}\"></div>
</div>
<div class=\"label-wrap\">
<div class=\"text\">{% trans %}Mokinys:{% endtrans %}</div>
<div class=\"name\">{{ lesson.child.fullname }}</div>
</div>
</div>
</div>
{# <div class=\"timer\"> #}
{# Pradžia: {{ lesson.startTime ? lesson.startTime|date('Y-m-d H:i') : '' }} #}
{# </div> #}
{# <div style=\"display: none\" class=\"img\"><img #}
{# src=\"{{ lesson.teacher.profileImagePath ? lesson.teacher.profileImagePath : asset('assets/images/default.png') }}\"> #}
{# </div> #}
<div class=\"actions\">
<div class=\"notice\"></div>
<button class='btn btn-success join-lesson'
{{ lesson.getLessonJoin() ? \"\" : \"disabled\" }}
data-href=\"{{ path('unicko_router', {'id':lesson.id}) }}\">
Jungtis
</button>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</ul>
<ul class=\"nav-right\">
{% if is_granted('ROLE_ADMIN') %}
{% macro counter_badge(href, icon, count, title) %}
<li class=\"admin-counter-item\">
<a href=\"{{ href }}\" title=\"{{ title }}\">
<span class=\"counter-icon-wrap\">
<i class=\"fa-solid {{ icon }}\"></i>
<span class=\"badge badge-pill {{ count > 0 ? 'badge-danger' : 'badge-secondary' }}\">{{ count }}</span>
</span>
</a>
</li>
{% endmacro %}
{{ _self.counter_badge('/guardian_register/registrations', 'fa-user-plus', getNewRegistrationsCount(), 'Naujos registracijos') }}
{{ _self.counter_badge('/child_preference_assigment/', 'fa-list-check', getPendingAssignmentsCount(), 'Priskyrimo laukia') }}
<li class=\"admin-counter-item dropdown bug-report\">
<a href=\"javascript:void(0);\" title=\"Klaidos\">
<span class=\"counter-icon-wrap\">
<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"22\" fill=\"currentColor\" class=\"bi bi-bug\" viewBox=\"0 0 16 16\">
<path d=\"M4.355.522a.5.5 0 0 1 .623.333l.291.956A5 5 0 0 1 8 1c1.007 0 1.946.298 2.731.811l.29-.956a.5.5 0 1 1 .957.29l-.41 1.352A5 5 0 0 1 13 6h.5a.5.5 0 0 0 .5-.5V5a.5.5 0 0 1 1 0v.5A1.5 1.5 0 0 1 13.5 7H13v1h1.5a.5.5 0 0 1 0 1H13v1h.5a1.5 1.5 0 0 1 1.5 1.5v.5a.5.5 0 1 1-1 0v-.5a.5.5 0 0 0-.5-.5H13a5 5 0 0 1-10 0h-.5a.5.5 0 0 0-.5.5v.5a.5.5 0 1 1-1 0v-.5A1.5 1.5 0 0 1 2.5 10H3V9H1.5a.5.5 0 0 1 0-1H3V7h-.5A1.5 1.5 0 0 1 1 5.5V5a.5.5 0 0 1 1 0v.5a.5.5 0 0 0 .5.5H3c0-1.364.547-2.601 1.432-3.503l-.41-1.352a.5.5 0 0 1 .333-.623M4 7v4a4 4 0 0 0 3.5 3.97V7zm4.5 0v7.97A4 4 0 0 0 12 11V7zM12 6a4 4 0 0 0-1.334-2.982A3.98 3.98 0 0 0 8 2a3.98 3.98 0 0 0-2.667 1.018A4 4 0 0 0 4 6z\"/>
</svg>
</span>
</a>
</li>
{% endif %}
{# <a href=\"{{ path('app_sync_google_lessons') }}\">SYNC</a> #}
{% if is_granted('ROLE_GUARDIAN') or is_granted('ROLE_CHILD') %}
<li class=\"dropdown\">
<a href=\"https://pagalba.corepetitus.lt/hc/lt/sections/22038273075346-Klientams\"
class=\"peers fxw-nw ai-c lh-1\">
<div class=\"peer\">
<i class=\"fa-solid fa-circle-question\"></i>
</div>
</a>
</li>
{% endif %}
{% if is_granted('ROLE_TEACHER') %}
<li class=\"dropdown\">
<a href=\"https://pagalba.corepetitus.lt/hc/lt/sections/22038256444690-Korepetitoriams\"
class=\"peers fxw-nw ai-c lh-1\">
<div class=\"peer\">
<i class=\"fa-solid fa-circle-question\"></i>
</div>
</a>
{# <ul class=\"dropdown-menu \"> #}
{# <li> #}
{# <span class=\"menu-item sub-headline\">{% trans %}Pasirinkite užklausos temą{% endtrans %}</span> #}
{# </li> #}
{# <li> #}
{# <a href=\"{{ path('me_teacher_stop_lessons_landing') }}\" class=\"menu-item\"> #}
{# <span>{% trans %}Korepetitoriaus laikinas veiklos stabdymas{% endtrans %}</span> #}
{# </a> #}
{# </li> #}
{# <li> #}
{# <a href=\"{{ path('me_teacher_sick_leaves_landing') }}\" class=\"menu-item\"> #}
{# <span>{% trans %}Korepetitorius susirgo{% endtrans %}</span> #}
{# </a> #}
{# </li> #}
{# <li> #}
{# <a href=\"{{ path('me_teacher_cancel_discipline') }}\" class=\"menu-item\"> #}
{# <span>{% trans %}Nebegaliu mokyti tam tikros disciplinos{% endtrans %}</span> #}
{# </a> #}
{# </li> #}
{# <li> #}
{# <a href=\"{{ path('me_teacher_cancel_class') }}\" class=\"menu-item\"> #}
{# <span>{% trans %}Nebegaliu mokyti tam tikros klasės{% endtrans %}</span> #}
{# </a> #}
{# </li> #}
{# </ul> #}
</li>
<li class=\"nav-badge\">
<a href=\"{{ path('app_salary_vacation') }}\" class=\"peers\">
<div class=\"peer\">
<img class=\"w-3r\"
src=\"{{ asset(\"assets/images/badge_#{app.user.levelInfo.badge}.svg\") }}\" alt=\"\">
</div>
</a>
</li>
{% endif %}
<li class=\"{{ is_granted('ROLE_ADMIN') ? 'admin-counter-item ' : '' }}notifications dropdown\">
<a href=\"\" class=\"dropdown-toggle user-notifications no-after {{ is_granted('ROLE_ADMIN') ? '' : 'peers fxw-nw ai-c lh-1' }}\"
data-toggle=\"dropdown\">
{% if is_granted('ROLE_ADMIN') %}
<span class=\"counter-icon-wrap\">
<i class=\"fa fa-bell {% if getUserNotificationCount() %}ring{% endif %}\"></i>
<span class=\"badge badge-pill {{ getUserNotificationCount() > 0 ? 'badge-danger' : 'badge-secondary' }}\">{{ getUserNotificationCount() }}</span>
</span>
{% else %}
<div class=\"peer\">
<i class=\"fa fa-bell {% if getUserNotificationCount() %}ring{% endif %}\">
{% if getUserNotificationCount() %}
<span class=\"badge badge-danger badge-pill user-notification-badge\"><span class=\"number\">{{ getUserNotificationCount() }}</span></span>
{% endif %}
</i>
</div>
{% endif %}
</a>
<ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton1\" data-bs-popper=\"none\">
<li class=\"notification-title\"><i class=\"fa fa-bell pR-10\"></i> <span class=\"text\">Pranešimai</span>
</li>
{% if getUserNotificationData().notifications | length > 0 %}
{% for notification in getUserNotificationData().notifications %}
<li class=\"\">
<a href=\"{{ path('app_me_notification_index_id',{id:notification.id}) }}\"
class=\"{{ notification.seen ? \"\" : \"new\" }} peers fxw-nw td-n bdB c-grey-800 cH-blue bgcH-grey-100\">
<div class=\"peer mR-10\">
<div class=\"image w-3r\"
style=\"background-image: url({{ notification.createdBy.profileImagePath }})\"></div>
</div>
<div class=\"peer peer-greed\">
<div>
<div class=\"peers jc-sb fxw-nw mB-5\">
<div class=\"peer\"><p
class=\"fw-500 mB-0\">{{ notification.topic | truncate(25, false) }}</p>
</div>
<div class=\"peer alt-text\">
<small class=\"fsz-xs\">prieš {{ notification.getAgo(app.user) }}</small>
</div>
</div>
<span class=\"sub-headline\">{{ notification.message | striptags | truncate(60, true) | split('.')|first | raw }}</span>
</div>
</div>
</a>
</li>
{% endfor %}
{% else %}
<li class=\"c-grey-600 cH-blue td-n ta-c p-10\">Pranešimų nėra</li>
{% endif %}
<li class=\"notification-title ta-c\">
<span>
<a href=\"{{ path('app_me_notification_index') }}\" class=\"td-n\">Visi pranešimai
<i class=\"ti-angle-right fsz-xs mL-10\"></i>
</a>
</span>
</li>
</ul>
</li>
{% if is_granted('ROLE_TEACHER') %}
{% set teacherPublicProfiles = app.user.teacherPublicProfiles|default([]) %}
{% set teacherEditablePublicProfiles = teacherPublicProfiles|filter(publicProfile => publicProfile.status in [constant('App\\\\Entity\\\\TeacherPublicProfile::STATUS_IN_REVIEW'), constant('App\\\\Entity\\\\TeacherPublicProfile::STATUS_REJECTED')]) %}
{% set teacherConfirmedPublicProfiles = teacherPublicProfiles|filter(publicProfile => publicProfile.status == constant('App\\\\Entity\\\\TeacherPublicProfile::STATUS_CONFIRMED')) %}
{% set teacherPublicProfile = teacherEditablePublicProfiles|length ? teacherEditablePublicProfiles|first : (teacherConfirmedPublicProfiles|length ? teacherConfirmedPublicProfiles|first : null) %}
{% set isTeacherPublicProfileCanceled = teacherPublicProfile and teacherPublicProfile.status == constant('App\\\\Entity\\\\TeacherPublicProfile::STATUS_REJECTED') %}
{% if not teacherPublicProfile or isTeacherPublicProfileCanceled %}
<li class=\"nav-fill-profile-item\">
<span class=\"nav-fill-profile-btn\"{% if isTeacherPublicProfileCanceled %} style=\"border-color:#dc3545;color:#dc3545;\"{% endif %}>
<a href=\"{{ path('me_teacher_public_profile') }}\" class=\"td-n\"{% if isTeacherPublicProfileCanceled %} style=\"color:#dc3545;\"{% endif %}>
<i class=\"fas fa-exclamation-triangle\" style=\"margin-right:6px;\"></i>{% trans %}Reikia užpildyti viešą profilį{% endtrans %}
</a>
</span>
</li>
{% endif %}
{% endif %}
<li class=\"dropdown\">
<a href=\"\" class=\"dropdown-toggle no-after peers fxw-nw ai-c lh-1\" data-toggle=\"dropdown\">
<div class=\"peer\">
<img class=\"w-2r bdrs-50p\"
src=\"{% if app.user is defined and app.user is not null and app.user.profileImagePath is not null %}{{ app.user.profileImagePath }}{% else %}{{ asset('assets/images/default.png') }}{% endif %}\"
alt=\"\">
</div>
<div class=\"peer pl-2\">
<span class=\" user-name\">{% if app.user is defined and app.user is not null and app.user.fullname is not null %}{{ app.user.fullname }}{% endif %}</span>
</div>
</a>
<ul class=\"dropdown-menu \">
{% if is_granted('ROLE_TEACHER') %}
<li>
{% if not teacherPublicProfile %}
<a href=\"{{ path('me_teacher_public_profile') }}\" class=\"menu-item fill-profile-dropdown-link\" style=\"color:#e08c00;font-weight:600;display:flex;align-items:center;\">
<i class=\"fas fa-exclamation-triangle\" style=\"padding-left:25px;margin-right:4px;flex-shrink:0;\"></i><span style=\"padding:0;margin:0;font-weight:700;\">{% trans %}Užpildyk savo viešą profilį{% endtrans %}</span>
</a>
{% elseif teacherPublicProfile.status == constant('App\\\\Entity\\\\TeacherPublicProfile::STATUS_REJECTED') %}
<a href=\"{{ path('me_teacher_public_profile') }}\" class=\"menu-item fill-profile-dropdown-link\" style=\"color:#dc3545;font-weight:600;display:flex;align-items:center;\">
<i class=\"fas fa-exclamation-triangle\" style=\"padding-left:25px;margin-right:4px;flex-shrink:0;\"></i><span style=\"padding:0;margin:0;font-weight:700;\">{% trans %}Užpildyk savo viešą profilį{% endtrans %}</span>
</a>
{% else %}
<a href=\"{{ path('me_teacher_public_profile') }}\" class=\"menu-item\">
<span>{% trans %}Public Profile{% endtrans %}</span>
</a>
{% endif %}
</li>
<li class=\"divider\"></li>
{% endif %}
<li>
<a href=\"{{ path('me_edit') }}\" class=\"menu-item\">
<span>{% trans %}Edit Profile{% endtrans %}</span>
</a>
</li>
<li>
<a href=\"/logout\" class=\"menu-item\">
<span>{% trans %}Logout{% endtrans %}</span>
</a>
</li>
</ul>
</li>
<li>
<a id=\"sidebar-toggle\" class=\"sidebar-toggle\" href=\"javascript:void(0);\">
<i class=\"fa-solid fa-bars\"></i>
<i class=\"fa-solid fa-xmark\"></i>
</a>
</li>
</ul>
</div>
</div>
{% if not is_granted('ROLE_ADMIN') %}
{% block stylesheets %}
{% endblock %}
{% block javascripts %}
{# {{ encore_entry_script_tags('app') }}#}
<script>
document.addEventListener(\"DOMContentLoaded\", function(event) {
\$('.card.has-timer').each(function (index, item) {
CountDownTimer(item);
})
\$('.move-lesson').on('click', function () {
Swal.fire({
title: \"Ar tikrai?\",
text: \"Norint perkelti užsiėmimą į naują dieną ir laiką privaloma susitarti su mokinio ar mokinio tėvais/ globėjais. Nesusitarus, perkelti draudžiama.\",
icon: \"warning\",
showCancelButton: true,
confirmButtonColor: \"#3085d6\",
cancelButtonColor: \"#d33\",
confirmButtonText: \"Tėvai/mokinys sutiko\",
cancelButtonText: \"Dar nesusitariau\",
customClass: {container: \"version_2\"},
}).then((result) => {
if (result.isConfirmed) {
initLessonMoveModal(this.getAttribute('data-lesson'))
}
})
})
\$('.missed-lesson').on('click', function () {
let modal = \$('#missedLessonModal');
modal.modal().show();
modal.attr('data-lesson', this.getAttribute('data-lesson'))
})
\$('#modal .modal-save').on('click', function (e) {
e.stopPropagation()
if (\$('.modal-body form').get(0).reportValidity()) {
if (confirm(\"Ar tikrai norite perkelti šią pamoką?\")) {
let lessonId = this.getAttribute('lesson');
let url = `{{ path('me_teacher_lesson_move', {'id': 'id'}) }}`;
url = url.replace('id', lessonId);
\$.ajax({
type: 'POST',
url: url,
data: \$('.modal-body form').serialize(),
success: function (res) {
\$('#modal').modal('hide')
\$('#modal .modal-footer .modal-save').removeAttr('lesson')
window.location.reload()
},
error: function (error) {
toastr.error(error.responseJSON.status);
}
});
}
}
})
let searchParams = new URLSearchParams(window.location.search)
if (searchParams.has('action') && searchParams.get('action') == 'missed') {// true
initModal('Informacija', `
<p>Kadangi kita pusė neinformuotai praleido užsiėmimą (neprisijungė laiku), užsiėmimas laikomas kaip kitos pusės neinformuotai praleistas.</p>
<p>Klientas už tokį korepetitoriaus praleistą užsiėmimą pinigų nemoka. Esant galimybei, korepetitorius susisieks su Jumis ir sutars naują laiką užsiėmimui atidirbti.</p>
<p>Korepetitorius už tokį mokinio praleistą užsiėmimą atlygį gauna ir klientas už mokinio neinformuotai praleistą užsiėmimą moka pilną kainą. Esant galimybei, korepetitorius susisieks su Jumis ir sutars naują laiką užsiėmimui atidirbti.</p>`);
let url = document.location.href;
window.history.pushState({}, \"\", url.split(\"?\")[0]);
}
if (searchParams.has('action') && searchParams.get('action') == 'moved') {// true
initModal('Informacija', `
<div class=\"ta-c\">
<p>Korepetitorius šį užsiėmimą ką tik perkėlė ir užsiėmimas vyks kitu laiku!</p>
<p>Pradinė užsiėmimo data ir laikas:<br>\${searchParams.get('from')}</p>
<p>Nauja užsiėmimo data ir laikas:<br>\${searchParams.get('to')}</p>
</div>`);
let url = document.location.href;
window.history.pushState({}, \"\", url.split(\"?\")[0]);
}
if (searchParams.has('action') && searchParams.get('action') == 'denied') {// true
initModal('Šiuo metu nėra galimybės prisijungti prie užsiėmimo.', `
<div class=\"ta-c\">
<p><b>Taip yra dėl vienos iš žemiau pateiktų priežasčių:</b></p>
<p>A) šiuo metu vienas vartotojas jau yra prisijungęs (mokinys arba tėvas/ globėjas);</p>
<p>B) jūs neplanuotai atsijungėte nuo užsiėmimo.</p>
<p><b>JEI NORITE PRISIJUNGTI:</b></p>
<p>A) atveju privaloma, jog vienas vartotojas atsijungtų ir tik tada galės prisijungti kitas vartotojas;</p>
<p>B) atveju vėl galėsite prisijungti 60 sekundžių eigoje nuo neplanuoto atsijungimo;</p>
</div>`);
let url = document.location.href;
// window.history.pushState({}, \"\", url.split(\"?\")[0]);
}
// create new scope
var timer;
// bind event handler
\$('.join-lesson').on('click', function () {
var buttonClicked = this;
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(function () {
window.open(buttonClicked.getAttribute('data-href'), \"_blank\")
}, 700, buttonClicked);
});
})
function initModal(header, body, footerVisible = false) {
let modal = \$('#modal').modal();
modal.find('.modal-header .modal-title').html(header)
modal.find('.modal-body .content').html(body)
if (footerVisible) {
modal.find('.modal-footer').show();
} else {
modal.find('.modal-footer').hide();
}
modal.show();
}
function initLessonMoveModal(lessonId) {
let url = `{{ path('me_teacher_lesson_move', {'id': 'id'}) }}`;
url = url.replace('id', lessonId);
\$('#modal .modal-footer .modal-save').attr('lesson', lessonId);
\$.ajax({
type: 'GET',
url: url,
success: function (res) {
initModal('Perkelti...', res, true);
\$('#lesson_move_startTime').flatpickr({
locale: \"lt\",
altInput: true,
enableTime: true,
altFormat: \"Y-m-d H:i\",
dateFormat: \"Y-m-d H:i\",
minTime: \"05:00\",
time_24hr: true,
allowInput: true,
onClose: function (change, string, event) {
var duration = \$('#lesson_move_duration').val();
var endTime = moment(string).add(duration, 'minutes').format('YYYY-MM-DD HH:mm')
\$('#lesson_move_endTime').val(endTime);
}
})
}
})
}
function CountDownTimer(selector) {
var timeBlock = \$(selector).find('.card-item');
var startTime = new Date(timeBlock.attr('data-start').replace(/-/g, \"/\"));
var endTime = new Date(timeBlock.attr('data-end').replace(/-/g, \"/\"));
endTime = endTime.setMinutes(endTime.getMinutes() + 4);
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
///var now = new Date(\"{{ \"now\"|date('Y-m-d H:i:s') }}\");
var server = moment('{{ \"now\"|date('Y-m-d H:i:s') }}')
var user = moment()
var difference = user - server;
// console.log(server);
function showRemaining() {
var now = new Date(new Date().toLocaleString(\"en-US\", {timeZone: \"Europe/Vilnius\"})) - difference;
// console.log(moment(now).format())
// console.log(moment().format())
var distanceUntilStart = startTime - now;
var days = Math.floor(distanceUntilStart / _day);
var hours = Math.floor((distanceUntilStart % _day) / _hour);
var minutes = Math.floor((distanceUntilStart % _hour) / _minute);
var seconds = Math.floor((distanceUntilStart % _minute) / _second);
//how long lesson is already going
var distanceFromStart = now - startTime;
var goingHours = Math.floor((distanceFromStart % _day) / _hour);
var goingMinutes = Math.floor((distanceFromStart % _hour) / _minute) + (goingHours * 60);
var goingSeconds = Math.floor((distanceFromStart % _minute) / _second);
//how long after the lesson end to remove the card dom object.
var distanceFromEnd = endTime - now;
var afterMinutes = Math.floor((distanceFromEnd % _hour) / _minute);
var afterSeconds = Math.floor((distanceFromEnd % _minute) / _second);
//console.log(goingMinutes + \" going\");
if (distanceUntilStart > 0) {
// timeText = days + 'days ';
timeText = hours + 'val. ';
timeText += minutes + 'min. ';
timeText += seconds + 's.';
// \$(selector).find('.timer').html(timeText);//bug
checkminutes = 5
{% if is_granted('ROLE_TEACHER') %}
checkminutes = 10
{% endif %}
if (days == 0 && hours == 0 && minutes < checkminutes) {
// \$(selector).find('.timer').hide()
\$(selector).find('.notice').html(`Iki pradžios liko: <b>\${minutes} min. \${seconds} s.</b><br>Junkitės į užsiėmimą!`)
\$(selector).find('.join-lesson').removeAttr('disabled')
} else {
if (days > 0) {
\$(selector).find('.notice').html(`Iki užsiėmimo pradžios liko: <b>\${days + \" d.\"} \${hours} val \${minutes} min.</b>`)
} else {
if (hours == 0) {
let text = `Iki užsiėmimo pradžios: <b>\${minutes} min. \${seconds} s.</b>`
{% if is_granted('ROLE_TEACHER') %}
minutes = minutes - 10
{% else %}
minutes = minutes - 5
{% endif %}
text += `<br>Jungtis galėsite po: <b>\${minutes} min. \${seconds} s.</b>`;
\$(selector).find('.notice').html(text)
} else {
let text = `Iki užsiėmimo pradžios: <b>\${hours} val \${minutes} min.</b>`
{% if is_granted('ROLE_TEACHER') %}
minutes = minutes - 10
{% else %}
minutes = minutes - 5
{% endif %}
if (minutes < 0) {
hours = hours - 1;
minutes = minutes + 60;
}
text += `<br>Jungtis galėsite po: <b>\${hours ? hours : \"\"} \${hours ? \"val\" : \"\"} \${minutes} min.</b>`;
\$(selector).find('.notice').html(text)
}
}
}
if (days == 0 && hours == 0 && minutes < 60) {
\$(selector).find('.missed-lesson').attr('disabled', false);
} else {
\$(selector).find('.missed-lesson').attr('disabled', true);
}
return;
}
//console.log('after', afterMinutes)
// console.log(`afterminutes`,afterMinutes);
// console.log(`going`,goingMinutes);
if (distanceFromStart > 0) {
lesson = \$(selector).find('.card-item').data('lesson-id');
if (!\$(`[data-lesson-id=\${lesson}]`).find('.users').hasClass('was-joined')) {
if (\$(selector).find('.teacher').find('.box').hasClass('not-joined') && \$(selector).find('.student').find('.box').hasClass('not-joined') && goingMinutes > 4) {
\$(`[data-lesson-id=\${lesson}]`).parent().parent().hide();
}
if (\$(selector).find('.student').find('.box').hasClass('not-joined') && \$(selector).find('.teacher').find('.box').hasClass('not-joined') && goingMinutes > 14) {
\$(`[data-lesson-id=\${lesson}]`).parent().parent().hide();
// \$(selector).find('.btn').hide();
}
}
// \$(selector).find('.timer').hide()
\$(selector).find('.notice').html(``);
\$(selector).find('.notice').html(`Jau vyksta (\${goingMinutes}min. \${goingSeconds}s.)!`);
}
if (afterMinutes < 0) {
clearInterval(timer);
\$(selector).hide();
}
}
timer = setInterval(showRemaining, 1000);
}
{% set userType = lessonExtension.learncubeUser %}
{% if is_granted('ROLE_GUARDIAN') %}
{% set userType = constant('App\\\\Service\\\\LearnCubeService::tag_guardian') %}
{% endif %}
const eventSource = new EventSource(\"{{ mercure('lesson_status/' ~ userType ~ '/' ~ app.user.id )|escape('js') }}\");
eventSource.onmessage = event => {
event = JSON.parse(event.data);
console.log(event);
if (event.action == \"reload\") {
window.location.reload();
}
if (event.id > 0) {
\$(`.lesson-list .card-item[data-lesson-id=\${event.id}] .box`).removeClass('joined')
\$(`.lesson-list .card-item[data-lesson-id=\${event.id}] .box`).removeClass('not-joined')
\$(`.lesson-list .card-item[data-lesson-id=\${event.id}] .teacher .box`).toggleClass(parseStatus(event.teacher))
\$(`.lesson-list .card-item[data-lesson-id=\${event.id}] .student .box`).toggleClass(parseStatus(event.student))
}
}
function parseStatus(status) {
if (status) {
return \"joined\"
} else {
return `not-joined`
}
}
</script>
{% endblock %}
{% endif %}
", "menu_components/header_nav_bar/header_nav_bar_new.html.twig", "/var/www/project/templates/menu_components/header_nav_bar/header_nav_bar_new.html.twig");
}
}