mivita/resources/views/home.blade.php
Kevin 65b867f8ee Abo Einmalprodukte: Phasen 5-7, konfigurierbare Sperrfristen, Lokalisierung & Dashboard
Rechnung/Lieferschein:
- PDF-Gruppierung Abo- vs. Einmal-Artikel (is_abo_addon), rueckwaertskompatibel
- Vorschau-Command sales:preview-invoice (umgeht Test-System-Gate, ohne Rechnungsnummer)

Reminder-Mail (vorbereitet, Cron inaktiv):
- MailAboExecutionReminder + Template, abo:send-execution-reminder, Spalte onetime_reminder_sent_for
- Berater -> Sales Center, Kunde -> Portal; Vorschau abo:preview-reminder
- Datum-Fix: formatDateDB() statt formatDate() (ICU-Format)

Sperrfristen konfigurierbar (Admin-Settings):
- abo-lock-days-change (Liefertag + Abo-Produkte), abo-lock-days-pause-cancel
- Meldungen mit :lock-Platzhalter; Pausieren/Kuendigen vom Change-Lock entkoppelt
- Abo-Produkt-Aenderungen im Lock-Fenster server- + clientseitig eingefroren
- Selbstbedienung: Add-only/Lock nach $view (kein Admin-Bypass), Stale-Cache-Fix beim Mengen-Update

Dashboard:
- Einmalprodukte-Card + Team-Abo-KPI-Card, News-Card responsiv (col-xl-6)

Lokalisierung:
- Sprachdateien en/es/fr vollstaendig mit de synchronisiert (inkl. marketingplan/portal)
- LocalizationSyncTest sichert Key-Gleichheit ab

Tests: AboOneTimeInvoiceGrouping, AboExecutionReminder, AboLockDaysSetting,
AboOnetimeDashboardAndMail, PreviewInvoiceCommand, TeamAboOverview + erweiterte View-Tests

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 13:38:11 +00:00

60 lines
1.8 KiB
PHP
Executable file

@extends('layouts.layout-2')
@section('content')
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif
<h4 class="media align-items-center font-weight-bold py-3 mb-2">
{{-- <img src="assets/img/avatars/1.png" alt="" class="ui-w-50 rounded-circle"> --}}
<div class="media-body ml-3">
{{ __('home.welcome_back') }}, {{ $user->account->first_name }}!
<div class="text-muted text-tiny mt-1"><small class="font-weight-normal">{{ __('home.today_is') }}
{{ __('cal.weekdays.' . $now->format('l')) }}, {{ $now->format('j') }}.
{{ __('cal.months.' . $now->format('F')) }} {{ $now->format('Y') }}</small></div>
</div>
</h4>
<hr class="container-m-nx mt-0 mb-4">
<div class="row">
@include('dashboard._abo_onetime')
@if (Auth::user()->isActiveAccount())
@include('dashboard._abo_team_kpis')
@include('dashboard._news', ['newsColClass' => empty($oneTimeAbo) ? 'col-xl-12' : 'col-xl-6'])
@include('dashboard._incentive')
@endif
@include('dashboard._reminder')
@include('dashboard._membership')
@include('dashboard._shop')
@if (Auth::user()->isActiveAccount())
@include('dashboard._statistics')
@include('dashboard._points')
@include('dashboard._activities')
@endif
@include('dashboard._settings')
</div>
<hr class="container-m-nx mt-0 mb-4">
@endsection