add the AdminLTE and bootstrap files

This commit is contained in:
John Crisp
2025-04-15 16:33:00 +02:00
parent 02e63c6403
commit 038bafa69c
2079 changed files with 14113 additions and 0 deletions

View File

@@ -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-->

View File

@@ -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>

View File

@@ -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>

View File

@@ -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-->

View File

@@ -0,0 +1,5 @@
<div id="flag-container" class = "flag-style">
<!-- class=flag-style" -->
<!-- The flag icon will be inserted here -->
</div>

View File

@@ -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>

View File

@@ -0,0 +1,5 @@
%= stylesheet '/css/nutups.css'
%= javascript '/js/nutups.js'

View File

@@ -0,0 +1,5 @@
</div>
<!-- /.card -->
</div>
</div>

View File

@@ -0,0 +1,4 @@
<!-- card footer -->
<div class="card-footer">Footer</div>
<!-- /.card-footer-->

View File

@@ -0,0 +1,7 @@
<div class="card-header">
<h3 class="card-title">Card Title <%= $title%></h3>
%= include 'partials/_panel_card_tools'
</div>

View File

@@ -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>

View File

@@ -0,0 +1,6 @@
<div class="row">
<div class="col-12">
<!-- Default box -->
<div class="card">

View File

@@ -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>
% }

View File

@@ -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>
% }
% }

View File

@@ -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++;
% }
% }