static accordions convert to view component
This commit is contained in:
parent
bb2c6372a0
commit
b2644776ad
@ -28,6 +28,7 @@ return [
|
||||
'create' => ':user created this transfer on :date',
|
||||
'transactions' => 'List of transactions related to this transfer',
|
||||
'transactions_desc' => ':number transaction for :account',
|
||||
'attachments' => 'Download the files attached to this transfer',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -1,30 +1,16 @@
|
||||
@if ($attachment)
|
||||
<div class="border-b border-gray-200 pb-4"
|
||||
x-data="{ attachment : null }"
|
||||
>
|
||||
<div class="relative w-full ltr:text-left rtl:text-right cursor-pointer group"
|
||||
x-on:click="attachment !== 1 ? attachment = 1 : attachment = null"
|
||||
>
|
||||
<span class="font-medium">
|
||||
<x-button.hover group-hover>
|
||||
{{ trans_choice('general.attachments', 2) }}
|
||||
</x-button.hover>
|
||||
</span>
|
||||
<x-show.accordion type="attachment">
|
||||
<x-slot name="head">
|
||||
<x-show.accordion.head
|
||||
title="{{ trans_choice('general.attachments', 2) }}"
|
||||
description="{{ trans('transactions.slider.attachments') }}"
|
||||
/>
|
||||
</x-slot>
|
||||
|
||||
<div class="text-black-400 text-sm flex gap-x-1 mt-1">
|
||||
{{ trans('transactions.slider.attachments') }}
|
||||
</div>
|
||||
|
||||
<span class="material-icons absolute ltr:right-0 rtl:left-0 top-0 transition-all transform" x-bind:class="attachment === 1 ? 'rotate-180' : ''">expand_more</span>
|
||||
</div>
|
||||
|
||||
<div class="overflow-hidden transition-transform origin-top-left ease-linear duration-100"
|
||||
x-ref="container1"
|
||||
x-bind:class="attachment == 1 ? 'h-auto ' : 'scale-y-0 h-0'"
|
||||
>
|
||||
<x-slot name="body">
|
||||
@foreach ($attachment as $file)
|
||||
<x-media.file :file="$file" />
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</x-slot>
|
||||
</x-show.accordion>
|
||||
@endif
|
||||
|
@ -1,26 +1,12 @@
|
||||
<div class="border-b pb-4" x-data="{ children : null }">
|
||||
<button class="relative w-full ltr:text-left rtl:text-right cursor-pointer group"
|
||||
x-on:click="children !== 1 ? children = 1 : children = null"
|
||||
>
|
||||
<span class="font-medium">
|
||||
<x-button.hover group-hover>
|
||||
{{ trans_choice('general.transactions', 2) }}
|
||||
</x-button.hover>
|
||||
</span>
|
||||
<x-show.accordion type="children">
|
||||
<x-slot name="head">
|
||||
<x-show.accordion.head
|
||||
title="{{ trans_choice('general.transactions', 2) }}"
|
||||
description="{!! trans('transactions.slider.children', ['count' => $transaction->children()->count()]) !!}"
|
||||
/>
|
||||
</x-slot>
|
||||
|
||||
<div class="text-black-400 text-sm flex gap-x-1 mt-1">
|
||||
{!! trans('transactions.slider.children', ['count' => $transaction->children()->count()]) !!}
|
||||
</div>
|
||||
|
||||
<span class="material-icons absolute ltr:right-0 rtl:left-0 top-0 transition-all transform"
|
||||
x-bind:class="children === 1 ? 'rotate-180' : ''"
|
||||
>expand_more</span>
|
||||
</button>
|
||||
|
||||
<div class="overflow-hidden transition-transform origin-top-left ease-linear duration-100"
|
||||
x-ref="container1"
|
||||
x-bind:class="children == 1 ? 'h-auto ' : 'scale-y-0 h-0'"
|
||||
>
|
||||
<x-slot name="body">
|
||||
@if ($transaction->children()->count())
|
||||
@foreach ($transaction->children()->get() as $child)
|
||||
@php $url = '<x-link href="' . route('transactions.show', $child->id) . '" class="text-purple" override="class">' . $child->number . '</x-link>' @endphp
|
||||
@ -32,5 +18,5 @@
|
||||
@else
|
||||
{{ trans('general.none') }}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</x-slot>
|
||||
</x-show.accordion>
|
||||
|
@ -1,14 +1,10 @@
|
||||
@php $created_date = '<span class="font-medium">' . company_date($transaction->created_at) . '</span>' @endphp
|
||||
|
||||
<div class="border-b pb-4" x-data="{ create : null }">
|
||||
<button class="relative w-full ltr:text-left rtl:text-right group"
|
||||
x-on:click="create !== 1 ? create = 1 : create = null"
|
||||
>
|
||||
<span class="font-medium">
|
||||
<x-button.hover>
|
||||
{{ trans('general.create') }}
|
||||
</x-button.hover>
|
||||
</span>
|
||||
<x-show.accordion type="create">
|
||||
<x-slot name="head">
|
||||
<x-show.accordion.head
|
||||
title="{{ trans('general.create') }}"
|
||||
/>
|
||||
|
||||
<div class="text-black-400 text-sm flex gap-x-1 mt-1">
|
||||
@if ($transaction->isRecurringTransaction())
|
||||
@ -17,14 +13,9 @@
|
||||
{!! trans('transactions.slider.create', ['user' => $transaction->owner->name, 'date' => $created_date]) !!}
|
||||
@endif
|
||||
</div>
|
||||
</x-slot>
|
||||
|
||||
<span class="material-icons absolute ltr:right-0 rtl:left-0 top-0 transition-all transform" x-bind:class="create === 1 ? 'rotate-180' : ''">expand_more</span>
|
||||
</button>
|
||||
|
||||
<div class="overflow-hidden transition-transform origin-top-left ease-linear duration-100"
|
||||
x-ref="container1"
|
||||
x-bind:class="create == 1 ? 'h-auto ' : 'scale-y-0 h-0'"
|
||||
>
|
||||
<x-slot name="body">
|
||||
@if ($transaction->isNotTransferTransaction())
|
||||
<div class="flex my-3 space-x-2 rtl:space-x-reverse">
|
||||
<x-link
|
||||
@ -36,5 +27,5 @@
|
||||
</x-link>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</x-slot>
|
||||
</x-show.accordion>
|
@ -3,27 +3,15 @@
|
||||
$frequency = Str::lower(trans('recurring.' . str_replace('ly', 's', $transaction->recurring->frequency)));
|
||||
@endphp
|
||||
|
||||
<div class="border-b pb-4" x-data="{ schedule : null }">
|
||||
<button class="relative w-full ltr:text-left rtl:text-right cursor-pointer group"
|
||||
x-on:click="schedule !== 1 ? schedule = 1 : schedule = null"
|
||||
>
|
||||
<span class="font-medium">
|
||||
<x-button.hover group-hover>
|
||||
{{ trans_choice('general.schedules', 1) }}
|
||||
</x-button.hover>
|
||||
</span>
|
||||
<x-show.accordion type="schedule">
|
||||
<x-slot name="head">
|
||||
<x-show.accordion.head
|
||||
title="{{ trans_choice('general.schedules', 1) }}"
|
||||
description="{!! trans('transactions.slider.schedule', ['frequency' => $frequency, 'interval' => $transaction->recurring->interval, 'date' => $started_date]) !!}"
|
||||
/>
|
||||
</x-slot>
|
||||
|
||||
<div class="text-black-400 text-sm flex gap-x-1 mt-1">
|
||||
{!! trans('transactions.slider.schedule', ['frequency' => $frequency, 'interval' => $transaction->recurring->interval, 'date' => $started_date]) !!}
|
||||
</div>
|
||||
|
||||
<span class="material-icons absolute ltr:right-0 rtl:left-0 top-0 transition-all transform" x-bind:class="schedule === 1 ? 'rotate-180' : ''">expand_more</span>
|
||||
</button>
|
||||
|
||||
<div class="overflow-hidden transition-transform origin-top-left ease-linear duration-100"
|
||||
x-ref="container1"
|
||||
x-bind:class="schedule == 1 ? 'h-auto ' : 'scale-y-0 h-0'"
|
||||
>
|
||||
<x-slot name="body">
|
||||
<div class="flex my-3 space-x-2 rtl:space-x-reverse">
|
||||
@if ($next = $transaction->recurring->getNextRecurring())
|
||||
{{ trans('recurring.next_date', ['date' => $next->format(company_date_format())]) }}
|
||||
@ -41,5 +29,5 @@
|
||||
{{ trans('documents.statuses.ended') }}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</x-slot>
|
||||
</x-show.accordion>
|
||||
|
@ -9,42 +9,33 @@
|
||||
@endphp
|
||||
@endif
|
||||
|
||||
<div class="border-b pb-4" x-data="{ transfer : 1 }">
|
||||
<button class="relative w-full ltr:text-left rtl:text-right cursor-pointer group"
|
||||
x-on:click="transfer !== 1 ? transfer = 1 : transfer = null"
|
||||
>
|
||||
<span class="font-medium border-b border-transparent transition-all group-hover:border-black">
|
||||
{{ trans_choice('general.transfers', 1) }}
|
||||
</span>
|
||||
|
||||
<x-show.accordion type="transfer" open>
|
||||
<x-slot name="head">
|
||||
<x-show.accordion.head
|
||||
title="{{ trans_choice('general.transfers', 1) }}"
|
||||
/>
|
||||
|
||||
@if ($transfer)
|
||||
<div class="text-black-400 text-sm flex gap-x-1 mt-1">
|
||||
{!! trans('transactions.slider.transfer_headline', ['from_account' => $from_account, 'to_account' => $to_account]) !!}
|
||||
</div>
|
||||
@endif
|
||||
</x-slot>
|
||||
|
||||
<span class="material-icons absolute ltr:right-0 rtl:left-0 top-0 transition-all transform"
|
||||
x-bind:class="transfer === 1 ? 'rotate-180' : ''"
|
||||
>expand_more</span>
|
||||
</button>
|
||||
|
||||
<div class="overflow-hidden transition-transform origin-top-left ease-linear duration-100"
|
||||
x-ref="container1"
|
||||
x-bind:class="transfer === 1 ? 'h-auto' : 'scale-y-0 h-0'"
|
||||
>
|
||||
<x-slot name="body">
|
||||
@if ($transfer)
|
||||
<div class="my-2">
|
||||
{!! trans('transactions.slider.transfer_desc', ['date' => $date]) !!}
|
||||
</div>
|
||||
@else
|
||||
<div class="mt-2">
|
||||
<div class="alert alert-notify p-4 font-bold rounded-lg bg-orange-100 text-orange-600">
|
||||
<span class="alert-text">
|
||||
<span>{{ trans('messages.warning.missing_transfer') }}</span>
|
||||
</span>
|
||||
<div class="my-2">
|
||||
{!! trans('transactions.slider.transfer_desc', ['date' => $date]) !!}
|
||||
</div>
|
||||
@else
|
||||
<div class="mt-2">
|
||||
<div class="alert alert-notify p-4 font-bold rounded-lg bg-orange-100 text-orange-600">
|
||||
<span class="alert-text">
|
||||
<span>{{ trans('messages.warning.missing_transfer') }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</x-slot>
|
||||
</x-show.accordion>
|
||||
@endif
|
||||
|
@ -1,26 +1,16 @@
|
||||
@if ($transfer->attachment)
|
||||
<div class="border-b border-gray-200 pb-4" x-data="{ attachment : null }">
|
||||
<div class="relative w-full text-left cursor-pointer group" x-on:click="attachment !== 1 ? attachment = 1 : attachment = null">
|
||||
<span class="font-medium">
|
||||
<x-button.hover group-hover>
|
||||
{{ trans_choice('general.attachments', 2) }}
|
||||
</x-button.hover>
|
||||
</span>
|
||||
<x-show.accordion type="attachment">
|
||||
<x-slot name="head">
|
||||
<x-show.accordion.head
|
||||
title="{{ trans_choice('general.attachments', 2) }}"
|
||||
description="{{ trans('transfers.slider.attachments') }}"
|
||||
/>
|
||||
</x-slot>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
{{ trans('transers.slider.attachments') }}
|
||||
</div>
|
||||
|
||||
<span class="material-icons absolute ltr:right-0 rtl:left-0 top-0 transition-all transform" x-bind:class="attachment === 1 ? 'rotate-180' : ''">expand_more</span>
|
||||
</div>
|
||||
|
||||
<div class="overflow-hidden transition-transform origin-top-left ease-linear duration-100"
|
||||
x-ref="container1"
|
||||
x-bind:class="attachment == 1 ? 'h-auto ' : 'scale-y-0 h-0'"
|
||||
>
|
||||
<x-slot name="body">
|
||||
@foreach ($transfer->attachment as $file)
|
||||
<x-media.file :file="$file" />
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</x-slot>
|
||||
</x-show.accordion>
|
||||
@endif
|
||||
|
@ -1,25 +1,14 @@
|
||||
@php $created_date = '<span class="font-medium">' . company_date($transfer->created_at) . '</span>' @endphp
|
||||
|
||||
<div class="border-b pb-4" x-data="{ create : null }">
|
||||
<button class="relative w-full text-left group" x-on:click="create !== 1 ? create = 1 : create = null">
|
||||
<span class="font-medium">
|
||||
<x-button.hover group-hover>
|
||||
{{ trans('general.create') }}
|
||||
</x-button.hover>
|
||||
</span>
|
||||
<x-show.accordion type="create">
|
||||
<x-slot name="head">
|
||||
<x-show.accordion.head
|
||||
title="{{ trans('general.create') }}"
|
||||
description="{!! trans('transactions.slider.create', ['user' => $transfer->owner->name, 'date' => $created_date]) !!}"
|
||||
/>
|
||||
</x-slot>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
{!! trans('transactions.slider.create', ['user' => $transfer->owner->name, 'date' => $created_date]) !!}
|
||||
</div>
|
||||
|
||||
<span class="material-icons absolute ltr:right-0 rtl:left-0 top-0 transition-all transform" x-bind:class="create === 1 ? 'rotate-180' : ''">expand_more</span>
|
||||
</button>
|
||||
|
||||
<div
|
||||
class="overflow-hidden transition-transform origin-top-left ease-linear duration-100"
|
||||
x-ref="container1"
|
||||
x-bind:class="create == 1 ? 'h-auto ' : 'scale-y-0 h-0'"
|
||||
>
|
||||
<x-slot name="body">
|
||||
<div class="flex my-3 space-x-2 rtl:space-x-reverse">
|
||||
<x-link
|
||||
href="{{ route('transfers.edit', $transfer->id) }}"
|
||||
@ -29,5 +18,5 @@
|
||||
{{ trans('general.edit') }}
|
||||
</x-link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</x-slot>
|
||||
</x-show.accordion>
|
||||
|
@ -1,27 +1,18 @@
|
||||
@php
|
||||
$link_class = 'to-black-400 hover:bg-full-2 bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize';
|
||||
$expense_number = '<x-link href="' . route('transactions.show', $transfer->expense_transaction->id) . '" class="' . $link_class . '" override="class">' . $transfer->expense_transaction->number . '</x-link>';
|
||||
$income_number = '<x-link href="' . route('transactions.show', $transfer->income_transaction->id) . '" class="' . $link_class . '" override="class">' . $transfer->income_transaction->number . '</x-link>';
|
||||
$expense_number = '<a href="' . route('transactions.show', $transfer->expense_transaction->id) . '" class="' . $link_class . '" override="class">' . $transfer->expense_transaction->number . '</a>';
|
||||
$income_number = '<a href="' . route('transactions.show', $transfer->income_transaction->id) . '" class="' . $link_class . '" override="class">' . $transfer->income_transaction->number . '</a>';
|
||||
@endphp
|
||||
|
||||
<div class="border-b pb-4" x-data="{ transactions : null }">
|
||||
<button class="relative w-full text-left group" x-on:click="transactions !== 1 ? transactions = 1 : transactions = null">
|
||||
<span class="font-medium border-b border-transparent transition-all group-hover:border-black">
|
||||
{{ trans_choice('general.transactions', 2) }}
|
||||
</span>
|
||||
<x-show.accordion type="transactions">
|
||||
<x-slot name="head">
|
||||
<x-show.accordion.head
|
||||
title="{{ trans_choice('general.transactions', 2) }}"
|
||||
description="{!! trans('transfers.slider.transactions', ['user' => $transfer->owner->name]) !!}"
|
||||
/>
|
||||
</x-slot>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
{!! trans('transfers.slider.transactions', ['user' => $transfer->owner->name]) !!}
|
||||
</div>
|
||||
|
||||
<span class="material-icons absolute ltr:right-0 rtl:left-0 top-0 transition-all transform" x-bind:class="transactions === 1 ? 'rotate-180' : ''">expand_more</span>
|
||||
</button>
|
||||
|
||||
<div
|
||||
class="overflow-hidden transition-transform origin-top-left ease-linear duration-100"
|
||||
x-ref="container1"
|
||||
x-bind:class="transactions === 1 ? 'h-auto' : 'scale-y-0 h-0'"
|
||||
>
|
||||
<x-slot name="body">
|
||||
<div class="my-2">
|
||||
{!! trans('transfers.slider.transactions_desc', ['number' => $expense_number, 'account' => $transfer->expense_account->title]) !!}
|
||||
</div>
|
||||
@ -29,5 +20,5 @@
|
||||
<div class="my-2">
|
||||
{!! trans('transfers.slider.transactions_desc', ['number' => $income_number, 'account' => $transfer->income_account->title]) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</x-slot>
|
||||
</x-show.accordion>
|
Loading…
x
Reference in New Issue
Block a user