mirror of
https://github.com/grocy/grocy.git
synced 2025-10-15 01:37:13 +00:00
Unified product-/chore-/battery-card modal handling
This commit is contained in:
@@ -4,28 +4,51 @@
|
||||
@endpush
|
||||
@endonce
|
||||
|
||||
<div class="card batterycard">
|
||||
<div class="card-header">
|
||||
<span class="float-left">{{ $__t('Battery overview') }}</span>
|
||||
<a id="batterycard-battery-edit-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 float-right disabled"
|
||||
href="#"
|
||||
data-toggle="tooltip"
|
||||
title="{{ $__t('Edit battery') }}">
|
||||
<i class="fa-solid fa-edit"></i>
|
||||
</a>
|
||||
<a id="batterycard-battery-journal-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 mr-1 float-right disabled show-as-dialog-link"
|
||||
href="#">
|
||||
{{ $__t('Battery journal') }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3><span id="batterycard-battery-name"></span></h3>
|
||||
<strong>{{ $__t('Used in') }}:</strong> <span id="batterycard-battery-used_in"></span><br>
|
||||
<strong>{{ $__t('Charge cycles count') }}:</strong> <span id="batterycard-battery-charge-cycles-count"
|
||||
class="locale-number locale-number-generic"></span><br>
|
||||
<strong>{{ $__t('Last charged') }}:</strong> <span id="batterycard-battery-last-charged"></span> <time id="batterycard-battery-last-charged-timeago"
|
||||
class="timeago timeago-contextual"></time><br>
|
||||
@php if(!isset($asModal)) { $asModal = false; } @endphp
|
||||
|
||||
@if($asModal)
|
||||
<div class="modal fade"
|
||||
id="batterycard-modal"
|
||||
tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content text-center">
|
||||
<div class="modal-body">
|
||||
@endif
|
||||
|
||||
<div class="card batterycard">
|
||||
<div class="card-header">
|
||||
<span class="float-left">{{ $__t('Battery overview') }}</span>
|
||||
<a id="batterycard-battery-edit-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 float-right disabled"
|
||||
href="#"
|
||||
data-toggle="tooltip"
|
||||
title="{{ $__t('Edit battery') }}">
|
||||
<i class="fa-solid fa-edit"></i>
|
||||
</a>
|
||||
<a id="batterycard-battery-journal-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 mr-1 float-right disabled show-as-dialog-link"
|
||||
href="#">
|
||||
{{ $__t('Battery journal') }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3><span id="batterycard-battery-name"></span></h3>
|
||||
<strong>{{ $__t('Used in') }}:</strong> <span id="batterycard-battery-used_in"></span><br>
|
||||
<strong>{{ $__t('Charge cycles count') }}:</strong> <span id="batterycard-battery-charge-cycles-count"
|
||||
class="locale-number locale-number-generic"></span><br>
|
||||
<strong>{{ $__t('Last charged') }}:</strong> <span id="batterycard-battery-last-charged"></span> <time id="batterycard-battery-last-charged-timeago"
|
||||
class="timeago timeago-contextual"></time><br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($asModal)
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-secondary"
|
||||
data-dismiss="modal">{{ $__t('Close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
@@ -4,35 +4,58 @@
|
||||
@endpush
|
||||
@endonce
|
||||
|
||||
<div class="card chorecard">
|
||||
<div class="card-header">
|
||||
<span class="float-left">{{ $__t('Chore overview') }}</span>
|
||||
<a id="chorecard-chore-edit-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 float-right disabled"
|
||||
href="#"
|
||||
data-toggle="tooltip"
|
||||
title="{{ $__t('Edit chore') }}">
|
||||
<i class="fa-solid fa-edit"></i>
|
||||
</a>
|
||||
<a id="chorecard-chore-journal-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 mr-1 float-right disabled show-as-dialog-link"
|
||||
href="#">
|
||||
{{ $__t('Chore journal') }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3><span id="chorecard-chore-name"></span></h3>
|
||||
@php if(!isset($asModal)) { $asModal = false; } @endphp
|
||||
|
||||
<p id="chorecard-chore-description"
|
||||
class="text-muted mt-0"></p>
|
||||
@if($asModal)
|
||||
<div class="modal fade"
|
||||
id="chorecard-modal"
|
||||
tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content text-center">
|
||||
<div class="modal-body">
|
||||
@endif
|
||||
|
||||
<strong>{{ $__t('Tracked count') }}:</strong> <span id="chorecard-chore-tracked-count"
|
||||
class="locale-number locale-number-generic"></span><br>
|
||||
<strong>{{ $__t('Average execution frequency') }}:</strong> <span id="chorecard-average-execution-frequency"></span><br>
|
||||
<strong>{{ $__t('Last tracked') }}:</strong> <span id="chorecard-chore-last-tracked"></span> <time id="chorecard-chore-last-tracked-timeago"
|
||||
class="timeago timeago-contextual"></time><br>
|
||||
@if(GROCY_FEATURE_FLAG_CHORES_ASSIGNMENTS)
|
||||
<strong>{{ $__t('Last done by') }}:</strong> <span id="chorecard-chore-last-done-by"></span>
|
||||
@endif
|
||||
<div class="card chorecard">
|
||||
<div class="card-header">
|
||||
<span class="float-left">{{ $__t('Chore overview') }}</span>
|
||||
<a id="chorecard-chore-edit-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 float-right disabled"
|
||||
href="#"
|
||||
data-toggle="tooltip"
|
||||
title="{{ $__t('Edit chore') }}">
|
||||
<i class="fa-solid fa-edit"></i>
|
||||
</a>
|
||||
<a id="chorecard-chore-journal-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 mr-1 float-right disabled show-as-dialog-link"
|
||||
href="#">
|
||||
{{ $__t('Chore journal') }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3><span id="chorecard-chore-name"></span></h3>
|
||||
|
||||
<p id="chorecard-chore-description"
|
||||
class="text-muted mt-0"></p>
|
||||
|
||||
<strong>{{ $__t('Tracked count') }}:</strong> <span id="chorecard-chore-tracked-count"
|
||||
class="locale-number locale-number-generic"></span><br>
|
||||
<strong>{{ $__t('Average execution frequency') }}:</strong> <span id="chorecard-average-execution-frequency"></span><br>
|
||||
<strong>{{ $__t('Last tracked') }}:</strong> <span id="chorecard-chore-last-tracked"></span> <time id="chorecard-chore-last-tracked-timeago"
|
||||
class="timeago timeago-contextual"></time><br>
|
||||
@if(GROCY_FEATURE_FLAG_CHORES_ASSIGNMENTS)
|
||||
<strong>{{ $__t('Last done by') }}:</strong> <span id="chorecard-chore-last-done-by"></span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($asModal)
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-secondary"
|
||||
data-dismiss="modal">{{ $__t('Close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
@@ -6,92 +6,115 @@
|
||||
@endpush
|
||||
@endonce
|
||||
|
||||
<div class="card productcard">
|
||||
<div class="card-header">
|
||||
<span class="float-left">{{ $__t('Product overview') }}</span>
|
||||
<a id="productcard-product-edit-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 float-right disabled"
|
||||
href="#"
|
||||
data-toggle="tooltip"
|
||||
title="{{ $__t('Edit product') }}">
|
||||
<i class="fa-solid fa-edit"></i>
|
||||
</a>
|
||||
<a id="productcard-product-journal-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 mr-1 float-right disabled show-as-dialog-link"
|
||||
href="#">
|
||||
{{ $__t('Stock journal') }}
|
||||
</a>
|
||||
<a id="productcard-product-stock-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 mr-1 float-right disabled show-as-dialog-link"
|
||||
href="#">
|
||||
{{ $__t('Stock entries') }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3><span id="productcard-product-name"></span></h3>
|
||||
@php if(!isset($asModal)) { $asModal = false; } @endphp
|
||||
|
||||
<div id="productcard-product-description-wrapper"
|
||||
class="expandable-text mb-2 d-none">
|
||||
<p id="productcard-product-description"
|
||||
class="text-muted collapse mb-0"></p>
|
||||
<a class="collapsed"
|
||||
data-toggle="collapse"
|
||||
href="#productcard-product-description">{{ $__t('Show more') }}</a>
|
||||
@if($asModal)
|
||||
<div class="modal fade"
|
||||
id="productcard-modal"
|
||||
tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content text-center">
|
||||
<div class="modal-body">
|
||||
@endif
|
||||
|
||||
<div class="card productcard">
|
||||
<div class="card-header">
|
||||
<span class="float-left">{{ $__t('Product overview') }}</span>
|
||||
<a id="productcard-product-edit-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 float-right disabled"
|
||||
href="#"
|
||||
data-toggle="tooltip"
|
||||
title="{{ $__t('Edit product') }}">
|
||||
<i class="fa-solid fa-edit"></i>
|
||||
</a>
|
||||
<a id="productcard-product-journal-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 mr-1 float-right disabled show-as-dialog-link"
|
||||
href="#">
|
||||
{{ $__t('Stock journal') }}
|
||||
</a>
|
||||
<a id="productcard-product-stock-button"
|
||||
class="btn btn-sm btn-outline-secondary py-0 mr-1 float-right disabled show-as-dialog-link"
|
||||
href="#">
|
||||
{{ $__t('Stock entries') }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3><span id="productcard-product-name"></span></h3>
|
||||
|
||||
<div id="productcard-product-description-wrapper"
|
||||
class="expandable-text mb-2 d-none">
|
||||
<p id="productcard-product-description"
|
||||
class="text-muted collapse mb-0"></p>
|
||||
<a class="collapsed"
|
||||
data-toggle="collapse"
|
||||
href="#productcard-product-description">{{ $__t('Show more') }}</a>
|
||||
</div>
|
||||
|
||||
<strong>{{ $__t('Stock amount') }}:</strong>
|
||||
<span id="productcard-product-stock-amount-wrapper">
|
||||
<span id="productcard-product-stock-amount"
|
||||
class="locale-number locale-number-quantity-amount"></span> <span id="productcard-product-stock-qu-name"></span>
|
||||
</span>
|
||||
<span id="productcard-product-stock-opened-amount"
|
||||
class="small font-italic"></span>
|
||||
<span id="productcard-aggregated-amounts"
|
||||
class="pl-2 text-secondary d-none"><i class="fa-solid fa-custom-sigma-sign"></i> <span id="productcard-product-stock-amount-aggregated"
|
||||
class="locale-number locale-number-quantity-amount"></span> <span id="productcard-product-stock-qu-name-aggregated"></span> <span id="productcard-product-stock-opened-amount-aggregated"
|
||||
class="small font-italic"></span></span><br>
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)
|
||||
<strong>{{ $__t('Stock value') }}:</strong> <span id="productcard-product-stock-value"
|
||||
class="locale-number locale-number-currency"></span><br>
|
||||
@endif
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING)<strong>{{ $__t('Default location') }}:</strong> <span id="productcard-product-location"></span><br>@endif
|
||||
<strong>{{ $__t('Last purchased') }}:</strong> <span id="productcard-product-last-purchased"></span> <time id="productcard-product-last-purchased-timeago"
|
||||
class="timeago timeago-contextual"></time><br>
|
||||
<strong>{{ $__t('Last used') }}:</strong> <span id="productcard-product-last-used"></span> <time id="productcard-product-last-used-timeago"
|
||||
class="timeago timeago-contextual"></time><br>
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)<strong>
|
||||
{{ $__t('Last price') }}:</strong> <span id="productcard-product-last-price"
|
||||
data-toggle="tooltip"
|
||||
data-trigger="hover click"></span>
|
||||
<br>
|
||||
@endif
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)
|
||||
<strong>{{ $__t('Average price') }}:</strong> <span id="productcard-product-average-price"
|
||||
data-toggle="tooltip"
|
||||
data-trigger="hover click"></span>
|
||||
<br>
|
||||
@endif
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING)<strong>{{ $__t('Average shelf life') }}:</strong> <span id="productcard-product-average-shelf-life"></span><br>@endif
|
||||
<strong>{{ $__t('Spoil rate') }}:</strong> <span id="productcard-product-spoil-rate"></span>
|
||||
|
||||
<p class="w-75 mt-3 mx-auto">
|
||||
<img id="productcard-product-picture"
|
||||
class="img-fluid img-thumbnail d-none"
|
||||
src=""
|
||||
loading="lazy">
|
||||
</p>
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)
|
||||
<h5 class="mt-3">{{ $__t('Price history') }}</h5>
|
||||
<canvas id="productcard-product-price-history-chart"
|
||||
class="w-100 d-none"></canvas>
|
||||
<span id="productcard-no-price-data-hint"
|
||||
class="font-italic d-none">{{ $__t('No price history available') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($asModal)
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-secondary"
|
||||
data-dismiss="modal">{{ $__t('Close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<strong>{{ $__t('Stock amount') }}:</strong>
|
||||
<span id="productcard-product-stock-amount-wrapper">
|
||||
<span id="productcard-product-stock-amount"
|
||||
class="locale-number locale-number-quantity-amount"></span> <span id="productcard-product-stock-qu-name"></span>
|
||||
</span>
|
||||
<span id="productcard-product-stock-opened-amount"
|
||||
class="small font-italic"></span>
|
||||
<span id="productcard-aggregated-amounts"
|
||||
class="pl-2 text-secondary d-none"><i class="fa-solid fa-custom-sigma-sign"></i> <span id="productcard-product-stock-amount-aggregated"
|
||||
class="locale-number locale-number-quantity-amount"></span> <span id="productcard-product-stock-qu-name-aggregated"></span> <span id="productcard-product-stock-opened-amount-aggregated"
|
||||
class="small font-italic"></span></span><br>
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)
|
||||
<strong>{{ $__t('Stock value') }}:</strong> <span id="productcard-product-stock-value"
|
||||
class="locale-number locale-number-currency"></span><br>
|
||||
@endif
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING)<strong>{{ $__t('Default location') }}:</strong> <span id="productcard-product-location"></span><br>@endif
|
||||
<strong>{{ $__t('Last purchased') }}:</strong> <span id="productcard-product-last-purchased"></span> <time id="productcard-product-last-purchased-timeago"
|
||||
class="timeago timeago-contextual"></time><br>
|
||||
<strong>{{ $__t('Last used') }}:</strong> <span id="productcard-product-last-used"></span> <time id="productcard-product-last-used-timeago"
|
||||
class="timeago timeago-contextual"></time><br>
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)<strong>
|
||||
{{ $__t('Last price') }}:</strong> <span id="productcard-product-last-price"
|
||||
data-toggle="tooltip"
|
||||
data-trigger="hover click"></span>
|
||||
<br>
|
||||
@endif
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)
|
||||
<strong>{{ $__t('Average price') }}:</strong> <span id="productcard-product-average-price"
|
||||
data-toggle="tooltip"
|
||||
data-trigger="hover click"></span>
|
||||
<br>
|
||||
@endif
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING)<strong>{{ $__t('Average shelf life') }}:</strong> <span id="productcard-product-average-shelf-life"></span><br>@endif
|
||||
<strong>{{ $__t('Spoil rate') }}:</strong> <span id="productcard-product-spoil-rate"></span>
|
||||
|
||||
<p class="w-75 mt-3 mx-auto">
|
||||
<img id="productcard-product-picture"
|
||||
class="img-fluid img-thumbnail d-none"
|
||||
src=""
|
||||
loading="lazy">
|
||||
</p>
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)
|
||||
<h5 class="mt-3">{{ $__t('Price history') }}</h5>
|
||||
<canvas id="productcard-product-price-history-chart"
|
||||
class="w-100 d-none"></canvas>
|
||||
<span id="productcard-no-price-data-hint"
|
||||
class="font-italic d-none">{{ $__t('No price history available') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
Reference in New Issue
Block a user