Incentive (E1): Recruiting-Challenge mit Geldpraemie, Auszahlungs-Export und parallelen Incentives
Neue Felder amount_per_partner, bonus_rank_1..3 und include_sales_points an incentives. Mit ausgeschalteten Umsatzpunkten zaehlt die Wertung nur die Einmalpunkte je Neupartner, die Rangliste entspricht damit der Anzahl Neupartner mit Starterpaket. IncentivePayoutService rechnet Neupartner mal Betrag plus Rang-Bonus fuer qualifizierte Gewinner; Admin-Detailseite bekommt Praemienspalte, Summen und XLSX-Export fuer die Auszahlung. Sidenav und Dashboard zeigen alle aktiven Incentives, damit Montenegro und die Challenge parallel laufen koennen. Teaser, Rangliste und Details zeigen bei Geldpraemie die Praemien-Kachel und "Deine Praemie bisher" und blenden Abo-Bloecke aus, wenn Abos keine Rolle spielen. Montenegro bleibt unveraendert. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
03416b0afe
commit
e3efa2f5f0
27 changed files with 1418 additions and 129 deletions
7
resources/views/user/incentive/_payout_bullets.blade.php
Normal file
7
resources/views/user/incentive/_payout_bullets.blade.php
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{{-- Praemien-Hinweise in der Punkte-Erklaerung (nur bei Geldpraemie). Erwartet $incentive. --}}
|
||||
@if ((float) $incentive->amount_per_partner > 0)
|
||||
<li>{{ __('incentive.payout_per_partner_text', ['amount' => \App\Services\Incentive\IncentivePayoutService::formatAmount((float) $incentive->amount_per_partner)]) }}</li>
|
||||
@endif
|
||||
@if ($incentive->rankBonuses() !== [])
|
||||
<li>{{ __('incentive.payout_top_bonus_text', ['n' => count($incentive->rankBonuses()), 'list' => collect($incentive->rankBonuses())->map(fn ($amount, $rank) => __('incentive.payout_rank_label', ['n' => $rank]).' '.\App\Services\Incentive\IncentivePayoutService::formatAmount($amount))->implode(', ')]) }}</li>
|
||||
@endif
|
||||
31
resources/views/user/incentive/_payout_tile.blade.php
Normal file
31
resources/views/user/incentive/_payout_tile.blade.php
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{{-- Praemien-Kachel einer Recruiting-Challenge (ersetzt die Mindestqualifikation, wenn keine gefordert ist). Erwartet $incentive. --}}
|
||||
<div class="card inc-info-tile shadow-sm mb-4" id="incentive-payout-tile">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-start">
|
||||
<div class="inc-tile-icon inc-tile-icon-plane mr-3">
|
||||
<i class="ion ion-md-cash"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="font-weight-bold mb-2">{{ __('incentive.payout_tile_title') }}</h6>
|
||||
<ul class="list-unstyled mb-2">
|
||||
@if ((float) $incentive->amount_per_partner > 0)
|
||||
<li class="mb-1">
|
||||
<strong style="color: #6b7758;">{{ \App\Services\Incentive\IncentivePayoutService::formatAmount((float) $incentive->amount_per_partner) }}</strong>
|
||||
{{ __('incentive.payout_per_partner_label') }}
|
||||
</li>
|
||||
@endif
|
||||
@foreach ($incentive->rankBonuses() as $bonusRank => $bonusAmount)
|
||||
<li>
|
||||
<strong style="color: #6b7758;">{{ \App\Services\Incentive\IncentivePayoutService::formatAmount($bonusAmount) }}</strong>
|
||||
{{ __('incentive.payout_rank_bonus_label', ['n' => $bonusRank]) }}
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<p class="text-muted small mb-0">
|
||||
<i class="ion ion-md-information-circle mr-1"></i>
|
||||
{{ __('incentive.payout_ranking_hint') }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -31,21 +31,36 @@
|
|||
<div class="card-body">
|
||||
<h5 class="card-title text-muted">{{ __('incentive.partners') }}</h5>
|
||||
<h2 class="font-weight-bold {{ $participant->qualified_partners >= $incentive->min_direct_partners ? 'text-success' : '' }}">
|
||||
{{ $participant->qualified_partners }}/{{ $incentive->min_direct_partners }}
|
||||
{{ $participant->qualified_partners }}@if ($incentive->min_direct_partners > 0)/{{ $incentive->min_direct_partners }}@endif
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="card text-center">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-muted">{{ __('incentive.abos') }}</h5>
|
||||
<h2 class="font-weight-bold {{ $participant->qualified_abos >= $incentive->min_customer_abos ? 'text-success' : '' }}">
|
||||
{{ $participant->qualified_abos }}/{{ $incentive->min_customer_abos }}
|
||||
</h2>
|
||||
@if ($incentive->hasCashPayout() && !$incentive->usesAbos())
|
||||
@php $detailPayout = (new \App\Services\Incentive\IncentivePayoutService)->forParticipant($incentive, $participant); @endphp
|
||||
<div class="col-md-3">
|
||||
<div class="card text-center" id="incentive-payout-card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-muted">{{ __('incentive.payout_so_far') }}</h5>
|
||||
<h2 class="font-weight-bold">{{ \App\Services\Incentive\IncentivePayoutService::formatAmount($detailPayout['total']) }}</h2>
|
||||
@if ($detailPayout['rank_bonus'] > 0)
|
||||
<small class="text-muted">{{ __('incentive.payout_incl_bonus', ['amount' => \App\Services\Incentive\IncentivePayoutService::formatAmount($detailPayout['rank_bonus'])]) }}</small>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-md-3">
|
||||
<div class="card text-center">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-muted">{{ __('incentive.abos') }}</h5>
|
||||
<h2 class="font-weight-bold {{ $participant->qualified_abos >= $incentive->min_customer_abos ? 'text-success' : '' }}">
|
||||
{{ $participant->qualified_abos }}/{{ $incentive->min_customer_abos }}
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
{{-- Sektion A: Neupartner-Punkte --}}
|
||||
|
|
@ -64,21 +79,23 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Sektion B: Kundenabo-Punkte --}}
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
<strong>{{ __('incentive.section_abos') }}</strong>
|
||||
{{-- Sektion B: Kundenabo-Punkte (entfaellt bei reiner Recruiting-Challenge) --}}
|
||||
@if ($incentive->usesAbos() || $abo_sources->isNotEmpty())
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
<strong>{{ __('incentive.section_abos') }}</strong>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
@include('partials.incentive._source_table', [
|
||||
'sources' => $abo_sources,
|
||||
'type' => 'abo',
|
||||
'label_header' => __('incentive.customer_abo'),
|
||||
'date_header' => __('incentive.abo_date'),
|
||||
'empty_message' => __('incentive.no_abos_yet'),
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
@include('partials.incentive._source_table', [
|
||||
'sources' => $abo_sources,
|
||||
'type' => 'abo',
|
||||
'label_header' => __('incentive.customer_abo'),
|
||||
'date_header' => __('incentive.abo_date'),
|
||||
'empty_message' => __('incentive.no_abos_yet'),
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Gesamtpunkte --}}
|
||||
<div class="card border-primary">
|
||||
|
|
|
|||
|
|
@ -490,9 +490,15 @@
|
|||
</div>
|
||||
@endif
|
||||
<div class="stat-box">
|
||||
<div class="stat-label">{{ __('incentive.total_points') }}</div>
|
||||
<div class="stat-label">{{ $incentive->ranksByPartnerCount() ? __('incentive.new_partners_short') : __('incentive.total_points') }}</div>
|
||||
<div class="stat-value">{{ number_format($participant->total_points, 0, ',', '.') }}</div>
|
||||
</div>
|
||||
@if ($participantPayout)
|
||||
<div class="stat-box">
|
||||
<div class="stat-label">{{ __('incentive.payout_so_far') }}</div>
|
||||
<div class="stat-value">{{ \App\Services\Incentive\IncentivePayoutService::formatAmount($participantPayout['total']) }}</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="mr-3">
|
||||
@if ($participant->is_qualified)
|
||||
<span class="badge-qual">{{ __('incentive.qualified') }}</span>
|
||||
|
|
@ -560,6 +566,9 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
@if ($incentive->hasCashPayout() && !$incentive->hasMinimumRequirements())
|
||||
@include('user.incentive._payout_tile', ['incentive' => $incentive])
|
||||
@else
|
||||
{{-- Mindestqualifikation --}}
|
||||
<div class="card inc-info-tile shadow-sm mb-4">
|
||||
<div class="card-body">
|
||||
|
|
@ -580,14 +589,15 @@
|
|||
{{ __('incentive.min_abos_label') }}
|
||||
</li>
|
||||
</ul>
|
||||
<p class="text-muted small mb-0">
|
||||
<i class="ion ion-md-information-circle mr-1"></i>
|
||||
{{ __('incentive.min_qual_ranking_hint') }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-muted small mb-0">
|
||||
<i class="ion ion-md-information-circle mr-1"></i>
|
||||
{{ __('incentive.min_qual_ranking_hint') }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Punkte-System --}}
|
||||
<div class="inc-points-section mb-4">
|
||||
|
|
@ -596,7 +606,7 @@
|
|||
{{ __('incentive.section_points') }}
|
||||
</h6>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 mb-md-0">
|
||||
<div class="{{ $incentive->usesAbos() ? 'col-md-6 mb-3 mb-md-0' : 'col-md-12' }}">
|
||||
<div class="inc-point-card inc-point-card-partner">
|
||||
<h6 class="font-weight-bold mb-1" style="font-size: .9rem;">
|
||||
<i class="ion ion-md-person-add mr-1"></i>
|
||||
|
|
@ -609,10 +619,14 @@
|
|||
<ul class="pl-3 mb-0">
|
||||
<li>{{ __('incentive.points_onetime_label') }}</li>
|
||||
<li>{{ __('incentive.points_starter_package_label') }}</li>
|
||||
<li>{{ __('incentive.points_partner_boost') }}</li>
|
||||
@if ($incentive->includesSalesPoints())
|
||||
<li>{{ __('incentive.points_partner_boost') }}</li>
|
||||
@endif
|
||||
@include('user.incentive._payout_bullets', ['incentive' => $incentive])
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@if ($incentive->usesAbos())
|
||||
<div class="col-md-6">
|
||||
<div class="inc-point-card inc-point-card-abo">
|
||||
<h6 class="font-weight-bold mb-1" style="font-size: .9rem;">
|
||||
|
|
@ -626,10 +640,13 @@
|
|||
<ul class="pl-3 mb-0">
|
||||
<li>{{ __('incentive.points_onetime_label') }}</li>
|
||||
<li>{{ __('incentive.points_abo_direct') }}</li>
|
||||
<li>{{ __('incentive.points_abo_boost') }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@if ($incentive->includesSalesPoints())
|
||||
<li>{{ __('incentive.points_abo_boost') }}</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -694,9 +711,15 @@
|
|||
</div>
|
||||
@endif
|
||||
<div class="stat-box">
|
||||
<div class="stat-label">{{ __('incentive.total_points') }}</div>
|
||||
<div class="stat-label">{{ $incentive->ranksByPartnerCount() ? __('incentive.new_partners_short') : __('incentive.total_points') }}</div>
|
||||
<div class="stat-value">{{ number_format($participant->total_points, 0, ',', '.') }}</div>
|
||||
</div>
|
||||
@if ($participantPayout)
|
||||
<div class="stat-box">
|
||||
<div class="stat-label">{{ __('incentive.payout_so_far') }}</div>
|
||||
<div class="stat-value">{{ \App\Services\Incentive\IncentivePayoutService::formatAmount($participantPayout['total']) }}</div>
|
||||
</div>
|
||||
@endif
|
||||
<div>
|
||||
@if ($participant->is_qualified)
|
||||
<span class="badge-qual">{{ __('incentive.qualified') }}</span>
|
||||
|
|
@ -759,6 +782,9 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
@if ($incentive->hasCashPayout() && !$incentive->hasMinimumRequirements())
|
||||
@include('user.incentive._payout_tile', ['incentive' => $incentive])
|
||||
@else
|
||||
{{-- Mindestqualifikation --}}
|
||||
<div class="card inc-info-tile shadow-sm mb-4">
|
||||
<div class="card-body">
|
||||
|
|
@ -779,14 +805,15 @@
|
|||
{{ __('incentive.min_abos_label') }}
|
||||
</li>
|
||||
</ul>
|
||||
<p class="text-muted small mb-0">
|
||||
<i class="ion ion-md-information-circle mr-1"></i>
|
||||
{{ __('incentive.min_qual_ranking_hint') }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-muted small mb-0">
|
||||
<i class="ion ion-md-information-circle mr-1"></i>
|
||||
{{ __('incentive.min_qual_ranking_hint') }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Punkte-System --}}
|
||||
<div class="inc-points-section mb-4">
|
||||
|
|
@ -795,7 +822,7 @@
|
|||
{{ __('incentive.section_points') }}
|
||||
</h6>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 mb-md-0">
|
||||
<div class="{{ $incentive->usesAbos() ? 'col-md-6 mb-3 mb-md-0' : 'col-md-12' }}">
|
||||
<div class="inc-point-card inc-point-card-partner">
|
||||
<h6 class="font-weight-bold mb-1" style="font-size: .9rem;">
|
||||
<i class="ion ion-md-person-add mr-1"></i>
|
||||
|
|
@ -807,10 +834,15 @@
|
|||
</div>
|
||||
<ul class="pl-3 mb-0">
|
||||
<li>{{ __('incentive.points_onetime_label') }}</li>
|
||||
<li>{{ __('incentive.points_partner_boost') }}</li>
|
||||
<li>{{ __('incentive.points_starter_package_label') }}</li>
|
||||
@if ($incentive->includesSalesPoints())
|
||||
<li>{{ __('incentive.points_partner_boost') }}</li>
|
||||
@endif
|
||||
@include('user.incentive._payout_bullets', ['incentive' => $incentive])
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@if ($incentive->usesAbos())
|
||||
<div class="col-md-6">
|
||||
<div class="inc-point-card inc-point-card-abo">
|
||||
<h6 class="font-weight-bold mb-1" style="font-size: .9rem;">
|
||||
|
|
@ -823,10 +855,13 @@
|
|||
</div>
|
||||
<ul class="pl-3 mb-0">
|
||||
<li>{{ __('incentive.points_onetime_label') }}</li>
|
||||
<li>{{ __('incentive.points_abo_boost') }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@if ($incentive->includesSalesPoints())
|
||||
<li>{{ __('incentive.points_abo_boost') }}</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -929,9 +964,16 @@
|
|||
<tr>
|
||||
<th style="width: 60px;">{{ __('incentive.rank') }}</th>
|
||||
<th>{{ __('incentive.consultant') }}</th>
|
||||
<th class="text-right">{{ __('incentive.total_points') }}</th>
|
||||
<th class="text-center">{{ __('incentive.partners') }}</th>
|
||||
<th class="text-center">{{ __('incentive.abos') }}</th>
|
||||
<th class="text-right">{{ $incentive->ranksByPartnerCount() ? __('incentive.new_partners_short') : __('incentive.total_points') }}</th>
|
||||
@if (!$incentive->ranksByPartnerCount())
|
||||
<th class="text-center">{{ __('incentive.partners') }}</th>
|
||||
@endif
|
||||
@if ($incentive->usesAbos())
|
||||
<th class="text-center">{{ __('incentive.abos') }}</th>
|
||||
@endif
|
||||
@if ($incentive->hasCashPayout())
|
||||
<th class="text-right">{{ __('incentive.payout_column') }}</th>
|
||||
@endif
|
||||
<th class="text-center">{{ __('incentive.status') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -978,18 +1020,32 @@
|
|||
<td class="text-right">
|
||||
<strong>{{ number_format($p->total_points, 0, ',', '.') }}</strong>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
{{ $p->qualified_partners }}/{{ $incentive->min_direct_partners }}
|
||||
@if ($p->qualified_partners >= $incentive->min_direct_partners)
|
||||
<span class="check-ok">✓</span>
|
||||
@endif
|
||||
</td>
|
||||
<td class="text-center">
|
||||
{{ $p->qualified_abos }}/{{ $incentive->min_customer_abos }}
|
||||
@if ($p->qualified_abos >= $incentive->min_customer_abos)
|
||||
<span class="check-ok">✓</span>
|
||||
@endif
|
||||
</td>
|
||||
@if (!$incentive->ranksByPartnerCount())
|
||||
<td class="text-center">
|
||||
{{ $p->qualified_partners }}@if ($incentive->min_direct_partners > 0)/{{ $incentive->min_direct_partners }}@endif
|
||||
@if ($incentive->min_direct_partners > 0 && $p->qualified_partners >= $incentive->min_direct_partners)
|
||||
<span class="check-ok">✓</span>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($incentive->usesAbos())
|
||||
<td class="text-center">
|
||||
{{ $p->qualified_abos }}@if ($incentive->min_customer_abos > 0)/{{ $incentive->min_customer_abos }}@endif
|
||||
@if ($incentive->min_customer_abos > 0 && $p->qualified_abos >= $incentive->min_customer_abos)
|
||||
<span class="check-ok">✓</span>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($incentive->hasCashPayout())
|
||||
@php $rowPayout = $rankingPayouts[$p->id] ?? null; @endphp
|
||||
<td class="text-right">
|
||||
@if ($rowPayout && $rowPayout['total'] > 0)
|
||||
{{ \App\Services\Incentive\IncentivePayoutService::formatAmount($rowPayout['total']) }}
|
||||
@else
|
||||
—
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
<td class="text-center">
|
||||
@if ($isWinner)
|
||||
<span class="badge-winner">{{ __('incentive.winner') }}</span>
|
||||
|
|
|
|||
|
|
@ -515,25 +515,54 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Mindestqualifikation --}}
|
||||
<div class="col-md-4 mb-3 mb-md-0">
|
||||
<div class="card info-tile h-100 shadow-sm">
|
||||
<div class="card-body text-center py-4">
|
||||
<div class="tile-icon tile-icon-plane">
|
||||
<i class="ion ion-md-airplane"></i>
|
||||
</div>
|
||||
<h5 class="font-weight-bold mb-3">{{ __('incentive.section_min_qual') }}</h5>
|
||||
<div class="mb-3">
|
||||
<div class="tile-value">{{ $incentive->min_direct_partners }}</div>
|
||||
<span class="tile-label">{{ __('incentive.min_partners_label') }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<div class="tile-value">{{ $incentive->min_customer_abos }}</div>
|
||||
<span class="tile-label">{{ __('incentive.min_abos_label') }}</span>
|
||||
@if ($incentive->hasCashPayout() && !$incentive->hasMinimumRequirements())
|
||||
{{-- Praemie (Recruiting-Challenge) --}}
|
||||
<div class="col-md-4 mb-3 mb-md-0">
|
||||
<div class="card info-tile h-100 shadow-sm" id="incentive-payout-tile">
|
||||
<div class="card-body text-center py-4">
|
||||
<div class="tile-icon tile-icon-plane">
|
||||
<i class="ion ion-md-cash"></i>
|
||||
</div>
|
||||
<h5 class="font-weight-bold mb-3">{{ __('incentive.payout_tile_title') }}</h5>
|
||||
@if ((float) $incentive->amount_per_partner > 0)
|
||||
<div class="mb-3">
|
||||
<div class="tile-value">{{ \App\Services\Incentive\IncentivePayoutService::formatAmount((float) $incentive->amount_per_partner) }}</div>
|
||||
<span class="tile-label">{{ __('incentive.payout_per_partner_label') }}</span>
|
||||
</div>
|
||||
@endif
|
||||
@if ($incentive->rankBonuses() !== [])
|
||||
<div>
|
||||
<span class="tile-label d-block mb-1">{{ __('incentive.payout_top_bonus_title', ['n' => count($incentive->rankBonuses())]) }}</span>
|
||||
@foreach ($incentive->rankBonuses() as $bonusRank => $bonusAmount)
|
||||
<div><strong>{{ __('incentive.payout_rank_label', ['n' => $bonusRank]) }}:</strong>
|
||||
{{ \App\Services\Incentive\IncentivePayoutService::formatAmount($bonusAmount) }}</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
{{-- Mindestqualifikation --}}
|
||||
<div class="col-md-4 mb-3 mb-md-0">
|
||||
<div class="card info-tile h-100 shadow-sm">
|
||||
<div class="card-body text-center py-4">
|
||||
<div class="tile-icon tile-icon-plane">
|
||||
<i class="ion ion-md-airplane"></i>
|
||||
</div>
|
||||
<h5 class="font-weight-bold mb-3">{{ __('incentive.section_min_qual') }}</h5>
|
||||
<div class="mb-3">
|
||||
<div class="tile-value">{{ $incentive->min_direct_partners }}</div>
|
||||
<span class="tile-label">{{ __('incentive.min_partners_label') }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<div class="tile-value">{{ $incentive->min_customer_abos }}</div>
|
||||
<span class="tile-label">{{ __('incentive.min_abos_label') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Punkte-System --}}
|
||||
<div class="col-md-4">
|
||||
|
|
@ -550,13 +579,15 @@
|
|||
</span>
|
||||
<span class="tile-label d-block">{{ __('incentive.points_partners_title') }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="tile-value" style="color: #9a9a00;">
|
||||
{{ number_format($incentive->points_abo_onetime, 0, ',', '.') }}
|
||||
<span class="small font-weight-normal">{{ __('incentive.points_short') }}</span>
|
||||
</span>
|
||||
<span class="tile-label d-block">{{ __('incentive.points_abos_title') }}</span>
|
||||
</div>
|
||||
@if ($incentive->usesAbos())
|
||||
<div>
|
||||
<span class="tile-value" style="color: #9a9a00;">
|
||||
{{ number_format($incentive->points_abo_onetime, 0, ',', '.') }}
|
||||
<span class="small font-weight-normal">{{ __('incentive.points_short') }}</span>
|
||||
</span>
|
||||
<span class="tile-label d-block">{{ __('incentive.points_abos_title') }}</span>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -570,7 +601,7 @@
|
|||
{{ __('incentive.section_points') }}
|
||||
</h4>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 mb-md-0">
|
||||
<div class="{{ $incentive->usesAbos() ? 'col-md-6 mb-3 mb-md-0' : 'col-md-12' }}">
|
||||
<div class="point-card point-card-partner">
|
||||
<h6 class="font-weight-bold mb-2">
|
||||
<i class="ion ion-md-person-add mr-1"></i>
|
||||
|
|
@ -583,10 +614,14 @@
|
|||
<ul>
|
||||
<li>{{ __('incentive.teaser_partner_onetime_text') }}</li>
|
||||
<li>{{ __('incentive.points_starter_package_label') }}</li>
|
||||
<li>{{ __('incentive.points_partner_boost') }}</li>
|
||||
@if ($incentive->includesSalesPoints())
|
||||
<li>{{ __('incentive.points_partner_boost') }}</li>
|
||||
@endif
|
||||
@include('user.incentive._payout_bullets', ['incentive' => $incentive])
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@if ($incentive->usesAbos())
|
||||
<div class="col-md-6">
|
||||
<div class="point-card point-card-abo">
|
||||
<h6 class="font-weight-bold mb-2">
|
||||
|
|
@ -600,10 +635,13 @@
|
|||
<ul>
|
||||
<li>{{ __('incentive.teaser_abo_onetime_text') }}</li>
|
||||
<li>{{ __('incentive.points_abo_direct') }}</li>
|
||||
<li>{{ __('incentive.points_abo_boost') }}</li>
|
||||
@if ($incentive->includesSalesPoints())
|
||||
<li>{{ __('incentive.points_abo_boost') }}</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue