Merge branch 'master' into title-subheading

This commit is contained in:
Cüneyt Şentürk
2023-07-19 14:43:19 +03:00
committed by GitHub
628 changed files with 65799 additions and 80258 deletions

View File

@ -0,0 +1,15 @@
<x-alert
border
:rounded="$rounded"
:color="$color"
:icon="$icon"
:title="$title"
:description="$description"
:message="$message"
:list="$list"
:actions="$actions"
:dismiss="$dismiss"
/>

View File

@ -0,0 +1,15 @@
<x-alert
color="red"
icon="error"
:title="$title"
:description="$description"
:message="$message"
:list="$list"
:rounded="$rounded"
:border="$border"
:actions="$actions"
:dismiss="$dismiss"
/>

View File

@ -0,0 +1,116 @@
<div
@class([
'rounded-md' => $rounded,
'border-l-4 border-' . $color . '-400' => $border,
'bg-' . $color . '-50' => $color != 'green',
'bg-' . $color . '-100' => $color == 'green',
'p-4 my-4',
])
x-data
>
<div class="flex">
<div class="flex-shrink-0">
<x-icon icon="{{ $icon }}" sharp class="h-5 w-5 text-{{ $color }}-400" />
</div>
<div class="ml-3">
@if ($title)
<h3 class="text-sm font-medium text-{{ $color }}-800">
{!! $title !!}
</h3>
@endif
@if ($description || $list)
<div class="mt-2 text-sm text-{{ $color }}-700">
<p>{!! $description !!}</p>
@if ($list)
<ul role="list" class="list-disc space-y-1 pl-5">
@foreach ($list as $message)
<li>{!! $message !!}</li>
@endforeach
</ul>
@endif
</div>
@endif
@if ($message)
<p class="text-sm font-medium text-{{ $color }}-800 inline-block align-middle">
{!! $message !!}
</p>
@endif
@if ($actions)
<div class="mt-4">
<div class="-mx-2 -my-1.5 flex">
@foreach ($actions as $action)
@if ($action['type'] == 'button')
<button type="button"
{{ $action['attributes'] }}
@class([
'ml-3' => ! $loop->first,
'rounded-md',
'bg-' . $color . '-50',
'px-2 py-1.5',
'text-sm font-medium',
'text-' . $color . '-800 hover:bg-' . $color . '-100',
'focus:outline-none focus:ring-2',
'focus:ring-' . $color . '-600',
'focus:ring-offset-2',
'focus:ring-offset-' . $color . '-50',
])
>
{{ $action['text'] }}
</button>
@else
<a href="{{ $action['url'] }}"
@class([
'ml-3' => ! $loop->first,
'rounded-md',
'bg-' . $color . '-50',
'px-2 py-1.5',
'text-sm font-medium',
'text-' . $color . '-800 hover:bg-' . $color . '-100',
'focus:outline-none focus:ring-2',
'focus:ring-' . $color . '-600',
'focus:ring-offset-2',
'focus:ring-offset-' . $color . '-50',
])
>
{{ $action['text'] }}
</a>
@endif
@endforeach
</div>
</div>
@endif
</div>
@if ($dismiss)
<div class="ml-auto pl-3">
<div class="-mx-1.5 -my-1.5">
<button type="button"
x-on:click="$el.remove()"
@class([
'inline-flex',
'rounded-md',
'bg-' . $color . '-50' => $color != 'green',
'bg-' . $color . '-100' => $color == 'green',
'p-1.5',
'text-sm font-medium',
'text-' . $color . '-500 hover:bg-' . $color . '-100',
'focus:outline-none focus:ring-2',
'focus:ring-' . $color . '-600',
'focus:ring-offset-2',
'focus:ring-offset-' . $color . '-50',
])
>
<span class="sr-only">{{ trans('general.dismiss') }}</span>
<x-icon icon="close" sharp class="h-5 w-5 text-{{ $color }}-400" />
</button>
</div>
</div>
@endif
</div>
</div>

View File

@ -0,0 +1,15 @@
<x-alert
color="blue"
icon="info"
:title="$title"
:description="$description"
:message="$message"
:list="$list"
:rounded="$rounded"
:border="$border"
:actions="$actions"
:dismiss="$dismiss"
/>

View File

@ -0,0 +1,15 @@
<x-alert
color="green"
icon="check_circle"
:title="$title"
:description="$description"
:message="$message"
:list="$list"
:rounded="$rounded"
:border="$border"
:actions="$actions"
:dismiss="$dismiss"
/>

View File

@ -0,0 +1,15 @@
<x-alert
color="yellow"
icon="warning"
:title="$title"
:description="$description"
:message="$message"
:list="$list"
:rounded="$rounded"
:border="$border"
:actions="$actions"
:dismiss="$dismiss"
/>

View File

@ -2,7 +2,7 @@
@class([
$color,
$groupHover ? 'group-hover:bg-full-2' : 'hover:bg-full-2',
'bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize'
'bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize cursor-pointer'
])
>
{!! $slot !!}

View File

@ -11,62 +11,63 @@
<x-form.group.text name="name" label="{{ trans($textName) }}" form-group-class="{{ $classNameFromGroupClass }}" />
@endif
<div class="sm:col-span-3 grid gap-x-8 gap-y-6">
@if (! $hideEmail)
<x-form.group.text name="email" label="{{ trans($textEmail) }}" not-required />
@endif
<div class="sm:col-span-3">
<div class="relative sm:col-span-6 grid gap-x-8 gap-y-6">
@if (! $hideEmail)
<x-form.group.text name="email" label="{{ trans($textEmail) }}" form-group-class="sm:col-span-6" not-required />
@endif
@if (! $hidePhone)
<x-form.group.text name="phone" label="{{ trans($textPhone) }}" not-required />
@endif
@if (! $hidePhone)
<x-form.group.text name="phone" label="{{ trans($textPhone) }}" form-group-class="sm:col-span-6" not-required />
@endif
@if (! $hideWebsite)
<x-form.group.text name="website" label="{{ trans($textWebsite) }}" not-required />
@endif
@if (! $hideWebsite)
<x-form.group.text name="website" label="{{ trans($textWebsite) }}" form-group-class="sm:col-span-6" not-required />
@endif
@if (! $hideReference)
<x-form.group.text name="reference" label="{{ trans($textReference) }}" not-required />
@endif
@if (! $hideReference)
<x-form.group.text name="reference" label="{{ trans($textReference) }}" form-group-class="sm:col-span-6" not-required />
@endif
</div>
</div>
<div class="sm:col-span-3">
@if (! $hideCanLogin)
<div class="mt-9">
@if (empty($contact))
<x-tooltip id="tooltip-client_portal-text" placement="bottom" message="{{ trans('customers.can_login_description') }}">
<x-form.group.checkbox
name="create_user"
:options="['1' => trans('customers.can_login')]"
@input="onCanLogin($event)"
checkbox-class="sm:col-span-6"
/>
</x-tooltip>
@else
@if ($contact->user_id)
<x-form.group.checkbox
name="create_user"
:options="['1' => trans('customers.user_created')]"
checkbox-class="sm:col-span-6"
checked
disabled
/>
@else
<div class="relative sm:col-span-6 grid gap-x-8 gap-y-6">
@if (! $hideCanLogin)
<div class="sm:col-span-6 mt-9 mb-2">
@if (empty($contact))
<x-tooltip id="tooltip-client_portal-text" placement="bottom" message="{{ trans('customers.can_login_description') }}">
<x-form.group.checkbox
name="create_user"
:options="['1' => trans('customers.can_login')]"
checkbox-class="sm:col-span-6"
@input="onCanLogin($event)"
/>
</x-tooltip>
@else
@if ($contact->user_id)
<x-form.group.checkbox
name="create_user"
:options="['1' => trans('customers.user_created')]"
checked
disabled
/>
@else
<x-tooltip id="tooltip-client_portal-text" placement="bottom" message="{{ trans('customers.can_login_description') }}">
<x-form.group.checkbox
name="create_user"
:options="['1' => trans('customers.can_login')]"
@input="onCanLogin($event)"
/>
</x-tooltip>
@endif
@endif
@endif
</div>
@endif
</div>
@endif
@if (! $hideLogo)
<x-form.group.file name="logo" label="{{ trans_choice('general.pictures', 1) }}" :value="! empty($contact) ? $contact->logo : false" not-required />
@endif
@if (! $hideLogo)
<x-form.group.file name="logo" label="{{ trans_choice('general.pictures', 1) }}" :value="! empty($contact) ? $contact->logo : false" form-group-class="sm:col-span-6" not-required />
@endif
</div>
</div>
</x-slot>
</x-form.section>

View File

@ -221,7 +221,7 @@
@if (! $hideOpen)
<x-slot name="first">
@if ($item->open)
<x-money :amount="$item->open" :currency="default_currency()" convert />
<x-money :amount="$item->open" />
@else
<x-empty-data />
@endif
@ -233,7 +233,7 @@
@if (! $hideOverdue)
<x-slot name="second">
@if ($item->overdue)
<x-money :amount="$item->overdue" :currency="default_currency()" convert />
<x-money :amount="$item->overdue" />
@else
<x-empty-data />
@endif

View File

@ -8,9 +8,9 @@
<x-slot name="avatar">
@if ($contact->logo)
@if (is_object($contact->logo))
<img src="{{ Storage::url($contact->logo->id) }}" class="absolute w-12 h-12 rounded-full mr-2 hidden lg:block" alt="{{ $contact->name }}" title="{{ $contact->name }}">
<img src="{{ Storage::url($contact->logo->id) }}" class="absolute w-12 h-12 rounded-full hidden lg:block" alt="{{ $contact->name }}" title="{{ $contact->name }}">
@else
<img src="{{ asset('public/img/user.svg') }}" class="absolute w-12 h-12 rounded-full mr-2 hidden lg:block" alt="{{ $contact->name }}"/>
<img src="{{ asset('public/img/user.svg') }}" class="absolute w-12 h-12 rounded-full hidden lg:block" alt="{{ $contact->name }}"/>
@endif
{{ $contact->initials }}
@ -184,7 +184,7 @@
id="transactions"
name="{{ trans_choice('general.transactions', 2) }}"
/>
@stack('transactions_nav_end')
</x-slot>
@ -261,7 +261,7 @@
</x-table.td>
<x-table.td class="w-4/12 lg:w-3/12" kind="amount">
<x-money :amount="$item->amount" :currency="$item->currency_code" convert />
<x-money :amount="$item->amount" :currency="$item->currency_code" />
</x-table.td>
<x-table.td kind="action">
@ -359,7 +359,7 @@
</x-table.td>
<x-table.td class="w-4/12 lg:w-3/12" kind="amount">
<x-money :amount="$item->amount" :currency="$item->currency_code" convert />
<x-money :amount="$item->amount" :currency="$item->currency_code" />
</x-table.td>
<x-table.td kind="action">

View File

@ -15,6 +15,7 @@
<thead class="border-b">
<tr>
@stack('move_th_start')
<th class="w-6 block text-left border-t-0 border-r-0 border-b-0" style="vertical-align:bottom;">
@if (! $hideEditItemColumns)
<x-documents.form.item-columns :type="$type" />
@ -29,53 +30,85 @@
<th class="px-3 py-1 ltr:pl-2 rtl:pr-2 ltr:text-left rtl:text-right text-xs font-normal border-t-0 border-r-0 border-b-0" style="vertical-align:bottom;">
@if (! $hideItemName)
{{ (trans_choice($textItemName, 2) != $textItemName) ? trans_choice($textItemName, 2) : trans($textItemName) }}
@if ($hideSettingItemName)
&nbsp;&nbsp;
<x-tooltip id="tooltip-item-price" placement="top" message="{{ trans('documents.item_price_hidden', ['type' => config('type.document.' . $type . '.translation.prefix')]) }}">
<x-icon icon="visibility_off" class="text-sm font-normal"></x-icon>
</x-tooltip>
@endif
@endif
</th>
@stack('name_th_end')
@stack('move_th_start')
@stack('description_th_start')
<th class="px-3 py-1 text-left text-xs font-normal border-t-0 border-r-0 border-b-0" style=" vertical-align:bottom;">
@if (! $hideItemDescription)
{{ trans($textItemDescription) }}
@if ($hideSettingItemDescription)
&nbsp;&nbsp;
<x-tooltip id="tooltip-item-price" placement="top" message="{{ trans('documents.item_price_hidden', ['type' => config('type.document.' . $type . '.translation.prefix')]) }}">
<x-icon icon="visibility_off" class="text-sm font-normal"></x-icon>
</x-tooltip>
@endif
@endif
</th>
@stack('move_th_end')
@stack('description_th_end')
@endif
@stack('quantity_th_start')
<th class="px-3 py-1 ltr:text-left rtl:text-right text-xs font-normal border-t-0 border-r-0 border-b-0" style="vertical-align:bottom;">
@if (! $hideItemQuantity)
@if (! $hideItemQuantity)
{{ trans($textItemQuantity) }}
@if ($hideSettingItemQuantity)
&nbsp;&nbsp;
<x-tooltip id="tooltip-item-price" placement="top" message="{{ trans('documents.item_price_hidden', ['type' => config('type.document.' . $type . '.translation.prefix')]) }}">
<x-icon icon="visibility_off" class="text-sm font-normal"></x-icon>
</x-tooltip>
@endif
@endif
</th>
@stack('quantity_th_end')
@stack('price_th_start')
<th class="px-3 py-1 ltr:text-left rtl:text-right text-xs font-normal border-t-0 border-r-0 border-b-0 pr-1" style="vertical-align:bottom;">
@if (! $hideItemPrice)
@if (! $hideItemPrice)
{{ trans($textItemPrice) }}
@if ($hideSettingItemPrice)
&nbsp;&nbsp;
<x-tooltip id="tooltip-item-price" placement="top" message="{{ trans('documents.item_price_hidden', ['type' => config('type.document.' . $type . '.translation.prefix')]) }}">
<x-icon icon="visibility_off" class="text-sm font-normal"></x-icon>
</x-tooltip>
@endif
@endif
</th>
@stack('price_th_end')
@stack('total_th_start')
<th class="px-3 py-1 ltr:text-right rtl:text-left text-xs font-normal border-t-0 border-b-0 item-total" style="vertical-align:bottom;">
@if (! $hideItemAmount)
@if (! $hideItemAmount)
{{ trans($textItemAmount) }}
@if ($hideSettingItemAmount)
&nbsp;&nbsp;
<x-tooltip id="tooltip-item-price" placement="top" message="{{ trans('documents.item_price_hidden', ['type' => config('type.document.' . $type . '.translation.prefix')]) }}">
<x-icon icon="visibility_off" class="text-sm font-normal"></x-icon>
</x-tooltip>
@endif
@endif
</th>
@stack('total_th_end')
@stack('remove_th_start')
@ -109,4 +142,4 @@
</table>
</div>
</div>
</div>
</div>

View File

@ -19,17 +19,20 @@
<tbody>
<tr>
@stack('move_td_start')
<td class="align-middle border-b-0 flex items-center justify-center" style="width:24px; height:100px; color: #8898aa;">
<div class="handle mt-2 hidden lg:block cursor-move">
<span class="w-6 material-icons">list</span>
</div>
</td>
@stack('move_td_end')
@stack('items_td_start')
@if (! $hideItems || (! $hideItemName && ! $hideItemDescription))
@stack('name_td_start')
<td class="px-3 py-3 ltr:pl-2 rtl:pr-2 ltr:text-left rtl:text-right align-middle border-b-0 name">
@if (! $hideItemName)
<span class="flex items-center text-sm" tabindex="0" v-if="row.item_id">
@ -123,28 +126,26 @@
@stack('price_td_start')
<td class="px-3 py-3 pr-1 border-b-0 price">
@if (! $hideItemPrice)
<div>
@stack('price_input_start')
<div>
@stack('price_input_start')
<x-form.input.money
name="price"
value="0"
row-input
data-item="price"
v-model="row.price"
v-error="form.errors.get('items.' + index + '.price')"
v-error-message="form.errors.get('items.' + index + '.price')"
change="row.price = $event; form.errors.clear('items.' + index + '.price'); onCalculateTotal"
:currency="$currency"
dynamicCurrency="currency"
money-class="text-right mt-0"
form-group-class="text-right"
/>
<x-form.input.money
name="price"
value="0"
row-input
data-item="price"
v-model="row.price"
v-error="form.errors.get('items.' + index + '.price')"
v-error-message="form.errors.get('items.' + index + '.price')"
change="row.price = $event; form.errors.clear('items.' + index + '.price'); onCalculateTotal"
:currency="$currency"
dynamicCurrency="currency"
money-class="text-right mt-0"
form-group-class="text-right"
/>
@stack('price_input_end')
</div>
@endif
@stack('price_input_end')
</div>
</td>
@stack('price_td_end')
@ -230,7 +231,7 @@
:class="[{'btn-outline-primary' : row.discount_type !== 'fixed'}, {'bg-white rounded-lg' : row.discount_type === 'fixed'}]"
@click="onChangeLineDiscountType(index, 'fixed')"
>
<span class="text-base">{{ $currency->symbol }}</span>
<span class="text-base">{{ ($currency) ? $currency->symbol : '$' }}</span>
</button>
</div>
@ -272,7 +273,7 @@
/>
</div>
<div class="pl-2 group">
<div class="ltr:pl-2 rtl:pr-2 group">
<button type="button" @click="onDeleteDiscount(index)" class="w-6 h-7 flex items-center rounded-lg p-0 group-hover:bg-gray-100">
<span class="w-full material-icons-outlined text-lg text-gray-300 group-hover:text-gray-500">delete</span>
</button>
@ -283,7 +284,7 @@
<div class="flex items-center justify-between h-10 ml-3 my-3" v-for="(row_tax, row_tax_index) in row.tax_ids"
:index="row_tax_index"
>
<span class="absolute text-sm ltr:-ml-7 rtl:-mr-7">{{ trans_choice('general.taxes', 1) }}</span>
<span class="absolute text-sm ltr:right-1/2 rtl:left-1/2 ltr:-ml-7 rtl:-mr-7">{{ trans_choice('general.taxes', 1) }}</span>
<div class="lg:w-1/4 lg:absolute">
@stack('taxes_input_start')
@ -347,7 +348,7 @@
/>
</div>
<div class="pl-2 group">
<div class="ltr:pl-2 rtl:pr-2 group">
<button type="button" @click="onDeleteTax(index, row_tax_index)" class="w-6 h-7 flex items-center rounded-lg p-0 group-hover:bg-gray-100">
<span class="w-full material-icons-outlined text-lg text-gray-300 group-hover:text-gray-500">delete</span>
</button>
@ -356,7 +357,7 @@
</div>
<div v-if="row.add_tax" class="flex items-center justify-between h-10 ml-3 my-3" :class="{'pt-2' : row.add_discount}">
<span class="absolute text-sm ltr:-ml-7 rtl:-mr-7">{{ trans_choice('general.taxes', 1) }}</span>
<span class="absolute text-sm ltr:right-1/2 rtl:left-1/2 ltr:-ml-7 rtl:-mr-7">{{ trans_choice('general.taxes', 1) }}</span>
<div class="lg:w-1/4 lg:absolute">
@stack('taxes_input_start')
@ -412,7 +413,7 @@
</div>
</div>
<div class="pl-2 group">
<div class="ltr:pl-2 rtl:pr-2 group">
<button type="button" @click="onDeleteTax(index, 999)" class="w-6 h-7 flex items-center rounded-lg p-0 group-hover:bg-gray-100">
<span class="w-full material-icons-outlined text-lg text-gray-300 group-hover:text-gray-500">delete</span>
</button>

View File

@ -163,7 +163,7 @@
@if (! $hideAmount)
<x-table.td class="{{ $classAmount }}" kind="amount">
@stack('amount_td_inside_start')
<x-money :amount="$item->amount" :currency="$item->currency_code" convert />
<x-money :amount="$item->amount" :currency="$item->currency_code" />
@stack('amount_td_inside_end')
</x-table.td>

View File

@ -62,7 +62,7 @@
</div>
<span class="font-normal">
<x-money :amount="$document_item->price" :currency="$document->currency_code" convert />
<x-money :amount="$document_item->price" :currency="$document->currency_code" />
</span>
<div class="w-40 font-normal text-sm truncate">
@ -100,7 +100,7 @@
@if ($document->paid)
<span>
<x-money :amount="$document->paid" :currency="$document->currency_code" convert />
<x-money :amount="$document->paid" :currency="$document->currency_code" />
</span>
@endif
</div>
@ -111,7 +111,7 @@
</span>
<span>
<x-money :amount="$document->amount" :currency="$document->currency_code" convert />
<x-money :amount="$document->amount" :currency="$document->currency_code" />
</span>
</div>
</div>

View File

@ -97,7 +97,7 @@
</x-table.td>
<x-table.td class="w-4/12 sm:w-2/12" kind="amount">
<x-money :amount="$item->amount" :currency="$item->currency_code" convert />
<x-money :amount="$item->amount" :currency="$item->currency_code" />
</x-table.td>
<x-table.td kind="action">

View File

@ -34,6 +34,10 @@
@if ($document->status == 'draft')
<x-documents.show.message type="status" background-color="bg-red-100" text-color="text-red-600" message="{!! trans($textStatusMessage) !!}" />
@endif
@if (! $document->totals->count())
<x-documents.show.message type="status" background-color="bg-red-100" text-color="text-red-600" message="{!! trans('invoices.messages.totals_required', ['type' => $type]) !!}" />
@endif
@endif
@stack('status_message_end')

View File

@ -11,9 +11,13 @@
<x-slot name="body">
<div class="flex">
<x-link href="{{ route($editRoute, $document->id) }}" id="show-slider-actions-edit-{{ $document->type }}" @click="e => e.target.classList.add('disabled')">
{{ trans('general.edit') }}
</x-link>
@if (! $hideEdit)
@can($permissionUpdate)
<x-link href="{{ route($editRoute, $document->id) }}" id="show-slider-actions-edit-{{ $document->type }}" @click="e => e.target.classList.add('disabled')">
{{ trans('general.edit') }}
</x-link>
@endcan
@endif
</div>
</x-slot>
</x-show.accordion>

View File

@ -11,15 +11,23 @@
@stack('timeline_get_paid_body_button_payment_start')
@if (! $hideAddPayment)
@if ($document->status != 'paid' && (empty($document->transactions->count()) || (! empty($document->transactions->count()) && $document->paid != $document->amount)))
<x-button
@click="onAddPayment('{{ route('modals.documents.document.transactions.create', $document->id) }}')"
id="show-slider-actions-payment-{{ $document->type }}"
class="px-3 py-1.5 mb-3 sm:mb-0 rounded-lg text-xs font-medium leading-6 bg-green hover:bg-green-700 text-white disabled:bg-green-100"
override="class"
>
{{ trans('invoices.add_payment') }}
</x-button>
@if ($document->totals->count())
@if ($document->status != 'paid' && (empty($document->transactions->count()) || (! empty($document->transactions->count()) && $document->paid != $document->amount)))
<x-button
@click="onAddPayment('{{ route('modals.documents.document.transactions.create', $document->id) }}')"
id="show-slider-actions-payment-{{ $document->type }}"
class="px-3 py-1.5 mb-3 sm:mb-0 rounded-lg text-xs font-medium leading-6 bg-green hover:bg-green-700 text-white disabled:bg-green-100"
override="class"
>
{{ trans('invoices.add_payment') }}
</x-button>
@endif
@else
<x-tooltip message="{{ trans('invoices.messages.totals_required', ['type' => $type]) }}" placement="top">
<x-dropdown.button disabled="disabled">
{{ trans('invoices.add_payment') }}
</x-dropdown.button>
</x-tooltip>
@endif
@endif
@ -45,7 +53,7 @@
<div class="text-xs mt-6" style="margin-left: 0 !important;">
<span class="font-medium">
{{ trans('invoices.payment_received') }} :
{{ trans('invoices.payments_received') }}:
</span>
@if ($transactions->count())
@ -54,61 +62,63 @@
<span>
<x-date :date="$transaction->paid_at" />
- {!! trans('documents.transaction', [
'amount' => '<span class="font-medium">' . money($transaction->amount, $transaction->currency_code, true) . '</span>',
'amount' => '<span class="font-medium">' . money($transaction->amount, $transaction->currency_code) . '</span>',
'account' => '<span class="font-medium">' . $transaction->account->name . '</span>',
]) !!}
</span>
</br>
@if (! empty($transaction->contact) && $transaction->contact->email)
<x-button id="show-slider-actions-transaction-send-email-{{ $document->type }}-{{ $transaction->id }}" class="text-purple mt-1" override="class" @click="onEmailViaTemplate('{{ route($transactionEmailRoute, $transaction->id) }}', '{{ $transactionEmailTemplate }}')">
<x-button.hover color="to-purple">
{{ trans('general.title.send', ['type' => trans_choice('general.receipts', 1)]) }}
</x-button.hover>
</x-button>
@else
<x-tooltip message="{{ trans('invoices.messages.email_required') }}" placement="top">
<x-button class="text-purple mt-1" override="class" disabled="disabled">
<div class="flex flex-row">
@if (! empty($transaction->contact) && $transaction->contact->email)
<x-button id="show-slider-actions-transaction-send-email-{{ $document->type }}-{{ $transaction->id }}" class="text-purple mt-1" override="class" @click="onEmailViaTemplate('{{ route($transactionEmailRoute, $transaction->id) }}', '{{ $transactionEmailTemplate }}')">
<x-button.hover color="to-purple">
{{ trans('general.title.send', ['type' => trans_choice('general.receipts', 1)]) }}
</x-button.hover>
</x-button>
</x-tooltip>
@endif
@else
<x-tooltip message="{{ trans('invoices.messages.email_required') }}" placement="top">
<x-button class="text-purple mt-1" override="class" disabled="disabled">
<x-button.hover color="to-purple">
{{ trans('general.title.send', ['type' => trans_choice('general.receipts', 1)]) }}
</x-button.hover>
</x-button>
</x-tooltip>
@endif
<span> - </span>
<span class="mt-1 mr-2 ml-2"> - </span>
<x-button
@click="onEditPayment('{{ route('modals.documents.document.transactions.edit', ['document' => $document->id, 'transaction' => $transaction->id]) }}')"
id="show-slider-actions-transaction-edit-{{ $document->type }}-{{ $transaction->id }}"
class="text-purple mt-1"
override="class"
>
<x-button.hover color="to-purple">
{{ trans('general.title.edit', ['type' => trans_choice('general.payments', 1)]) }}
</x-button.hover>
</x-button>
<x-button
@click="onEditPayment('{{ route('modals.documents.document.transactions.edit', ['document' => $document->id, 'transaction' => $transaction->id]) }}')"
id="show-slider-actions-transaction-edit-{{ $document->type }}-{{ $transaction->id }}"
class="text-purple mt-1"
override="class"
>
<x-button.hover color="to-purple">
{{ trans('general.title.edit', ['type' => trans_choice('general.payments', 1)]) }}
</x-button.hover>
</x-button>
<span> - </span>
<span class="mt-1 mr-2 ml-2"> - </span>
@php
$message = trans('general.delete_confirm', [
'name' => '<strong>' . Date::parse($transaction->paid_at)->format(company_date_format()) . ' - ' . money($transaction->amount, $transaction->currency_code, true) . ' - ' . $transaction->account->name . '</strong>',
'type' => strtolower(trans_choice('general.transactions', 1))
]);
@endphp
@php
$message = trans('general.delete_confirm', [
'name' => '<strong>' . Date::parse($transaction->paid_at)->format(company_date_format()) . ' - ' . money($transaction->amount, $transaction->currency_code) . ' - ' . $transaction->account->name . '</strong>',
'type' => strtolower(trans_choice('general.transactions', 1))
]);
@endphp
<x-delete-link
:model="$transaction"
:route="'transactions.destroy'"
:title="trans('general.title.delete', ['type' => trans_choice('general.payments', 1)])"
:message="$message"
:label="trans('general.title.delete', ['type' => trans_choice('general.payments', 1)])"
class="text-purple mt-1"
text-class="bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-purple transition-backgroundSize"
override="class"
/>
<x-delete-link
:model="$transaction"
:route="'transactions.destroy'"
:title="trans('general.title.delete', ['type' => trans_choice('general.payments', 1)])"
:message="$message"
:label="trans('general.title.delete', ['type' => trans_choice('general.payments', 1)])"
class="text-purple mt-1"
text-class="bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-purple transition-backgroundSize"
override="class"
/>
</div>
</div>
@endforeach
@else

View File

@ -11,15 +11,23 @@
@stack('timeline_get_paid_body_button_payment_start')
@if (! $hideAddPayment)
@if ($document->status != 'paid' && (empty($document->transactions->count()) || (! empty($document->transactions->count()) && $document->paid != $document->amount)) )
<x-button
@click="onAddPayment('{{ route('modals.documents.document.transactions.create', $document->id) }}')"
id="show-slider-actions-payment-{{ $document->type }}"
class="px-3 py-1.5 mb-3 sm:mb-0 rounded-lg text-xs font-medium leading-6 bg-green hover:bg-green-700 text-white disabled:bg-green-100"
override="class"
>
{{ trans('invoices.add_payment') }}
</x-button>
@if ($document->totals->count())
@if ($document->status != 'paid' && (empty($document->transactions->count()) || (! empty($document->transactions->count()) && $document->paid != $document->amount)) )
<x-button
@click="onAddPayment('{{ route('modals.documents.document.transactions.create', $document->id) }}')"
id="show-slider-actions-payment-{{ $document->type }}"
class="px-3 py-1.5 mb-3 sm:mb-0 rounded-lg text-xs font-medium leading-6 bg-green hover:bg-green-700 text-white disabled:bg-green-100"
override="class"
>
{{ trans('invoices.add_payment') }}
</x-button>
@endif
@else
<x-tooltip message="{{ trans('invoices.messages.totals_required', ['type' => $type]) }}" placement="top">
<x-button disabled="disabled">
{{ trans('invoices.add_payment') }}
</x-button>
</x-tooltip>
@endif
@endif
@ -37,61 +45,63 @@
<span>
<x-date :date="$transaction->paid_at" />
- {!! trans('documents.transaction', [
'amount' => '<span class="font-medium">' . money($transaction->amount, $transaction->currency_code, true) . '</span>',
'amount' => '<span class="font-medium">' . money($transaction->amount, $transaction->currency_code) . '</span>',
'account' => '<span class="font-medium">' . $transaction->account->name . '</span>',
]) !!}
</span>
</br>
@if (! empty($transaction->contact) && $transaction->contact->email)
<x-button id="show-slider-actions-transaction-send-email-{{ $document->type }}-{{ $transaction->id }}" class="text-purple mt-1" override="class" @click="onEmailViaTemplate('{{ route($transactionEmailRoute, $transaction->id) }}', '{{ $transactionEmailTemplate }}')">
<x-button.hover color="to-purple">
{{ trans('general.title.send', ['type' => trans_choice('general.receipts', 1)]) }}
</x-button.hover>
</x-button>
@else
<x-tooltip message="{{ trans('invoices.messages.email_required') }}" placement="top">
<x-button class="text-purple mt-1" override="class" disabled="disabled">
<div class="flex flex-row">
@if (! empty($transaction->contact) && $transaction->contact->email)
<x-button id="show-slider-actions-transaction-send-email-{{ $document->type }}-{{ $transaction->id }}" class="text-purple mt-1" override="class" @click="onEmailViaTemplate('{{ route($transactionEmailRoute, $transaction->id) }}', '{{ $transactionEmailTemplate }}')">
<x-button.hover color="to-purple">
{{ trans('general.title.send', ['type' => trans_choice('general.receipts', 1)]) }}
</x-button.hover>
</x-button>
</x-tooltip>
@endif
@else
<x-tooltip message="{{ trans('invoices.messages.email_required') }}" placement="top">
<x-button class="text-purple mt-1" override="class" disabled="disabled">
<x-button.hover color="to-purple">
{{ trans('general.title.send', ['type' => trans_choice('general.receipts', 1)]) }}
</x-button.hover>
</x-button>
</x-tooltip>
@endif
<span> - </span>
<span class="mt-1 mr-2 ml-2"> - </span>
<x-button
@click="onEditPayment('{{ route('modals.documents.document.transactions.edit', ['document' => $document->id, 'transaction' => $transaction->id]) }}')"
id="show-slider-actions-transaction-edit-{{ $document->type }}-{{ $transaction->id }}"
class="text-purple mt-1"
override="class"
>
<x-button.hover color="to-purple">
{{ trans('general.title.edit', ['type' => trans_choice('general.payments', 1)]) }}
</x-button.hover>
</x-button>
<x-button
@click="onEditPayment('{{ route('modals.documents.document.transactions.edit', ['document' => $document->id, 'transaction' => $transaction->id]) }}')"
id="show-slider-actions-transaction-edit-{{ $document->type }}-{{ $transaction->id }}"
class="text-purple mt-1"
override="class"
>
<x-button.hover color="to-purple">
{{ trans('general.title.edit', ['type' => trans_choice('general.payments', 1)]) }}
</x-button.hover>
</x-button>
<span> - </span>
<span class="mt-1 mr-2 ml-2"> - </span>
@php
$message = trans('general.delete_confirm', [
'name' => '<strong>' . Date::parse($transaction->paid_at)->format(company_date_format()) . ' - ' . money($transaction->amount, $transaction->currency_code, true) . ' - ' . $transaction->account->name . '</strong>',
'type' => strtolower(trans_choice('general.transactions', 1))
]);
@endphp
@php
$message = trans('general.delete_confirm', [
'name' => '<strong>' . Date::parse($transaction->paid_at)->format(company_date_format()) . ' - ' . money($transaction->amount, $transaction->currency_code) . ' - ' . $transaction->account->name . '</strong>',
'type' => strtolower(trans_choice('general.transactions', 1))
]);
@endphp
<x-delete-link
:model="$transaction"
:route="'transactions.destroy'"
:title="trans('general.title.delete', ['type' => trans_choice('general.payments', 1)])"
:message="$message"
:label="trans('general.title.delete', ['type' => trans_choice('general.payments', 1)])"
class="text-purple mt-1"
text-class="bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-purple transition-backgroundSize"
override="class"
/>
<x-delete-link
:model="$transaction"
:route="'transactions.destroy'"
:title="trans('general.title.delete', ['type' => trans_choice('general.payments', 1)])"
:message="$message"
:label="trans('general.title.delete', ['type' => trans_choice('general.payments', 1)])"
class="text-purple mt-1"
text-class="bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-purple transition-backgroundSize"
override="class"
/>
</div>
</div>
@endforeach
@else

View File

@ -108,15 +108,13 @@
@stack('button_cancelled_start')
@if (! $hideCancel)
@if (! $hideCancel && ! in_array($document->status, ['cancelled', 'draft']))
@can($permissionUpdate)
<x-dropdown.divider />
@if ($document->status != 'cancelled')
<x-dropdown.link href="{{ route($cancelledRoute, $document->id) }}" id="show-more-actions-cancel-{{ $document->type }}">
{{ trans('general.cancel') }}
</x-dropdown.link>
@endif
<x-dropdown.link href="{{ route($cancelledRoute, $document->id) }}" id="show-more-actions-cancel-{{ $document->type }}">
{{ trans('documents.actions.cancel') }}
</x-dropdown.link>
@endcan
@endif

View File

@ -17,9 +17,9 @@
@stack('company_logo_input_start')
@if (! $hideCompanyLogo)
@if (!empty($document->contact->logo) && !empty($document->contact->logo->id))
<img class="c-logo w-image" src="{{ $logo }}" alt="{{ $document->contact_name }}"/>
<img class="c-logo" src="{{ $logo }}" alt="{{ $document->contact_name }}"/>
@else
<img class="c-logo w-image" src="{{ $logo }}" alt="{{ setting('company.name') }}" />
<img class="c-logo" src="{{ $logo }}" alt="{{ setting('company.name') }}" />
@endif
@endif
@stack('company_logo_input_end')
@ -52,7 +52,7 @@
@if (! $hideCompanyTaxNumber)
@if (setting('company.tax_number'))
<p>
<span class="text-medium text-default">
<span class="font-semibold">
{{ trans('general.tax_number') }}:
</span>
{{ setting('company.tax_number') }}
@ -113,7 +113,7 @@
<div class="row top-spacing">
<div class="col-60">
<div class="text p-index-left">
<div class="text p-index-left break-words">
@if (! $hideContactInfo)
<p class="font-semibold mb-0">
{{ trans($textContactInfo) }}
@ -153,7 +153,7 @@
@if (! $hideContactTaxNumber)
@if ($document->contact_tax_number)
<p>
<span class="text-medium text-default">
<span class="font-semibold">
{{ trans('general.tax_number') }}:
</span>
{{ $document->contact_tax_number }}
@ -236,7 +236,7 @@
</span>
<span class="float-right spacing">
<x-money :amount="$total->amount - $document->paid" :currency="$document->currency_code" convert />
<x-money :amount="$total->amount - $document->paid" :currency="$document->currency_code" />
</span>
</p>
@endif
@ -328,7 +328,7 @@
<div class="row mt-4 clearfix">
<div class="col-60">
<div class="text p-index-right">
<div class="text p-index-right break-words">
@stack('notes_input_start')
@if ($hideNote)
@if ($document->notes)
@ -353,7 +353,7 @@
</strong>
<span>
<x-money :amount="$total->amount" :currency="$document->currency_code" convert />
<x-money :amount="$total->amount" :currency="$document->currency_code" />
</span>
</div>
@stack($total->code . '_total_tr_end')
@ -366,7 +366,7 @@
</span>
<span>
- <x-money :amount="$document->paid" :currency="$document->currency_code" convert />
- <x-money :amount="$document->paid" :currency="$document->currency_code" />
</span>
</div>
@stack('paid_total_tr_end')
@ -379,7 +379,7 @@
</span>
<span>
<x-money :amount="$document->amount_due" :currency="$document->currency_code" convert />
<x-money :amount="$document->amount_due" :currency="$document->currency_code" />
</span>
</div>
@stack('grand_total_tr_end')

View File

@ -17,9 +17,9 @@
@stack('company_logo_input_start')
@if (! $hideCompanyLogo)
@if (! empty($document->contact->logo) && ! empty($document->contact->logo->id))
<img class="d-logo w-image" src="{{ $logo }}" alt="{{ $document->contact_name }}"/>
<img class="d-logo" src="{{ $logo }}" alt="{{ $document->contact_name }}"/>
@else
<img class="d-logo w-image" src="{{ $logo }}" alt="{{ setting('company.name') }}"/>
<img class="d-logo" src="{{ $logo }}" alt="{{ setting('company.name') }}"/>
@endif
@endif
@stack('company_logo_input_end')
@ -48,13 +48,13 @@
@endif
@if (! $hideCompanyTaxNumber)
@if (setting('company.tax_number'))
<p>
{{ trans('general.tax_number') }}: {{ setting('company.tax_number') }}
</p>
@endif
@endif
@if (! $hideCompanyPhone)
@ -76,7 +76,7 @@
<div class="row top-spacing">
<div class="col-60">
<div class="text p-index-left">
<div class="text p-index-left break-words">
@if (! $hideContactInfo)
<p class="font-semibold mb-0">
{{ trans($textContactInfo) }}
@ -116,7 +116,7 @@
@if (! $hideContactTaxNumber)
@if ($document->contact_tax_number)
<p>
<span class="text-medium text-default">
<span class="font-semibold">
{{ trans('general.tax_number') }}:
</span>
{{ $document->contact_tax_number }}
@ -301,7 +301,7 @@
<div class="row mt-9 clearfix">
<div class="col-60">
<div class="text p-index-left">
<div class="text p-index-left break-words">
@stack('notes_input_start')
@if ($document->notes)
<p class="font-semibold">
@ -324,7 +324,7 @@
</span>
<span>
<x-money :amount="$total->amount" :currency="$document->currency_code" convert />
<x-money :amount="$total->amount" :currency="$document->currency_code" />
</span>
</div>
@stack($total->code . '_total_tr_end')
@ -337,7 +337,7 @@
</span>
<span>
- <x-money :amount="$document->paid" :currency="$document->currency_code" convert />
- <x-money :amount="$document->paid" :currency="$document->currency_code" />
</span>
</div>
@stack('paid_total_tr_end')
@ -350,7 +350,7 @@
</span>
<span>
<x-money :amount="$document->amount_due" :currency="$document->currency_code" convert />
<x-money :amount="$document->amount_due" :currency="$document->currency_code" />
</span>
</div>
@stack('grand_total_tr_end')

View File

@ -1,16 +1,16 @@
<tr>
@stack('name_td_start')
@if (! $hideItems || (! $hideName && ! $hideDescription))
<td class="item text text-alignment-left text-left">
<td class="item text text-alignment-left text-left max-w-0">
@if (! $hideName)
{{ $item->name }} <br/>
@endif
@if (! $hideDescription)
@if (! empty($item->description))
<span class="small-text">
<div class="small-text break-words">
{!! \Illuminate\Support\Str::limit(nl2br($item->description), 500) !!}
</span>
</div>
@endif
@endif
@ -31,7 +31,7 @@
@stack('price_td_start')
@if (! $hidePrice)
<td class="price text text-alignment-right text-right">
<x-money :amount="$item->price" :currency="$document->currency_code" convert />
<x-money :amount="$item->price" :currency="$document->currency_code" />
</td>
@endif
@stack('price_td_end')
@ -59,7 +59,7 @@
</td>
@else
<td class="discount text text-alignment-right text-right">
<x-money :amount="$item->discount" :currency="$document->currency_code" convert />
<x-money :amount="$item->discount" :currency="$document->currency_code" />
</td>
@endif
@stack('discount_td_end')
@ -69,7 +69,7 @@
@stack('total_td_start')
@if (! $hideAmount)
<td class="total text text-alignment-right text-right">
<x-money :amount="$item->total" :currency="$document->currency_code" convert />
<x-money :amount="$item->total" :currency="$document->currency_code" />
</td>
@endif
@stack('total_td_end')

View File

@ -17,9 +17,9 @@
@stack('company_logo_input_start')
@if (! $hideCompanyLogo)
@if (! empty($document->contact->logo) && ! empty($document->contact->logo->id))
<img class="w-image radius-circle" src="{{ $logo }}" alt="{{ $document->contact_name }}"/>
<img class="radius-circle" src="{{ $logo }}" alt="{{ $document->contact_name }}"/>
@else
<img class="w-image radius-circle" src="{{ $logo }}" alt="{{ setting('company.name') }}" />
<img class="radius-circle" src="{{ $logo }}" alt="{{ setting('company.name') }}" />
@endif
@endif
@stack('company_logo_input_end')
@ -52,7 +52,7 @@
@if (! $hideCompanyTaxNumber)
<p class="text-white">
@if (setting('company.tax_number'))
<span class="text-medium text-default">
<span class="font-semibold">
{{ trans('general.tax_number') }}:
</span>
@ -122,7 +122,7 @@
@if (! $hideContactTaxNumber)
@if ($document->contact_tax_number)
<p>
<span class="text-medium text-default">
<span class="font-semibold">
{{ trans('general.tax_number') }}:
</span>
@ -298,7 +298,7 @@
<div class="row mt-7 clearfix">
<div class="col-60">
<div class="text p-index-right p-modern">
<div class="text p-index-right p-modern break-words">
@stack('notes_input_start')
@if ($document->notes)
<p class="font-semibold">
@ -321,7 +321,7 @@
</span>
<span>
<x-money :amount="$total->amount" :currency="$document->currency_code" convert />
<x-money :amount="$total->amount" :currency="$document->currency_code" />
</span>
</div>
@stack($total->code . '_total_tr_end')
@ -334,7 +334,7 @@
</span>
<span>
- <x-money :amount="$document->paid" :currency="$document->currency_code" convert />
- <x-money :amount="$document->paid" :currency="$document->currency_code" />
</span>
</div>
@stack('paid_total_tr_end')
@ -347,7 +347,7 @@
</span>
<span>
<x-money :amount="$document->amount_due" :currency="$document->currency_code" convert />
<x-money :amount="$document->amount_due" :currency="$document->currency_code" />
</span>
</div>
@stack('grand_total_tr_end')

View File

@ -1,5 +1,5 @@
<div class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" {{ $attributes }}>
<a href="{!! $href !!}" class="w-full h-full flex items-center rounded-md px-2 text-sm font-normal hover:bg-lilac-100">
<a href="{!! $href !!}" target="{!! $target !!}" class="w-full h-full flex items-center rounded-md px-2 text-sm font-normal hover:bg-lilac-100">
{!! $slot !!}
</a>
</div>

View File

@ -58,7 +58,7 @@
</div>
</div>
<span class="material-icons text-gray-500">chevron_right</span>
<span class="material-icons text-gray-500 rtl:rotate-180">chevron_right</span>
</x-link>
</li>
@endforeach
@ -67,7 +67,7 @@
</div>
<div class="w-full lg:w-1/2 flex justify-end mt-8 lg:mt-60">
<img src="{{ $image }}" alt="{{ $title }}" />
<img src="{{ $image }}" alt="{{ $title }}" class="ltr:scale-x-100 rtl:-scale-x-100" />
</div>
</div>
@ -78,3 +78,4 @@
}
</style>
@endpush

View File

@ -1,7 +1,7 @@
@stack($name . '_input_start')
<div
@class([
'grid sm:grid-cols-6 lg:gap-8',
'grid sm:grid-cols-6 lg:gap-8 col-span-3',
$formGroupClass,
'required' => $required,
'readonly' => $readonly,

View File

@ -3,6 +3,9 @@
:date-range-text="{{ json_encode(trans('general.date_range')) }}"
middle-text="{!! trans('recurring.limit_middle') !!}"
end-text="{{ Str::plural(Str::replace('-recurring', '', $type)) }}"
send-email-text="{{ trans('recurring.send_email_auto') }}"
send-email-yes-text="{{ trans('general.yes') }}"
send-email-no-text="{{ trans('general.no') }}"
:frequencies="{{ json_encode($frequencies) }}"
frequency-text="{!! trans('recurring.frequency_type', ['type' => Str::replace('-recurring', '', $type)]) !!}"
@ -23,12 +26,14 @@
@else
@interval="form.recurring_interval = $event"
@endif
:invertal-error="form.errors.get('recurring_interval')"
@if ($attributes->has('@custom_frequency'))
@custom_frequency="form.recurring_custom_frequency = $event;{{ $attributes['@custom_frequency'] }}"
@else
@custom_frequency="form.recurring_custom_frequency = $event"
@endif
:custom-frequency-error="form.errors.get('recurring_custom_frequency')"
started-value="{{ $startedValue }}"
@if ($attributes->has('@started'))
@ -36,6 +41,7 @@
@else
@started="form.recurring_started_at = $event"
@endif
:started-error="form.errors.get('recurring_started_at')"
:limits="{{ json_encode($limits) }}"
limit-value="{{ $limit }}"
@ -52,6 +58,7 @@
@else
@limit_count="form.recurring_limit_count = $event"
@endif
:limit-count-error="form.errors.get('recurring_limit_count')"
limit-date-value="{{ $limitDateValue }}"
@if ($attributes->has('@limit_date'))
@ -59,9 +66,19 @@
@else
@limit_date="form.recurring_limit_date = $event"
@endif
:limit-date-error="form.errors.get('recurring_limit_date')"
send-email-show="{{ $sendEmailShow }}"
send-email-value="{{ $sendEmail }}"
@if ($attributes->has('@send_email'))
@send_email="form.recurring_send_email = $event;{{ $attributes['@send_email'] }}"
@else
@send_email="form.recurring_send_email = $event"
@endif
:send-email-error="form.errors.get('recurring_send_email')"
date-format="{{ company_date_format() }}"
{{ $attributes }}
>
</akaunting-recurring>
</akaunting-recurring>

View File

@ -7,11 +7,13 @@
v-if="{{ $attributes['show'] }}"
@endif
>
<x-form.label for="{{ $name }}">{!! $label !!}</x-form.label>
<x-form.label for="{{ $name }}">
{!! $label !!}
</x-form.label>
<div class="flex items-center mt-1">
@if (empty($attributes['disabled']))
<label class="relative w-10 ltr:rounded-tl-lg ltr:rounded-bl-lg rtl:rounded-tr-lg rtl:rounded-br-lg py-2 px-1 text-sm text-center transition-all cursor-pointer" @click="form.{{ $name }}=1" v-bind:class="[form.{{ $name }} == 1 ? ['bg-green-500','text-white'] : 'bg-black-100']">
<label class="relative w-10 ltr:rounded-tl-lg ltr:rounded-bl-lg rtl:rounded-tr-lg rtl:rounded-br-lg py-2 px-1 text-sm text-center transition-all cursor-pointer" @click="form.{{ $name }}=1; @if(isset($attributes['change'])) {!! $attributes['change'] !!} @endif" v-bind:class="[form.{{ $name }} == 1 ? ['bg-green-500','text-white'] : 'bg-black-100']">
{{ empty($enable) ? trans('general.yes') : $enable }}
<input type="radio" name="{{ $name }}" id="{{ $name }}-1" class="absolute left-0 opacity-0">
</label>
@ -23,7 +25,7 @@
@endif
@if (empty($attributes['disabled']))
<label class="relative w-10 ltr:rounded-tr-lg ltr:rounded-br-lg rtl:rounded-tl-lg rtl:rounded-bl-lg py-2 px-1 text-sm text-center transition-all cursor-pointer" @click="form.{{ $name }}=0" v-bind:class="[form.{{ $name }} == 0 ? ['bg-red-500','text-white'] : 'bg-black-100']">
<label class="relative w-10 ltr:rounded-tr-lg ltr:rounded-br-lg rtl:rounded-tl-lg rtl:rounded-bl-lg py-2 px-1 text-sm text-center transition-all cursor-pointer" @click="form.{{ $name }}=0; @if(isset($attributes['change'])) {!! $attributes['change'] !!} @endif" v-bind:class="[form.{{ $name }} == 0 ? ['bg-red-500','text-white'] : 'bg-black-100']">
{{ empty($disable) ? trans('general.no') : $disable }}
<input type="radio" name="{{ $name }}" id="{{ $name }}-0" class="absolute left-0 opacity-0">
</label>

View File

@ -9,10 +9,11 @@
@else
<span
@class([
'material-icons-outlined' => (! $filled && ! $rounded),
'material-icons-outlined' => (! $filled && ! $rounded && ! $sharp),
$class,
'material-icons' => $filled,
'material-icons-round' => $rounded,
'material-icons-sharp'=> $sharp,
])
{{ $attributes }}
>{{ $icon }}</span>

View File

@ -1,5 +1,5 @@
@stack('footer_start')
<footer class="footer">
<footer class="footer container">
<div class="flex flex-col sm:flex-row items-center justify-between lg:mt-20 py-7 text-sm font-light">
<div>
{{ trans('footer.powered') }}:

View File

@ -1,10 +1,10 @@
@props([
'metaTitle', 'title',
'metaTitle', 'title', 'currency'
])
<head>
@stack('head_start')
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
@ -15,7 +15,7 @@
<base href="{{ config('app.url') . '/' }}">
<x-layouts.pwa.head />
<link rel="stylesheet" href="{{ asset('public/css/custom_loading.css?v=' . version('short')) }}" type="text/css">
<!-- Favicon -->
@ -43,6 +43,7 @@
var url = '{{ url("/" . company_id()) }}';
var app_url = '{{ config("app.url") }}';
var aka_currency = {!! !empty($currency) ? $currency : 'false' !!};
var all_currencies = {!! !empty($currencies) ? $currencies : '[]' !!};
//--></script>
<x-script.exceptions.trackers />

View File

@ -117,45 +117,39 @@
</div>
<div class="flex ltr:ml-2 rtl:mr-2">
<span class="w-28 text-left block text-base truncate">
<span class="w-28 ltr:text-left rtl:text-right block text-base truncate">
<x-button.hover>
{{ Str::limit(setting('company.name'), 22) }}
</x-button.hover>
</span>
@can('read-common-companies')
<div class="absolute top-2 ltr:-right-1 rtl:-left-1">
<svg class="h-5 w-5 text-gray-400" x-description="Heroicon name: solid/selector" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
<path fill-rule="evenodd" d="M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z" clip-rule="evenodd"></path>
</svg>
</div>
@endcan
<div class="absolute top-2 ltr:-right-1 rtl:-left-1">
<svg class="h-5 w-5 text-gray-400" x-description="Heroicon name: solid/selector" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
<path fill-rule="evenodd" d="M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z" clip-rule="evenodd"></path>
</svg>
</div>
</div>
</button>
@can('read-common-companies')
<div id="dropdown-menu-company" class="absolute right-0 mt-3 pt-2 bg-white rounded-md shadow-xl z-20 hidden" style="left: auto; min-width: 10rem;">
@foreach($companies as $com)
<x-link href="{{ route('companies.switch', $com->id) }}" id="menu-company-{{ $com->id }}" class="h-9 leading-9 flex items-center text-sm px-2" override="class" role="menuitem" tabindex="-1">
<div class="w-full h-full flex items-center rounded-md px-2 hover:bg-lilac-100">
<span class="material-icons-outlined text-purple text-xl">business</span>
<span class="ltr:pl-2 rtl:pr-2 text-purple text-xs truncate">{{ Str::limit($com->name, 18) }}</span>
</div>
</x-link>
@endforeach
<div id="dropdown-menu-company" class="absolute right-0 mt-3 pt-2 bg-white rounded-md shadow-xl z-20 hidden" style="left: auto; min-width: 10rem;">
@foreach($companies as $com)
<x-link href="{{ route('companies.switch', $com->id) }}" id="menu-company-{{ $com->id }}" class="h-9 leading-9 flex items-center text-sm px-2" override="class" role="menuitem" tabindex="-1">
<div class="w-full h-full flex items-center rounded-md px-2 hover:bg-lilac-100">
<span class="material-icons-outlined text-purple text-xl">business</span>
<span class="ltr:pl-2 rtl:pr-2 text-purple text-xs truncate">{{ Str::limit($com->name, 18) }}</span>
</div>
</x-link>
@endforeach
@can('update-common-companies')
<x-link href="{{ route('companies.index') }}" class="h-9 leading-9 flex items-center text-sm px-2 mt-2 border-t rounded-bl rounded-br group hover:bg-purple" override="class">
<div class="w-full h-full flex items-center rounded-md px-2">
<span class="material-icons-outlined text-purple text-xl group-hover:text-white">settings</span>
<span class="ltr:pl-2 rtl:pr-2 text-purple text-xs truncate group-hover:text-white">
{{ trans('general.title.manage', ['type' => trans_choice('general.companies', 2)]) }}
</span>
</div>
</x-link>
@endcan
</div>
@endcan
<x-link href="{{ route('companies.index') }}" class="h-9 leading-9 flex items-center text-sm px-2 mt-2 border-t rounded-bl rounded-br group hover:bg-purple" override="class">
<div class="w-full h-full flex items-center rounded-md px-2">
<span class="material-icons-outlined text-purple text-xl group-hover:text-white">settings</span>
<span class="ltr:pl-2 rtl:pr-2 text-purple text-xs truncate group-hover:text-white">
{{ trans('general.title.manage', ['type' => trans_choice('general.companies', 2)]) }}
</span>
</div>
</x-link>
</div>
</div>
<div class="main-menu transform">
@ -235,3 +229,4 @@
<x-loading.menu />
@stack('menu_end')

View File

@ -58,7 +58,7 @@
function contentTransitionLeft() {
sectionContent.classList.add("xl:ltr:ml-0", "xl:rtl:mr-0");
sectionContent.classList.remove("xl:ltr:ml-64", "xl:rtl:mr-64");
toggleButton.querySelector("span").classList.remove("ltr:rotate-90", "rtl:-rotate-90");
toggleButton.querySelector("span").classList.add("ltr:-rotate-90", "rtl:rotate-90");
}
@ -66,8 +66,8 @@
function contentTransitionRight() {
sectionContent.classList.remove("xl:ltr:ml-0", "xl:rtl:mr-0");
sectionContent.classList.add("xl:ltr:ml-64", "xl:rtl:mr-64");
toggleButton.querySelector("span").classList.remove("ltr:-rotate-90", "rtl:rotate-90");
toggleButton.querySelector("span").classList.add("ltr:rotate-90", "rtl:-rotate-90");
}
function hiddenSidebar() {

View File

@ -1,10 +1,15 @@
<body>
@stack('body_start')
<div class="max-w-7xl m-auto h-screen flex flex-col sm:flex-row items-center justify-center sm:justify-between px-12 lg:px-24">
<div class="flex flex-col items-start gap-y-4 mb-10 sm:mb-0 sm:-mt-24">
<span class="text-lg">
{{ trans('maintenance.message') }}
</span>
</div>
<img src="{{ asset('public/img/empty_pages/transactions.png') }}" alt="{{ trans('maintenance.message') }}" />
</div>
@stack('body_end')
</body>

View File

@ -26,5 +26,7 @@
@stack('js')
@stack('scripts')
@stack('head_end')
</head>

View File

@ -31,7 +31,7 @@
@if ($popular)
<div class="flex flex-col gap-4">
@foreach ($popular->data as $item)
<div class="hover:shadow-2xl rounded-lg">
<div class="hover:bg-purple-100 rounded-lg">
<x-link href="{{ route('apps.app.show', $item->slug) }}" class="flex items-center p-2" override="class">
@foreach ($item->files as $file)
@if (($file->media_type == 'image') && ($file->pivot->zone == 'thumbnail'))
@ -44,7 +44,7 @@
{!! $item->name !!}
</h6>
<div class="line-clamp-2">
<div class="line-clamp-2 h-12 overflow-hidden">
<p class="font-thin text-xs text-left">
{!! $item->description !!}
</p>

View File

@ -3,7 +3,7 @@
<div x-show="price_type == 'monthly'" class="w-full flex space-x-6">
<x-tooltip message="{{ trans('modules.hosted_on_akaunting') }}" placement="top" width="w-full">
<x-link
href="{{ $module->action_url }}"
href="{{ $module->monthly_url }}"
target="_blank"
class="bg-green rounded-md text-white text-sm text-center w-full flex items-center justify-center px-3 py-2 truncate hover:bg-green-700"
override="class"
@ -74,7 +74,7 @@
@endif
@else
<x-link
href="{{ $module->action_url }}"
href="{{ $module->yearly_url }}"
target="_blank"
class="bg-green rounded-md text-white text-sm text-center w-full py-2 truncate hover:bg-green-700"
override="class"
@ -87,7 +87,7 @@
@else
<x-tooltip message="{{ trans('modules.hosted_on_akaunting') }}" placement="top" width="w-full">
<x-link
href="{{ $module->action_url }}"
href="{{ $module->yearly_url }}"
target="_blank"
class="bg-green rounded-md text-white text-sm text-center w-full flex items-center justify-center px-3 py-2 truncate hover:bg-green-700"
override="class"
@ -172,7 +172,7 @@
@else
<x-tooltip message="{{ trans('modules.hosted_on_akaunting') }}" placement="top" width="w-full">
<x-link
href="{{ $module->action_url }}"
href="{{ $module->lifetime_url }}"
target="_blank"
class="bg-green rounded-md text-white text-sm text-center w-full flex items-center justify-center px-3 py-2 truncate hover:bg-green-700"
override="class"

View File

@ -2,21 +2,43 @@
@if (! empty($module->plan))
<div x-show="price_type == 'monthly' || price_type == 'yearly'" class="text-center text-sm mt-3 mb--2 bg-red-100 rounded-lg p-2 cursor-default">
<span class="text-sm text-red-700">
{!! trans('modules.only_premium_plan') !!}
<span x-show="price_type == 'monthly'" class="text-sm text-red-700">
{!! trans('modules.information_on_preme', [
'period' => trans('modules.monthly'),
'url' => 'https://akaunting.com/features/why-akaunting-cloud?utm_source=software&utm_medium=app_show&utm_campaign=' . str_replace('-', '_', $module->slug)
]) !!}
</span>
<span x-show="price_type == 'yearly'" class="text-sm text-red-700">
{!! trans('modules.information_on_preme', [
'period' => trans('modules.yearly'),
'url' => 'https://akaunting.com/features/why-akaunting-cloud?utm_source=software&utm_medium=app_show&utm_campaign=' . str_replace('-', '_', $module->slug)
]) !!}
</span>
</div>
@elseif (in_array('onprime', $module->where_to_use))
<div x-show="price_type == 'monthly'" class="text-center text-sm mt-3">
<span style="font-size: 12px;">
<span class="text-red">*</span>
{!! trans('modules.information_monthly', ['url' => 'https://akaunting.com/features/why-akaunting-cloud?utm_source=software&utm_medium=app_show&utm_campaign=' . str_replace('-', '_', $module->slug)]) !!}
<div x-show="price_type == 'monthly'" class="text-center text-sm mt-3 mb--2 bg-red-100 rounded-lg p-2 cursor-default">
<span x-show="price_type == 'monthly'" class="text-sm text-red-700">
{!! trans('modules.information_on_preme', [
'period' => trans('modules.monthly'),
'url' => 'https://akaunting.com/features/why-akaunting-cloud?utm_source=software&utm_medium=app_show&utm_campaign=' . str_replace('-', '_', $module->slug)
]) !!}
</span>
</div>
@else
<div x-show="price_type == 'monthly' || price_type == 'yearly'" class="text-center text-sm mt-3 mb--2 bg-red-100 rounded-lg p-2 cursor-default">
<span class="text-sm text-red-700">
{!! trans('modules.only_works_cloud') !!}
<span x-show="price_type == 'monthly'" class="text-sm text-red-700">
{!! trans('modules.information_on_preme', [
'period' => trans('modules.monthly'),
'url' => 'https://akaunting.com/features/why-akaunting-cloud?utm_source=software&utm_medium=app_show&utm_campaign=' . str_replace('-', '_', $module->slug)
]) !!}
</span>
<span x-show="price_type == 'yearly'" class="text-sm text-red-700">
{!! trans('modules.information_on_preme', [
'period' => trans('modules.yearly'),
'url' => 'https://akaunting.com/features/why-akaunting-cloud?utm_source=software&utm_medium=app_show&utm_campaign=' . str_replace('-', '_', $module->slug)
]) !!}
</span>
</div>
@endif

View File

@ -15,7 +15,7 @@
</span>
@else
<span class="text-5xl font-bold text-purple">
{!! $module->monthly_price !!}
{!! $module->monthly_price !!}
</span>
@endif
</div>

View File

@ -20,7 +20,7 @@
<button type="button"
x-on:click="price_type = 'lifetime'"
class="w-18 flex justify-center text-base px-2 py-1 rounded-tr-lg rounded-br-lg "
class="w-18 flex justify-center text-base px-2 py-1 rounded-tr-lg rounded-br-lg"
x-bind:class="price_type == 'lifetime' ? 'bg-black-700 text-white' : 'bg-gray-200 btn-outline-primary'"
>
{{ trans('general.lifetime') }}

View File

@ -1,5 +1,5 @@
@stack('footer_start')
<footer class="footer">
<footer class="footer container">
<div class="flex flex-col sm:flex-row items-center justify-between lg:mt-20 py-7 text-sm font-light">
<div>
{{ trans('footer.powered') }}:

View File

@ -42,6 +42,7 @@
var url = '{{ url("/" . company_id()) }}';
var app_url = '{{ config("app.url") }}';
var aka_currency = {!! !empty($currency) ? $currency : 'false' !!};
var all_currencies = {!! !empty($currencies) ? $currencies : '[]' !!};
//--></script>
<x-script.exceptions.trackers />

View File

@ -88,7 +88,7 @@
</div>
<div class="flex ltr:ml-2 rtl:mr-2">
<span class="w-28 text-left block text-base truncate">
<span class="w-28 ltr:text-left rtl:text-right block text-base truncate">
<x-button.hover>
{{ Str::limit(setting('company.name'), 22) }}
</x-button.hover>
@ -103,7 +103,7 @@
@endcan
</div>
</button>
@can('read-common-companies')
<div id="dropdown-menu-company" class="absolute right-0 mt-3 py-2 bg-white rounded-md shadow-xl z-20 hidden" style="left: auto; min-width: 10rem;">
@foreach($companies as $com)
@ -117,7 +117,7 @@
@can('update-common-companies')
<x-link href="{{ route('companies.index') }}" class="h-9 leading-9 flex items-center text-sm px-2 border-t rounded-bl rounded-br group hover:bg-purple" override="class">
<div class="w-full h-full flex items-center rounded-md px-2 ">
<div class="w-full h-full flex items-center rounded-md px-2">
<span class="material-icons-outlined text-purple text-xl group-hover:text-white">settings</span>
<span class="ltr:pl-2 rtl:pr-2 text-purple text-xs truncate group-hover:text-white">
{{ trans('general.title.manage', ['type' => trans_choice('general.companies', 2)]) }}
@ -182,3 +182,4 @@
<x-loading.menu />
@stack('menu_end')

View File

@ -54,6 +54,7 @@
function contentTransitionLeft() {
sectionContent.classList.add("xl:ltr:ml-0", "xl:rtl:mr-0");
sectionContent.classList.remove("xl:ltr:ml-64", "xl:rtl:mr-64");
toggleButton.querySelector("span").classList.remove("ltr:rotate-90", "rtl:-rotate-90");
toggleButton.querySelector("span").classList.add("ltr:-rotate-90", "rtl:rotate-90");
}
@ -62,6 +63,7 @@
sectionContent.classList.remove("xl:ltr:ml-0", "xl:rtl:mr-0");
sectionContent.classList.add("xl:ltr:ml-64", "xl:rtl:mr-64");
toggleButton.querySelector("span").classList.remove("ltr:-rotate-90", "rtl:rotate-90");
toggleButton.querySelector("span").classList.add("ltr:rotate-90", "rtl:-rotate-90");
}
function hiddenSidebar() {

View File

@ -1,6 +1,6 @@
@stack('footer_start')
<footer class="footer">
<footer class="footer container">
<div class="flex flex-col sm:flex-row items-center justify-between lg:mt-20 py-7 text-sm font-light">
<div>
{{ trans('footer.powered') }}:

View File

@ -42,6 +42,7 @@
var url = '{{ url("/" . company_id()) }}';
var app_url = '{{ config("app.url") }}';
var aka_currency = {!! !empty($currency) ? $currency : 'false' !!};
var all_currencies = {!! !empty($currencies) ? $currencies : '[]' !!};
//--></script>
<x-script.exceptions.trackers />

View File

@ -27,7 +27,7 @@
<!-- Tile for Win8 -->
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="{{ asset('public/img/pwa/akaunting-512x512.png') }}">
<meta name="msapplication-TileImage" content="{{ asset('public/img/pwa/icon-512x512.png') }}">
<script type="text/javascript">
if ('serviceWorker' in navigator) {

View File

@ -1,6 +1,6 @@
@stack('footer_start')
<footer class="footer">
<footer class="footer container">
<div class="flex flex-col sm:flex-row items-center justify-between lg:mt-20 py-7 text-sm font-light">
<div>
{{ trans('footer.powered') }}:

View File

@ -42,6 +42,7 @@
var url = '{{ url("/" . company_id()) }}';
var app_url = '{{ config("app.url") }}';
var aka_currency = {!! !empty($currency) ? $currency : 'false' !!};
var all_currencies = {!! !empty($currencies) ? $currencies : '[]' !!};
//--></script>
<x-script.exceptions.trackers />

View File

@ -1,2 +1,2 @@
<div class="w-full h-full absolute left-0 right-0 top-0 bottom-0 bg-cover bg-no-repeat opacity-20"
<div class="w-full h-full absolute inset-0 bg-cover bg-no-repeat opacity-20"
style="background-image:url({{ asset('public/img/dashboard.png') }});"></div>

View File

@ -37,6 +37,7 @@
var url = '{{ url("/" . company_id()) }}';
var app_url = '{{ config("app.url") }}';
var aka_currency = {!! !empty($currency) ? $currency : 'false' !!};
var all_currencies = {!! !empty($currencies) ? $currencies : '[]' !!};
//--></script>
<x-script.exceptions.trackers />

View File

@ -2,7 +2,7 @@
@class([
$color,
$groupHover ? 'group-hover:bg-full-2' : 'hover:bg-full-2',
'bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize'
'bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize cursor-pointer'
])
>
{!! $slot !!}

View File

@ -0,0 +1,5 @@
@if (! empty($payment_method))
{!! $payment_method !!}
@else
<x-empty-data />
@endif

View File

@ -1,3 +1,3 @@
<div class="bg-orange-100 border-l-4 border-orange-500 text-orange-700 p-4 mt-4 mb-4" role="alert">
<p>{{ trans('maintenance.read_only') }}</p>
<p>{{ trans('maintenance.read_only') }}</p>
</div>

View File

@ -4,8 +4,8 @@
<tr class="px-3">
<th class="{{ $class->column_name_width }} text-uppercase text-left">{{ trans_choice('general.totals', 1) }}</th>
@foreach($class->footer_totals[$table_key] as $total)
<th class="{{ $class->column_value_width }} text-right px-0">{{ $class->has_money ? money($total, default_currency(), true) : $total }}</th>
<th class="{{ $class->column_value_width }} text-right px-0">{{ $class->has_money ? money($total) : $total }}</th>
@endforeach
<th class="{{ $class->column_name_width }} text-right pl-0 pr-4">{{ $class->has_money ? money($grand_total, default_currency(), true) : $grand_total }}</th>
<th class="{{ $class->column_name_width }} text-right pl-0 pr-4">{{ $class->has_money ? money($grand_total) : $grand_total }}</th>
</tr>
</tfoot>

View File

@ -14,9 +14,9 @@
@endif
@foreach($rows as $row)
<td class="{{ $class->column_value_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs">{{ $class->has_money ? money($row, default_currency(), true) : $row }}</td>
<td class="{{ $class->column_value_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs">{{ $class->has_money ? money($row) : $row }}</td>
@endforeach
<td class="{{ $class->column_name_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs uppercase">{{ $class->has_money ? money($row_total, default_currency(), true) : $row }}</td>
<td class="{{ $class->column_name_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs uppercase">{{ $class->has_money ? money($row_total) : $row }}</td>
</tr>
@endif
@endif
@ -57,9 +57,9 @@
</div>
</td>
@foreach($parent_row_values as $row)
<td class="{{ $class->column_value_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs">{{ $class->has_money ? money($row, default_currency(), true) : $row }}</td>
<td class="{{ $class->column_value_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs">{{ $class->has_money ? money($row) : $row }}</td>
@endforeach
<td class="{{ $class->column_name_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs uppercase">{{ $class->has_money ? money($row_total, default_currency(), true) : $row }}</td>
<td class="{{ $class->column_name_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs uppercase">{{ $class->has_money ? money($row_total) : $row }}</td>
</tr>
@endif
@ -69,9 +69,9 @@
<tr class="hover:bg-gray-100 border-b collapse-sub collapse-sub-report" data-collapse="child-{{ $id }}">
<td class="{{ $class->column_name_width }} py-2 text-left text-black-400" style="padding-left: {{ ($tree_level + 1) * 20 }}px;" title="{{ $class->row_names[$table_key][$id] }}">{{ $class->row_names[$table_key][$id] }}</td>
@foreach($rows as $row)
<td class="{{ $class->column_value_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs">{{ $class->has_money ? money($row, default_currency(), true) : $row }}</td>
<td class="{{ $class->column_value_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs">{{ $class->has_money ? money($row) : $row }}</td>
@endforeach
<td class="{{ $class->column_name_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs uppercase">{{ $class->has_money ? money($row_total, default_currency(), true) : $row }}</td>
<td class="{{ $class->column_name_width }} py-2 ltr:text-right rtl:text-left text-alignment-right text-black-400 text-xs uppercase">{{ $class->has_money ? money($row_total) : $row }}</td>
</tr>
@endif

View File

@ -1,12 +1,12 @@
<div>
<div
<div
@class([
'd-flex align-items-center justify-content-between rp-border-bottom-1 text' => $is_print,
'flex items-center justify-between text-xl text-black-400 border-b pb-2' => !$is_print
])
>
<h2>{{ $table_name }}</h2>
<span>{{ $class->has_money ? money($grand_total, default_currency(), true) : $grand_total }}</span>
<span>{{ $class->has_money ? money($grand_total) : $grand_total }}</span>
</div>
@if (!empty($class->row_values[$table_key]))
<ul

View File

@ -28,7 +28,7 @@
@endif
<span>{{ $class->row_names[$table_key][$id] }}</span>
</div>
<span>{{ $class->has_money ? money($row_total, default_currency(), true) : $row_total }}</span>
<span>{{ $class->has_money ? money($row_total) : $row_total }}</span>
</div>
</li>
@endif
@ -73,7 +73,7 @@
@endif
@endif
</div>
<span>{{ $class->has_money ? money($row_total, default_currency(), true) : $row_total }}</span>
<span>{{ $class->has_money ? money($row_total) : $row_total }}</span>
</div>
</li>
@endif
@ -91,7 +91,7 @@
<div style="display:flex; align-items: center; padding-left: {{ ($tree_level + 1) * 20 }}px;">
<span>{{ $class->row_names[$table_key][$id] }}</span>
</div>
<span>{{ $class->has_money ? money($row_total, default_currency(), true) : $row_total }}</span>
<span>{{ $class->has_money ? money($row_total) : $row_total }}</span>
</div>
</li>
@endif

View File

@ -19,70 +19,70 @@
<div class="w-full my-10 m-auto flex flex-col px-2 sm:px-0 max-w-md">
<div class="p-2 bg-body rounded-lg">
@foreach ($actions as $action)
@if (! empty($action['permission']))
@can($action['permission'])
@endif
@if ($count_buttons > 3 && $loop->count > 4)
@break
@endif
@php
$type = ! empty($action['type']) ? $action['type'] : 'link';
@endphp
@if (isset($action['type']) && $action['type'] == 'divider')
@continue
@endif
@switch($type)
@case('button')
<button type="button" class="w-full flex items-center text-purple px-2 h-9 leading-9" {!! $action['attributes'] ?? null !!}>
<div class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">
<span class="material-icons-outlined text-purple text-lg ltr:mr-2 rtl:ml-2 pointer-events-none">
{{ $action['icon'] }}
</span>
@if (
empty($action['permission'])
|| (! empty($action['permission']) && user()->can($action['permission']))
)
@php
$type = ! empty($action['type']) ? $action['type'] : 'link';
@endphp
{{ $action['title'] }}
</div>
</button>
@break
@switch($type)
@case('button')
<button type="button" class="w-full flex items-center text-purple px-2 h-9 leading-9" {!! $action['attributes'] ?? null !!}>
<div class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">
<span class="material-icons-outlined text-purple text-lg ltr:mr-2 rtl:ml-2 pointer-events-none">
{{ $action['icon'] }}
</span>
@case('delete')
@php
$title = $action['title'] ?? null;
$modelId = ! empty($action['model-id']) ? $action['model-id'] : 'id';
$modelName = ! empty($action['model-name']) ? $action['model-name'] : 'name';
@endphp
{{ $action['title'] }}
</div>
</button>
@break
<x-delete-button :model="$action['model']" :route="$action['route']" :text="$title" :model-id="$modelId" :model-name="$modelName" />
@break
@case('delete')
@php
$title = $action['title'] ?? null;
$modelId = ! empty($action['model-id']) ? $action['model-id'] : 'id';
$modelName = ! empty($action['model-name']) ? $action['model-name'] : 'name';
@endphp
@default
<a href="{{ $action['url'] }}" class="w-full flex items-center text-purple px-2 h-9 leading-9" {!! $action['attributes'] ?? null !!}>
<div class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">
<span class="material-icons-outlined text-purple text-lg ltr:mr-2 rtl:ml-2 pointer-events-none">
{{ $action['icon'] }}
</span>
<x-delete-button :model="$action['model']" :route="$action['route']" :text="$title" :model-id="$modelId" :model-name="$modelName" />
@break
{{ $action['title'] }}
</div>
</a>
@endswitch
@default
<a href="{{ $action['url'] }}" class="w-full flex items-center text-purple px-2 h-9 leading-9" {!! $action['attributes'] ?? null !!}>
<div class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">
<span class="material-icons-outlined text-purple text-lg ltr:mr-2 rtl:ml-2 pointer-events-none">
{{ $action['icon'] }}
</span>
@php
array_shift($actions);
{{ $action['title'] }}
</div>
</a>
@endswitch
$count_buttons++;
@endphp
@php
array_shift($actions);
@if (! empty($action['permission']))
@endcan
$count_buttons++;
@endphp
@endif
@endforeach
@foreach ($actions as $action)
@if (! empty($action['permission']))
@can($action['permission'])
@php $more_actions[] = $action; @endphp
@endcan
@else
@if (
empty($action['permission'])
|| (! empty($action['permission']) && user()->can($action['permission']))
)
@php $more_actions[] = $action; @endphp
@endif
@endforeach
@ -147,4 +147,4 @@
@endif
</div>
</div>
</div>
</div>

View File

@ -8,73 +8,73 @@
@else
<div class="absolute ltr:right-12 rtl:left-12 -top-4 hidden items-center group-hover:flex">
@foreach ($actions as $action)
@if (! empty($action['permission']))
@can($action['permission'])
@endif
@if ($count_buttons > 3 && $loop->count > 4)
@break
@endif
@php
$type = ! empty($action['type']) ? $action['type'] : 'link';
@endphp
@if (isset($action['type']) && $action['type'] == 'divider')
@continue
@endif
@switch($type)
@case('button')
<button type="button" class="relative bg-white hover:bg-gray-100 border py-0.5 px-1 cursor-pointer index-actions group/tooltip" {!! $action['attributes'] ?? null !!}>
<span class="material-icons-outlined text-purple text-lg pointer-events-none">
{{ $action['icon'] }}
</span>
@if (
empty($action['permission'])
|| (! empty($action['permission']) && user()->can($action['permission']))
)
@php
$type = ! empty($action['type']) ? $action['type'] : 'link';
@endphp
<div class="inline-block absolute invisible z-20 py-1 px-2 text-sm font-medium text-gray-900 bg-white rounded-lg border border-gray-200 shadow-sm whitespace-nowrap opacity-0 -top-10 -left-2 group-hover/tooltip:opacity-100 group-hover/tooltip:visible" data-tooltip-placement="top">
<span>{{ $action['title'] }}</span>
<div class="absolute w-2 h-2 -bottom-1 before:content-[' '] before:absolute before:w-2 before:h-2 before:bg-white before:border-gray-200 before:transform before:rotate-45 before:border before:border-t-0 before:border-l-0" data-popper-arrow></div>
</div>
</button>
@break
@switch($type)
@case('button')
<button type="button" class="relative bg-white hover:bg-gray-100 border py-0.5 px-1 cursor-pointer index-actions group/tooltip" {!! $action['attributes'] ?? null !!}>
<span class="material-icons-outlined text-purple text-lg pointer-events-none">
{{ $action['icon'] }}
</span>
@case('delete')
@php
$text = $action['text'] ?? null;
$title = $action['title'] ?? null;
$modelId = ! empty($action['model-id']) ? $action['model-id'] : 'id';
$modelName = ! empty($action['model-name']) ? $action['model-name'] : 'name';
@endphp
<div class="inline-block absolute invisible z-20 py-1 px-2 text-sm font-medium text-gray-900 bg-white rounded-lg border border-gray-200 shadow-sm whitespace-nowrap opacity-0 -top-10 -left-2 group-hover/tooltip:opacity-100 group-hover/tooltip:visible" data-tooltip-placement="top">
<span>{{ $action['title'] }}</span>
<div class="absolute w-2 h-2 -bottom-1 before:content-[' '] before:absolute before:w-2 before:h-2 before:bg-white before:border-gray-200 before:transform before:rotate-45 before:border before:border-t-0 before:border-l-0" data-popper-arrow></div>
</div>
</button>
@break
<x-delete-button :model="$action['model']" :route="$action['route']" :title="$title" :text="$text" :model-id="$modelId" :model-name="$modelName" />
@break
@case('delete')
@php
$text = $action['text'] ?? null;
$title = $action['title'] ?? null;
$modelId = ! empty($action['model-id']) ? $action['model-id'] : 'id';
$modelName = ! empty($action['model-name']) ? $action['model-name'] : 'name';
@endphp
@default
<a href="{{ $action['url'] }}" class="relative bg-white hover:bg-gray-100 border py-0.5 px-1 cursor-pointer index-actions group/tooltip" {!! $action['attributes'] ?? null !!}>
<span class="material-icons-outlined text-purple text-lg pointer-events-none">
{{ $action['icon'] }}
</span>
<x-delete-button :model="$action['model']" :route="$action['route']" :title="$title" :text="$text" :model-id="$modelId" :model-name="$modelName" />
@break
<div class="inline-block absolute invisible z-20 py-1 px-2 text-sm font-medium text-gray-900 bg-white rounded-lg border border-gray-200 shadow-sm whitespace-nowrap opacity-0 -top-10 -left-2 group-hover/tooltip:opacity-100 group-hover/tooltip:visible" data-tooltip-placement="top">
<span>{{ $action['title'] }}</span>
<div class="absolute w-2 h-2 -bottom-1 before:content-[' '] before:absolute before:w-2 before:h-2 before:bg-white before:border-gray-200 before:transform before:rotate-45 before:border before:border-t-0 before:border-l-0" data-popper-arrow></div>
</div>
</a>
@endswitch
@default
<a href="{{ $action['url'] }}" x-data="{ clicked: false }" x-on:click="clicked = true;" x-bind:class="{ 'pointer-events-none': clicked }" class="relative bg-white hover:bg-gray-100 border py-0.5 px-1 cursor-pointer index-actions group/tooltip" {!! $action['attributes'] ?? null !!}>
<span class="material-icons-outlined text-purple text-lg pointer-events-none">
{{ $action['icon'] }}
</span>
@php
array_shift($actions);
<div class="inline-block absolute invisible z-20 py-1 px-2 text-sm font-medium text-gray-900 bg-white rounded-lg border border-gray-200 shadow-sm whitespace-nowrap opacity-0 -top-10 -left-2 group-hover/tooltip:opacity-100 group-hover/tooltip:visible" data-tooltip-placement="top">
<span>{{ $action['title'] }}</span>
<div class="absolute w-2 h-2 -bottom-1 before:content-[' '] before:absolute before:w-2 before:h-2 before:bg-white before:border-gray-200 before:transform before:rotate-45 before:border before:border-t-0 before:border-l-0" data-popper-arrow></div>
</div>
</a>
@endswitch
$count_buttons++;
@endphp
@php
array_shift($actions);
@if (! empty($action['permission']))
@endcan
$count_buttons++;
@endphp
@endif
@endforeach
@foreach ($actions as $action)
@if (! empty($action['permission']))
@can($action['permission'])
@php $more_actions[] = $action; @endphp
@endcan
@else
@if (
empty($action['permission'])
|| (! empty($action['permission']) && user()->can($action['permission']))
)
@php $more_actions[] = $action; @endphp
@endif
@endforeach
@ -127,7 +127,7 @@
@php $divider = false; @endphp
<div class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" {!! $action['attributes'] ?? null !!}>
<a href="{{ $action['url'] }}" class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">
<a href="{{ $action['url'] }}" x-data="{ clicked: false }" x-on:click="clicked = true;" x-bind:class="{ 'pointer-events-none': clicked }" class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">
{{ $action['title'] }}
</a>
</div>

View File

@ -8,7 +8,14 @@
}
@endphp
<div data-swiper="{{ $slides }}" x-data="{ active: window.location.hash.split('#')[1] == undefined ? '{{ $active }}' : window.location.hash.split('#')[1] }">
<div
data-swiper="{{ $slides }}"
@if(! $attributes->has('ignore-hash'))
x-data="{ active: window.location.hash.split('#')[1] == undefined ? '{{ $active }}' : window.location.hash.split('#')[1] }"
@else
x-data="{ active: '{{ $active }}' }"
@endif
>
<div data-tabs-swiper>
<ul data-tabs-swiper-wrapper {{ ((! $attributes->has('override')) || ($attributes->has('override') && ! in_array('class', explode(',', $attributes->get('override'))))) ? $attributes->merge(['class' => 'inline-flex overflow-x-scroll large-overflow-unset']) : $attributes }}>
{!! $navs !!}

View File

@ -132,7 +132,7 @@
</td>
<td valign="top" class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;">
{{ !empty($payment_methods[$transaction->payment_method]) ? $payment_methods[$transaction->payment_method] : trans('general.na') }}
<x-payment-method :method="$transaction->payment_method" />
</td>
</tr>
@endif
@ -354,12 +354,12 @@
<td class="price text-alignment-right text-right" style="color:#424242; font-size:12px; padding-right:0;">
@if (! $hideRelatedDocumentAmount)
<x-money :amount="$transaction->document->amount" :currency="$transaction->document->currency_code" convert /> <br />
<x-money :amount="$transaction->document->amount" :currency="$transaction->document->currency_code" /> <br />
@endif
@if (! $hideRelatedAmount)
<span style="color: #6E6E6E">
<x-money :amount="$transaction->amount" :currency="$transaction->currency_code" convert />
<x-money :amount="$transaction->amount" :currency="$transaction->currency_code" />
</span>
@endif
</td>
@ -379,7 +379,7 @@
<span class="ml-2 font-semibold">
{{ trans($textAmount) }}
</span>
<x-money :amount="$transaction->amount" :currency="$transaction->currency_code" convert />
<x-money :amount="$transaction->amount" :currency="$transaction->currency_code" />
</td>
</tr>
</table>

View File

@ -214,11 +214,7 @@
</td>
<td valign="top" valign="top" class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;">
@if (! empty($payment_methods[$transfer->expense_transaction->payment_method]))
{!! $payment_methods[$transfer->expense_transaction->payment_method] !!}
@else
<x-empty-data />
@endif
<x-payment-method :method="$transfer->expense_transaction->payment_method" />
</td>
</tr>
@stack('payment_method_input_end')
@ -257,7 +253,7 @@
</table>
@stack('details_end')
<table style="text-align: right; margin-top:55px;">
<tr>
<td valign="center" style="width:80%; display:block; float:right; background-color: #55588B; -webkit-print-color-adjust: exact; color:#ffffff; border-radius: 5px;">
@ -268,7 +264,7 @@
{{ trans('general.amount') }}
</span>
<x-money :amount="$transfer->expense_transaction->amount" :currency="$transfer->expense_transaction->currency_code" convert />
<x-money :amount="$transfer->expense_transaction->amount" :currency="$transfer->expense_transaction->currency_code" />
</td>
</tr>
</table>

View File

@ -30,11 +30,7 @@
</td>
<td valign="top" style="width:70%; margin: 0px; padding: 8px 0 8px 0; font-size: 12px; border-bottom:1px solid #adadad;">
@if (! empty($payment_methods[$transfer->expense_transaction->payment_method]))
{!! $payment_methods[$transfer->expense_transaction->payment_method] !!}
@else
<x-empty-data />
@endif
<x-payment-method :method="$transfer->expense_transaction->payment_method" />
</td>
</tr>
@stack('payment_method_input_end')
@ -263,7 +259,7 @@
{{ trans('general.amount') }}
</span>
<x-money :amount="$transfer->expense_transaction->amount" :currency="$transfer->expense_transaction->currency_code" convert />
<x-money :amount="$transfer->expense_transaction->amount" :currency="$transfer->expense_transaction->currency_code" />
</td>
</tr>
</table>

View File

@ -224,11 +224,7 @@
</td>
<td valign="top" style="width:70%; margin: 0px; padding: 0; font-size: 12px; border-bottom:1px solid; line-height: 24px;">
@if (! empty($payment_methods[$transfer->expense_transaction->payment_method]))
{!! $payment_methods[$transfer->expense_transaction->payment_method] !!}
@else
<x-empty-data />
@endif
<x-payment-method :method="$transfer->expense_transaction->payment_method" />
</td>
</tr>
@stack('payment_method_input_end')
@ -277,7 +273,7 @@
{{ trans('general.amount') }}
</span>
<x-money :amount="$transfer->expense_transaction->amount" :currency="$transfer->expense_transaction->currency_code" convert />
<x-money :amount="$transfer->expense_transaction->amount" :currency="$transfer->expense_transaction->currency_code" />
</td>
</tr>
</table>

View File

@ -0,0 +1,5 @@
@foreach ($alerts as $type => $messages)
@foreach ($messages as $message)
<x-alert :type="$type" :message="$message" />
@endforeach
@endforeach

View File

@ -9,7 +9,7 @@
</span>
<span class="text-xl text-black my-3">
<x-money :amount="$payment->amount" :currency="$payment->currency_code" convert />
<x-money :amount="$payment->amount" :currency="$payment->currency_code" />
</span>
@else
<span class="text-xs">

View File

@ -10,9 +10,9 @@
<div class="flex flex-col items-start my-3">
<span class="text-xl text-black">
<x-money :amount="$contact->overdue" :currency="$contact->currency_code" convert />
<x-money :amount="$contact->overdue" :currency="$contact->currency_code" />
</span>
<x-link href="{{ route('portal.invoices.index') }}" class="px-2 py-1 my-3 rounded-lg text-xs leading-6 bg-green text-white hover:bg-green-700 disabled:bg-green-100" override="class">
{{ trans('bills.make_payment') }}
</x-link>

View File

@ -7,9 +7,9 @@
@foreach ($payments as $item)
<span class="text-xs mb-3">
@if (! $item->document)
{{ trans('portal.payment_history.description', ['date' => company_date($item->created_at), 'amount' => money($item->amount, $item->currency_code, true)]) }}
{{ trans('portal.payment_history.description', ['date' => company_date($item->created_at), 'amount' => money($item->amount, $item->currency_code)]) }}
@else
{{ trans('portal.payment_history.invoice_description', ['date' => company_date($item->created_at), 'amount' => money($item->amount, $item->currency_code, true), 'invoice_nember' => $item->document->document_number]) }}
{{ trans('portal.payment_history.invoice_description', ['date' => company_date($item->created_at), 'amount' => money($item->amount, $item->currency_code), 'invoice_nember' => $item->document->document_number]) }}
@endif
</span>
@endforeach