add the AdminLTE and bootstrap files
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
|
||||
<!--begin::App Content Header-->
|
||||
<div class="app-content-header">
|
||||
<!--begin::Container-->
|
||||
<div class="container-fluid">
|
||||
<!--begin::Row-->
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<ol class="breadcrumb float-sm-start">
|
||||
<li class="breadcrumb-item"><a href="initial">Home</a></li>
|
||||
<li class="breadcrumb-item active" aria-current="page"><%= $c->current_route %></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
|
||||
</div>
|
||||
<!--end::Container-->
|
||||
</div>
|
||||
<!--end::App Content Header-->
|
||||
|
@@ -0,0 +1,45 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<!-- Default box -->
|
||||
|
||||
|
||||
<div class="card">
|
||||
|
||||
|
||||
<div class="card-header">
|
||||
|
||||
|
||||
<h3 class="card-title">Title</h3>
|
||||
|
||||
|
||||
<div class="card-tools">
|
||||
<button type="button" class="btn btn-tool" data-lte-toggle="card-collapse"
|
||||
title="Collapse">
|
||||
<i data-lte-icon="expand" class="bi bi-plus-lg"></i>
|
||||
<i data-lte-icon="collapse" class="bi bi-dash-lg"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove"
|
||||
title="Remove">
|
||||
<i class="bi bi-x-lg"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- card body -->
|
||||
<div class="card-body">Start creating your amazing application!</div>
|
||||
<!-- /.card-body -->
|
||||
|
||||
<!-- card footer -->
|
||||
<div class="card-footer">Footer</div>
|
||||
<!-- /.card-footer-->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- /.card -->
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,19 @@
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-sm-6">
|
||||
<h1>PAGE TITLE</h1>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3>test Breadcrumb</h3>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<ol class="breadcrumb float-sm-right">
|
||||
<li class="breadcrumb-item"><a href="#">ROOT MENU</a></li>
|
||||
<li class="breadcrumb-item"><a href="#">SUBMENU 1</a></li>
|
||||
|
||||
<li class="breadcrumb-item"><a href="#">SUBMENU N</a></li>
|
||||
<li class="breadcrumb-item active">PAGE TITLE</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,24 @@
|
||||
|
||||
<!--begin::App Content Header-->
|
||||
<div class="app-content-header">
|
||||
<!--begin::Container-->
|
||||
<div class="container-fluid">
|
||||
<!--begin::Row-->
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<h3 class="mb-0">Main Content Header Unfixed Layout</h3>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<ol class="breadcrumb float-sm-end">
|
||||
<li class="breadcrumb-item"><a href="#">Home</a></li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Unfixed Layout</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
</div>
|
||||
<!--end::Container-->
|
||||
</div>
|
||||
<!--end::App Content Header-->
|
@@ -0,0 +1,5 @@
|
||||
|
||||
<div id="flag-container" class = "flag-style">
|
||||
<!-- class=flag-style" -->
|
||||
<!-- The flag icon will be inserted here -->
|
||||
</div>
|
@@ -0,0 +1,55 @@
|
||||
<div class="login-page bg-body-secondary app-loaded">
|
||||
<!-- /.login-logo -->
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="login-box">
|
||||
<div class="card card-outline card-success">
|
||||
<div class="card-header">
|
||||
<a href="../index2.html" class="link-dark text-center link-offset-2 link-opacity-100 link-opacity-50-hover">
|
||||
<h1 class="mb-0"><b>Koozali</b></h1><br><h3>Server Manager</h3>
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body login-card-body">
|
||||
<p class="login-box-msg">Sign in to start your session</p>
|
||||
<form action="../index3.html" method="post">
|
||||
<div class="input-group mb-1">
|
||||
<div class="form-floating">
|
||||
<input id="loginEmail" type="email" class="form-control" value="" placeholder="">
|
||||
<label for="loginEmail">User</label>
|
||||
</div>
|
||||
<div class="input-group-text"><span class="bi bi-envelope"></span></div>
|
||||
</div>
|
||||
<div class="input-group mb-1">
|
||||
<div class="form-floating">
|
||||
<input id="loginPassword" type="password" class="form-control" placeholder="">
|
||||
<label for="loginPassword">Password</label>
|
||||
</div>
|
||||
<div class="input-group-text"><span class="bi bi-lock-fill"></span></div>
|
||||
</div>
|
||||
<!--begin::Row-->
|
||||
<div class="row">
|
||||
<div class="col-8 d-inline-flex align-items-center">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
|
||||
<label class="form-check-label" for="flexCheckDefault"> Remember Me </label>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
<div class="col-4">
|
||||
<div class="d-grid gap-2">
|
||||
<button type="submit" class="btn btn-primary">Sign In</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
</form>
|
||||
<p class="mb-1"><a href="forgot-password.html">I forgot my password</a></p>
|
||||
</div>
|
||||
<!-- /.login-card-body -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.login-box -->
|
||||
</div>
|
||||
|
@@ -0,0 +1,5 @@
|
||||
|
||||
%= stylesheet '/css/nutups.css'
|
||||
%= javascript '/js/nutups.js'
|
||||
|
||||
|
@@ -0,0 +1,5 @@
|
||||
|
||||
</div>
|
||||
<!-- /.card -->
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,4 @@
|
||||
|
||||
<!-- card footer -->
|
||||
<div class="card-footer">Footer</div>
|
||||
<!-- /.card-footer-->
|
@@ -0,0 +1,7 @@
|
||||
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Card Title <%= $title%></h3>
|
||||
|
||||
%= include 'partials/_panel_card_tools'
|
||||
|
||||
</div>
|
@@ -0,0 +1,12 @@
|
||||
|
||||
<div class="card-tools">
|
||||
<button type="button" class="btn btn-tool" data-lte-toggle="card-collapse"
|
||||
title="Collapse">
|
||||
<i data-lte-icon="expand" class="bi bi-plus-lg"></i>
|
||||
<i data-lte-icon="collapse" class="bi bi-dash-lg"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove"
|
||||
title="Remove">
|
||||
<i class="bi bi-x-lg"></i>
|
||||
</button>
|
||||
</div>
|
@@ -0,0 +1,6 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<!-- Default box -->
|
||||
<div class="card">
|
||||
|
@@ -0,0 +1,66 @@
|
||||
<!-- Main menu -->
|
||||
|
||||
% use SrvMngr qw( getNavigation );
|
||||
% my %nav = %{SrvMngr->getNavigation( $c->languages(), 'A' )};
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<li class="nav-header">tmpl: _navig2</li>
|
||||
% }
|
||||
|
||||
% # Define a hash mapping headings to icons
|
||||
% my %icon_map = (
|
||||
% "User management" => "bi-people-fill",
|
||||
% "Network" => "bi-shuffle",
|
||||
% "Investigation" => "bi-question",
|
||||
% "System" => "bi-pc-display-horizontal",
|
||||
% "Legacy" => "bi-archive",
|
||||
% );
|
||||
|
||||
<li class="nav-header">ADMINISTRATION</li>
|
||||
|
||||
% my $cc = 100;
|
||||
% foreach my $h (sort { ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'})
|
||||
% <=> ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav) {
|
||||
|
||||
% # Retrieve the icon based on the value of $h
|
||||
% my $icon = $icon_map{$h} // ""; # Default to an empty string if $h is not found
|
||||
|
||||
<!-- Group Header-->
|
||||
<li class="nav-item">
|
||||
<a href='#' class="nav-link">
|
||||
<i class="nav-icon bi <%= $icon %> "></i>
|
||||
<%= $h %>
|
||||
<i class="nav-arrow bi bi-chevron-right"></i>
|
||||
</a>
|
||||
<ul class="nav nav-treeview">
|
||||
|
||||
% my ($classNew, $target, $href) = '';
|
||||
% foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) {
|
||||
% next if ($_->{'MENUCAT'} ne 'A' ); # menu Admin
|
||||
% if ( $_->{'FILENAME'} =~ m/^2\// ) {
|
||||
% $target = '_self';
|
||||
% (my $file2 = $_->{'FILENAME'}) =~ s|^2/||;
|
||||
% $href = '/smanager/' . $file2;
|
||||
% } else {
|
||||
% $target = 'main';
|
||||
% my $host = $c->req->url->to_abs->host;
|
||||
% $href = "/smanager/legacypanel?url=https://$host/server-manager" . $_->{'FILENAME'};
|
||||
%
|
||||
% }
|
||||
|
||||
<li class="nav-item">
|
||||
<a target='<%= $target %>' href='<%= $href %>' class="nav-link">
|
||||
<i class="nav-icon bi bi-dot"></i>
|
||||
<%= $_->{'DESCRIPTION'} %>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
<!-- End trying tree view menus -->
|
||||
% $cc++;
|
||||
% }
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
% }
|
||||
|
@@ -0,0 +1,65 @@
|
||||
<!-- Support menu -->
|
||||
|
||||
% use SrvMngr qw( getNavigation );
|
||||
% my %nav = %{SrvMngr->getNavigation( $c->languages(), 'N' )};
|
||||
|
||||
% # Define a hash mapping headings to icons
|
||||
% my %icon_map = (
|
||||
% "Home" => "bi-house",
|
||||
% "Online manual" => "bi-book",
|
||||
% "Support and licensing" => "bi-card-text",
|
||||
% );
|
||||
|
||||
% my $cc = 200;
|
||||
% foreach my $h (sort { ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'})
|
||||
% <=> ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav)
|
||||
% {
|
||||
%
|
||||
|
||||
%#if (config->{debug} == 1) {
|
||||
<!-- <li class="nav-header">tmpl: _nav_menu</li> -->
|
||||
%# }
|
||||
|
||||
<!-- Add the section header -->
|
||||
<li class="nav-header"><%= $h %></li>
|
||||
|
||||
<!-- Then loop and add the actual links -->
|
||||
% my ($classNew, $target, $href) = '';
|
||||
% foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) {
|
||||
% next if ($_->{'MENUCAT'} ne 'N' ); # menu Navigation
|
||||
% if ( $_->{'FILENAME'} =~ m/^2\// ) {
|
||||
% $target = '_self';
|
||||
% (my $file2 = $_->{'FILENAME'}) =~ s|^2/||;
|
||||
% $href = '/smanager/' . $file2;
|
||||
% } else {
|
||||
% $target = 'main';
|
||||
% $href = '/server-manager' . $_->{'FILENAME'};
|
||||
% }
|
||||
|
||||
|
||||
% # Retrieve the icon based on the value of $h
|
||||
% my $icon = $icon_map{$_->{'DESCRIPTION'}} // ""; # Default to an empty string if $h is not found
|
||||
|
||||
<li class="nav-item">
|
||||
<a target='<%= $target %>' href='<%= $href %>' class="nav-link">
|
||||
<i class="nav-icon bi <%= $icon %>"></i>
|
||||
<%= $_->{'DESCRIPTION'} %>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
% $cc++;
|
||||
% }
|
||||
|
||||
<!-- Fix missing mobile login button in header -->
|
||||
% if ( not defined $c->session->{username} ) {
|
||||
<li class="nav-item">
|
||||
<a href="login" class="nav-link">
|
||||
<i class="nav-icon bi bi-key"></i>
|
||||
Login</a>
|
||||
</li>
|
||||
|
||||
% }
|
||||
|
||||
% }
|
||||
|
@@ -0,0 +1,49 @@
|
||||
<!-- User menu -->
|
||||
|
||||
% use SrvMngr qw( getNavigation );
|
||||
% my %nav = %{SrvMngr->getNavigation( $c->languages(), 'U' )};
|
||||
|
||||
% # Define a hash mapping headings to icons
|
||||
% my %icon_map = (
|
||||
% "Change password" => "bi-key",
|
||||
% "Logout" => "bi-box-arrow-right",
|
||||
% );
|
||||
|
||||
<li class="nav-header">USER</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a href='#' id="" class="nav-link">
|
||||
<i class="nav-icon bi bi-person-fill"></i>Current User: <%= session 'username' %>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
% my $cc = 300;
|
||||
% foreach my $h (sort { ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'})
|
||||
% <=> ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav) {
|
||||
|
||||
% my ($classNew, $target, $href) = '';
|
||||
% foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) {
|
||||
% next if ($_->{'MENUCAT'} ne 'U' ); # menu User
|
||||
% if ( $_->{'FILENAME'} =~ m/^2\// ) {
|
||||
% $target = '_self';
|
||||
% (my $file2 = $_->{'FILENAME'}) =~ s|^2/||;
|
||||
% $href = '/smanager/' . $file2;
|
||||
% } else {
|
||||
% $target = 'main';
|
||||
% $href = '/server-manager' . $_->{'FILENAME'};
|
||||
% }
|
||||
|
||||
% # Retrieve the icon based on the value of $h
|
||||
% my $icon = $icon_map{$_->{'DESCRIPTION'}} // ""; # Default to an empty string if $h is not found
|
||||
|
||||
<li class="nav-item">
|
||||
<a target='<%= $target %>' href='<%= $href %>' class="nav-link">
|
||||
<i class="nav-icon bi <%= $icon %>"></i>
|
||||
<%= $_->{'DESCRIPTION'} %>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
% $cc++;
|
||||
% }
|
||||
% }
|
||||
|
Reference in New Issue
Block a user