Skip to content

Commit

Permalink
static accordions convert to view component
Browse files Browse the repository at this point in the history
  • Loading branch information
brkcvn committed Aug 18, 2022
1 parent bb2c637 commit b264477
Show file tree
Hide file tree
Showing 9 changed files with 92 additions and 179 deletions.
1 change: 1 addition & 0 deletions resources/lang/en-GB/transfers.php
Expand Up @@ -28,6 +28,7 @@
'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',
],

];
34 changes: 10 additions & 24 deletions resources/views/components/transactions/show/attachment.blade.php
@@ -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
34 changes: 10 additions & 24 deletions resources/views/components/transactions/show/children.blade.php
@@ -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
Expand All @@ -32,5 +18,5 @@
@else
{{ trans('general.none') }}
@endif
</div>
</div>
</x-slot>
</x-show.accordion>
27 changes: 9 additions & 18 deletions resources/views/components/transactions/show/create.blade.php
@@ -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())
Expand All @@ -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
Expand All @@ -36,5 +27,5 @@ class="px-3 py-1.5 mb-3 sm:mb-0 bg-gray-100 hover:bg-gray-200 rounded-xl text-pu
</x-link>
</div>
@endif
</div>
</div>
</x-slot>
</x-show.accordion>
32 changes: 10 additions & 22 deletions resources/views/components/transactions/show/schedule.blade.php
Expand Up @@ -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())]) }}
Expand All @@ -41,5 +29,5 @@
{{ trans('documents.statuses.ended') }}
@endif
</div>
</div>
</div>
</x-slot>
</x-show.accordion>
49 changes: 20 additions & 29 deletions resources/views/components/transactions/show/transfer.blade.php
Expand Up @@ -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
30 changes: 10 additions & 20 deletions resources/views/components/transfers/show/attachment.blade.php
@@ -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
31 changes: 10 additions & 21 deletions resources/views/components/transfers/show/create.blade.php
@@ -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) }}"
Expand All @@ -29,5 +18,5 @@ class="px-3 py-1.5 mb-3 sm:mb-0 bg-gray-100 hover:bg-gray-200 rounded-xl text-pu
{{ trans('general.edit') }}
</x-link>
</div>
</div>
</div>
</x-slot>
</x-show.accordion>
33 changes: 12 additions & 21 deletions resources/views/components/transfers/show/transactions.blade.php
@@ -1,33 +1,24 @@
@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>

<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>

0 comments on commit b264477

Please sign in to comment.