Cosmetic Update (#753)

* UI changes

* New (header) style was missing on some pages

* Added/changed new localization strings

* Unify page titles / apply .title class everywhere

* Reduce spacing below page title

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
This commit is contained in:
Zack Arnett
2020-04-19 08:51:02 -04:00
committed by GitHub
parent 59650728a2
commit 4629df17b4
69 changed files with 915 additions and 485 deletions

View File

@@ -737,7 +737,7 @@ msgstr ""
msgid "When not set, you will get logged out at latest after 30 days" msgid "When not set, you will get logged out at latest after 30 days"
msgstr "" msgstr ""
msgid "Filter by status" msgid "Status"
msgstr "" msgstr ""
msgid "Below min. stock amount" msgid "Below min. stock amount"
@@ -1430,7 +1430,7 @@ msgstr ""
msgid "assigned to %s" msgid "assigned to %s"
msgstr "" msgstr ""
msgid "Filter by assignment" msgid "Assignment"
msgstr "" msgstr ""
msgid "Consume product on chore execution" msgid "Consume product on chore execution"

View File

@@ -430,3 +430,71 @@ 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;
margin-bottom: 0 !important;
}
.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

@@ -6,8 +6,8 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6 text-center"> <div class="col-xs-12 col-md-6 text-center">
<h1>@yield('title')</h1> <h2 class="title">@yield('title')</h2>
<hr>
<ul class="nav nav-tabs justify-content-center mt-3"> <ul class="nav nav-tabs justify-content-center mt-3">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link active" id="system-info-tab" data-toggle="tab" href="#system-info">{{ $__t('System info') }}</a> <a class="nav-link active" id="system-info-tab" data-toggle="tab" href="#system-info">{{ $__t('System info') }}</a>

View File

@@ -9,9 +9,14 @@
@endpush @endpush
@section('content') @section('content')
<div class="row">
<div class="col">
<h2 class="title">@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,23 +7,32 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title')</h1> <h2 class="title">@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="battery-filter">{{ $__t('Filter by battery') }}</label> <i class="fas fa-filter"></i> <div class="input-group mb-3">
<select class="form-control" id="battery-filter"> <div class="input-group-prepend">
<option value="all">{{ $__t('All') }}</option> <span class="input-group-text"><i class="fas fa-filter"></i></span>
</div>
<select class="form-control" id="battery-filter">
<option value="all">{{ $__t('All') }}</option>
@foreach($batteries as $battery) @foreach($batteries as $battery)
<option value="{{ $battery->id }}">{{ $battery->name }}</option> <option value="{{ $battery->id }}">{{ $battery->name }}</option>
@endforeach @endforeach
</select> </select>
</div>
</div> </div>
</div> </div>

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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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

@@ -6,8 +6,8 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col-lg-6 offset-lg-3 col-xs-12"> <div class="col-lg-6 offset-lg-3 col-xs-12">
<h1 class="text-center">@yield('title')</h1> <h2 class="text-center">@yield('title')</h2>
<hr>
<form method="post" action="{{ $U('/login') }}" id="login-form" novalidate> <form method="post" action="{{ $U('/login') }}" id="login-form" novalidate>
<div class="form-group"> <div class="form-group">

View File

@@ -11,19 +11,25 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <h2 class="title">@yield('title')</h2>
@yield('title')
<a class="btn btn-outline-dark" href="{{ $U('/manageapikeys/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('/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,10 @@
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <h2 class="title">@yield('title')</h2>
@yield('title')
</h1>
</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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@yield('title')</h2>
</div> </div>
<div class="col"> <div class="col">
@include('components.productpicker', array( @include('components.productpicker', array(
@@ -23,7 +23,7 @@
)) ))
</div> </div>
</div> </div>
<hr>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<table id="stockentries-table" class="table table-sm table-striped dt-responsive"> <table id="stockentries-table" class="table table-sm table-striped dt-responsive">

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 class="title">@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,23 +7,32 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title')</h1> <h2 class="title">@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="product-filter">{{ $__t('Filter by product') }}</label> <i class="fas fa-filter"></i> <div class="input-group mb-3">
<select class="form-control" id="product-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($products as $product) </div>
<option value="{{ $product->id }}">{{ $product->name }}</option> <select class="form-control" id="product-filter">
@endforeach <option value="all">{{ $__t('All') }}</option>
</select> @foreach($products as $product)
<option value="{{ $product->id }}">{{ $product->name }}</option>
@endforeach
</select>
</div>
</div> </div>
</div> </div>

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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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 class="title">@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> <h2h2 class="title">@yield('title')</h2h2>
@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 class="title">@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 class="title">@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,25 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1> <h2 class="title">@yield('title')</h2>
@yield('title')
<a class="btn btn-outline-dark" href="{{ $U('/user/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('/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>