Build modified streamline images

The official image from streamline does not currently work for the arm64
platform. As a temporary measure, the source code and docker build scripts
have been lifted from the official images and are used to build locally.

Some additional modifications are made to reduce overall image size, these
are documented in docker/README.md
This commit is contained in:
2024-03-10 16:17:50 -07:00
parent 2ffc3c408a
commit a424394109
13506 changed files with 1860172 additions and 6 deletions
@@ -0,0 +1,174 @@
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
<title>{{ config('app.name', 'Streamline') }}</title>
<!-- Bootstrap Core CSS -->
<link href="{{ asset('elite/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
<link href="{{ asset('elite/bower_components/bootstrap-extension/css/bootstrap-extension.css') }}" rel="stylesheet">
<!-- Menu CSS -->
<link href="{{ asset('elite/bower_components/sidebar-nav/dist/sidebar-nav.min.css') }}" rel="stylesheet">
<!-- animation CSS -->
<link href="{{ asset('elite/css/animate.css') }}" rel="stylesheet">
<!-- Custom CSS -->
<link href="{{ asset('elite/css/style.css') }}" rel="stylesheet">
<!-- color CSS -->
<link href="{{ asset('elite/css/colors/green-dark.css') }}" id="theme" rel="stylesheet">
<!-- Streamline - custom -->
<link href="{{ asset('css/streamline-custom.css') }}" id="theme" rel="stylesheet">
<style type="text/css">
body{
font-size: 13px;
line-height: 1.2;
}
.fingerprint_box {
height: 280px;
width: 250px;
border: 3px solid green;
border-radius: 20px;
margin: 1rem 0;
background-color: rgb(247, 247, 247);
background-position: center;
background-size: contain;
background-repeat: no-repeat;
}
</style>
@stack('styles')
</head>
<body>
<!-- Preloader -->
<div class="preloader">
<div class="cssload-speeding-wheel"></div>
</div>
<div id="wrapper">
<!-- Top navigation -->
@include('layouts.top')
<!-- .Top navigation -->
@if (session()->has('streamline_setup') == FALSE)
@include('layouts.nav')
@endif
<!-- Page Content -->
<div id="page-wrapper">
<div class="container-fluid" style="background: #708090;">
@yield('content')
</div>
<footer class="footer text-center"> {{ date('Y')}} &copy; Stre@mline {{ __('layout.powered_by') }} Kisiizi Hospital {{ __('layout.and') }} Innovation Streams Ltd - {{ __('layout.version_number') }} - </footer>
</div>
</div>
<!-- jQuery -->
<script src="{{ asset('elite/bower_components/jquery/dist/jquery.min.js') }}"></script>
<!-- Bootstrap Core JavaScript -->
<script src="{{ asset('elite/bootstrap/dist/js/tether.min.js') }}"></script>
<script src="{{ asset('elite/bootstrap/dist/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('elite/bower_components/bootstrap-extension/js/bootstrap-extension.min.js') }}"></script>
<!-- Menu Plugin JavaScript -->
<script src="{{ asset('elite/bower_components/sidebar-nav/dist/sidebar-nav.min.js') }}"></script>
<!--slimscroll JavaScript -->
<script src="{{ asset('elite/js/jquery.slimscroll.js') }}"></script>
<!--Wave Effects -->
<script src="{{ asset('elite/js/waves.js') }}"></script>
<!-- Sparkline chart JavaScript -->
<!-- jQuery peity -->
<!-- Custom Theme JavaScript -->
<script src="{{ asset('elite/js/custom.min.js') }}"></script>
<!--Style Switcher -->
<script src="{{ asset('elite/bower_components/styleswitcher/jQuery.style.switcher.js') }}"></script>
<script type="text/javascript">
//Set ajax callbacks
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
// prevent multiple submissions of the forms
$("form").submit(function() {
$(this).submit(function() {
return false;
});
return true;
});
// new click event to capture if the user wants to close the sidebar
$(".open-close-custom").on('click', function () {
if ($("body").hasClass("content-wrapper")) {
$("body").trigger("resize");
$(".sidebar-nav, .slimScrollDiv").css("overflow", "hidden").parent().css("overflow", "visible");
$("body").removeClass("content-wrapper");
$(".open-close i").addClass("icon-arrow-left-circle");
$(".logo span").show();
localStorage.setItem("sidebarState", "0");
} else {
$("body").trigger("resize");
$(".sidebar-nav, .slimScrollDiv").css("overflow-x", "visible").parent().css("overflow", "visible");
$("body").addClass("content-wrapper");
$(".open-close i").removeClass("icon-arrow-left-circle");
$(".logo span").hide();
localStorage.setItem("sidebarState", "1");
}
});
$(window).load(function() {
// once all the window elements have loaded, check state of the sidebar
let sidebarState = localStorage.getItem("sidebarState");
if (sidebarState == 1){
// if the sidebar status is hidden, hide the sidebar
$("body").trigger("resize");
$(".sidebar-nav, .slimScrollDiv").css("overflow-x", "visible").parent().css("overflow", "visible");
$("body").addClass("content-wrapper");
$(".open-close i").removeClass("icon-arrow-left-circle");
$(".logo span").hide();
}
});
// Start of Logout user after inactivity time exceeds session expiration time implementation
var sessionTimeoutId;
var session_expiration_time = "<?php echo session('session_expiration_time', 60) * 60000; ?>" || (60 * 60000); // defaults to 60 minutes in milliseconds
const handleLogout = () => {
// Call the logout API endpoint
$.ajax({
url: "<?php echo route('logout'); ?>",
method: 'POST',
success: function(response) {
// Redirect the user to the login page
window.location.href = "<?php echo route('login'); ?>";
window.location.reload();
}
});
}
$(document).ready(function() {
sessionTimeoutId = setTimeout(function() {
handleLogout();
}, session_expiration_time);
});
$(document).on('mousemove keypress', function() { // Track Activity
clearTimeout(sessionTimeoutId);
sessionTimeoutId = setTimeout(function() {
handleLogout();
}, session_expiration_time);
});
// End of Logout user after inactivity time exceeds session expiration time implementation
</script>
@stack('scripts')
<script src="{{ asset('elite/bower_components/styleswitcher/jQuery.style.switcher.js') }}"></script>
</body>
</html>