UI changes

This commit is contained in:
Zack Arnett 2020-04-17 20:21:16 -04:00
parent 59650728a2
commit cd6063ce72
66 changed files with 880 additions and 460 deletions

View File

@ -430,3 +430,70 @@ canvas.drawingBuffer {
left: 0; left: 0;
top: 0; top: 0;
} }
.warning-message,
.error-message,
.normal-message {
padding: 12px;
font-weight: bold;
width: fit-content;
border-top: 6px solid;
}
.warning-message {
background-color: #fffaeb;
color: #7c5e10;
border-top-color: #e9b949;
}
.error-message {
background-color: #ffeeee;
color: #780a0a;
border-top-color: #ba2525;
}
.normal-message {
background-color: #e0e8f9;
color: #2d3a8c;
border-top-color: #4c63b6;
}
.status-filter-message,
.user-filter-message {
display: inline-block;
cursor: pointer;
}
#info-current-stock {
font-size: 1.5em;
font-weight: 500;
line-height: 1.2;
}
.related-links .btn {
font-size: 14px;
}
.title {
display: inline-block;
}
.title-related-links {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}
.custom-control-label {
padding-top: 7px;
padding-left: 10px;
}
.custom-control-label::before,
.custom-control-label::after {
top: 0.8rem;
width: 1.25rem;
height: 1.25rem;
}

View File

@ -33,7 +33,7 @@ $("#status-filter").on("change", function()
batteriesOverviewTable.column(4).search(value).draw(); batteriesOverviewTable.column(4).search(value).draw();
}); });
$(".status-filter-button").on("click", function() $(".status-filter-message").on("click", function()
{ {
var value = $(this).data("status-filter"); var value = $(this).data("status-filter");
$("#status-filter").val(value); $("#status-filter").val(value);

View File

@ -52,14 +52,14 @@ $("#user-filter").on("change", function()
} }
}); });
$(".status-filter-button").on("click", function() $(".status-filter-message").on("click", function()
{ {
var value = $(this).data("status-filter"); var value = $(this).data("status-filter");
$("#status-filter").val(value); $("#status-filter").val(value);
$("#status-filter").trigger("change"); $("#status-filter").trigger("change");
}); });
$(".user-filter-button").on("click", function() $(".user-filter-message").on("click", function()
{ {
var value = $(this).data("user-filter"); var value = $(this).data("user-filter");
$("#user-filter").val(value); $("#user-filter").val(value);

View File

@ -68,7 +68,7 @@ $("#selected-shopping-list").on("change", function()
window.location.href = U('/shoppinglist?list=' + value); window.location.href = U('/shoppinglist?list=' + value);
}); });
$(".status-filter-button").on("click", function() $(".status-filter-message").on("click", function()
{ {
var value = $(this).data("status-filter"); var value = $(this).data("status-filter");
$("#status-filter").val(value); $("#status-filter").val(value);

View File

@ -47,7 +47,7 @@ $("#status-filter").on("change", function()
stockOverviewTable.column(5).search(value).draw(); stockOverviewTable.column(5).search(value).draw();
}); });
$(".status-filter-button").on("click", function() $(".status-filter-message").on("click", function()
{ {
var value = $(this).data("status-filter"); var value = $(this).data("status-filter");
$("#status-filter").val(value); $("#status-filter").val(value);

View File

@ -37,7 +37,7 @@ $("#status-filter").on("change", function()
tasksTable.column(5).search(value).draw(); tasksTable.column(5).search(value).draw();
}); });
$(".status-filter-button").on("click", function() $(".status-filter-message").on("click", function()
{ {
var value = $(this).data("status-filter"); var value = $(this).data("status-filter");
$("#status-filter").val(value); $("#status-filter").val(value);

View File

@ -9,9 +9,14 @@
@endpush @endpush
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<form id="barcodescannertesting-form" novalidate> <form id="barcodescannertesting-form" novalidate>

View File

@ -7,22 +7,32 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark" href="{{ $U('/battery/new') }}"> <div class="related-links">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }} <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=batteries') }}">
</a> {{ $__t('Configure userfields') }}
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=batteries') }}"> </a>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} </div>
</a> </div>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/battery/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>

View File

@ -7,8 +7,9 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title')</h1> <h2>@yield('title')</h2>
</div> </div>
<hr>
</div> </div>
<div class="row my-3"> <div class="row my-3">

View File

@ -11,28 +11,40 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title') <div class="title-related-links">
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/batteriesjournal') }}"> <h2 class="title">@yield('title')</h2>
<i class="fas fa-file-alt"></i> {{ $__t('Journal') }} <div class="related-links">
</a> <a class="btn btn-outline-dark responsive-button" href="{{ $U('/batteriesjournal') }}">
</h1> {{ $__t('Journal') }}
<p id="info-due-batteries" data-status-filter="duesoon" data-next-x-days="{{ $nextXDays }}" class="btn btn-lg btn-warning status-filter-button responsive-button mr-2"></p> </a>
<p id="info-overdue-batteries" data-status-filter="overdue" class="btn btn-lg btn-danger status-filter-button responsive-button"></p> </div>
</div>
<hr>
<p id="info-due-batteries" data-status-filter="duesoon" data-next-x-days="{{ $nextXDays }}" class="warning-message status-filter-message responsive-button mr-2"></p>
<p id="info-overdue-batteries" data-status-filter="overdue" class="error-message status-filter-message responsive-button"></p>
</div> </div>
</div> </div>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i> <div class="input-group mb-3">
<select class="form-control" id="status-filter"> <div class="input-group-prepend">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <span class="input-group-text"><i class="fas fa-filter"></i></span>
<option class="bg-warning" value="duesoon">{{ $__t('Due soon') }}</option> </div>
<option class="bg-danger" value="overdue">{{ $__t('Overdue') }}</option> <select class="form-control" id="status-filter">
</select> <option value="all">{{ $__t('All') }}</option>
<option value="duesoon">{{ $__t('Due soon') }}</option>
<option value="overdue">{{ $__t('Overdue') }}</option>
</select>
</div>
</div> </div>
</div> </div>

View File

@ -5,10 +5,14 @@
@section('viewJsName', 'batteriessettings') @section('viewJsName', 'batteriessettings')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<h4 class="mt-2">{{ $__t('Batteries overview') }}</h4> <h4 class="mt-2">{{ $__t('Batteries overview') }}</h4>
@include('components.numberpicker', array( @include('components.numberpicker', array(
'id' => 'batteries_due_soon_days', 'id' => 'batteries_due_soon_days',

View File

@ -9,9 +9,14 @@
@section('viewJsName', 'batteryform') @section('viewJsName', 'batteryform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>

View File

@ -7,8 +7,8 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 col-xl-4 pb-3"> <div class="col-xs-12 col-md-6 col-xl-4 pb-3">
<h1>@yield('title')</h1> <h2>@yield('title')</h2>
<hr>
<form id="batterytracking-form" novalidate> <form id="batterytracking-form" novalidate>
<div class="form-group"> <div class="form-group">

View File

@ -16,14 +16,17 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
<a id="ical-button" class="btn btn-outline-dark" href="#"> <div class="related-links">
<i class="fas fa-calendar-plus"></i>&nbsp;{{ $__t('Share/Integrate calendar (iCal)') }} <a id="ical-button" class="btn btn-outline-dark" href="#">
</a> {{ $__t('Share/Integrate calendar (iCal)') }}
</h1> </a>
</div>
</div>
</div> </div>
</div> </div>
<hr>
<script> <script>
var fullcalendarEventSources = {!! json_encode(array($fullcalendarEventSources)) !!} var fullcalendarEventSources = {!! json_encode(array($fullcalendarEventSources)) !!}

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'choreform') @section('viewJsName', 'choreform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -7,22 +7,32 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark" href="{{ $U('/chore/new') }}"> <div class="related-links">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }} <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=chores') }}">
</a> {{ $__t('Configure userfields') }}
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=chores') }}"> </a>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} </div>
</a> </div>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/chore/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>

View File

@ -7,23 +7,32 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title')</h1> <h2>@yield('title')</h2>
</div> </div>
</div> </div>
<hr>
<div class="row my-3"> <div class="row my-3">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="chore-filter">{{ $__t('Filter by chore') }}</label> <i class="fas fa-filter"></i> <div class="input-group mb-3">
<select class="form-control" id="chore-filter"> <div class="input-group-prepend">
<option value="all">{{ $__t('All') }}</option> <span class="input-group-text"><i class="fas fa-filter"></i></span>
@foreach($chores as $chore) </div>
<option value="{{ $chore->id }}">{{ $chore->name }}</option> <select class="form-control" id="chore-filter">
@endforeach <option value="all">{{ $__t('All') }}</option>
</select> @foreach($chores as $chore)
<option value="{{ $chore->id }}">{{ $chore->name }}</option>
@endforeach
</select>
</div>
</div> </div>
</div> </div>

View File

@ -11,41 +11,59 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title') <div class="title-related-links">
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/choresjournal') }}"> <h2 class="title">@yield('title')</h2>
<i class="fas fa-file-alt"></i> {{ $__t('Journal') }} <div class="related-links">
</a> <a class="btn btn-outline-dark responsive-button" href="{{ $U('/choresjournal') }}">
</h1> {{ $__t('Journal') }}
<p id="info-due-chores" data-status-filter="duesoon" data-next-x-days="{{ $nextXDays }}" class="btn btn-lg btn-warning status-filter-button responsive-button mr-2"></p> </a>
<p id="info-overdue-chores" data-status-filter="overdue" class="btn btn-lg btn-danger status-filter-button responsive-button mr-2"></p> </div>
</div>
<hr>
<p id="info-due-chores" data-status-filter="duesoon" data-next-x-days="{{ $nextXDays }}" class="warning-message status-filter-message responsive-message mr-2"></p>
<p id="info-overdue-chores" data-status-filter="overdue" class="error-message status-filter-message responsive-button mr-2"></p>
@if(GROCY_FEATURE_FLAG_CHORES_ASSIGNMENTS) @if(GROCY_FEATURE_FLAG_CHORES_ASSIGNMENTS)
<p id="info-assigned-to-me-chores" data-user-filter="xx{{ GROCY_USER_ID }}xx" class="btn btn-lg btn-secondary user-filter-button responsive-button"></p> <p id="info-assigned-to-me-chores" data-user-filter="xx{{ GROCY_USER_ID }}xx" class="normal-message user-filter-message responsive-button"></p>
@endif @endif
</div> </div>
</div> </div>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3 d-flex align-items-end">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control input-group-filter" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i> <label for="status-filter">{{ $__t('Status') }}</label>
<select class="form-control input-group-filter" id="status-filter"> <div class="input-group mb-3">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <div class="input-group-prepend">
<option class="bg-warning" value="duesoon">{{ $__t('Due soon') }}</option> <span class="input-group-text"><i class="fas fa-filter"></i></span>
<option class="bg-danger" value="overdue">{{ $__t('Overdue') }}</option> </div>
</select> <select class="form-control" id="status-filter">
<option value="all">{{ $__t('All') }}</option>
<option value="duesoon">{{ $__t('Due soon') }}</option>
<option value="overdue">{{ $__t('Overdue') }}</option>
</select>
</div>
</div> </div>
@if(GROCY_FEATURE_FLAG_CHORES_ASSIGNMENTS) @if(GROCY_FEATURE_FLAG_CHORES_ASSIGNMENTS)
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="user-filter">{{ $__t('Filter by assignment') }}</label> <i class="fas fa-filter"></i> <label for="user-filter">{{ $__t('Assignment') }}</label>
<select class="form-control input-group-filter" id="user-filter"> <div class="input-group mb-3">
<option></option> <div class="input-group-prepend">
@foreach($users as $user) <span class="input-group-text"><i class="fas fa-filter"></i></span>
<option class="@if($user->id == GROCY_USER_ID) bg-secondary text-white @endif" data-user-id="{{ $user->id }}" value="xx{{ $user->id }}xx">{{ $user->display_name }}</option> </div>
@endforeach <select class="form-control" id="user-filter">
</select> <option></option>
@foreach($users as $user)
<option data-user-id="{{ $user->id }}" value="xx{{ $user->id }}xx">{{ $user->display_name }}</option>
@endforeach
</select>
</div>
</div> </div>
@endif @endif
</div> </div>

View File

@ -5,10 +5,14 @@
@section('viewJsName', 'choressettings') @section('viewJsName', 'choressettings')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<h4 class="mt-2">{{ $__t('Chores overview') }}</h4> <h4 class="mt-2">{{ $__t('Chores overview') }}</h4>
@include('components.numberpicker', array( @include('components.numberpicker', array(
'id' => 'chores_due_soon_days', 'id' => 'chores_due_soon_days',

View File

@ -7,8 +7,8 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 col-xl-4 pb-3"> <div class="col-xs-12 col-md-6 col-xl-4 pb-3">
<h1>@yield('title')</h1> <h2>@yield('title')</h2>
<hr>
<form id="choretracking-form" novalidate> <form id="choretracking-form" novalidate>
<div class="form-group"> <div class="form-group">

View File

@ -11,17 +11,20 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 col-xl-4 pb-3"> <div class="col-xs-12 col-md-6 col-xl-4 pb-3">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
@if(!$embedded) <div class="related-links">
<button id="scan-mode-button" class="btn @if(boolval($userSettings['scan_mode_consume_enabled'])) btn-success @else btn-danger @endif" type="checkbox">{{ $__t('Scan mode') }} <span id="scan-mode-status">@if(boolval($userSettings['scan_mode_consume_enabled'])) {{ $__t('on') }} @else {{ $__t('off') }} @endif</span></button> @if(!$embedded)
<input id="scan-mode" type="checkbox" class="d-none user-setting-control" data-setting-key="scan_mode_consume_enabled" @if(boolval($userSettings['scan_mode_consume_enabled'])) checked @endif> <button id="scan-mode-button" class="btn @if(boolval($userSettings['scan_mode_consume_enabled'])) btn-success @else btn-danger @endif" type="checkbox">{{ $__t('Scan mode') }} <span id="scan-mode-status">@if(boolval($userSettings['scan_mode_consume_enabled'])) {{ $__t('on') }} @else {{ $__t('off') }} @endif</span></button>
@else <input id="scan-mode" type="checkbox" class="d-none user-setting-control" data-setting-key="scan_mode_consume_enabled" @if(boolval($userSettings['scan_mode_consume_enabled'])) checked @endif>
<script> @else
Grocy.UserSettings.scan_mode_consume_enabled = false; <script>
</script> Grocy.UserSettings.scan_mode_consume_enabled = false;
@endif </script>
</h1> @endif
</div>
</div>
<hr>
<form id="consume-form" novalidate> <form id="consume-form" novalidate>

View File

@ -8,15 +8,22 @@
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-4 pb-3"> <div class="col-xs-12 col-md-4 pb-3">
<h1> <h2 class="title">@yield('title')</h2>
@yield('title') <hr>
<a class="btn btn-outline-dark" href="{{ $U('/equipment/new') }}">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }}
</a>
</h1>
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="row">
<input type="text" class="form-control" id="search"> <div class="col-xs-12 col-md-4 col-xl-3">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/equipment/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
<table id="equipment-table" class="table table-striped dt-responsive"> <table id="equipment-table" class="table table-striped dt-responsive">
<thead> <thead>

View File

@ -9,11 +9,15 @@
@section('viewJsName', 'equipmentform') @section('viewJsName', 'equipmentform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -7,8 +7,8 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 col-xl-4 pb-3"> <div class="col-xs-12 col-md-6 col-xl-4 pb-3">
<h1>@yield('title')</h1> <h2>@yield('title')</h2>
<hr>
<form id="inventory-form" novalidate> <form id="inventory-form" novalidate>
@include('components.productpicker', array( @include('components.productpicker', array(

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'locationform') @section('viewJsName', 'locationform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -7,22 +7,32 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark" href="{{ $U('/location/new') }}"> <div class="related-links">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }} <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=locations') }}">
</a> {{ $__t('Configure userfields') }}
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=locations') }}"> </a>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} </div>
</a> </div>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/location/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>

View File

@ -11,19 +11,27 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <h2>
@yield('title') @yield('title')
<a class="btn btn-outline-dark" href="{{ $U('/manageapikeys/new') }}"> </h2>
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }}
</a>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/manageapikeys/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>

View File

@ -27,11 +27,12 @@
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <h2>
@yield('title') @yield('title')
</h1> </h2>
</div> </div>
</div> </div>
<hr>
<div class="row"> <div class="row">
<div class="col"> <div class="col">

View File

@ -21,10 +21,13 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'productgroupform') @section('viewJsName', 'productgroupform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -7,22 +7,32 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark" href="{{ $U('/productgroup/new') }}"> <div class="related-links">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }} <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=product_groups') }}">
</a> {{ $__t('Configure userfields') }}
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=product_groups') }}"> </a>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} </div>
</a> </div>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/productgroup/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>

View File

@ -7,34 +7,49 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark" href="{{ $U('/product/new') }}"> <div class="related-links">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }} <a class="btn btn-outline-secondary mb-1" href="{{ $U('/userfields?entity=products') }}">
</a> {{ $__t('Configure userfields') }}
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=products') }}"> </a>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} <a class="btn btn-outline-secondary mb-1" href="{{ $U('/stocksettings#productpresets') }}">
</a> {{ $__t('Presets for new products') }}
<a class="btn btn-outline-secondary" href="{{ $U('/stocksettings#productpresets') }}"> </a>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Presets for new products') }} </div>
</a> </div>
</h1> <hr>
</div> </div>
</div> </div>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/product/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="location-filter">{{ $__t('Filter by product group') }}</label> <i class="fas fa-filter"></i> <div class="input-group mb-3">
<select class="form-control" id="product-group-filter"> <div class="input-group-prepend">
<option value="all">{{ $__t('All') }}</option> <span class="input-group-text"><i class="fas fa-filter"></i></span>
@foreach($productGroups as $productGroup) </div>
<option value="{{ $productGroup->id }}">{{ $productGroup->name }}</option> <select class="form-control" id="location-filter">
@endforeach <option value="all">{{ $__t('All') }}</option>
</select> @foreach($productGroups as $productGroup)
<option value="{{ $productGroup->id }}">{{ $productGroup->name }}</option>
@endforeach
</select>
</div>
</div> </div>
</div> </div>

View File

@ -11,17 +11,20 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 col-xl-4 pb-3"> <div class="col-xs-12 col-md-6 col-xl-4 pb-3">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
@if(!$embedded) <div class="related-links">
<button id="scan-mode-button" class="btn @if(boolval($userSettings['scan_mode_purchase_enabled'])) btn-success @else btn-danger @endif" type="checkbox">{{ $__t('Scan mode') }} <span id="scan-mode-status">@if(boolval($userSettings['scan_mode_purchase_enabled'])) {{ $__t('on') }} @else {{ $__t('off') }} @endif</span></button> @if(!$embedded)
<input id="scan-mode" type="checkbox" class="d-none user-setting-control" data-setting-key="scan_mode_purchase_enabled" @if(boolval($userSettings['scan_mode_purchase_enabled'])) checked @endif> <button id="scan-mode-button" class="btn @if(boolval($userSettings['scan_mode_purchase_enabled'])) btn-success @else btn-danger @endif" type="checkbox">{{ $__t('Scan mode') }} <span id="scan-mode-status">@if(boolval($userSettings['scan_mode_purchase_enabled'])) {{ $__t('on') }} @else {{ $__t('off') }} @endif</span></button>
@else <input id="scan-mode" type="checkbox" class="d-none user-setting-control" data-setting-key="scan_mode_purchase_enabled" @if(boolval($userSettings['scan_mode_purchase_enabled'])) checked @endif>
<script> @else
Grocy.UserSettings.scan_mode_purchase_enabled = false; <script>
</script> Grocy.UserSettings.scan_mode_purchase_enabled = false;
@endif </script>
</h1> @endif
</div>
</div>
<hr>
<form id="purchase-form" novalidate> <form id="purchase-form" novalidate>

View File

@ -9,10 +9,15 @@
@section('viewJsName', 'quantityunitconversionform') @section('viewJsName', 'quantityunitconversionform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
@if($product != null) @if($product != null)
<h3 class="text-muted">{{ $__t('Override for product') }} <strong>{{ $product->name }}</strong></h3> <h3 class="text-muted">{{ $__t('Override for product') }} <strong>{{ $product->name }}</strong></h3>
@else @else

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'quantityunitform') @section('viewJsName', 'quantityunitform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -9,10 +9,14 @@
@endpush @endpush
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<form id="quantityunitpluraltesting-form" novalidate> <form id="quantityunitpluraltesting-form" novalidate>
<div class="form-group"> <div class="form-group">

View File

@ -7,22 +7,32 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark" href="{{ $U('/quantityunit/new') }}"> <div class="related-links">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }} <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=quantity_units') }}">
</a> {{ $__t('Configure userfields') }}
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=quantity_units') }}"> </a>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} </div>
</a> </div>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/quantityunit/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>

View File

@ -20,8 +20,8 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title')</h1> <h2>@yield('title')</h2>
<hr>
<script> <script>
Grocy.EditMode = '{{ $mode }}'; Grocy.EditMode = '{{ $mode }}';
Grocy.QuantityUnits = {!! json_encode($quantityunits) !!}; Grocy.QuantityUnits = {!! json_encode($quantityunits) !!};

View File

@ -9,9 +9,14 @@
@section('viewJsName', 'recipeposform') @section('viewJsName', 'recipeposform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 col-xl-5 pb-3"> <div class="col-xs-12 col-md-6 col-xl-5 pb-3">
<h1>@yield('title')</h1>
<h3 class="text-muted">{{ $__t('Recipe') }} <strong>{{ $recipe->name }}</strong></h3> <h3 class="text-muted">{{ $__t('Recipe') }} <strong>{{ $recipe->name }}</strong></h3>
<script> <script>

View File

@ -13,27 +13,40 @@
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 pb-3"> <div class="col-xs-12 col-md-6 pb-3">
<h1> <div>
@yield('title') <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark" href="{{ $U('/recipe/new') }}"> </div>
<i class="fas fa-plus"></i> {{ $__t('Add') }} <hr>
</a>
</h1>
<div class="row"> <div class="row">
<div class="col-6"> <div class="col-xs-12 col-md-4 col-xl-2">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/recipe/new') }}">
<input type="text" class="form-control" id="search"> {{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-6">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
<div class="col-6"> <div class="col-xs-12 col-md-6 col-xl-6">
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i> <div class="input-group mb-3">
<select class="form-control" id="status-filter"> <div class="input-group-prepend">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <span class="input-group-text"><i class="fas fa-filter"></i></span>
<option class="bg-success" value="enoughtinstock">{{ $__t('Enough in stock') }}</option> </div>
<option class="bg-warning" value="enoughinstockwithshoppinglist">{{ $__t('Not enough in stock, but already on the shopping list') }}</option> <select class="form-control" id="status-filter">
<option class="bg-danger" value="notenoughinstock">{{ $__t('Not enough in stock') }}</option> <option value="all">{{ $__t('All') }}</option>
</select> <option value="enoughtinstock">{{ $__t('Enough in stock') }}</option>
<option value="enoughinstockwithshoppinglist">{{ $__t('Not enough in stock, but already on the shopping list') }}</option>
<option value="notenoughinstock">{{ $__t('Not enough in stock') }}</option>
</select>
</div>
</div> </div>
</div> </div>

View File

@ -5,10 +5,14 @@
@section('viewJsName', 'recipessettings') @section('viewJsName', 'recipessettings')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<h4 class="mt-2">{{ $__t('Recipe card') }}</h4> <h4 class="mt-2">{{ $__t('Recipe card') }}</h4>
<div class="form-group"> <div class="form-group">
<div class="checkbox"> <div class="checkbox">

View File

@ -22,87 +22,92 @@
@endpush @endpush
@section('content') @section('content')
@if(GROCY_FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS)
<div class="row border-bottom pb-2 mb-2 d-print-none hide-on-fullscreen-card">
<div class="col-xs-12 col-md-4">
<label for="selected-shopping-list">{{ $__t('Selected shopping list') }}</label>
<select class="form-control" id="selected-shopping-list">
@foreach($shoppingLists as $shoppingList)
<option @if($shoppingList->id == $selectedShoppingListId) selected="selected" @endif value="{{ $shoppingList->id }}">{{ $shoppingList->name }}</option>
@endforeach
</select>
</div>
<div class="col-xs-12 col-md-8">
<label for="selected-shopping-list">&nbsp;</label><br>
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/shoppinglist/new') }}">
<i class="fas fa-plus"></i> {{ $__t('New shopping list') }}
</a>
<a id="delete-selected-shopping-list" class="btn btn-outline-danger responsive-button @if($selectedShoppingListId == 1) disabled @endif" href="#">
<i class="fas fa-trash"></i> {{ $__t('Delete shopping list') }}
</a>
<a id="print-shopping-list-button" class="btn btn-outline-dark responsive-button" href="#">
<i class="fas fa-print"></i> {{ $__t('Print') }}
</a>
<a id="shopping-list-compact-view-button" class="btn btn-outline-dark responsive-button switch-view-mode-button" href="#">
<i class="fas fa-compress-arrows-alt"></i> {{ $__t('Compact view') }}
</a>
<!--<div class="dropdown d-inline-block">
<button class="btn btn-outline-dark responsive-button dropdown-toggle" data-toggle="dropdown"><i class="fas fa-file-export"></i> {{ $__t('Output') }}</button>
<div class="dropdown-menu">
<a id="print-shopping-list-button" class="dropdown-item" href="#"><i class="fas fa-print"></i> {{ $__t('Print') }}</a>
</div>
</div>-->
</div>
</div>
@else
<input type="hidden" name="selected-shopping-list" id="selected-shopping-list" value="1">
@endif
<div class="row d-print-none hide-on-fullscreen-card"> <div class="row d-print-none hide-on-fullscreen-card">
<div class="col"> <div class="col">
<h1> <div class="row">
@yield('title') <h2 class="col-sm-12 col-md-6 mb-2">@yield('title')</h2>
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/shoppinglistitem/new?list=' . $selectedShoppingListId) }}"> @if(GROCY_FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS)
<i class="fas fa-plus"></i> {{ $__t('Add item') }} <div class="col-sm-12 col-md-6 d-flex align-items-end flex-wrap">
</a> <div class="d-inline-block flex-grow-1 pr-1 mb-1">
<a id="clear-shopping-list" class="btn btn-outline-danger responsive-button @if($listItems->count() == 0) disabled @endif" href="#"> <select class="form-control form-control-sm" id="selected-shopping-list">
<i class="fas fa-trash"></i> {{ $__t('Clear list') }} @foreach($shoppingLists as $shoppingList)
</a> <option @if($shoppingList->id == $selectedShoppingListId) selected="selected" @endif value="{{ $shoppingList->id }}">{{ $shoppingList->name }}</option>
<a id="add-products-below-min-stock-amount" class="btn btn-outline-primary responsive-button" href="#"> @endforeach
<i class="fas fa-cart-plus"></i> {{ $__t('Add products that are below defined min. stock amount') }} </select>
</a> </div>
<a id="add-all-items-to-stock-button" class="btn btn-outline-primary responsive-button" href="#"> <div class="d-inline-block mb-1">
<i class="fas fa-box"></i> {{ $__t('Add all list items to stock') }} <a class="btn btn-outline-dark btn-sm responsive-button" href="{{ $U('/shoppinglist/new') }}">
</a> {{ $__t('New shopping list') }}
@if(!GROCY_FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS) </a>
<a id="shopping-list-compact-view-button" class="btn btn-outline-dark responsive-button switch-view-mode-button" href="#"> <a id="delete-selected-shopping-list" class="btn btn-outline-danger btn-sm responsive-button @if($selectedShoppingListId == 1) disabled @endif" href="#">
<i class="fas fa-compress-arrows-alt"></i> {{ $__t('Compact view') }} {{ $__t('Delete shopping list') }}
</a> </a>
<a id="print-shopping-list-button" class="btn btn-outline-dark btn-sm responsive-button" href="#">
{{ $__t('Print') }}
</a>
<!--<div class="dropdown d-inline-block">
<button class="btn btn-outline-dark responsive-button dropdown-toggle" data-toggle="dropdown"><i class="fas fa-file-export"></i> {{ $__t('Output') }}</button>
<div class="dropdown-menu">
<a id="print-shopping-list-button" class="dropdown-item" href="#"><i class="fas fa-print"></i> {{ $__t('Print') }}</a>
</div>
</div>-->
</div>
</div>
@else
<input type="hidden" name="selected-shopping-list" id="selected-shopping-list" value="1">
@endif @endif
</h1> </div>
<p data-status-filter="belowminstockamount" class="btn btn-lg btn-info status-filter-button responsive-button">{{ $__n(count($missingProducts), '%s product is below defined min. stock amount', '%s products are below defined min. stock amount') }}</p> <hr>
<p data-status-filter="belowminstockamount" class="normal-message status-filter-message responsive-button">{{ $__n(count($missingProducts), '%s product is below defined min. stock amount', '%s products are below defined min. stock amount') }}</p>
</div> </div>
</div> </div>
<div class="row mt-3 d-print-none hide-on-fullscreen-card"> <div class="row mt-3 d-print-none hide-on-fullscreen-card">
<div class="col-xs-12 col-md-4"> <div class="col-md-12 mb-2">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <a class="btn btn-primary responsive-button btn-sm mb-1" href="{{ $U('/shoppinglistitem/new?list=' . $selectedShoppingListId) }}">
<input type="text" class="form-control" id="search"> {{ $__t('Add item') }}
</a>
<a id="clear-shopping-list" class="btn btn-outline-danger btn-sm mb-1 responsive-button @if($listItems->count() == 0) disabled @endif" href="#">
{{ $__t('Clear list') }}
</a>
<a id="add-all-items-to-stock-button" class="btn btn-outline-primary btn-sm mb-1 responsive-button" href="#">
{{ $__t('Add all list items to stock') }}
</a>
<a id="add-products-below-min-stock-amount" class="btn btn-outline-primary btn-sm mb-1 responsive-button" href="#">
{{ $__t('Add products that are below defined min. stock amount') }}
</a>
</div> </div>
<div class="col-xs-12 col-md-4"> <div class="col-xs-12 col-md-5">
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i> <div class="input-group mb-3">
<select class="form-control" id="status-filter"> <div class="input-group-prepend">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <span class="input-group-text"><i class="fas fa-search"></i></span>
<option class="bg-info" value="belowminstockamount">{{ $__t('Below min. stock amount') }}</option> </div>
<option class="bg-white" value="xxUNDONExx">{{ $__t('Only undone items') }}</option> <input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</select> </div>
</div>
<div class="col-xs-12 col-md-4 col-lg-5">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-filter"></i></span>
</div>
<select class="form-control" id="status-filter">
<option value="all">{{ $__t('All') }}</option>
<option value="belowminstockamount">{{ $__t('Below min. stock amount') }}</option>
<option value="xxUNDONExx">{{ $__t('Only undone items') }}</option>
</select>
</div>
</div>
<div class="col-xs-12 col-md-3 col-lg-2 mb-3">
<a id="shopping-list-compact-view-button" class="btn btn-outline-dark responsive-button switch-view-mode-button w-100" href="#">
{{ $__t('Compact view') }}
</a>
</div> </div>
</div> </div>
<div id="shoppinglist-main" class="row d-print-none"> <div id="shoppinglist-main" class="row d-print-none">
<div class="@if(boolval($userSettings['shopping_list_show_calendar'])) col-xs-12 col-md-8 @else col-12 @endif pb-3"> <div class="@if(boolval($userSettings['shopping_list_show_calendar'])) col-xs-12 col-md-8 @else col-12 @endif pb-3">
<a id="shopping-list-normal-view-button" class="btn btn-outline-dark btn-block switch-view-mode-button d-none" href="#"> <a id="shopping-list-normal-view-button" class="btn btn-outline-dark btn-block switch-view-mode-button d-none" href="#">
<i class="fas fa-expand-arrows-alt"></i> {{ $__t('Normal view') }} {{ $__t('Normal view') }}
</a> </a>
<table id="shoppinglist-table" class="table table-sm table-striped dt-responsive"> <table id="shoppinglist-table" class="table table-sm table-striped dt-responsive">
<thead> <thead>

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'shoppinglistform') @section('viewJsName', 'shoppinglistform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'shoppinglistitemform') @section('viewJsName', 'shoppinglistitemform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 col-xl-4 pb-3"> <div class="col-xs-12 col-md-6 col-xl-4 pb-3">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -5,10 +5,14 @@
@section('viewJsName', 'shoppinglistsettings') @section('viewJsName', 'shoppinglistsettings')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<h4 class="mt-2">{{ $__t('Shopping list') }}</h4> <h4 class="mt-2">{{ $__t('Shopping list') }}</h4>
<div class="form-group"> <div class="form-group">
<div class="checkbox"> <div class="checkbox">

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'shoppinglocationform') @section('viewJsName', 'shoppinglocationform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -7,22 +7,33 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark" href="{{ $U('/shoppinglocation/new') }}"> <div class="related-links">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }} <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=shoppinglocations') }}">
</a> {{ $__t('Configure userfields') }}
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=shoppinglocations') }}"> </a>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} </div>
</a> </div>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/shoppinglocation/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>

View File

@ -14,7 +14,7 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title')</h1> <h2>@yield('title')</h2>
</div> </div>
<div class="col"> <div class="col">
@include('components.productpicker', array( @include('components.productpicker', array(
@ -22,6 +22,7 @@
'disallowAllProductWorkflows' => true 'disallowAllProductWorkflows' => true
)) ))
</div> </div>
<hr>
</div> </div>
<div class="row"> <div class="row">

View File

@ -9,9 +9,14 @@
Grocy.EditObjectProductId = {{ $stockEntry->product_id }}; Grocy.EditObjectProductId = {{ $stockEntry->product_id }};
</script> </script>
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 col-xl-4 pb-3"> <div class="col-xs-12 col-md-6 col-xl-4 pb-3">
<h1>@yield('title')</h1>
<form id="stockentry-form" novalidate> <form id="stockentry-form" novalidate>
@php @php

View File

@ -7,8 +7,9 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title')</h1> <h2>@yield('title')</h2>
</div> </div>
<hr>
</div> </div>
<div class="row my-3"> <div class="row my-3">

View File

@ -15,63 +15,85 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title') <div class="title-related-links">
<small id="info-current-stock" class="text-muted"></small> <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/stockjournal') }}"> <div class="related-links">
<i class="fas fa-file-alt"></i> {{ $__t('Journal') }} <a class="btn btn-outline-dark responsive-button" href="{{ $U('/stockjournal') }}">
</a> {{ $__t('Journal') }}
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/stockentries') }}"> </a>
<i class="fas fa-boxes"></i> {{ $__t('Stock entries') }} <a class="btn btn-outline-dark responsive-button" href="{{ $U('/stockentries') }}">
</a> {{ $__t('Stock entries') }}
@if(GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING) </a>
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/locationcontentsheet') }}"> @if(GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING)
<i class="fas fa-print"></i> {{ $__t('Location Content Sheet') }} <a class="btn btn-outline-dark responsive-button" href="{{ $U('/locationcontentsheet') }}">
</a> {{ $__t('Location Content Sheet') }}
@endif </a>
</h1> @endif
</div>
</div>
<div id="info-current-stock" class="text-muted"></div>
<hr>
@if (GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING) @if (GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING)
<p id="info-expiring-products" data-next-x-days="{{ $nextXDays }}" data-status-filter="expiring" class="btn btn-lg btn-warning status-filter-button responsive-button mr-2"></p> <p id="info-expiring-products" data-next-x-days="{{ $nextXDays }}" data-status-filter="expiring" class="warning-message status-filter-message responsive-button mr-2"></p>
<p id="info-expired-products" data-status-filter="expired" class="btn btn-lg btn-danger status-filter-button responsive-button mr-2"></p> <p id="info-expired-products" data-status-filter="expired" class="error-message status-filter-message responsive-button mr-2"></p>
@endif @endif
<p id="info-missing-products" data-status-filter="belowminstockamount" class="btn btn-lg btn-info status-filter-button responsive-button"></p> <p id="info-missing-products" data-status-filter="belowminstockamount" class="normal-message status-filter-message responsive-button"></p>
</div> </div>
</div> </div>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3 d-flex align-items-end">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
@if(GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING) @if(GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING)
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="location-filter">{{ $__t('Filter by location') }}</label> <i class="fas fa-filter"></i> <label for="location-filter">{{ $__t('Location') }}</label>
<select class="form-control" id="location-filter"> <div class="input-group mb-3">
<option value="all">{{ $__t('All') }}</option> <div class="input-group-prepend">
@foreach($locations as $location) <span class="input-group-text"><i class="fas fa-filter"></i></span>
<option value="{{ $location->name }}">{{ $location->name }}</option> </div>
@endforeach <select class="form-control" id="location-filter">
</select> <option value="all">{{ $__t('All') }}</option>
@foreach($locations as $location)
<option value="{{ $location->name }}">{{ $location->name }}</option>
@endforeach
</select>
</div>
</div> </div>
@endif @endif
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="location-filter">{{ $__t('Filter by product group') }}</label> <i class="fas fa-filter"></i> <label for="product-group-filter">{{ $__t('Product group') }}</label>
<select class="form-control" id="product-group-filter"> <div class="input-group mb-3">
<option value="all">{{ $__t('All') }}</option> <div class="input-group-prepend">
@foreach($productGroups as $productGroup) <span class="input-group-text"><i class="fas fa-filter"></i></span>
<option value="{{ $productGroup->name }}">{{ $productGroup->name }}</option> </div>
@endforeach <select class="form-control" id="product-group-filter">
</select> <option value="all">{{ $__t('All') }}</option>
@foreach($productGroups as $productGroup)
<option value="{{ $productGroup->name }}">{{ $productGroup->name }}</option>
@endforeach
</select>
</div>
</div> </div>
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i> <label for="status-filter">{{ $__t('Status') }}</label>
<select class="form-control" id="status-filter"> <div class="input-group mb-3">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <div class="input-group-prepend">
@if (GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING) <span class="input-group-text"><i class="fas fa-filter"></i></span>
<option class="bg-warning" value="expiring">{{ $__t('Expiring soon') }}</option> </div>
<option class="bg-danger" value="expired">{{ $__t('Already expired') }}</option> <select class="form-control" id="status-filter">
@endif <option class="bg-white" value="all">{{ $__t('All') }}</option>
<option class="bg-info" value="belowminstockamount">{{ $__t('Below min. stock amount') }}</option> @if (GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING)
</select> <option value="expiring">{{ $__t('Expiring soon') }}</option>
<option value="expired">{{ $__t('Already expired') }}</option>
@endif
<option value="belowminstockamount">{{ $__t('Below min. stock amount') }}</option>
</select>
</div>
</div> </div>
</div> </div>

View File

@ -5,10 +5,14 @@
@section('viewJsName', 'stocksettings') @section('viewJsName', 'stocksettings')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<div id="productpresets"> <div id="productpresets">
<h4>{{ $__t('Presets for new products') }}</h4> <h4>{{ $__t('Presets for new products') }}</h4>

View File

@ -7,22 +7,32 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark" href="{{ $U('/taskcategory/new') }}"> <div class="related-links">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }} <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=task_categories') }}">
</a> {{ $__t('Configure userfields') }}
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=task_categories') }}"> </a>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} </div>
</a> </div>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/taskcategory/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'taskcategoryform') @section('viewJsName', 'taskcategoryform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'taskform') @section('viewJsName', 'taskform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -17,34 +17,45 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <h2>@yield('title')</h2>
@yield('title') <hr>
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/task/new') }}"> <p id="info-due-tasks" data-status-filter="duesoon" data-next-x-days="{{ $nextXDays }}" class="warning-message status-filter-message responsive-button mr-2"></p>
<i class="fas fa-plus"></i> {{ $__t('Add') }} <p id="info-overdue-tasks" data-status-filter="overdue" class="error-message status-filter-message responsive-button"></p>
</a>
</h1>
<p id="info-due-tasks" data-status-filter="duesoon" data-next-x-days="{{ $nextXDays }}" class="btn btn-lg btn-warning status-filter-button responsive-button mr-2"></p>
<p id="info-overdue-tasks" data-status-filter="overdue" class="btn btn-lg btn-danger status-filter-button responsive-button"></p>
</div> </div>
</div> </div>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/task/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i> <div class="input-group mb-3">
<select class="form-control" id="status-filter"> <div class="input-group-prepend">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <span class="input-group-text"><i class="fas fa-filter"></i></span>
<option class="bg-warning" value="duesoon">{{ $__t('Due soon') }}</option> </div>
<option class="bg-danger" value="overdue">{{ $__t('Overdue') }}</option> <select class="form-control" id="status-filter">
</select> <option value="all">{{ $__t('All') }}</option>
<option value="duesoon">{{ $__t('Due soon') }}</option>
<option value="overdue">{{ $__t('Overdue') }}</option>
</select>
</div>
</div> </div>
<div class="col-xs-12 col-md-6 col-xl-3 d-flex align-items-end"> <div class="col-xs-12 col-md-6 col-xl-3">
<div class="form-check"> <div class="form-check custom-control form-control-lg custom-checkbox pt-0">
<input class="form-check-input" type="checkbox" id="show-done-tasks"> <input class="form-check-input custom-control-input" type="checkbox" id="show-done-tasks">
<label class="form-check-label" for="show-done-tasks"> <label class="form-check-label custom-control-label" for="show-done-tasks">
{{ $__t('Show done tasks') }} {{ $__t('Show done tasks') }}
</label> </label>
</div> </div>

View File

@ -5,9 +5,14 @@
@section('viewJsName', 'taskssettings') @section('viewJsName', 'taskssettings')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
@include('components.numberpicker', array( @include('components.numberpicker', array(
'id' => 'tasks_due_soon_days', 'id' => 'tasks_due_soon_days',

View File

@ -7,7 +7,8 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 col-xl-4 pb-3"> <div class="col-xs-12 col-md-6 col-xl-4 pb-3">
<h1>@yield('title')</h1> <h2>@yield('title')</h2>
<hr>
<form id="transfer-form" novalidate> <form id="transfer-form" novalidate>

View File

@ -7,19 +7,25 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <h2>@yield('title')</h2>
@yield('title')
<a id="new-userentity-button" class="btn btn-outline-dark" href="{{ $U('/userentity/new') }}">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }}
</a>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/userentity/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'userentityform') @section('viewJsName', 'userentityform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'userfieldform') @section('viewJsName', 'userfieldform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -7,28 +7,39 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <h2>@yield('title')</h2>
@yield('title')
<a id="new-userfield-button" class="btn btn-outline-dark" href="{{ $U('/userfield/new') }}">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }}
</a>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/userfield/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="entity-filter">{{ $__t('Filter by entity') }}</label> <i class="fas fa-filter"></i> <div class="input-group mb-3">
<select class="form-control" id="entity-filter"> <div class="input-group-prepend">
<option value="all">{{ $__t('All') }}</option> <span class="input-group-text"><i class="fas fa-filter"></i></span>
@foreach($entities as $entity) </div>
<option value="{{ $entity }}">{{ $entity }}</option> <select class="form-control" id="entity-filter">
@endforeach <option value="all">{{ $__t('All') }}</option>
</select> @foreach($entities as $entity)
<option value="{{ $entity }}">{{ $entity }}</option>
@endforeach
</select>
</div>
</div> </div>
</div> </div>

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'userform') @section('viewJsName', 'userform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script>Grocy.EditMode = '{{ $mode }}';</script> <script>Grocy.EditMode = '{{ $mode }}';</script>
@if($mode == 'edit') @if($mode == 'edit')

View File

@ -9,10 +9,14 @@
@section('viewJsName', 'userobjectform') @section('viewJsName', 'userobjectform')
@section('content') @section('content')
<div class="row">
<div class="col">
<h2>@yield('title')</h2>
<hr>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-xs-12"> <div class="col-lg-6 col-xs-12">
<h1>@yield('title')</h1>
<script> <script>
Grocy.EditMode = '{{ $mode }}'; Grocy.EditMode = '{{ $mode }}';
Grocy.EditObjectParentId = {{ $userentity->id }}; Grocy.EditObjectParentId = {{ $userentity->id }};

View File

@ -7,23 +7,33 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <div class="title-related-links">
@yield('title') <h2 class="title">@yield('title')</h2>
<a class="btn btn-outline-dark d-print-none" href="{{ $U('/userobject/' . $userentity->name . '/new') }}"> <div class="related-links">
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }} <a class="btn btn-outline-secondary d-print-none" href="{{ $U('/userfields?entity=' . 'userentity-' . $userentity->name) }}">
</a> {{ $__t('Configure fields') }}
<a class="btn btn-outline-secondary d-print-none" href="{{ $U('/userfields?entity=' . 'userentity-' . $userentity->name) }}"> </a>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure fields') }} </div>
</a> </div>
</h1>
<h5 class="text-muted">{{ $userentity->description }}</h5> <h5 class="text-muted">{{ $userentity->description }}</h5>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3 d-print-none"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/userobject/' . $userentity->name . '/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>

View File

@ -7,19 +7,27 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <h2>
@yield('title') @yield('title')
<a class="btn btn-outline-dark" href="{{ $U('/user/new') }}"> </h2>
<i class="fas fa-plus"></i>&nbsp;{{ $__t('Add') }}
</a>
</h1>
</div> </div>
</div> </div>
<hr>
<div class="row mt-3"> <div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3" href="{{ $U('/user/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3"> <div class="col-xs-12 col-md-6 col-xl-3">
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i> <div class="input-group mb-3">
<input type="text" class="form-control" id="search"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text" id="search" class="form-control" placeholder="{{ $__t('Search') }}">
</div>
</div> </div>
</div> </div>