feat : integrasi template dan menerapkan dashboard page

This commit is contained in:
Yoga Pangestu 2024-11-17 16:50:48 +07:00
parent db0a7b519a
commit 8aedc00e27
49 changed files with 70769 additions and 178 deletions

View File

@ -0,0 +1,15 @@
<?php
namespace App\Http\Controllers\Admin\Dashboard;
use App\Http\Controllers\Controller;
class OverviewController extends Controller
{
public function index()
{
return view('pages.admin.dashboard.overview', [
'pageTitle' => 'Ringkasan',
]);
}
}

2331
public/assets/admin/css/font-awesome.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,182 @@
button, hr, input {
overflow: visible;
}
audio, canvas, progress, video {
display: inline-block;
}
progress, sub, sup {
vertical-align: baseline;
}
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
}
menu, article, aside, details, footer, header, nav, section {
display: block;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
figcaption, figure, main {
display: block;
}
figure {
margin: 1em 40px;
}
hr {
box-sizing: content-box;
height: 0;
}
code, kbd, pre, samp {
font-family: monospace, monospace;
font-size: 1em;
}
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
a:active, a:hover {
outline-width: 0;
}
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
b, strong {
font-weight: bolder;
}
dfn {
font-style: italic;
}
mark {
background-color: #ff0;
color: #000;
}
small {
font-size: 80%;
}
sub, sup {
font-size: 75%;
line-height: 0;
position: relative;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
audio:not([controls]) {
display: none;
height: 0;
}
img {
border-style: none;
}
svg:not(:root) {
overflow: hidden;
}
button, input, optgroup, select, textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
button, select {
text-transform: none;
}
[type=submit], [type=reset], button, html [type=button] {
-webkit-appearance: button;
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
border-style: none;
padding: 0;
}
[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
outline: ButtonText dotted 1px;
}
fieldset {
border: 1px solid silver;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
textarea {
overflow: auto;
}
[type=checkbox], [type=radio] {
box-sizing: border-box;
padding: 0;
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
height: auto;
}
[type=search] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
summary {
display: list-item;
}
[hidden], template {
display: none;
}

View File

@ -0,0 +1,212 @@
[data-simplebar] {
position: relative;
flex-direction: column;
flex-wrap: wrap;
justify-content: flex-start;
align-content: flex-start;
align-items: flex-start;
}
.simplebar-wrapper {
overflow: hidden;
width: inherit;
height: inherit;
max-width: inherit;
max-height: inherit;
}
.simplebar-mask {
direction: inherit;
position: absolute;
overflow: hidden;
padding: 0;
margin: 0;
left: 0;
top: 0;
bottom: 0;
right: 0;
width: auto !important;
height: auto !important;
z-index: 0;
}
.simplebar-offset {
direction: inherit !important;
box-sizing: inherit !important;
resize: none !important;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
padding: 0;
margin: 0;
-webkit-overflow-scrolling: touch;
}
.simplebar-content-wrapper {
direction: inherit;
box-sizing: border-box !important;
position: relative;
display: block;
height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */
width: auto;
max-width: 100%; /* Not required for horizontal scroll to trigger */
max-height: 100%; /* Needed for vertical scroll to trigger */
scrollbar-width: none;
-ms-overflow-style: none;
padding-bottom: 30px;
}
.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
width: 0;
height: 0;
}
.simplebar-content:before,
.simplebar-content:after {
content: " ";
display: table;
}
.simplebar-placeholder {
max-height: 100%;
max-width: 100%;
width: 100%;
pointer-events: none;
}
.simplebar-height-auto-observer-wrapper {
box-sizing: inherit !important;
height: 100%;
width: 100%;
max-width: 1px;
position: relative;
float: left;
max-height: 1px;
overflow: hidden;
z-index: -1;
padding: 0;
margin: 0;
pointer-events: none;
flex-grow: inherit;
flex-shrink: 0;
flex-basis: 0;
}
.simplebar-height-auto-observer {
box-sizing: inherit;
display: block;
opacity: 0;
position: absolute;
top: 0;
left: 0;
height: 1000%;
width: 1000%;
min-height: 1px;
min-width: 1px;
overflow: hidden;
pointer-events: none;
z-index: -1;
}
.simplebar-track {
z-index: 1;
position: absolute;
right: 0;
bottom: 0;
pointer-events: none;
overflow: hidden;
}
[data-simplebar].simplebar-dragging .simplebar-content {
pointer-events: none;
user-select: none;
-webkit-user-select: none;
}
[data-simplebar].simplebar-dragging .simplebar-track {
pointer-events: all;
}
.simplebar-scrollbar {
position: absolute;
left: 0;
right: 0;
min-height: 10px;
}
.simplebar-scrollbar:before {
position: absolute;
content: "";
background: black;
border-radius: 7px;
left: 2px;
right: 2px;
opacity: 0;
transition: opacity 0.2s linear;
}
.simplebar-scrollbar.simplebar-visible:before {
/* When hovered, remove all transitions from drag handle */
opacity: 0.5;
transition: opacity 0s linear;
}
.simplebar-track.simplebar-vertical {
top: 0;
width: 11px;
}
.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
top: 2px;
bottom: 2px;
}
.simplebar-track.simplebar-horizontal {
left: 0;
height: 11px;
}
.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
height: 100%;
left: 2px;
right: 2px;
}
.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
right: auto;
left: 0;
top: 2px;
height: 7px;
min-height: 0;
min-width: 10px;
width: auto;
}
/* Rtl support */
[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical {
right: auto;
left: 0;
}
.hs-dummy-scrollbar-size {
direction: rtl;
position: fixed;
opacity: 0;
visibility: hidden;
height: 500px;
width: 500px;
overflow-y: hidden;
overflow-x: scroll;
}
.simplebar-hide-scrollbar {
position: fixed;
left: 0;
visibility: hidden;
overflow-y: scroll;
scrollbar-width: none;
-ms-overflow-style: none;
}

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,38 @@
(function () {
// gets clock hands and puts them into constants
const HOURHAND = document.querySelector("#hour");
const MINUTEHAND = document.querySelector("#minute");
const SECONDHAND = document.querySelector("#second");
// gets the current time and adds hours / mins / secs to individual let varriables
var date = new Date();
let hr = date.getHours();
let min = date.getMinutes();
let sec = date.getSeconds();
// converts current time into degrees of the 360 degree clock
// the calculation on hr & min incriments the clock smootly instead of jumping from minuite to minuite or hour to hour it is percentages of a minuite / hour respectivly
let hrPosition = (hr * 360) / 12 + (min * (360 / 60)) / 12;
let minPosition = (min * 360) / 60 + (sec * (360 / 60)) / 60;
let secPosition = (sec * 360) / 60;
// function that sets clock to current time and adds a second to it every time it is called
function runClock() {
// adds degrees in an hour divide by seconds in an hour to previous time
hrPosition += 30 / 3600;
// adds degrees in a minuite divide by seconds in an minuite to previous time
minPosition += 6 / 60;
// adds degrees in a second to previous time
secPosition += 6;
// position clock hands to degrees values calculated above using transfrom rotate
HOURHAND.style.transform = "rotate(" + hrPosition + "deg)";
MINUTEHAND.style.transform = "rotate(" + minPosition + "deg)";
SECONDHAND.style.transform = "rotate(" + secPosition + "deg)";
}
// intival that automates the clock by calling the runClock function every second
var interval = setInterval(runClock, 1000);
})();

View File

@ -0,0 +1,11 @@
(function () {
var primary = localStorage.getItem("primary") || "#7366ff";
var secondary = localStorage.getItem("secondary") || "#f73164";
window.CubaAdminConfig = {
// Theme Primary Color
primary: primary,
// theme secondary color
secondary: secondary,
};
})();

View File

@ -0,0 +1,21 @@
// time
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
// var s = today.getSeconds();
var ampm = h >= 12 ? "PM" : "AM";
h = h % 12;
h = h ? h : 12;
m = checkTime(m);
// s = checkTime(s);
document.getElementById("txt").innerHTML = h + ":" + m + " " + ampm;
var t = setTimeout(startTime, 500);
}
function checkTime(i) {
if (i < 10) {
i = "0" + i;
} // add zero in front of numbers < 10
return i;
}

View File

@ -0,0 +1,30 @@
"use strict";
function equalizer() {
var max = -1;
$(".height-equal").css("min-height", "auto");
$(".height-equal").each(function () {
var minHeight = $(this).outerHeight();
max = minHeight > max ? minHeight : max;
});
$(".height-equal").css("min-height", max);
if ($(window).width() <= 991) {
$(".height-equal").css("min-height", "auto");
}
$(".height-equal-2").css("min-height", "auto");
$(".height-equal-2").each(function () {
var minHeight = $(this).outerHeight();
max = minHeight > max ? minHeight : max;
});
$(".height-equal-2").css("min-height", max);
if ($(window).width() <= 991) {
$(".height-equal-2").css("min-height", "auto");
}
}
(function ($) {
"use strict";
equalizer();
})(jQuery);
jQuery(window).resize(function () {
equalizer();
});

View File

@ -0,0 +1,28 @@
(function ($) {
"use strict";
$(".icon-lists .media").click(function () {
$(".fa-fa-icon-show-div").show().removeClass("opecity-0");
// for icon
var svg_icon = $(this).html();
$(".icon-first").html(svg_icon);
// for data feather title
var feather_name = $(this).children().children("h6").html();
$("#fclass1").html(feather_name);
// for data value
var fafaclass1 = '<i data-feather="' + feather_name + '"></i>';
$(".inp-val").val(fafaclass1);
});
$(".close-icon").click(function () {
$(".icon-hover-bottom").addClass("opecity-0");
$(".fa-fa-icon-show-div").hide();
$(".icon-lists").removeClass("m-b-50");
});
})(jQuery);
function myFunction() {
var copyText = document.getElementById("input_copy");
copyText.select();
document.execCommand("Copy");
}

View File

@ -0,0 +1 @@
feather.replace()

File diff suppressed because one or more lines are too long

2
public/assets/admin/js/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,374 @@
/*! -----------------------------------------------------------------------------------
Template Name: Cuba Admin
Template URI: http://admin.pixelstrap.com/cuba/theme
Description: This is Admin theme
Author: Pixelstrap
Author URI: https://themeforest.net/user/pixelstrap
-----------------------------------------------------------------------------------
01. password show hide
02. Background Image js
03. sidebar filter
04. Language js
05. Translate js
--------------------------------------------------------------------------------- */
(function ($) {
"use strict";
$(document).on("click", function (e) {
var outside_space = $(".outside");
if (
!outside_space.is(e.target) &&
outside_space.has(e.target).length === 0
) {
$(".menu-to-be-close").removeClass("d-block");
$(".menu-to-be-close").css("display", "none");
}
});
$(".prooduct-details-box .close").on("click", function (e) {
var tets = $(this).parent().parent().parent().parent().addClass("d-none");
console.log(tets);
});
if ($(".page-wrapper").hasClass("horizontal-wrapper")) {
$(".sidebar-list").hover(
function () {
$(this).addClass("hoverd");
},
function () {
$(this).removeClass("hoverd");
}
);
$(window).on("scroll", function () {
if ($(this).scrollTop() < 600) {
$(".sidebar-list").removeClass("hoverd");
}
});
}
/*----------------------------------------
password show hide
----------------------------------------*/
$(".show-hide").show();
$(".show-hide span").addClass("show");
$(".show-hide span").click(function () {
if ($(this).hasClass("show")) {
$('input[name="login[password]"]').attr("type", "text");
$(this).removeClass("show");
} else {
$('input[name="login[password]"]').attr("type", "password");
$(this).addClass("show");
}
});
$('form button[type="submit"]').on("click", function () {
$(".show-hide span").addClass("show");
$(".show-hide")
.parent()
.find('input[name="login[password]"]')
.attr("type", "password");
});
/*=====================
02. Background Image js
==========================*/
$(".bg-center").parent().addClass("b-center");
$(".bg-img-cover").parent().addClass("bg-size");
$(".bg-img-cover").each(function () {
var el = $(this),
src = el.attr("src"),
parent = el.parent();
parent.css({
"background-image": "url(" + src + ")",
"background-size": "cover",
"background-position": "center",
display: "block",
});
el.hide();
});
$(".mega-menu-container").css("display", "none");
$(".header-search").click(function () {
$(".search-full").addClass("open");
});
$(".close-search").click(function () {
$(".search-full").removeClass("open");
$("body").removeClass("offcanvas");
});
$(".mobile-toggle").click(function () {
$(".nav-menus").toggleClass("open");
});
$(".mobile-toggle-left").click(function () {
$(".left-header").toggleClass("open");
});
$(".bookmark-search").click(function () {
$(".form-control-search").toggleClass("open");
});
$(".filter-toggle").click(function () {
$(".product-sidebar").toggleClass("open");
});
$(".toggle-data").click(function () {
$(".product-wrapper").toggleClass("sidebaron");
});
$(".form-control-search input").keyup(function (e) {
if (e.target.value) {
$(".page-wrapper").addClass("offcanvas-bookmark");
} else {
$(".page-wrapper").removeClass("offcanvas-bookmark");
}
});
$(".search-full input").keyup(function (e) {
console.log(e.target.value);
if (e.target.value) {
$("body").addClass("offcanvas");
} else {
$("body").removeClass("offcanvas");
}
});
$("body").keydown(function (e) {
if (e.keyCode == 27) {
$(".search-full input").val("");
$(".form-control-search input").val("");
$(".page-wrapper").removeClass("offcanvas-bookmark");
$(".search-full").removeClass("open");
$(".search-form .form-control-search").removeClass("open");
$("body").removeClass("offcanvas");
}
});
$(".mode").on("click", function () {
const bodyModeDark = $("body").hasClass("dark-only");
if (!bodyModeDark) {
$(".mode").addClass("active");
localStorage.setItem("mode-cuba", "dark-only");
$("body").addClass("dark-only");
$("body").removeClass("light");
}
if (bodyModeDark) {
$(".mode").removeClass("active");
localStorage.setItem("mode-cuba", "light");
$("body").removeClass("dark-only");
$("body").addClass("light");
}
});
$("body").addClass(
localStorage.getItem("mode-cuba")
? localStorage.getItem("mode-cuba")
: "light"
);
$(".mode").addClass(
localStorage.getItem("mode-cuba") === "dark-only" ? "active" : " "
);
// sidebar filter
$(".md-sidebar .md-sidebar-toggle ").on("click", function (e) {
$(".md-sidebar .md-sidebar-aside ").toggleClass("open");
});
$(".loader-wrapper").fadeOut("slow", function () {
$(this).remove();
});
$(window).on("scroll", function () {
if ($(this).scrollTop() > 600) {
$(".tap-top").fadeIn();
} else {
$(".tap-top").fadeOut();
}
});
$(".tap-top").click(function () {
$("html, body").animate(
{
scrollTop: 0,
},
600
);
return false;
});
(function ($, window, document, undefined) {
"use strict";
var $ripple = $(".js-ripple");
$ripple.on("click.ui.ripple", function (e) {
var $this = $(this);
var $offset = $this.parent().offset();
var $circle = $this.find(".c-ripple__circle");
var x = e.pageX - $offset.left;
var y = e.pageY - $offset.top;
$circle.css({
top: y + "px",
left: x + "px",
});
$this.addClass("is-active");
});
$ripple.on(
"animationend webkitAnimationEnd oanimationend MSAnimationEnd",
function (e) {
$(this).removeClass("is-active");
}
);
})(jQuery, window, document);
// active link
$(".chat-menu-icons .toogle-bar").click(function () {
$(".chat-menu").toggleClass("show");
});
// Language
var tnum = "en";
$(document).ready(function () {
if (localStorage.getItem("primary") != null) {
var primary_val = localStorage.getItem("primary");
$("#ColorPicker1").val(primary_val);
var secondary_val = localStorage.getItem("secondary");
$("#ColorPicker2").val(secondary_val);
}
$(document).click(function (e) {
$(".translate_wrapper, .more_lang").removeClass("active");
});
$(".translate_wrapper .current_lang").click(function (e) {
e.stopPropagation();
$(this).parent().toggleClass("active");
setTimeout(function () {
$(".more_lang").toggleClass("active");
}, 5);
});
/*TRANSLATE*/
translate(tnum);
$(".more_lang .lang").click(function () {
$(this).addClass("selected").siblings().removeClass("selected");
$(".more_lang").removeClass("active");
var i = $(this).find("i").attr("class");
var lang = $(this).attr("data-value");
var tnum = lang;
translate(tnum);
$(".current_lang .lang-txt").text(lang);
$(".current_lang i").attr("class", i);
});
});
function translate(tnum) {
$(".lan-1").text(trans[0][tnum]);
$(".lan-2").text(trans[1][tnum]);
$(".lan-3").text(trans[2][tnum]);
$(".lan-4").text(trans[3][tnum]);
$(".lan-5").text(trans[4][tnum]);
$(".lan-6").text(trans[5][tnum]);
$(".lan-7").text(trans[6][tnum]);
$(".lan-8").text(trans[7][tnum]);
$(".lan-9").text(trans[8][tnum]);
}
var trans = [
{
en: "General",
pt: "Geral",
es: "Generalo",
fr: "Générale",
de: "Generel",
cn: "一般",
ae: "حجنرال لواء",
},
{
en: "Dashboards,widgets & layout.",
pt: "Painéis, widgets e layout.",
es: "Paneloj, fenestraĵoj kaj aranĝo.",
fr: "Tableaux de bord, widgets et mise en page.",
de: "Dashboards, widgets en lay-out.",
cn: "仪表板,小工具和布局。",
ae: "لوحات المعلومات والأدوات والتخطيط.",
},
{
en: "Dashboards",
pt: "Painéis",
es: "Paneloj",
fr: "Tableaux",
de: "Dashboards",
cn: " 仪表板 ",
ae: "وحات القيادة ",
},
{
en: "Default",
pt: "Padrão",
es: "Vaikimisi",
fr: "Défaut",
de: "Standaard",
cn: "電子商務",
ae: "وإفتراضي",
},
{
en: "Ecommerce",
pt: "Comércio eletrônico",
es: "Komerco",
fr: "Commerce électronique",
de: "E-commerce",
cn: "電子商務",
ae: "والتجارة الإلكترونية",
},
{
en: "Widgets",
pt: "Ferramenta",
es: "Vidin",
fr: "Widgets",
de: "Widgets",
cn: "小部件",
ae: "والحاجيات",
},
{
en: "Page layout",
pt: "Layout da página",
es: "Paĝa aranĝo",
fr: "Tableaux",
de: "Mise en page",
cn: "é é¢ä½ˆå±€",
ae: "وتخطيط الصفحة",
},
{
en: "Applications",
pt: "Formulários",
es: "Aplikoj",
fr: "Applications",
de: "Toepassingen",
cn: "æ‡‰ç”¨é ˜åŸŸ",
ae: "والتطبيقات",
},
{
en: "Ready to use Apps",
pt: "Pronto para usar aplicativos",
es: "Preta uzi Apps",
fr: " Applications prêtes à lemploi ",
de: "Klaar om apps te gebruiken",
cn: "仪表板",
ae: "جاهز لاستخدام التطبيقات",
},
];
$(".mobile-title svg").click(function () {
$(".header-mega").toggleClass("d-block");
});
$(".onhover-dropdown").on("click", function () {
$(this).children(".onhover-show-div").toggleClass("active");
});
$("#flip-btn").click(function () {
$(".flip-card-inner").addClass("flipped");
});
$("#flip-back").click(function () {
$(".flip-card-inner").removeClass("flipped");
});
})(jQuery);

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,30 @@
(function ($) {
"use strict";
var scrollable_custom = {
init: function () {
$(".vertical-scroll").perfectScrollbar({
suppressScrollX: !0,
wheelPropagation: !0,
}),
$(".horizontal-scroll").perfectScrollbar({
suppressScrollY: !0,
wheelPropagation: !0,
}),
$(".both-side-scroll").perfectScrollbar({
wheelPropagation: !0,
}),
$(".visible-scroll").perfectScrollbar({
wheelPropagation: !0,
}),
$(".scrollbar-margins").perfectScrollbar({
wheelPropagation: !0,
}),
$(".click-drag-handler").perfectScrollbar({
handlers: ["click-rail", "drag-scrollbar"],
wheelPropagation: !0,
});
},
};
scrollable_custom.init();
})(jQuery);

View File

@ -0,0 +1,4 @@
(function () {
var myElement = document.getElementById("simple-bar");
new SimpleBar(myElement, { autoHide: true });
})();

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,504 @@
(function ($) {
$(".toggle-nav").click(function () {
$("#sidebar-links .nav-menu").css("left", "0px");
});
$(".mobile-back").click(function () {
$("#sidebar-links .nav-menu").css("left", "-410px");
});
$(".page-wrapper").attr(
"class",
"page-wrapper " + localStorage.getItem("page-wrapper-cuba")
);
if (localStorage.getItem("page-wrapper-cuba") === null) {
$(".page-wrapper").addClass("compact-wrapper");
}
// left sidebar and vertical menu
if ($("#pageWrapper").hasClass("compact-wrapper")) {
jQuery(".sidebar-title").append(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
jQuery(".sidebar-title").click(function () {
jQuery(".sidebar-title")
.removeClass("active")
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
jQuery(".sidebar-submenu, .menu-content").slideUp("normal");
jQuery(".menu-content").slideUp("normal");
if (jQuery(this).next().is(":hidden") == true) {
jQuery(this).addClass("active");
jQuery(this)
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-down"></i></div>'
);
jQuery(this).next().slideDown("normal");
} else {
jQuery(this)
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
}
});
jQuery(".sidebar-submenu, .menu-content").hide();
jQuery(".submenu-title").append(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
jQuery(".submenu-title").click(function () {
jQuery(".submenu-title")
.removeClass("active")
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
jQuery(".submenu-content").slideUp("normal");
if (jQuery(this).next().is(":hidden") == true) {
jQuery(this).addClass("active");
jQuery(this)
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-down"></i></div>'
);
jQuery(this).next().slideDown("normal");
} else {
jQuery(this)
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
}
});
jQuery(".submenu-content").hide();
} else if ($("#pageWrapper").hasClass("horizontal-wrapper")) {
var smallSize = false,
bigSize = false;
const horizontalMenu = () => {
var contentwidth = jQuery(window).width();
if (contentwidth <= 992 && !smallSize) {
(smallSize = true), (bigSize = false);
$("#pageWrapper")
.removeClass("horizontal-wrapper")
.addClass("compact-wrapper");
$(".page-body-wrapper")
.removeClass("horizontal-menu")
.addClass("sidebar-icon");
jQuery(".submenu-title").append(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
jQuery(".submenu-title").click(function () {
jQuery(".submenu-title").removeClass("active");
jQuery(".submenu-title")
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
jQuery(".submenu-content").slideUp("normal");
if (jQuery(this).next().is(":hidden") == true) {
jQuery(this).addClass("active");
jQuery(this)
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-down"></i></div>'
);
jQuery(this).next().slideDown("normal");
} else {
jQuery(this)
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
}
});
jQuery(".submenu-content").hide();
jQuery(".sidebar-title").append(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
jQuery(".sidebar-title").click(function () {
jQuery(".sidebar-title").removeClass("active");
jQuery(".sidebar-title")
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
jQuery(".sidebar-submenu, .menu-content").slideUp("normal");
if (jQuery(this).next().is(":hidden") == true) {
jQuery(this).addClass("active");
jQuery(this)
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-down"></i></div>'
);
jQuery(this).next().slideDown("normal");
} else {
jQuery(this)
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
}
});
jQuery(".sidebar-submenu, .menu-content").hide();
}
if (contentwidth > 992 && !bigSize) {
(smallSize = false), (bigSize = true);
$("#pageWrapper")
.removeClass("compact-wrapper")
.addClass("horizontal-wrapper");
jQuery(".sidebar-title .according-menu").remove();
}
};
horizontalMenu();
addEventListener("resize", (event) => {
horizontalMenu();
});
} else if ($("#pageWrapper").hasClass("compact-sidebar")) {
var contentwidth = jQuery(window).width();
if (contentwidth > 992) {
$('<div class="bg-overlay1"></div>').appendTo($("body"));
}
jQuery(".sidebar-title").click(function () {
jQuery(".sidebar-title").removeClass("active");
$(".bg-overlay1").removeClass("active");
jQuery(".sidebar-submenu").removeClass("close-submenu").slideUp("normal");
jQuery(".sidebar-submenu, .menu-content").slideUp("normal");
jQuery(".menu-content").slideUp("normal");
if (jQuery(this).next().is(":hidden") == true) {
jQuery(this).addClass("active");
jQuery(this).next().slideDown("normal");
$(".bg-overlay1").addClass("active");
$(".bg-overlay1").on("click", function () {
jQuery(".sidebar-submenu, .menu-content").slideUp("normal");
$(this).removeClass("active");
});
}
if (contentwidth < "992") {
$(".bg-overlay").addClass("active");
}
});
jQuery(".sidebar-submenu, .menu-content").hide();
jQuery(".submenu-title").append(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
jQuery(".submenu-title").click(function () {
jQuery(".submenu-title")
.removeClass("active")
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
jQuery(".submenu-content").slideUp("normal");
if (jQuery(this).next().is(":hidden") == true) {
jQuery(this).addClass("active");
jQuery(this)
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-down"></i></div>'
);
jQuery(this).next().slideDown("normal");
} else {
jQuery(this)
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-right"></i></div>'
);
}
});
jQuery(".submenu-content").hide();
}
// toggle sidebar
$nav = $(".sidebar-wrapper");
$header = $(".page-header");
$toggle_nav_top = $(".toggle-sidebar");
$toggle_nav_top.click(function () {
$nav.toggleClass("close_icon");
$header.toggleClass("close_icon");
$(window).trigger("overlay");
});
$(window).on("overlay", function () {
$bgOverlay = $(".bg-overlay");
$isHidden = $nav.hasClass("close_icon");
if ($(window).width() <= 991 && !$isHidden && $bgOverlay.length === 0) {
$('<div class="bg-overlay active"></div>').appendTo($("body"));
}
if ($isHidden && $bgOverlay.length > 0) {
$bgOverlay.remove();
}
});
$(".sidebar-wrapper .back-btn").on("click", function (e) {
$(".page-header").toggleClass("close_icon");
$(".sidebar-wrapper").toggleClass("close_icon");
$(window).trigger("overlay");
});
$("body").on("click", ".bg-overlay", function () {
$header.addClass("close_icon");
$nav.addClass("close_icon");
$(this).remove();
});
$body_part_side = $(".body-part");
$body_part_side.click(function () {
$toggle_nav_top.attr("checked", false);
$nav.addClass("close_icon");
$header.addClass("close_icon");
});
// responsive sidebar
var $window = $(window);
var widthwindow = $window.width();
(function ($) {
"use strict";
if (widthwindow <= 991) {
$toggle_nav_top.attr("checked", false);
$nav.addClass("close_icon");
$header.addClass("close_icon");
}
})(jQuery);
$(window).resize(function () {
var widthwindaw = $window.width();
if (widthwindaw <= 991) {
$toggle_nav_top.attr("checked", false);
$nav.addClass("close_icon");
$header.addClass("close_icon");
} else {
$toggle_nav_top.attr("checked", true);
$nav.removeClass("close_icon");
$header.removeClass("close_icon");
}
});
// horizontal arrows
var view = $("#sidebar-menu");
var move = "500px";
var leftsideLimit = -500;
var getMenuWrapperSize = function () {
return $(".sidebar-wrapper").innerWidth();
};
var menuWrapperSize = getMenuWrapperSize();
if (menuWrapperSize >= "1660") {
var sliderLimit = -3000;
} else if (menuWrapperSize >= "1440") {
var sliderLimit = -3600;
} else {
var sliderLimit = -4200;
}
$("#left-arrow").addClass("disabled");
$("#right-arrow").click(function () {
var currentPosition = parseInt(view.css("marginLeft"));
if (currentPosition >= sliderLimit) {
$("#left-arrow").removeClass("disabled");
view.stop(false, true).animate(
{
marginLeft: "-=" + move,
},
{
duration: 400,
}
);
if (currentPosition == sliderLimit) {
$(this).addClass("disabled");
console.log("sliderLimit", sliderLimit);
}
}
});
$("#left-arrow").click(function () {
var currentPosition = parseInt(view.css("marginLeft"));
if (currentPosition < 0) {
view.stop(false, true).animate(
{
marginLeft: "+=" + move,
},
{
duration: 400,
}
);
$("#right-arrow").removeClass("disabled");
$("#left-arrow").removeClass("disabled");
if (currentPosition >= leftsideLimit) {
$(this).addClass("disabled");
}
}
});
// page active
if ($("#pageWrapper").hasClass("compact-wrapper")) {
$(".sidebar-wrapper nav").find("a").removeClass("active");
$(".sidebar-wrapper nav").find("li").removeClass("active");
var current = window.location.pathname;
$(".sidebar-wrapper nav ul li a").filter(function () {
var link = $(this).attr("href");
if (link) {
if (current.indexOf(link) != -1) {
$(this).parents().children("a").addClass("active");
$(this).parents().parents().children("ul").css("display", "block");
$(this).addClass("active");
$(this)
.parent()
.parent()
.parent()
.children("a")
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-down"></i></div>'
);
$(this)
.parent()
.parent()
.parent()
.parent()
.parent()
.children("a")
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-down"></i></div>'
);
return false;
}
}
});
}
$(".left-header .mega-menu .nav-link").on("click", function (event) {
event.stopPropagation();
$(this).parent().children(".mega-menu-container").toggleClass("show");
});
$(".left-header .level-menu .nav-link").on("click", function (event) {
event.stopPropagation();
$(this).parent().children(".header-level-menu").toggleClass("show");
});
$(document).click(function () {
$(".mega-menu-container").removeClass("show");
$(".header-level-menu").removeClass("show");
});
$(window).scroll(function () {
var scroll = $(window).scrollTop();
if (scroll >= 50) {
$(".mega-menu-container").removeClass("show");
$(".header-level-menu").removeClass("show");
}
});
$(".left-header .level-menu .nav-link").click(function () {
if ($(".mega-menu-container").hasClass("show")) {
$(".mega-menu-container").removeClass("show");
}
});
$(".left-header .mega-menu .nav-link").click(function () {
if ($(".header-level-menu").hasClass("show")) {
$(".header-level-menu").removeClass("show");
}
});
$(document).ready(function () {
$(".outside").click(function () {
$(this).find(".menu-to-be-close").slideToggle("fast");
});
});
$(document).on("click", function (event) {
var $trigger = $(".outside");
if ($trigger !== event.target && !$trigger.has(event.target).length) {
$(".menu-to-be-close").slideUp("fast");
}
});
$(".left-header .link-section > div").on("click", function (e) {
if ($(window).width() <= 1199) {
$(".left-header .link-section > div").removeClass("active");
$(this).toggleClass("active");
$(this).parent().children("ul").toggleClass("d-block").slideToggle();
}
});
if ($(window).width() <= 1199) {
$(".left-header .link-section").children("ul").css("display", "none");
$(this).parent().children("ul").toggleClass("d-block").slideToggle();
}
function handleActiveMenu() {
var _link = ".sidebar-link, .link-nav",
_currentURL = window.location.href,
fileName = _currentURL.substring(
0,
_currentURL.indexOf("#") == -1
? _currentURL.length
: _currentURL.indexOf("#")
),
fileName = fileName.substring(
0,
fileName.indexOf("?") == -1
? fileName.length
: fileName.indexOf("?")
);
$(_link).each(function () {
var self = $(this),
_self_link = self.attr("href");
// Check if current URL matches menu link
if (_self_link && fileName.indexOf(_self_link) !== -1) {
// Remove active class from all menu items first
$(".sidebar-wrapper nav").find("a").removeClass("active");
$(".sidebar-wrapper nav").find("li").removeClass("active");
// Add active class to current menu item and its parents
self.addClass("active");
self.closest("li").addClass("active");
// Show parent menus if it's a submenu item
self.parents(".sidebar-submenu, .menu-content").slideDown("normal");
self.parents().children("ul").css("display", "block");
// Update accordion icons
self.parents(".sidebar-list")
.children("a")
.find("div")
.replaceWith(
'<div class="according-menu"><i class="fa fa-angle-down"></i></div>'
);
}
});
}
// Run on page load
handleActiveMenu();
// Run when URL changes (if you're using AJAX navigation)
$(document).on('click', '.sidebar-link, .link-nav', function() {
setTimeout(handleActiveMenu, 100);
});
// active link
if (
$(".simplebar-wrapper .simplebar-content-wrapper") &&
$("#pageWrapper").hasClass("compact-wrapper")
) {
$(".simplebar-wrapper .simplebar-content-wrapper").animate(
{
scrollTop:
$(".simplebar-wrapper .simplebar-content-wrapper a.active").offset()
.top - 400,
},
1000
);
}
})(jQuery);

View File

@ -0,0 +1,80 @@
// Sidebar pin-drops
(function () {
const pinTitle = document.querySelector(".pin-title");
let pinIcon = document.querySelectorAll(".sidebar-list .fa-thumb-tack");
function togglePinnedName() {
if (document.getElementsByClassName("pined").length) {
if (!pinTitle.classList.contains("show")) pinTitle.classList.add("show");
} else {
pinTitle.classList.remove("show");
}
}
pinIcon.forEach((item, index) => {
var linkName = item.parentNode.querySelector("span").innerHTML;
var InitialLocalStorage = JSON.parse(localStorage.getItem("pins") || false);
if (InitialLocalStorage && InitialLocalStorage.includes(linkName)) {
item.parentNode.classList.add("pined");
}
item.addEventListener("click", (event) => {
var localStoragePins = JSON.parse(localStorage.getItem("pins") || false);
item.parentNode.classList.toggle("pined");
if (localStoragePins?.length) {
if (item.parentNode.classList.contains("pined")) {
!localStoragePins?.includes(linkName) &&
(localStoragePins = [...localStoragePins, linkName]);
} else {
localStoragePins?.includes(linkName) &&
localStoragePins.splice(localStoragePins.indexOf(linkName), 1);
}
localStorage.setItem("pins", JSON.stringify(localStoragePins));
} else {
localStorage.setItem("pins", JSON.stringify([linkName]));
}
var elem = item;
var topPos = elem.offsetTop;
togglePinnedName();
if (item.parentElement.parentElement.classList.contains("pined")) {
scrollTo(
document.getElementsByClassName("simplebar-content-wrapper")[0],
topPos - 30,
600
);
} else {
scrollTo(
document.getElementsByClassName("simplebar-content-wrapper")[0],
elem.parentNode.offsetTop - 30,
600
);
}
});
function scrollTo(element, to, duration) {
var start = element.scrollTop,
change = to - start,
currentTime = 0,
increment = 20;
var animateScroll = function () {
currentTime += increment;
var val = Math.easeInOutQuad(currentTime, start, change, duration);
element.scrollTop = val;
if (currentTime < duration) {
setTimeout(animateScroll, increment);
}
};
animateScroll();
}
Math.easeInOutQuad = function (t, b, c, d) {
t /= d / 2;
if (t < 1) return (c / 2) * t * t + b;
t--;
return (-c / 2) * (t * (t - 2) - 1) + b;
};
});
togglePinnedName();
})();

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 229 KiB

View File

@ -0,0 +1,10 @@
.profile-media img {
border-radius: 100%;
width: 35px;
height: 35px;
object-fit: cover;
}
.mode-active i {
fill: #fff !important;
}

View File

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="en">
<head>
@include('partials.admin._meta')
@include('partials.admin._css')
</head>
<body onload="startTime()">
@include('partials.admin._loader')
<div class="tap-top"><i data-feather="chevrons-up"></i></div>
<div class="page-wrapper compact-wrapper" id="pageWrapper">
@include('partials.admin._header')
<div class="page-body-wrapper">
@include('partials.admin._sidebar')
<div class="page-body">
@include('partials.admin._page-title')
@yield('app')
</div>
@include('partials.admin._footer')
</div>
</div>
@include('partials.admin._js')
</body>
</html>

View File

@ -0,0 +1,56 @@
@extends('layouts.admin')
@section('styles')
@endsection
@section('app')
<div class="container-fluid">
<div class="row widget-grid">
<div class="col-xxl-4 col-sm-6 box-col-6">
<div class="card profile-box">
<div class="card-body">
<div class="media media-wrapper justify-content-between">
<div class="media-body">
<div class="greeting-user">
<h4 class="f-w-600">Selamat Datang</h4>
<p style="max-width: 70%">Inilah yang terjadi di akun Anda hari ini</p>
<div class="whatsnew-btn"></div>
</div>
</div>
<div>
<div class="clockbox">
<svg id="clock" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600">
<g id="face">
<circle class="circle" cx="300" cy="300" r="253.9"></circle>
<path class="hour-marks"
d="M300.5 94V61M506 300.5h32M300.5 506v33M94 300.5H60M411.3 107.8l7.9-13.8M493 190.2l13-7.4M492.1 411.4l16.5 9.5M411 492.3l8.9 15.3M189 492.3l-9.2 15.9M107.7 411L93 419.5M107.5 189.3l-17.1-9.9M188.1 108.2l-9-15.6">
</path>
<circle class="mid-circle" cx="300" cy="300" r="16.2"></circle>
</g>
<g id="hour">
<path class="hour-hand" d="M300.5 298V142"></path>
<circle class="sizing-box" cx="300" cy="300" r="253.9"></circle>
</g>
<g id="minute">
<path class="minute-hand" d="M300.5 298V67"> </path>
<circle class="sizing-box" cx="300" cy="300" r="253.9"></circle>
</g>
<g id="second">
<path class="second-hand" d="M300.5 350V55"></path>
<circle class="sizing-box" cx="300" cy="300" r="253.9"> </circle>
</g>
</svg>
</div>
<div class="badge f-10 p-0" id="txt"></div>
</div>
</div>
<div class="cartoon">
<img class="img-fluid" src="{{ asset('assets/admin/images/barber.png') }}" style="width: 60%"
alt="barber">
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('scripts')
@endsection

View File

@ -0,0 +1,12 @@
<link rel="icon" href="{{ asset('assets/admin/images/logo/logo-icon.png') }}" type="image/x-icon">
<link rel="shortcut icon" href="{{ asset('assets/admin/images/favicon.png') }}" type="image/x-icon">
<link href="https://fonts.googleapis.com/css?family=Rubik:400,400i,500,500i,700,700i&amp;display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i,900&amp;display=swap"
rel="stylesheet">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/font-awesome.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/vendors/feather-icon.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/vendors/scrollbar.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/vendors/bootstrap.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/style.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/responsive.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/custom.css') }}">

View File

@ -0,0 +1,9 @@
<footer class="footer">
<div class="container-fluid">
<div class="row">
<div class="col-md-12 footer-copyright text-center">
<p class="mb-0">Copyright 2023 © Cuba theme by pixelstrap </p>
</div>
</div>
</div>
</footer>

View File

@ -0,0 +1,60 @@
<div class="page-header">
<div class="header-wrapper row m-0">
<div class="header-logo-wrapper col-auto p-0">
<div class="logo-wrapper">
<a href="{{ route('dashboard.overview') }}">
<img class="img-fluid for-light" src="{{ asset('assets/admin/images/logo/logo.png') }}" alt="image">
<img class="img-fluid for-dark" src="{{ asset('assets/admin/images/logo/logo_dark.png') }}"
alt="image"></a>
</div>
<div class="toggle-sidebar">
<i class="status_toggle middle sidebar-toggle" data-feather="align-center"></i>
</div>
</div>
<div class="nav-right col-xxl-7 col-xl-6 col-md-7 col-8 pull-right right-header p-0 ms-auto">
<ul class="nav-menus">
<li>
<div class="mode">
<i data-feather="moon"></i>
</div>
</li>
<li>
<div class="mode">
<i data-feather="monitor"></i>
</div>
</li>
<li class="profile-nav onhover-dropdown pe-0 py-0">
<div class="media profile-media">
<img src="{{ asset('assets/admin/images/avatar/speed.jpeg') }}" alt="image">
<div class="media-body">
<span>Ishowspeed</span>
<p class="mb-0">Admin <i class="middle fa fa-angle-down"></i></p>
</div>
</div>
<ul class="profile-dropdown onhover-show-div">
<li>
<a href="sign-up.html">
<i data-feather="user"></i>
<span>Profil </span></a>
</li>
<li>
<a href="sign-up.html">
<i data-feather="arrow-left"></i>
<span>Keluar </span></a>
</li>
</ul>
</li>
</ul>
</div>
<script class="result-template" type="text/x-handlebars-template">
<div class="ProfileCard u-cf">
<div class="ProfileCard-avatar">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-airplay m-0"><path d="M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"></path><polygon points="12 15 17 21 7 21 12 15"></polygon>
</svg>
</div>
<div class="ProfileCard-details">
</div>
</div>
</script>
</div>
</div>

View File

@ -0,0 +1,13 @@
<script src="{{ asset('assets/admin/js/jquery.min.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/bootstrap.bundle.min.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/icons/feather-icon/feather.min.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/icons/feather-icon/feather-icon.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/scrollbar/simplebar.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/scrollbar/custom.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/config.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/sidebar-menu.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/sidebar-pin.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/clock.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/dashboard.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/height-equal.js?ver=1.0.0') }}"></script>
<script src="{{ asset('assets/admin/js/script.js?ver=1.0.0') }}"></script>

View File

@ -0,0 +1,11 @@
<div class="loader-wrapper">
<div class="loader-index"> <span></span></div>
<svg>
<defs></defs>
<filter id="goo">
<fegaussianblur in="SourceGraphic" stddeviation="11" result="blur"></fegaussianblur>
<fecolormatrix in="blur" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 19 -9" result="goo">
</fecolormatrix>
</filter>
</svg>
</div>

View File

@ -0,0 +1,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Barbershop - Pesan Mudah dan Cepat">
<meta name="description"
content="Nikmati pengalaman cukur rambut terbaik dengan aplikasi barbershop kami. Pesan layanan cukur, potong rambut, dan grooming dengan mudah dan cepat.">
<meta name="keywords" content="barbershop, potong rambut, cukur rambut, booking barbershop, layanan grooming">
<meta name="author" content="Barbershop">
<title>{{ $pageTitle }} - Barbershop</title>

View File

@ -0,0 +1,9 @@
<div class="container-fluid">
<div class="page-title">
<div class="row">
<div class="col-6">
<h4>{{ $pageTitle }}</h4>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,58 @@
<div class="sidebar-wrapper" data-sidebar-layout="stroke-svg">
<div>
<div class="logo-wrapper">
<a href="{{ route('dashboard.overview') }}">
<img class="img-fluid for-light" src="{{ asset('assets/admin/images/logo/logo.png') }}" alt="image">
<img class="img-fluid for-dark" src="{{ asset('assets/admin/images/logo/logo-dark.png') }}" alt="image">
</a>
<div class="back-btn">
<i class="fa fa-angle-left"></i>
</div>
<div class="toggle-sidebar">
<i class="status_toggle middle sidebar-toggle" data-feather="grid"> </i>
</div>
</div>
<div class="logo-icon-wrapper">
<a href="{{ route('dashboard.overview') }}">
<img class="img-fluid" src="{{ asset('assets/admin/images/logo/logo-icon.png') }}" alt="image">
</a>
</div>
<nav class="sidebar-main">
<div class="left-arrow" id="left-arrow">
<i data-feather="arrow-left"></i>
</div>
<div id="sidebar-menu">
<ul class="sidebar-links" id="simple-bar">
<li class="back-btn">
<a href="{{ route('dashboard.overview') }}">
<img class="img-fluid" src="{{ asset('assets/admin/images/logo/logo-icon.png') }}"
alt="image">
</a>
<div class="mobile-back text-end">
<span>Back</span>
<i class="fa fa-angle-right ps-2" aria-hidden="true"></i>
</div>
</li>
<li class="pin-title sidebar-main-title">
<div>
<h6>Disematkan</h6>
</div>
</li>
<li class="sidebar-main-title">
<div>
<h6>Dasbor</h6>
</div>
</li>
<li class="sidebar-list">
<i class="fa fa-thumb-tack"></i>
<a class="sidebar-link sidebar-title link-nav" href="{{ route('dashboard.overview') }}">
<i data-feather="home"></i>
<span>Ringkasan</span>
</a>
</li>
</ul>
</div>
<div class="right-arrow" id="right-arrow"><i data-feather="arrow-right"></i></div>
</nav>
</div>
</div>

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,14 @@
<?php
use App\Http\Controllers\Admin\Dashboard\OverviewController;
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
// Route::group([
// 'middleware' => 'auth',
// 'prefix' => 'dashboard',
// ], function () {
// });
Route::prefix('dashboard')->group(function () {
Route::get('overview', [OverviewController::class, 'index'])->name('dashboard.overview');
});