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>
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=batteries') }}"> <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=batteries') }}">
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} {{ $__t('Configure userfields') }}
</a> </a>
</h1>
</div> </div>
</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,17 +7,25 @@
@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">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-filter"></i></span>
</div>
<select class="form-control" id="battery-filter"> <select class="form-control" id="battery-filter">
<option value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
@foreach($batteries as $battery) @foreach($batteries as $battery)
@@ -26,6 +34,7 @@
</select> </select>
</div> </div>
</div> </div>
</div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">

View File

@@ -11,30 +11,42 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title') <div class="title-related-links">
<h2 class="title">@yield('title')</h2>
<div class="related-links">
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/batteriesjournal') }}"> <a class="btn btn-outline-dark responsive-button" href="{{ $U('/batteriesjournal') }}">
<i class="fas fa-file-alt"></i> {{ $__t('Journal') }} {{ $__t('Journal') }}
</a> </a>
</h1> </div>
<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> </div>
<p id="info-overdue-batteries" data-status-filter="overdue" class="btn btn-lg btn-danger status-filter-button responsive-button"></p> <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">
<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"> <select class="form-control" id="status-filter">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
<option class="bg-warning" value="duesoon">{{ $__t('Due soon') }}</option> <option value="duesoon">{{ $__t('Due soon') }}</option>
<option class="bg-danger" value="overdue">{{ $__t('Overdue') }}</option> <option value="overdue">{{ $__t('Overdue') }}</option>
</select> </select>
</div> </div>
</div> </div>
</div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">

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>
<div class="related-links">
<a id="ical-button" class="btn btn-outline-dark" href="#"> <a id="ical-button" class="btn btn-outline-dark" href="#">
<i class="fas fa-calendar-plus"></i>&nbsp;{{ $__t('Share/Integrate calendar (iCal)') }} {{ $__t('Share/Integrate calendar (iCal)') }}
</a> </a>
</h1>
</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>
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=chores') }}"> <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=chores') }}">
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} {{ $__t('Configure userfields') }}
</a> </a>
</h1>
</div> </div>
</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,17 +7,25 @@
@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">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-filter"></i></span>
</div>
<select class="form-control" id="chore-filter"> <select class="form-control" id="chore-filter">
<option value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
@foreach($chores as $chore) @foreach($chores as $chore)
@@ -26,6 +34,7 @@
</select> </select>
</div> </div>
</div> </div>
</div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">

View File

@@ -11,42 +11,60 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>@yield('title') <div class="title-related-links">
<h2 class="title">@yield('title')</h2>
<div class="related-links">
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/choresjournal') }}"> <a class="btn btn-outline-dark responsive-button" href="{{ $U('/choresjournal') }}">
<i class="fas fa-file-alt"></i> {{ $__t('Journal') }} {{ $__t('Journal') }}
</a> </a>
</h1> </div>
<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> </div>
<p id="info-overdue-chores" data-status-filter="overdue" class="btn btn-lg btn-danger status-filter-button responsive-button mr-2"></p> <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 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> </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">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-filter"></i></span>
</div>
<select class="form-control" id="user-filter">
<option></option> <option></option>
@foreach($users as $user) @foreach($users as $user)
<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> <option data-user-id="{{ $user->id }}" value="xx{{ $user->id }}xx">{{ $user->display_name }}</option>
@endforeach @endforeach
</select> </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,8 +11,9 @@
@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>
<div class="related-links">
@if(!$embedded) @if(!$embedded)
<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> <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>
<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> <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>
@@ -21,7 +22,9 @@
Grocy.UserSettings.scan_mode_consume_enabled = false; Grocy.UserSettings.scan_mode_consume_enabled = false;
</script> </script>
@endif @endif
</h1> </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>
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=locations') }}"> <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=locations') }}">
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} {{ $__t('Configure userfields') }}
</a> </a>
</h1>
</div> </div>
</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>
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=product_groups') }}"> <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=product_groups') }}">
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} {{ $__t('Configure userfields') }}
</a> </a>
</h1>
</div> </div>
</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,29 +7,43 @@
@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') }}">
{{ $__t('Configure userfields') }}
</a> </a>
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=products') }}"> <a class="btn btn-outline-secondary mb-1" href="{{ $U('/stocksettings#productpresets') }}">
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} {{ $__t('Presets for new products') }}
</a> </a>
<a class="btn btn-outline-secondary" href="{{ $U('/stocksettings#productpresets') }}"> </div>
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Presets for new products') }} </div>
</a> <hr>
</h1>
</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">
<span class="input-group-text"><i class="fas fa-filter"></i></span>
</div>
<select class="form-control" id="location-filter">
<option value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
@foreach($productGroups as $productGroup) @foreach($productGroups as $productGroup)
<option value="{{ $productGroup->id }}">{{ $productGroup->name }}</option> <option value="{{ $productGroup->id }}">{{ $productGroup->name }}</option>
@@ -37,6 +51,7 @@
</select> </select>
</div> </div>
</div> </div>
</div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">

View File

@@ -11,8 +11,9 @@
@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>
<div class="related-links">
@if(!$embedded) @if(!$embedded)
<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> <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>
<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> <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>
@@ -21,7 +22,9 @@
Grocy.UserSettings.scan_mode_purchase_enabled = false; Grocy.UserSettings.scan_mode_purchase_enabled = false;
</script> </script>
@endif @endif
</h1> </div>
</div>
<hr>
<form id="purchase-form" novalidate> <form id="purchase-form" novalidate>

View File

@@ -9,9 +9,14 @@
@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>

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>
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=quantity_units') }}"> <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=quantity_units') }}">
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} {{ $__t('Configure userfields') }}
</a> </a>
</h1>
</div> </div>
</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,29 +13,42 @@
<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">
<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"> <select class="form-control" id="status-filter">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
<option class="bg-success" value="enoughtinstock">{{ $__t('Enough in stock') }}</option> <option value="enoughtinstock">{{ $__t('Enough in stock') }}</option>
<option class="bg-warning" value="enoughinstockwithshoppinglist">{{ $__t('Not enough in stock, but already on the shopping list') }}</option> <option value="enoughinstockwithshoppinglist">{{ $__t('Not enough in stock, but already on the shopping list') }}</option>
<option class="bg-danger" value="notenoughinstock">{{ $__t('Not enough in stock') }}</option> <option value="notenoughinstock">{{ $__t('Not enough in stock') }}</option>
</select> </select>
</div> </div>
</div> </div>
</div>
<ul class="nav nav-tabs mt-3"> <ul class="nav nav-tabs mt-3">
<li class="nav-item"> <li class="nav-item">

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,29 +22,28 @@
@endpush @endpush
@section('content') @section('content')
<div class="row d-print-none hide-on-fullscreen-card">
<div class="col">
<div class="row">
<h2 class="col-sm-12 col-md-6 mb-2 title">@yield('title')</h2>
@if(GROCY_FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS) @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-sm-12 col-md-6 d-flex align-items-end flex-wrap">
<div class="col-xs-12 col-md-4"> <div class="d-inline-block flex-grow-1 pr-1 mb-1">
<label for="selected-shopping-list">{{ $__t('Selected shopping list') }}</label> <select class="form-control form-control-sm" id="selected-shopping-list">
<select class="form-control" id="selected-shopping-list">
@foreach($shoppingLists as $shoppingList) @foreach($shoppingLists as $shoppingList)
<option @if($shoppingList->id == $selectedShoppingListId) selected="selected" @endif value="{{ $shoppingList->id }}">{{ $shoppingList->name }}</option> <option @if($shoppingList->id == $selectedShoppingListId) selected="selected" @endif value="{{ $shoppingList->id }}">{{ $shoppingList->name }}</option>
@endforeach @endforeach
</select> </select>
</div> </div>
<div class="col-xs-12 col-md-8"> <div class="d-inline-block mb-1">
<label for="selected-shopping-list">&nbsp;</label><br> <a class="btn btn-outline-dark btn-sm responsive-button" href="{{ $U('/shoppinglist/new') }}">
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/shoppinglist/new') }}"> {{ $__t('New shopping list') }}
<i class="fas fa-plus"></i> {{ $__t('New shopping list') }}
</a> </a>
<a id="delete-selected-shopping-list" class="btn btn-outline-danger responsive-button @if($selectedShoppingListId == 1) disabled @endif" 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-trash"></i> {{ $__t('Delete shopping list') }} {{ $__t('Delete shopping list') }}
</a> </a>
<a id="print-shopping-list-button" class="btn btn-outline-dark responsive-button" href="#"> <a id="print-shopping-list-button" class="btn btn-outline-dark btn-sm responsive-button" href="#">
<i class="fas fa-print"></i> {{ $__t('Print') }} {{ $__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> </a>
<!--<div class="dropdown d-inline-block"> <!--<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> <button class="btn btn-outline-dark responsive-button dropdown-toggle" data-toggle="dropdown"><i class="fas fa-file-export"></i> {{ $__t('Output') }}</button>
@@ -57,52 +56,58 @@
@else @else
<input type="hidden" name="selected-shopping-list" id="selected-shopping-list" value="1"> <input type="hidden" name="selected-shopping-list" id="selected-shopping-list" value="1">
@endif @endif
</div>
<div class="row d-print-none hide-on-fullscreen-card"> <hr>
<div class="col"> <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>
<h1>
@yield('title')
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/shoppinglistitem/new?list=' . $selectedShoppingListId) }}">
<i class="fas fa-plus"></i> {{ $__t('Add item') }}
</a>
<a id="clear-shopping-list" class="btn btn-outline-danger responsive-button @if($listItems->count() == 0) disabled @endif" href="#">
<i class="fas fa-trash"></i> {{ $__t('Clear list') }}
</a>
<a id="add-products-below-min-stock-amount" class="btn btn-outline-primary responsive-button" href="#">
<i class="fas fa-cart-plus"></i> {{ $__t('Add products that are below defined min. stock amount') }}
</a>
<a id="add-all-items-to-stock-button" class="btn btn-outline-primary responsive-button" href="#">
<i class="fas fa-box"></i> {{ $__t('Add all list items to stock') }}
</a>
@if(!GROCY_FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS)
<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>
@endif
</h1>
<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>
</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 class="col-xs-12 col-md-5">
<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 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> </div>
<div class="col-xs-12 col-md-4">
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i>
<select class="form-control" id="status-filter"> <select class="form-control" id="status-filter">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
<option class="bg-info" value="belowminstockamount">{{ $__t('Below min. stock amount') }}</option> <option value="belowminstockamount">{{ $__t('Below min. stock amount') }}</option>
<option class="bg-white" value="xxUNDONExx">{{ $__t('Only undone items') }}</option> <option value="xxUNDONExx">{{ $__t('Only undone items') }}</option>
</select> </select>
</div> </div>
</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 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>
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=shoppinglocations') }}"> <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=shoppinglocations') }}">
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} {{ $__t('Configure userfields') }}
</a> </a>
</h1>
</div> </div>
</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,17 +7,25 @@
@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">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-filter"></i></span>
</div>
<select class="form-control" id="product-filter"> <select class="form-control" id="product-filter">
<option value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
@foreach($products as $product) @foreach($products as $product)
@@ -26,6 +34,7 @@
</select> </select>
</div> </div>
</div> </div>
</div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">

View File

@@ -15,36 +15,47 @@
@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>
<div class="related-links">
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/stockjournal') }}"> <a class="btn btn-outline-dark responsive-button" href="{{ $U('/stockjournal') }}">
<i class="fas fa-file-alt"></i> {{ $__t('Journal') }} {{ $__t('Journal') }}
</a> </a>
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/stockentries') }}"> <a class="btn btn-outline-dark responsive-button" href="{{ $U('/stockentries') }}">
<i class="fas fa-boxes"></i> {{ $__t('Stock entries') }} {{ $__t('Stock entries') }}
</a> </a>
@if(GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING) @if(GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING)
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/locationcontentsheet') }}"> <a class="btn btn-outline-dark responsive-button" href="{{ $U('/locationcontentsheet') }}">
<i class="fas fa-print"></i> {{ $__t('Location Content Sheet') }} {{ $__t('Location Content Sheet') }}
</a> </a>
@endif @endif
</h1> </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>
<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="location-filter"> <select class="form-control" id="location-filter">
<option value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
@foreach($locations as $location) @foreach($locations as $location)
@@ -52,9 +63,14 @@
@endforeach @endforeach
</select> </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>
<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="product-group-filter"> <select class="form-control" id="product-group-filter">
<option value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
@foreach($productGroups as $productGroup) @foreach($productGroups as $productGroup)
@@ -62,18 +78,24 @@
@endforeach @endforeach
</select> </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>
<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"> <select class="form-control" id="status-filter">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <option class="bg-white" value="all">{{ $__t('All') }}</option>
@if (GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING) @if (GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING)
<option class="bg-warning" value="expiring">{{ $__t('Expiring soon') }}</option> <option value="expiring">{{ $__t('Expiring soon') }}</option>
<option class="bg-danger" value="expired">{{ $__t('Already expired') }}</option> <option value="expired">{{ $__t('Already expired') }}</option>
@endif @endif
<option class="bg-info" value="belowminstockamount">{{ $__t('Below min. stock amount') }}</option> <option value="belowminstockamount">{{ $__t('Below min. stock amount') }}</option>
</select> </select>
</div> </div>
</div> </div>
</div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">

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>
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=task_categories') }}"> <a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=task_categories') }}">
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure userfields') }} {{ $__t('Configure userfields') }}
</a> </a>
</h1>
</div> </div>
</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">
<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"> <select class="form-control" id="status-filter">
<option class="bg-white" value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
<option class="bg-warning" value="duesoon">{{ $__t('Due soon') }}</option> <option value="duesoon">{{ $__t('Due soon') }}</option>
<option class="bg-danger" value="overdue">{{ $__t('Overdue') }}</option> <option value="overdue">{{ $__t('Overdue') }}</option>
</select> </select>
</div> </div>
<div class="col-xs-12 col-md-6 col-xl-3 d-flex align-items-end"> </div>
<div class="form-check"> <div class="col-xs-12 col-md-6 col-xl-3">
<input class="form-check-input" type="checkbox" id="show-done-tasks"> <div class="form-check custom-control form-control-lg custom-checkbox pt-0">
<label class="form-check-label" for="show-done-tasks"> <input class="form-check-input custom-control-input" type="checkbox" id="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,22 +7,32 @@
@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">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-filter"></i></span>
</div>
<select class="form-control" id="entity-filter"> <select class="form-control" id="entity-filter">
<option value="all">{{ $__t('All') }}</option> <option value="all">{{ $__t('All') }}</option>
@foreach($entities as $entity) @foreach($entities as $entity)
@@ -31,6 +41,7 @@
</select> </select>
</div> </div>
</div> </div>
</div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">

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>
<a class="btn btn-outline-secondary d-print-none" href="{{ $U('/userfields?entity=' . 'userentity-' . $userentity->name) }}"> <a class="btn btn-outline-secondary d-print-none" href="{{ $U('/userfields?entity=' . 'userentity-' . $userentity->name) }}">
<i class="fas fa-sliders-h"></i>&nbsp;{{ $__t('Configure fields') }} {{ $__t('Configure fields') }}
</a> </a>
</h1> </div>
</div>
<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>