mirror of
https://github.com/grocy/grocy.git
synced 2025-08-20 04:12:59 +00:00
Start upgrading top Bootstrap 4
This commit is contained in:
@@ -1,65 +1,65 @@
|
||||
|
||||
<ul class="nav navbar-nav sidebar-nav">
|
||||
<li data-nav-for-page="stockoverview">
|
||||
<ul class="nav flex-column sidebar-nav">
|
||||
<li class="nav-item" data-nav-for-page="stockoverview">
|
||||
<a class="discrete-link" href="{{ $U('/stockoverview') }}"><i class="fa fa-tachometer fa-fw"></i> {{ $L('Stock overview') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="habitsoverview">
|
||||
<li class="nav-item" data-nav-for-page="habitsoverview">
|
||||
<a class="discrete-link" href="{{ $U('/habitsoverview') }}"><i class="fa fa-tachometer fa-fw"></i> {{ $L('Habits overview') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="batteriesoverview">
|
||||
<li class="nav-item" data-nav-for-page="batteriesoverview">
|
||||
<a class="discrete-link" href="{{ $U('/batteriesoverview') }}"><i class="fa fa-tachometer fa-fw"></i> {{ $L('Batteries overview') }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="discrete-content-separator-2x"></div>
|
||||
|
||||
<ul class="nav navbar-nav sidebar-nav">
|
||||
<li class="disabled"><a href="#"><strong>{{ $L('Record data') }}</strong></a></li>
|
||||
<li data-nav-for-page="purchase">
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item" class="disabled"><a href="#"><strong>{{ $L('Record data') }}</strong></a></li>
|
||||
<li class="nav-item" data-nav-for-page="purchase">
|
||||
<a class="discrete-link" href="{{ $U('/purchase') }}"><i class="fa fa-shopping-cart fa-fw"></i> {{ $L('Purchase') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="consume">
|
||||
<li class="nav-item" data-nav-for-page="consume">
|
||||
<a class="discrete-link" href="{{ $U('/consume') }}"><i class="fa fa-cutlery fa-fw"></i> {{ $L('Consume') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="shoppinglist">
|
||||
<li class="nav-item" data-nav-for-page="shoppinglist">
|
||||
<a class="discrete-link" href="{{ $U('/shoppinglist') }}"><i class="fa fa-shopping-bag fa-fw"></i> {{ $L('Shopping list') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="inventory">
|
||||
<li class="nav-item" data-nav-for-page="inventory">
|
||||
<a class="discrete-link" href="{{ $U('/inventory') }}"><i class="fa fa-list fa-fw"></i> {{ $L('Inventory') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="habittracking">
|
||||
<li class="nav-item" data-nav-for-page="habittracking">
|
||||
<a class="discrete-link" href="{{ $U('/habittracking') }}"><i class="fa fa-play fa-fw"></i> {{ $L('Habit tracking') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="batterytracking">
|
||||
<li class="nav-item" data-nav-for-page="batterytracking">
|
||||
<a class="discrete-link" href="{{ $U('/batterytracking') }}"><i class="fa fa-fire fa-fw"></i> {{ $L('Battery tracking') }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="discrete-content-separator-2x"></div>
|
||||
|
||||
<ul class="nav navbar-nav sidebar-nav">
|
||||
<li class="disabled"><a href="#"><strong>{{ $L('Manage master data') }}</strong></a></li>
|
||||
<li data-nav-for-page="products">
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item" class="disabled"><a href="#"><strong>{{ $L('Manage master data') }}</strong></a></li>
|
||||
<li class="nav-item" data-nav-for-page="products">
|
||||
<a class="discrete-link" href="{{ $U('/products') }}"><i class="fa fa-product-hunt fa-fw"></i> {{ $L('Products') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="locations">
|
||||
<li class="nav-item" data-nav-for-page="locations">
|
||||
<a class="discrete-link" href="{{ $U('/locations') }}"><i class="fa fa-map-marker fa-fw"></i> {{ $L('Locations') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="quantityunits">
|
||||
<li class="nav-item" data-nav-for-page="quantityunits">
|
||||
<a class="discrete-link" href="{{ $U('/quantityunits') }}"><i class="fa fa-balance-scale fa-fw"></i> {{ $L('Quantity units') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="habits">
|
||||
<li class="nav-item" data-nav-for-page="habits">
|
||||
<a class="discrete-link" href="{{ $U('/habits') }}"><i class="fa fa-refresh fa-fw"></i> {{ $L('Habits') }}</a>
|
||||
</li>
|
||||
<li data-nav-for-page="batteries">
|
||||
<li class="nav-item" data-nav-for-page="batteries">
|
||||
<a class="discrete-link" href="{{ $U('/batteries') }}"><i class="fa fa-battery-three-quarters fa-fw"></i> {{ $L('Batteries') }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="discrete-content-separator-2x hidden-xs"></div>
|
||||
|
||||
<ul class="nav navbar-nav sidebar-nav nav-copyright">
|
||||
<li>
|
||||
<ul class="nav flex-column nav-copyright">
|
||||
<li class="nav-item">
|
||||
Version {{ $version }}<br>
|
||||
<a class="discrete-link" href="#" data-toggle="modal" data-target="#about-modal">{{ $L('About grocy') }}</a>
|
||||
</li>
|
||||
|
@@ -1,15 +1,15 @@
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">@if(AUTHENTICATED === true){{ HTTP_USER }}@endif <span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<ul class="nav navbar-nav ml-auto">
|
||||
<li class="dropdown nav-item">
|
||||
<a href="#" class="dropdown-toggle nav-link nav-link-navbar" data-toggle="dropdown">@if(AUTHENTICATED === true){{ HTTP_USER }}@endif <span class="caret"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right">
|
||||
<li class="dropdown-item">
|
||||
<a class="discrete-link logout-button" href="{{ $U('/logout') }}"><i class="fa fa-sign-out fa-fw"></i> {{ $L('Logout') }}</a>
|
||||
</li>
|
||||
<li class="divider logout-button"></li>
|
||||
<li>
|
||||
<div class="dropdown-divider"></div>
|
||||
<li class="dropdown-item">
|
||||
<a class="discrete-link" href="{{ $U('/manageapikeys') }}"><i class="fa fa-handshake-o fa-fw"></i> {{ $L('Manage API keys') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
<li class="dropdown-item">
|
||||
<a class="discrete-link" target="_blank" href="{{ $U('/api') }}"><i class="fa fa-book"></i> {{ $L('REST API & data model documentation') }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ CULTURE }}">
|
||||
<html lang="{{ CULTURE }}" class="h-100">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
@@ -17,12 +17,11 @@
|
||||
<link href="{{ $U('/node_modules/font-awesome/css/font-awesome.min.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker3.min.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/node_modules/@danielfarrell/bootstrap-combobox/css/bootstrap-combobox.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/node_modules/datatables.net-bs/css/dataTables.bootstrap.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/node_modules/datatables.net-responsive-bs/css/responsive.bootstrap.min.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/node_modules/datatables.net-bs4/css/dataTables.bootstrap4.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/node_modules/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/node_modules/toastr/build/toastr.min.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/node_modules/tagmanager/tagmanager.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/node_modules/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/node_modules/bootstrap-side-navbar/source/assets/stylesheets/navbar-fixed-side.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/components_unmanaged/noto-sans-v6-latin/noto-sans-v6-latin.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
<link href="{{ $U('/css/grocy.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
@stack('pageStyles')
|
||||
@@ -36,41 +35,31 @@
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav class="navbar navbar-default navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-mobile" >
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{{ $U('/') }}">grocy</a>
|
||||
</div>
|
||||
<body class="h-100">
|
||||
<nav id="top-nav" class="navbar navbar-expand-lg navbar-light py-0">
|
||||
<a class="navbar-brand py-0" href="{{ $U('/') }}">grocy</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-mobile">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div id="navbar" class="navbar-collapse collapse">
|
||||
@include('components.usermenu')
|
||||
</div>
|
||||
<div id="navbar" class="collapse navbar-collapse">
|
||||
@include('components.usermenu')
|
||||
</div>
|
||||
|
||||
<div id="navbar-mobile" class="navbar-collapse collapse">
|
||||
@include('components.menu')
|
||||
@include('components.usermenu')
|
||||
</div>
|
||||
<div id="navbar-mobile" class="collapse navbar-collapse">
|
||||
<!--@include('components.menu')-->
|
||||
@include('components.usermenu')
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="container-fluid h-100">
|
||||
<div class="row h-100">
|
||||
|
||||
<div id="sidebar" class="col-sm-3 col-lg-2">
|
||||
<nav class="navbar navbar-default navbar-fixed-side hidden-xs">
|
||||
<div class="navbar-collapse collapse">
|
||||
@include('components.menu')
|
||||
</div>
|
||||
</nav>
|
||||
<div id="sidebar" class="col-sm-3 col-xl-2 d-none d-lg-block sidebar pt-4">
|
||||
<!--@include('components.menu')-->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-9 col-lg-10">
|
||||
<div class="col pt-4 ml-4 mr-0">
|
||||
@yield('content')
|
||||
</div>
|
||||
|
||||
@@ -115,9 +104,9 @@
|
||||
<script src="{{ $U('/node_modules/bootstrap-validator/dist/validator.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/@danielfarrell/bootstrap-combobox/js/bootstrap-combobox.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/datatables.net/js/jquery.dataTables.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/datatables.net-bs/js/dataTables.bootstrap.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/datatables.net-bs4/js/dataTables.bootstrap4.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/datatables.net-responsive/js/dataTables.responsive.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/datatables.net-responsive-bs/js/responsive.bootstrap.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/timeago/jquery.timeago.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules', true) }}/timeago/locales/jquery.timeago.{{ $L('timeago_locale') }}.js?v={{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/toastr/build/toastr.min.js?v=', true) }}{{ $version }}"></script>
|
||||
|
@@ -9,34 +9,34 @@
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<h1 class="page-header">{{ $L('Stock overview') }} <span class="text-muted small">{{ $L('#1 products with #2 units in stock', count($currentStock), SumArrayValue($currentStock, 'amount')) }}</span></h1>
|
||||
<div class="row">
|
||||
<h1>{{ $L('Stock overview') }} <small class="text-muted">{{ $L('#1 products with #2 units in stock', count($currentStock), SumArrayValue($currentStock, 'amount')) }}</small></h1>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<p class="btn btn-lg btn-warning no-real-button responsive-button">{{ $L('#1 products expiring within the next #2 days', $countExpiringNextXDays, $nextXDays) }}</p>
|
||||
<p class="btn btn-lg btn-danger no-real-button responsive-button">{{ $L('#1 products are already expired', $countAlreadyExpired) }}</p>
|
||||
<p class="btn btn-lg btn-info no-real-button responsive-button">{{ $L('#1 products are below defined min. stock amount', count($missingProducts)) }}</p>
|
||||
<div class="row">
|
||||
<p class="btn btn-lg btn-warning no-real-button responsive-button mr-2">{{ $L('#1 products expiring within the next #2 days', $countExpiringNextXDays, $nextXDays) }}</p>
|
||||
<p class="btn btn-lg btn-danger no-real-button responsive-button mr-2">{{ $L('#1 products are already expired', $countAlreadyExpired) }}</p>
|
||||
<p class="btn btn-lg btn-info no-real-button responsive-button">{{ $L('#1 products are below defined min. stock amount', count($missingProducts)) }}</p>
|
||||
</div>
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-3 pl-0">
|
||||
<label for="location-filter">{{ $L('Filter by location') }}</label>
|
||||
<select class="form-control" id="location-filter">
|
||||
<option value="all">{{ $L('All') }}</option>
|
||||
@foreach($locations as $location)
|
||||
<option value="{{ $location->name }}">{{ $location->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="discrete-content-separator-2x"></div>
|
||||
<div class="row">
|
||||
<div class="col-sm-3 no-gutters">
|
||||
<label for="location-filter">{{ $L('Filter by location') }}</label>
|
||||
<select class="form-control" id="location-filter">
|
||||
<option value="all">{{ $L('All') }}</option>
|
||||
@foreach($locations as $location)
|
||||
<option value="{{ $location->name }}">{{ $location->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<label for="search">{{ $L('Search') }}</label>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-3 pl-0">
|
||||
<label for="search">{{ $L('Search') }}</label>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table id="stock-overview-table" class="table table-striped">
|
||||
<div class="row table-responsive">
|
||||
<table id="stock-overview-table" class="table table-striped table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
@@ -50,14 +50,14 @@
|
||||
@foreach($currentStock as $currentStockEntry)
|
||||
<tr id="product-{{ $currentStockEntry->product_id }}-row" class="@if($currentStockEntry->best_before_date < date('Y-m-d', strtotime('-1 days'))) error-bg @elseif($currentStockEntry->best_before_date < date('Y-m-d', strtotime('+5 days'))) warning-bg @elseif (FindObjectInArrayByPropertyValue($missingProducts, 'id', $currentStockEntry->product_id) !== null) info-bg @endif">
|
||||
<td class="fit-content">
|
||||
<a class="btn btn-success btn-xs product-consume-button" href="#" title="{{ $L('Consume #3 #1 of #2', FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name, FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name, 1) }}"
|
||||
<a class="btn btn-success btn-sm product-consume-button" href="#" title="{{ $L('Consume #3 #1 of #2', FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name, FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name, 1) }}"
|
||||
data-product-id="{{ $currentStockEntry->product_id }}"
|
||||
data-product-name="{{ FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name }}"
|
||||
data-product-qu-name="{{ FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name }}"
|
||||
data-consume-amount="1">
|
||||
<i class="fa fa-cutlery"></i> 1
|
||||
</a>
|
||||
<a id="product-{{ $currentStockEntry->product_id }}-consume-all-button" class="btn btn-danger btn-xs product-consume-button" href="#" title="{{ $L('Consume all #1 which are currently in stock', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name) }}"
|
||||
<a id="product-{{ $currentStockEntry->product_id }}-consume-all-button" class="btn btn-danger btn-sm product-consume-button" href="#" title="{{ $L('Consume all #1 which are currently in stock', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name) }}"
|
||||
data-product-id="{{ $currentStockEntry->product_id }}"
|
||||
data-product-name="{{ FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name }}"
|
||||
data-product-qu-name="{{ FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name }}"
|
||||
|
Reference in New Issue
Block a user