Merge branch 'master' of https://github.com/brkcvn/akaunting into form-elements
This commit is contained in:
commit
2e6aaa8f10
@ -113,11 +113,13 @@ abstract class Model extends Eloquent implements Ownable
|
||||
return $query->paginate($limit);
|
||||
}
|
||||
|
||||
public function scopeUsingSearchString($query)
|
||||
public function scopeUsingSearchString(Builder $query, string|null $string = null)
|
||||
{
|
||||
event(new SearchStringApplying($query));
|
||||
|
||||
$this->getSearchStringManager()->updateBuilder($query, request('search'));
|
||||
$string = $string ?: request('search');
|
||||
|
||||
$this->getSearchStringManager()->updateBuilder($query, $string);
|
||||
|
||||
event(new SearchStringApplied($query));
|
||||
}
|
||||
|
@ -444,7 +444,7 @@ class Transaction extends Model
|
||||
} catch (\Exception $e) {}
|
||||
|
||||
try {
|
||||
if (! $this->reconciled) {
|
||||
if (! $this->reconciled && ! $this->hasTransferRelation) {
|
||||
$actions[] = [
|
||||
'title' => trans('general.edit'),
|
||||
'icon' => 'edit',
|
||||
@ -458,7 +458,7 @@ class Transaction extends Model
|
||||
} catch (\Exception $e) {}
|
||||
|
||||
try {
|
||||
if (empty($this->document_id)) {
|
||||
if (empty($this->document_id) && ! $this->hasTransferRelation) {
|
||||
$actions[] = [
|
||||
'title' => trans('general.duplicate'),
|
||||
'icon' => 'file_copy',
|
||||
@ -472,7 +472,7 @@ class Transaction extends Model
|
||||
} catch (\Exception $e) {}
|
||||
|
||||
try {
|
||||
if ($this->is_splittable && empty($this->document_id) && empty($this->recurring)) {
|
||||
if ($this->is_splittable && empty($this->document_id) && empty($this->recurring) && ! $this->hasTransferRelation) {
|
||||
$connect = [
|
||||
'type' => 'button',
|
||||
'title' => trans('general.connect'),
|
||||
@ -519,54 +519,56 @@ class Transaction extends Model
|
||||
} catch (\Exception $e) {}
|
||||
|
||||
if ($prefix != 'recurring-transactions') {
|
||||
$actions[] = [
|
||||
'type' => 'divider',
|
||||
];
|
||||
|
||||
try {
|
||||
if (! $this->hasTransferRelation) {
|
||||
$actions[] = [
|
||||
'type' => 'button',
|
||||
'title' => trans('general.share_link'),
|
||||
'icon' => 'share',
|
||||
'url' => route('modals.transactions.share.create', $this->id),
|
||||
'permission' => 'read-banking-transactions',
|
||||
'attributes' => [
|
||||
'id' => 'index-more-actions-share-' . $this->id,
|
||||
'@click' => 'onShareLink("' . route('modals.transactions.share.create', $this->id) . '")',
|
||||
],
|
||||
'type' => 'divider',
|
||||
];
|
||||
} catch (\Exception $e) {}
|
||||
|
||||
try {
|
||||
$actions[] = [
|
||||
'type' => 'button',
|
||||
'title' => trans('invoices.send_mail'),
|
||||
'icon' => 'email',
|
||||
'url' => route('modals.transactions.emails.create', $this->id),
|
||||
'permission' => 'read-banking-transactions',
|
||||
'attributes' => [
|
||||
'id' => 'index-more-actions-send-email-' . $this->id,
|
||||
'@click' => 'onEmail("' . route('modals.transactions.emails.create', $this->id) . '")',
|
||||
],
|
||||
];
|
||||
} catch (\Exception $e) {}
|
||||
|
||||
$actions[] = [
|
||||
'type' => 'divider',
|
||||
];
|
||||
|
||||
try {
|
||||
if (! $this->reconciled) {
|
||||
try {
|
||||
$actions[] = [
|
||||
'type' => 'delete',
|
||||
'icon' => 'delete',
|
||||
'text' => ! empty($this->recurring) ? 'transactions' : 'recurring_template',
|
||||
'route' => $prefix. '.destroy',
|
||||
'permission' => 'delete-banking-transactions',
|
||||
'model' => $this,
|
||||
'type' => 'button',
|
||||
'title' => trans('general.share_link'),
|
||||
'icon' => 'share',
|
||||
'url' => route('modals.transactions.share.create', $this->id),
|
||||
'permission' => 'read-banking-transactions',
|
||||
'attributes' => [
|
||||
'id' => 'index-more-actions-share-' . $this->id,
|
||||
'@click' => 'onShareLink("' . route('modals.transactions.share.create', $this->id) . '")',
|
||||
],
|
||||
];
|
||||
}
|
||||
} catch (\Exception $e) {}
|
||||
} catch (\Exception $e) {}
|
||||
|
||||
try {
|
||||
$actions[] = [
|
||||
'type' => 'button',
|
||||
'title' => trans('invoices.send_mail'),
|
||||
'icon' => 'email',
|
||||
'url' => route('modals.transactions.emails.create', $this->id),
|
||||
'permission' => 'read-banking-transactions',
|
||||
'attributes' => [
|
||||
'id' => 'index-more-actions-send-email-' . $this->id,
|
||||
'@click' => 'onEmail("' . route('modals.transactions.emails.create', $this->id) . '")',
|
||||
],
|
||||
];
|
||||
} catch (\Exception $e) {}
|
||||
|
||||
$actions[] = [
|
||||
'type' => 'divider',
|
||||
];
|
||||
|
||||
try {
|
||||
if (! $this->reconciled) {
|
||||
$actions[] = [
|
||||
'type' => 'delete',
|
||||
'icon' => 'delete',
|
||||
'text' => ! empty($this->recurring) ? 'transactions' : 'recurring_template',
|
||||
'route' => $prefix. '.destroy',
|
||||
'permission' => 'delete-banking-transactions',
|
||||
'model' => $this,
|
||||
];
|
||||
}
|
||||
} catch (\Exception $e) {}
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
$actions[] = [
|
||||
|
@ -34,7 +34,7 @@ class Link extends Component
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return view('components.link');
|
||||
return view('components.link.index');
|
||||
}
|
||||
|
||||
protected function getOverride($override)
|
||||
|
36
app/View/Components/Link/Hover.php
Normal file
36
app/View/Components/Link/Hover.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Components\Link;
|
||||
|
||||
use App\Abstracts\View\Component;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class Hover extends Component
|
||||
{
|
||||
public $color;
|
||||
public $groupHover;
|
||||
|
||||
/**
|
||||
* Create a new component instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
string $color = 'to-black',
|
||||
bool $groupHover = false,
|
||||
|
||||
) {
|
||||
$this->color = $color;
|
||||
$this->groupHover = $groupHover;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\View|string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return view('components.link.hover');
|
||||
}
|
||||
}
|
12
presets.js
vendored
12
presets.js
vendored
@ -224,7 +224,17 @@ module.exports = {
|
||||
transitionProperty: {
|
||||
'height': 'height',
|
||||
'spacing': 'margin, padding',
|
||||
'visible': 'visible, opacity'
|
||||
'visible': 'visible, opacity',
|
||||
'backgroundSize': 'background-size'
|
||||
},
|
||||
|
||||
backgroundSize: {
|
||||
'0-2': '0 2px',
|
||||
'full-2': '100% 2px'
|
||||
},
|
||||
|
||||
backgroundPosition: {
|
||||
'0-full': ' 0 100%'
|
||||
}
|
||||
},
|
||||
|
||||
|
2
public/akaunting-js/generalAction.js
vendored
2
public/akaunting-js/generalAction.js
vendored
@ -295,9 +295,11 @@ function OnInput() {
|
||||
//Loading scenario for href links
|
||||
document.querySelectorAll('[data-link-loading]').forEach((href) => {
|
||||
let target_link_html = href.parentElement;
|
||||
target_link_html.classList.add('relative');
|
||||
|
||||
target_link_html.addEventListener('click', function () {
|
||||
this.classList.add('disabled-link');
|
||||
|
||||
this.querySelector('[data-link-spin]').classList.remove('hidden');
|
||||
this.querySelector('[data-link-text]').classList.add('opacity-0');
|
||||
this.querySelector('[data-link-text]').classList.remove('opacity-1');
|
||||
|
12925
public/css/app.css
vendored
12925
public/css/app.css
vendored
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
@ -98,12 +98,12 @@
|
||||
|
||||
<div class="absolute flex flex-col mt-2">
|
||||
<button type="button" class="p-0 text-xs text-purple ltr:text-left rtl:text-right" @click="onContactEdit">
|
||||
<span class="border-b border-transparent transition-all hover:border-purple">
|
||||
<span class="bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-purple transition-backgroundSize">
|
||||
{{ editContactText.replace(':contact_name', contact.name).replace(':field', contact.name) }}
|
||||
</span>
|
||||
</button>
|
||||
<button type="button" class="p-0 text-xs text-purple ltr:text-left rtl:text-right" @click="onContactList">
|
||||
<span class="border-b border-transparent transition-all hover:border-purple">
|
||||
<span class="bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-purple transition-backgroundSize">
|
||||
{{ chooseDifferentContactText }}
|
||||
</span>
|
||||
</button>
|
||||
|
@ -69,15 +69,15 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="relative__footer">
|
||||
<div class="sm:col-span-6 flex items-center justify-end mt-3.5">
|
||||
<button type="submit" @click="onSubmit" :disabled="form.loading" id="next-button" class="relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100">
|
||||
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
|
||||
<span :class="[{'opacity-0': form.loading}]">
|
||||
Next
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sm:col-span-6 flex items-center justify-end mt-3.5">
|
||||
<button type="submit" @click="onSubmit" :disabled="form.loading" id="next-button" class="relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100">
|
||||
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
|
||||
<span :class="[{'opacity-0': form.loading}]">
|
||||
Next
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -6,15 +6,13 @@
|
||||
<el-alert v-for="requirement in requirements" :key="requirement" :title="requirement" :closable="false" type="error" effect="dark"> </el-alert>
|
||||
</div>
|
||||
|
||||
<div class="relative__footer">
|
||||
<div class="sm:col-span-6 flex items-center justify-end mt-3.5">
|
||||
<button type="button" @click="onRefresh" :disabled="button_loading" class="relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100">
|
||||
<i v-if="button_loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
|
||||
<span :class="[{'opacity-0': button_loading}]">
|
||||
Refresh
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sm:col-span-6 flex items-center justify-end mt-3.5">
|
||||
<button type="button" @click="onRefresh" :disabled="button_loading" class="relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100">
|
||||
<i v-if="button_loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
|
||||
<span :class="[{'opacity-0': button_loading}]">
|
||||
Refresh
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -11,8 +11,8 @@
|
||||
<input :class="[{'border-red': form.errors.get('company_name')}, {'border-light-gray': !form.errors.get('company_name')}]" class="w-full text-sm px-3 py-2.5 mt-1 rounded-lg border text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple" data-name="company_name" @keydown="form.errors.clear('company_name')" v-model="form.company_name" required="required" name="company_name" type="text" id="company_name" />
|
||||
</div>
|
||||
|
||||
<div class="text-red text-sm mt-1 block" v-if="form.errors.has('company_name')" v-html="form.errors.get('company_name')"></div>
|
||||
</div>
|
||||
<div class="sm:col-span-6 required" :class="[{'has-error': form.errors.get('company_email')}]">
|
||||
<label for="company_email" class="form-control-label">Company Email</label>
|
||||
|
||||
<div class="sm:col-span-6 required">
|
||||
<label for="company_email" class="text-black text-sm font-medium">Company Email</label>
|
||||
@ -22,8 +22,8 @@
|
||||
<input :class="[{'border-red': form.errors.get('company_email')}, {'border-light-gray': !form.errors.get('company_email')}]" class="w-full text-sm px-3 py-2.5 mt-1 rounded-lg border text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple" data-name="company_email" @keydown="form.errors.clear('company_email')" v-model="form.company_email" required="required" name="company_email" type="text" id="company_email" />
|
||||
</div>
|
||||
|
||||
<div class="text-red text-sm mt-1 block" v-if="form.errors.has('company_email')" v-html="form.errors.get('company_email')"></div>
|
||||
</div>
|
||||
<div class="sm:col-span-6 required" :class="[{'has-error': form.errors.get('user_email')}]">
|
||||
<label for="user_email" class="form-control-label">Admin Email</label>
|
||||
|
||||
<div class="sm:col-span-6 required">
|
||||
<label for="user_email" class="text-black text-sm font-medium">Admin Email</label>
|
||||
@ -33,8 +33,8 @@
|
||||
<input :class="[{'border-red': form.errors.get('user_email')}, {'border-light-gray': !form.errors.get('user_email')}]" class="w-full text-sm px-3 py-2.5 mt-1 rounded-lg border text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple" data-name="user_email" @keydown="form.errors.clear('user_email')" v-model="form.user_email" required="required" name="user_email" type="text" id="user_email" />
|
||||
</div>
|
||||
|
||||
<div class="text-red text-sm mt-1 block" v-if="form.errors.has('user_email')" v-html="form.errors.get('user_email')"></div>
|
||||
</div>
|
||||
<div class="sm:col-span-6 required" :class="[{'has-error': form.errors.get('user_password')}]">
|
||||
<label for="user_password" class="form-control-label">Admin Password</label>
|
||||
|
||||
<div class="sm:col-span-6 required">
|
||||
<label for="user_password" class="text-black text-sm font-medium">Admin Password</label>
|
||||
@ -43,12 +43,8 @@
|
||||
<div class="input-group input-group-merge">
|
||||
<input :class="[{'border-red': form.errors.get('user_password')}, {'border-light-gray': !form.errors.get('user_password')}]" class="w-full text-sm px-3 py-2.5 mt-1 rounded-lg borde text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple" data-name="user_password" @keydown="form.errors.clear('user_password')" v-model="form.user_password" required="required" name="user_password" type="password" value="" id="user_password" />
|
||||
</div>
|
||||
|
||||
<div class="text-red text-sm mt-1 block" v-if="form.errors.has('user_password')" v-html="form.errors.get('user_password')"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="relative__footer">
|
||||
<div class="sm:col-span-6 flex items-center justify-end mt-3.5">
|
||||
<button type="submit" @click="onSubmit" :disabled="form.loading" id="next-button" class="relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100">
|
||||
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
|
||||
@ -57,7 +53,7 @@
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -119,7 +119,7 @@
|
||||
<div v-if="currencies.length" class="w-full border-b hover:bg-gray-100" style="height:53px;">
|
||||
<button type="button" class="w-full h-full flex items-center justify-center text-purple font-medium disabled:bg-gray-200" @click="onAddItem()">
|
||||
<span class="material-icons-outlined text-base font-bold ltr:mr-1 rtl:ml-1">add</span>
|
||||
<span class="border-b border-transparent transition-all">{{ translations.currencies.new_currency }}</span>
|
||||
<span class="bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-purple transition-backgroundSize">{{ translations.currencies.new_currency }}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
10
resources/assets/sass/app.css
vendored
10
resources/assets/sass/app.css
vendored
@ -97,7 +97,7 @@
|
||||
}
|
||||
|
||||
table thead a {
|
||||
@apply border-b border-transparent transition-all;
|
||||
@apply bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-black transition-backgroundSize;
|
||||
}
|
||||
|
||||
table thead a:hover {
|
||||
@ -503,6 +503,14 @@ html[dir='rtl'] .el-input__suffix {
|
||||
@apply cursor-default pointer-events-none opacity-50;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:-right-57 {
|
||||
right: -14.5rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:-right-59 {
|
||||
right: 16.5rem;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 480px) {
|
||||
.small-table-width {
|
||||
width: 450px;
|
||||
|
@ -286,7 +286,7 @@ return [
|
||||
],
|
||||
|
||||
'empty' => [
|
||||
'documentation' => 'Check out the <a href=":url" target="_blank" class="text-green border-b border-transparent transition-all hover:text-green-700 hover:border-green-700">documentation</a> for more details.',
|
||||
'documentation' => 'Check out the <a href=":url" target="_blank" class="text-green bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-green transition-backgroundSize">documentation</a> for more details.',
|
||||
'items' => 'Items can be products or services. You can use items when creating invoices and bills to have the price, tax etc fields populated.',
|
||||
'invoices' => 'Invoices can be one time or recurring. You can send them to customers and start accepting online payments.',
|
||||
'revenues' => 'Revenue is a paid income transaction. It can be an independent record (i.e. deposit) or attached to an invoice.',
|
||||
|
@ -8,8 +8,10 @@
|
||||
<div class="flex items-center relative cursor-pointer">
|
||||
<x-dropdown id="dashboard-list">
|
||||
<x-slot name="trigger" class="flex items-center" override="class">
|
||||
<span class="text-2xl xl:text-5xl text-black font-light truncate border-b border-transparent transition-all hover:text-black-700 hover:border-black">
|
||||
{{ $dashboard->name }}
|
||||
<span class="text-2xl xl:text-5xl text-black font-light truncate">
|
||||
<x-link.hover color="to-black-700">
|
||||
{{ $dashboard->name }}
|
||||
</x-link.hover>
|
||||
</span>
|
||||
|
||||
<svg class="w-5 h-5 mt-1 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">
|
||||
|
@ -42,9 +42,9 @@
|
||||
|
||||
<div class="ltr:ml-2 rtl:mr-2">
|
||||
<h2 class="mb-1">
|
||||
<span class="border-b border-transparent transition-all group-hover:border-black">
|
||||
<x-link.hover group-hover>
|
||||
{{ $report->name }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</h2>
|
||||
|
||||
<span class="text-black-400 text-sm">{{ $report->description }}</span>
|
||||
|
@ -190,18 +190,18 @@
|
||||
@if (! $hideDiscount && in_array(setting('localisation.discount_location'), ['item', 'both']))
|
||||
<div class="text-left border-0 p-0 mr-16" v-if="!row.add_discount">
|
||||
<button type="button" class="text-xs text-purple" @click="onAddLineDiscount(index)">
|
||||
<span class="border-b border-transparent transition-all hover:border-purple">
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans('general.title.add', ['type' => trans('invoices.discount')]) }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="text-right border-0 p-0 pr-4">
|
||||
<button type="button" class="text-xs text-purple" @click="onAddTax(index)">
|
||||
<span class="border-b border-transparent transition-all hover:border-purple">
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans('general.title.add', ['type' => trans_choice('general.taxes', 1)]) }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -79,10 +79,10 @@
|
||||
<td class="border-t-0 py-0"></td>
|
||||
|
||||
<td class="text-right border-t-0 border-r-0 border-b-0 align-middle py-0 pr-0">
|
||||
<div v-if="show_discount_text">
|
||||
<span class="border-b border-transparent transition-all text-sm text-purple cursor-pointer hover:border-purple" v-if="!totals.discount_text" @click="onAddDiscount()">
|
||||
<div v-if="show_discount_text" v-if="!totals.discount_text" @click="onAddDiscount()">
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans('invoices.add_discount') }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</div>
|
||||
|
||||
<span v-if="totals.discount_text" v-html="totals.discount_text"></span>
|
||||
|
@ -35,9 +35,9 @@
|
||||
override="class"
|
||||
class="py-1.5 mb-3 sm:mb-0 text-xs bg-transparent hover:bg-transparent font-medium leading-6"
|
||||
>
|
||||
<span class="border-b border-transparent transition-all hover:border-black">
|
||||
<x-link.hover>
|
||||
{{ trans('documents.accept_payment_online') }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</x-link>
|
||||
@endif
|
||||
</div>
|
||||
@ -62,16 +62,16 @@
|
||||
|
||||
@if (! empty($transaction->contact) && $transaction->contact->email)
|
||||
<x-button id="button-email-send" class="text-purple mt-1" override="class" @click="onEmail('{{ route($transactionEmailRoute, $transaction->id) }}')">
|
||||
<span class="border-b border-transparent transition-all hover:border-purple">
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans('general.title.send', ['type' => trans_choice('general.receipts', 1)]) }}
|
||||
</span>
|
||||
</x-link.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">
|
||||
<span class="border-b border-transparent transition-all hover:border-purple">
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans('general.title.send', ['type' => trans_choice('general.receipts', 1)]) }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</x-button>
|
||||
</x-tooltip>
|
||||
@endif
|
||||
@ -84,9 +84,9 @@
|
||||
class="text-purple mt-1"
|
||||
override="class"
|
||||
>
|
||||
<span class="border-b border-transparent transition-all hover:border-purple">
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans('general.title.edit', ['type' => trans_choice('general.payments', 1)]) }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</x-button>
|
||||
|
||||
<span> - </span>
|
||||
@ -105,7 +105,7 @@
|
||||
:message="$message"
|
||||
:label="trans('general.title.delete', ['type' => trans_choice('general.payments', 1)])"
|
||||
class="text-purple mt-1"
|
||||
text-class="border-b border-transparent transition-all hover:border-purple"
|
||||
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>
|
||||
|
@ -46,16 +46,16 @@
|
||||
|
||||
@if (! empty($transaction->contact) && $transaction->contact->email)
|
||||
<x-button id="button-email-send" class="text-purple mt-1" override="class" @click="onEmail('{{ route($transactionEmailRoute, $transaction->id) }}')">
|
||||
<span class="border-b border-transparent transition-all hover:border-purple">
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans('general.title.send', ['type' => trans_choice('general.receipts', 1)]) }}
|
||||
</span>
|
||||
</x-link.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">
|
||||
<span class="border-b border-transparent transition-all hover:border-purple">
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans('general.title.send', ['type' => trans_choice('general.receipts', 1)]) }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</x-button>
|
||||
</x-tooltip>
|
||||
@endif
|
||||
@ -68,9 +68,9 @@
|
||||
class="text-purple mt-1"
|
||||
override="class"
|
||||
>
|
||||
<span class="border-b border-transparent transition-all hover:border-purple">
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans('general.title.edit', ['type' => trans_choice('general.payments', 1)]) }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</x-button>
|
||||
|
||||
<span> - </span>
|
||||
@ -89,7 +89,7 @@
|
||||
:message="$message"
|
||||
:label="trans('general.title.delete', ['type' => trans_choice('general.payments', 1)])"
|
||||
class="text-purple mt-1"
|
||||
text-class="border-b border-transparent transition-all hover:border-purple"
|
||||
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>
|
||||
|
@ -56,8 +56,10 @@
|
||||
</div>
|
||||
|
||||
<div class="ltr:mr-4 rtl:ml-4" v-if="bulk_action.count">
|
||||
<button type="button" class="text-sm border-b border-transparent transition-all hover:border-black" @click="onClearBulkAction">
|
||||
<span>{{ trans('general.clear') }}</span>
|
||||
<button type="button" @click="onClearBulkAction">
|
||||
<x-link.hover>
|
||||
{{ trans('general.clear') }}
|
||||
</x-link.hover>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -113,9 +113,9 @@
|
||||
|
||||
<div class="flex ltr:ml-2 rtl:mr-2">
|
||||
<span class="w-28 text-left block text-base truncate">
|
||||
<span class="border-b border-transparent transition-all hover:border-black">
|
||||
<x-link.hover>
|
||||
{{ Str::limit(setting('company.name'), 22) }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</span>
|
||||
|
||||
@can('read-common-companies')
|
||||
@ -222,7 +222,7 @@
|
||||
<span class="material-icons text-lg text-purple transform ltr:rotate-90 rtl:-rotate-90">expand_circle_down</span>
|
||||
</button>
|
||||
|
||||
<span data-menu-close id="menu-cancel" class="material-icons absolute ltr:-right-2 rtl:right-12 top-8 text-lg text-purple cursor-pointer z-10 hidden">cancel</span>
|
||||
<span data-menu-close id="menu-cancel" class="material-icons absolute ltr:-right-2 rtl:right-12 transition-all top-8 text-lg text-purple cursor-pointer z-10 hidden">cancel</span>
|
||||
|
||||
<div class="fixed w-full h-full invisible lg:hidden js-menu-background" style="background-color: rgba(0, 0, 0, 0.5); z-index: -1;"></div>
|
||||
</div>
|
||||
|
@ -58,6 +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.add("ltr:-rotate-90", "rtl:rotate-90");
|
||||
}
|
||||
|
||||
@ -65,16 +66,19 @@
|
||||
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");
|
||||
}
|
||||
|
||||
function hiddenSidebar() {
|
||||
sideBar.classList.add("menu-list-hidden");
|
||||
|
||||
toggleButton.classList.add("ltr:left-12", "rtl:right-12");
|
||||
}
|
||||
|
||||
function unHiddenSidebar() {
|
||||
toggleButton.classList.remove("ltr:left-12", "rtl:right-12");
|
||||
|
||||
sideBar.classList.remove("menu-list-hidden");
|
||||
}
|
||||
|
||||
@ -147,14 +151,26 @@
|
||||
|
||||
menu.classList.remove("ltr:-left-80", "rtl:-right-80");
|
||||
menu.classList.add("ltr:left-14", "rtl:right-14");
|
||||
|
||||
mainContent.classList.add("hidden");
|
||||
toggleButton.classList.add("invisible");
|
||||
menuClose.classList.remove("hidden");
|
||||
|
||||
unHiddenSidebar();
|
||||
contentTransitionRight();
|
||||
|
||||
notificationCount("none");
|
||||
//for hidden menu, show close icon scenario
|
||||
if (sideBar.classList.contains("menu-list-hidden")) {
|
||||
menuClose.classList.add("ltr:-right-57", "rtl:right-59");
|
||||
menuClose.classList.remove("ltr:-right-2", "rtl:right-12");
|
||||
} else {
|
||||
menuClose.classList.add("ltr:-right-2", "rtl:right-12");
|
||||
}
|
||||
|
||||
sectionContent.classList.remove("xl:ltr:ml-0", "xl:rtl:mr-0");
|
||||
sectionContent.classList.add("xl:ltr:ml-64", "xl:rtl:mr-64");
|
||||
//for hidden menu, show close icon scenario
|
||||
|
||||
if (menuRef === "notifications-menu") {
|
||||
notificationCount("none");
|
||||
}
|
||||
|
||||
//remove active (cancel text) class form target icon
|
||||
} else if (menu.classList.contains(menuRef) && iconButton.children[0].textContent == "cancel") {
|
||||
@ -163,6 +179,7 @@
|
||||
|
||||
menu.classList.add("ltr:-left-80", "rtl:-right-80");
|
||||
menu.classList.remove("ltr:left-14", "rtl:right-14");
|
||||
|
||||
mainContent.classList.remove("hidden");
|
||||
toggleButton.classList.remove("invisible");
|
||||
menuClose.classList.add("hidden");
|
||||
@ -178,11 +195,21 @@
|
||||
menuClose.addEventListener("click", function() {
|
||||
menu.classList.add("ltr:-left-80", "rtl:-right-80");
|
||||
menu.classList.remove("ltr:left-14", "rtl:right-14");
|
||||
|
||||
iconButton.children[0].textContent = icon;
|
||||
iconButton.children[0].classList.remove("active");
|
||||
|
||||
mainContent.classList.remove("hidden");
|
||||
this.classList.add("hidden");
|
||||
|
||||
toggleButton.classList.remove("invisible");
|
||||
|
||||
//for hidden menu, show close icon scenario
|
||||
if (sideBar.classList.contains("menu-list-hidden")) {
|
||||
sectionContent.classList.add("xl:ltr:ml-0", "xl:rtl:mr-0");
|
||||
sectionContent.classList.remove("xl:ltr:ml-64", "xl:rtl:mr-64");
|
||||
}
|
||||
//for hidden menu, show close icon scenario
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -201,6 +228,7 @@
|
||||
|
||||
profile_icon_html.children[0].classList.remove("hidden");
|
||||
profile_icon_html.children[1].classList.add("hidden");
|
||||
|
||||
toggleButton.classList.add("invisible");
|
||||
}
|
||||
|
||||
@ -214,6 +242,7 @@
|
||||
|
||||
settings_icon_html.children[0].textContent = "cancel";
|
||||
settings_icon_html.children[0].classList.add("active");
|
||||
|
||||
toggleButton.classList.add("invisible");
|
||||
}
|
||||
}
|
||||
|
@ -14,9 +14,9 @@
|
||||
<div class="grid grid-cols-2 gap-2">
|
||||
@foreach ($categories as $slug => $category)
|
||||
<x-link href="{{ $categoryUrl($slug) }}" class="font-semibold text-sm ltr:pr-4 rtl:pl-4 lg:pr-0 truncate bg-transparent" override="class">
|
||||
<span class="border-b border-transparent transition-all hover:border-black">
|
||||
<x-link.hover>
|
||||
{{ $category }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</x-link>
|
||||
@endforeach
|
||||
</div>
|
||||
@ -80,27 +80,27 @@
|
||||
|
||||
<div class="flex flex-row items-end lg:items-center mb-1 divide-x divide-black-400">
|
||||
<x-link href="{{ route('apps.home.index') }}" class="text-sm font-semibold px-2 sm:mt-0 sm:mb-0 leading-4" override="class">
|
||||
<span class="border-b border-transparent transition-all hover:border-black-400">
|
||||
<x-link.hover color="to-black-400">
|
||||
{{ trans('modules.home') }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</x-link>
|
||||
|
||||
<x-link href="{{ route('apps.new') }}" class="text-sm font-semibold px-2 sm:mt-0 sm:mb-0 leading-4" override="class">
|
||||
<span class="border-b border-transparent transition-all hover:border-black-400">
|
||||
<x-link.hover color="to-black-400">
|
||||
{{ trans('modules.new') }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</x-link>
|
||||
|
||||
<x-link href="{{ route('apps.paid') }}" class="text-sm font-semibold px-2 sm:mt-0 sm:mb-0 leading-4" override="class">
|
||||
<span class="border-b border-transparent transition-all hover:border-black-400">
|
||||
<x-link.hover color="to-black-400">
|
||||
{{ trans('modules.top_paid') }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</x-link>
|
||||
|
||||
<x-link href="{{ route('apps.free') }}" class="text-sm font-semibold px-2 sm:mt-0 sm:mb-0 leading-4" override="class">
|
||||
<span class="border-b border-transparent transition-all hover:border-black-400">
|
||||
<x-link.hover color="to-black-400">
|
||||
{{ trans('modules.top_free') }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</x-link>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,34 +1,49 @@
|
||||
@props(['module', 'installed', 'enable'])
|
||||
|
||||
@if (! empty($module->plan))
|
||||
<a href="{{ $module->action_url }}" class="relative bg-green hover:bg-green-700 rounded-md text-white text-sm text-center w-full py-2 truncate" target="_blank">
|
||||
<x-link.loading>
|
||||
{{ trans('modules.get_premium_cloud') }}
|
||||
</x-link.loading>
|
||||
</a>
|
||||
<x-link
|
||||
href="{{ $module->action_url }}"
|
||||
target="_blank"
|
||||
class="bg-green hover:bg-green-700 rounded-md text-white text-sm text-center w-full py-2 truncate"
|
||||
override="class"
|
||||
>
|
||||
{{ trans('modules.get_premium_cloud') }}
|
||||
</x-link>
|
||||
@elseif (in_array('onprime', $module->where_to_use))
|
||||
@if ($installed)
|
||||
@can('delete-modules-item')
|
||||
<a href="{{ route('apps.app.uninstall', $module->slug) }}" class="relative bg-red text-white rounded-md text-sm text-center w-1/2 py-2 truncate">
|
||||
<x-link.loading>
|
||||
<x-link
|
||||
href="{{ route('apps.app.uninstall', $module->slug) }}"
|
||||
class="bg-red rounded-md text-white text-sm text-center w-1/2 py-2 truncate"
|
||||
override="class"
|
||||
>
|
||||
<x-link.loading>
|
||||
{{ trans('modules.button.uninstall') }}
|
||||
</x-link.loading>
|
||||
</a>
|
||||
</x-link>
|
||||
@endcan
|
||||
|
||||
@can('update-modules-item')
|
||||
@if ($enable)
|
||||
<a href="{{ route('apps.app.disable', $module->slug) }}" class="relative bg-orange rounded-md text-white w-1/2 text-center text-sm py-2 truncate">
|
||||
<x-link.loading>
|
||||
<x-link
|
||||
href="{{ route('apps.app.disable', $module->slug) }}"
|
||||
class="bg-orange rounded-md text-white text-sm text-center w-1/2 py-2 truncate"
|
||||
override="class"
|
||||
>
|
||||
<x-link.loading>
|
||||
{{ trans('modules.button.disable') }}
|
||||
</x-link.loading>
|
||||
</a>
|
||||
</x-link>
|
||||
@else
|
||||
<a href="{{ route('apps.app.enable', $module->slug) }}" class="relative bg-green rounded-md text-white text-sm text-center w-1/2 py-2 truncate">
|
||||
<x-link.loading>
|
||||
<x-link
|
||||
href="{{ route('apps.app.enable', $module->slug) }}"
|
||||
class="bg-green rounded-md text-white text-sm text-center w-1/2 py-2 truncate"
|
||||
override="class"
|
||||
>
|
||||
<x-link.loading>
|
||||
{{ trans('modules.button.enable') }}
|
||||
</x-link.loading>
|
||||
</a>
|
||||
</x-link>
|
||||
@endif
|
||||
@endcan
|
||||
@else
|
||||
@ -53,26 +68,35 @@
|
||||
</button>
|
||||
@endif
|
||||
@else
|
||||
<a href="{{ $module->action_url }}" class="relative bg-green hover:bg-green-700 rounded-md text-white text-sm text-center w-full py-2 truncate" target="_blank">
|
||||
<x-link.loading>
|
||||
{{ trans('modules.use_app') }}
|
||||
</x-link.loading>
|
||||
</a>
|
||||
<x-link
|
||||
href="{{ $module->action_url }}"
|
||||
target="_blank"
|
||||
class="bg-green hover:bg-green-700 rounded-md text-white text-sm text-center w-full py-2 truncate"
|
||||
override="class"
|
||||
>
|
||||
{{ trans('modules.use_app') }}
|
||||
</x-link>
|
||||
@endif
|
||||
@endcan
|
||||
@endif
|
||||
@else
|
||||
@if ($module->install)
|
||||
<a href="{{ $module->action_url }}" class="relative bg-green hover:bg-green-700 rounded-md text-white text-sm text-center w-full py-2 truncate" target="_blank">
|
||||
<x-link.loading>
|
||||
{{ trans('modules.install_cloud') }}
|
||||
</x-link.loading>
|
||||
</a>
|
||||
<x-link
|
||||
href="{{ $module->action_url }}"
|
||||
target="_blank"
|
||||
class="bg-green hover:bg-green-700 rounded-md text-white text-sm text-center w-full py-2 truncate"
|
||||
override="class"
|
||||
>
|
||||
{{ trans('modules.install_cloud') }}
|
||||
</x-link>
|
||||
@else
|
||||
<a href="{{ $module->action_url }}" class="relative bg-green hover:bg-green-700 rounded-md text-white text-sm text-center w-full py-2 truncate" target="_blank">
|
||||
<x-link.loading>
|
||||
{{ trans('modules.get_cloud') }}
|
||||
</x-link.loading>
|
||||
</a>
|
||||
<x-link
|
||||
href="{{ $module->action_url }}"
|
||||
target="_blank"
|
||||
class="bg-green hover:bg-green-700 rounded-md text-white text-sm text-center w-full py-2 truncate"
|
||||
override="class"
|
||||
>
|
||||
{{ trans('modules.get_cloud') }}
|
||||
</x-link>
|
||||
@endif
|
||||
@endif
|
||||
|
@ -84,9 +84,9 @@
|
||||
|
||||
<div class="flex ltr:ml-2 rtl:mr-2">
|
||||
<span class="w-28 text-left block text-base truncate">
|
||||
<span class="border-b border-transparent transition-all hover:border-black">
|
||||
<x-link.hover>
|
||||
{{ Str::limit(setting('company.name'), 22) }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</span>
|
||||
|
||||
@can('read-common-companies')
|
||||
@ -169,7 +169,7 @@
|
||||
<span class="material-icons text-lg text-purple transform ltr:rotate-90 rtl:-rotate-90">expand_circle_down</span>
|
||||
</button>
|
||||
|
||||
<span data-menu-close class="material-icons absolute ltr:-right-2 rtl:right-12 top-8 text-lg text-purple cursor-pointer z-10 hidden">cancel</span>
|
||||
<span data-menu-close class="material-icons absolute ltr:-right-2 rtl:right-12 transition-all top-8 text-lg text-purple cursor-pointer z-10 hidden">cancel</span>
|
||||
|
||||
<div class="fixed w-full h-full invisible lg:hidden js-menu-background" style="background-color: rgba(0, 0, 0, 0.5); z-index: -1;"></div>
|
||||
</div>
|
||||
|
@ -137,8 +137,18 @@
|
||||
mainContent.classList.add("hidden");
|
||||
toggleButton.classList.add("invisible");
|
||||
menuClose.classList.remove("hidden");
|
||||
unHiddenSidebar();
|
||||
contentTransitionRight();
|
||||
|
||||
//for hidden menu, show close icon scenario
|
||||
if (sideBar.classList.contains("menu-list-hidden")) {
|
||||
menuClose.classList.add("ltr:-right-57", "rtl:right-59");
|
||||
menuClose.classList.remove("ltr:-right-2", "rtl:right-12");
|
||||
} else {
|
||||
menuClose.classList.add("ltr:-right-2", "rtl:right-12");
|
||||
}
|
||||
|
||||
sectionContent.classList.remove("xl:ltr:ml-0", "xl:rtl:mr-0");
|
||||
sectionContent.classList.add("xl:ltr:ml-64", "xl:rtl:mr-64");
|
||||
//for hidden menu, show close icon scenario
|
||||
|
||||
//remove active (cancel text) class form target icon
|
||||
} else if (menu.classList.contains(menuRef) && iconButton.children[0].textContent == "cancel") {
|
||||
@ -164,6 +174,13 @@
|
||||
mainContent.classList.remove("hidden");
|
||||
this.classList.add("hidden");
|
||||
toggleButton.classList.remove("invisible");
|
||||
|
||||
//for hidden menu, show close icon scenario
|
||||
if (sideBar.classList.contains("menu-list-hidden")) {
|
||||
sectionContent.classList.add("xl:ltr:ml-0", "xl:rtl:mr-0");
|
||||
sectionContent.classList.remove("xl:ltr:ml-64", "xl:rtl:mr-64");
|
||||
}
|
||||
//for hidden menu, show close icon scenario
|
||||
});
|
||||
});
|
||||
}
|
||||
|
10
resources/views/components/link/hover.blade.php
Normal file
10
resources/views/components/link/hover.blade.php
Normal file
@ -0,0 +1,10 @@
|
||||
<span
|
||||
@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'
|
||||
])
|
||||
>
|
||||
{!! $slot !!}
|
||||
</span>
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
<a class="{{ $class }}" {{ $attributes }}>
|
||||
{{ $slot }}
|
||||
</a>
|
@ -8,4 +8,4 @@
|
||||
<span data-link-text class="opacity-1">
|
||||
{!! $slot !!}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -11,9 +11,9 @@
|
||||
@if ($attributes->has('route'))
|
||||
<div class="flex justify-center items-center group">
|
||||
<a href="{{ route($attributes->get('route')) }}">
|
||||
<span class="border-b border-transparent transition-all group-hover:border-black">
|
||||
<x-link.hover group-hover>
|
||||
{{ trans('modules.see_all_type', ['type' => $attributes->get('title')]) }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</a>
|
||||
|
||||
<i class="material-icons text-sm ltr:ml-1 rtl:mr-1 transform transition-all group-hover:translate-x-1">arrow_forward</i>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<div>
|
||||
<h2 class="lg:text-lg font-medium text-black">
|
||||
<span class="border-b border-transparent transition-all group-hover:border-black">
|
||||
<x-link.hover group-hover>
|
||||
{{ $title }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</h2>
|
||||
|
||||
@if (! empty($description))
|
||||
|
@ -22,8 +22,10 @@
|
||||
@if (! empty($button) && $button->isNotEmpty())
|
||||
{!! $button !!}
|
||||
@else
|
||||
<a href="{!! $url !!}" class="border-b border-transparent transition-all hover:border-white">
|
||||
{{ $textAction }}
|
||||
<a href="{!! $url !!}">
|
||||
<x-link.hover color="to-white">
|
||||
{{ $textAction }}
|
||||
</x-link.hover>
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
@ -14,8 +14,10 @@
|
||||
{!! $item->description !!}
|
||||
</p>
|
||||
|
||||
<a href="{{ $item->action }}" class="font-light text-sm border-b border-transparent transition-all hover:border-black" target="_blank">
|
||||
{{ $item->learn_more }}
|
||||
<a href="{{ $item->action }}" class="font-light text-sm" target="_blank">
|
||||
<x-link.hover>
|
||||
{{ $item->learn_more }}
|
||||
</x-link.hover>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
@ -14,8 +14,10 @@
|
||||
{!! $item->description !!}
|
||||
</p>
|
||||
|
||||
<a href="{{ $item->action }}" class="font-light text-sm border-b border-transparent transition-all hover:border-black">
|
||||
{{ $item->learn_more }}
|
||||
<a href="{{ $item->action }}" class="font-light text-sm">
|
||||
<x-link.hover>
|
||||
{{ $item->learn_more }}
|
||||
</x-link.hover>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
@ -5,8 +5,10 @@
|
||||
<div class="relative w-full text-left cursor-pointer group"
|
||||
x-on:click="attachment !== 1 ? attachment = 1 : attachment = null"
|
||||
>
|
||||
<span class="font-medium border-b border-transparent transition-all group-hover:border-black">
|
||||
{{ trans_choice('general.attachments', 2) }}
|
||||
<span class="font-medium">
|
||||
<x-link.hover group-hover>
|
||||
{{ trans_choice('general.attachments', 2) }}
|
||||
</x-link.hover>
|
||||
</span>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
@stack('edit_button_start')
|
||||
|
||||
@if (! $transaction->hasTransferRelation)
|
||||
@if (! $transaction->reconciled && ! $transaction->hasTransferRelation)
|
||||
@if (! $hideButtonEdit)
|
||||
@can($permissionUpdate)
|
||||
<x-link href="{{ route($routeButtonEdit, [$transaction->id, 'type' => $type]) }}">
|
||||
|
@ -2,8 +2,10 @@
|
||||
<button class="relative w-full text-left cursor-pointer group"
|
||||
x-on:click="children !== 1 ? children = 1 : children = null"
|
||||
>
|
||||
<span class="font-medium border-b border-transparent transition-all group-hover:border-black">
|
||||
{{ trans_choice('general.transactions', 2) }}
|
||||
<span class="font-medium">
|
||||
<x-link.hover group-hover>
|
||||
{{ trans_choice('general.transactions', 2) }}
|
||||
</x-link.hover>
|
||||
</span>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
|
@ -4,8 +4,10 @@
|
||||
<button class="relative w-full text-left group"
|
||||
x-on:click="create !== 1 ? create = 1 : create = null"
|
||||
>
|
||||
<span class="font-medium border-b border-transparent transition-all group-hover:border-black">
|
||||
{{ trans('general.create') }}
|
||||
<span class="font-medium">
|
||||
<x-link.hover>
|
||||
{{ trans('general.create') }}
|
||||
</x-link.hover>
|
||||
</span>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
@stack('duplicate_button_start')
|
||||
|
||||
@if (! $transaction->hasTransferRelation)
|
||||
@if (empty($transaction->document_id) && ! $transaction->hasTransferRelation)
|
||||
@if (! $hideButtonDuplicate)
|
||||
@can($permissionCreate)
|
||||
<x-dropdown.link href="{{ route($routeButtonDuplicate, [$transaction->id, 'type' => $type]) }}">
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
@stack('connect_button_start')
|
||||
|
||||
@if ($transaction->is_splittable && empty($transaction->document_id) && empty($transaction->recurring))
|
||||
@if ($transaction->is_splittable && empty($transaction->document_id) && empty($transaction->recurring) && ! $transaction->hasTransferRelation)
|
||||
@if (! $hideButtonConnect)
|
||||
@can($permissionCreate)
|
||||
<button
|
||||
@ -38,7 +38,7 @@
|
||||
|
||||
@stack('connect_button_end')
|
||||
|
||||
@if (! $hideDivider1)
|
||||
@if (! $hideDivider1 && ! $transaction->hasTransferRelation)
|
||||
<x-dropdown.divider />
|
||||
@endif
|
||||
|
||||
@ -62,7 +62,7 @@
|
||||
|
||||
@stack('button_pdf_end')
|
||||
|
||||
@if (! $hideDivider2)
|
||||
@if (! $hideDivider2 && ! $transaction->hasTransferRelation)
|
||||
<x-dropdown.divider />
|
||||
@endif
|
||||
|
||||
@ -98,7 +98,7 @@
|
||||
|
||||
@stack('email_button_end')
|
||||
|
||||
@if (! $hideDivider3)
|
||||
@if (! $hideDivider3 && ! $transaction->hasTransferRelation)
|
||||
<x-dropdown.divider />
|
||||
@endif
|
||||
|
||||
@ -112,7 +112,7 @@
|
||||
|
||||
@stack('button_end_end')
|
||||
|
||||
@if (! $hideDivider4)
|
||||
@if (! $hideDivider4 && ! $transaction->hasTransferRelation)
|
||||
<x-dropdown.divider />
|
||||
@endif
|
||||
|
||||
|
@ -7,8 +7,10 @@
|
||||
<button class="relative w-full text-left cursor-pointer group"
|
||||
x-on:click="schedule !== 1 ? schedule = 1 : schedule = null"
|
||||
>
|
||||
<span class="font-medium border-b border-transparent transition-all group-hover:border-black">
|
||||
{{ trans_choice('general.schedules', 1) }}
|
||||
<span class="font-medium">
|
||||
<x-link.hover group-hover>
|
||||
{{ trans_choice('general.schedules', 1) }}
|
||||
</x-link.hover>
|
||||
</span>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
|
@ -1,8 +1,10 @@
|
||||
@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 border-b border-transparent transition-all group-hover:border-black">
|
||||
{{ trans_choice('general.attachments', 2) }}
|
||||
<span class="font-medium">
|
||||
<x-link.hover group-hover>
|
||||
{{ trans_choice('general.attachments', 2) }}
|
||||
</x-link.hover>
|
||||
</span>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
|
@ -2,8 +2,10 @@
|
||||
|
||||
<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 border-b border-transparent transition-all group-hover:border-black">
|
||||
{{ trans('general.create') }}
|
||||
<span class="font-medium">
|
||||
<x-link.hover group-hover>
|
||||
{{ trans('general.create') }}
|
||||
</x-link.hover>
|
||||
</span>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
|
@ -7,7 +7,11 @@
|
||||
|
||||
<div class="flex items-center">
|
||||
@if ($report = $class->getReportUrl())
|
||||
<a href="{{ $report }}" class="text-purple text-sm mr-3 border-b border-transparent transition-all hover:border-purple hover:text-purple-700">{{ trans('widgets.view_report') }}</a>
|
||||
<a href="{{ $report }}" class="text-purple text-sm mr-3">
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans('widgets.view_report') }}
|
||||
</x-link.hover>
|
||||
</a>
|
||||
@endif
|
||||
|
||||
<x-dropdown id="dropdown-widget-{{ $class->model->id }}">
|
||||
|
@ -7,10 +7,11 @@
|
||||
])
|
||||
>
|
||||
<span class="material-icons-outlined text-4xl transition-all text-black-400">{{ $icons[$report->id] }}</span>
|
||||
|
||||
<div class="h-10 font-medium text-sm mt-2">
|
||||
<span class="border-b border-transparent transition-all group-hover:border-black">
|
||||
<x-link.hover group-hover>
|
||||
{{ $report->name }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</div>
|
||||
</a>
|
||||
@endforeach
|
||||
|
@ -106,7 +106,7 @@
|
||||
@foreach ($invoice->transactions as $transaction)
|
||||
<div class="my-2">
|
||||
<span>
|
||||
<x-link href="{{ route('preview.payments.show', $transaction->id) }}" class="text-black border-b border-transparent transition-all hover:border-black" override="class">
|
||||
<x-link href="{{ route('preview.payments.show', $transaction->id) }}" class="text-black bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-black transition-backgroundSize" override="class">
|
||||
<x-date :date="$transaction->paid_at" />
|
||||
</x-link>
|
||||
- {!! trans('documents.transaction', [
|
||||
|
@ -102,7 +102,7 @@
|
||||
@foreach ($invoice->transactions as $transaction)
|
||||
<div class="my-2">
|
||||
<span>
|
||||
<x-link href="{{ route('portal.payments.show', $transaction->id) }}" class="text-black border-b border-transparent transition-all hover:border-black" override="class">
|
||||
<x-link href="{{ route('portal.payments.show', $transaction->id) }}" class="text-black bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-black transition-backgroundSize" override="class">
|
||||
<x-date :date="$transaction->paid_at" />
|
||||
</x-link>
|
||||
- {!! trans('documents.transaction', [
|
||||
|
@ -105,7 +105,7 @@
|
||||
@foreach ($invoice->transactions as $transaction)
|
||||
<div class="my-2">
|
||||
<span>
|
||||
<x-link href="{{ \URL::signedRoute('portal.payments.show', [$transaction->id]) }}" class="text-black border-b border-transparent transition-all hover:border-black" override="class">
|
||||
<x-link href="{{ \URL::signedRoute('portal.payments.show', [$transaction->id]) }}" class="text-black bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-black transition-backgroundSize" override="class">
|
||||
<x-date :date="$transaction->paid_at" />
|
||||
</x-link>
|
||||
- {!! trans('documents.transaction', [
|
||||
|
@ -24,9 +24,9 @@
|
||||
<div class="w-full lg:w-5/12 space-y-8">
|
||||
<div class="border-b-2 border-gray-200 pb-1">
|
||||
<div class="relative w-full text-left group">
|
||||
<span class="font-medium border-b border-transparent transition-all group-hover:border-black">
|
||||
<x-link.hover group-hover>
|
||||
{{ trans('portal.received_date') }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</div>
|
||||
|
||||
<div class="relative overflow-hidden transition-all duration-700">
|
||||
|
@ -22,9 +22,9 @@
|
||||
<div class="w-full lg:w-5/12 space-y-8">
|
||||
<div class="border-b-2 border-gray-200 pb-1">
|
||||
<div class="relative w-full text-left group">
|
||||
<span class="font-medium border-b border-transparent transition-all group-hover:border-black">
|
||||
<x-link.hover group-hover>
|
||||
{{ trans('portal.received_date') }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</div>
|
||||
|
||||
<div class="relative overflow-hidden transition-all duration-700">
|
||||
|
@ -32,9 +32,9 @@
|
||||
<div class="w-full lg:w-5/12 space-y-8">
|
||||
<div class="border-b-2 border-gray-200 pb-1">
|
||||
<div class="relative w-full text-left group">
|
||||
<span class="font-medium border-b border-transparent transition-all group-hover:border-black">
|
||||
<x-link.hover group-hover>
|
||||
{{ trans('portal.received_date') }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
</div>
|
||||
|
||||
<div class="relative overflow-hidden transition-all duration-700">
|
||||
|
@ -14,8 +14,10 @@
|
||||
<div class="flex flex-col">
|
||||
<div class="mb-3">
|
||||
@foreach ($template as $item)
|
||||
<button class="text-xs truncate text-left border-b border-transparent transition-all hover:border-purple hover:text-purple" @click="onEditEmailTemplate({{ $item->id }}, $event)" >
|
||||
{{ trans($item->name) }}
|
||||
<button class="text-xs truncate text-left" @click="onEditEmailTemplate({{ $item->id }}, $event)" >
|
||||
<x-link.hover color="to-purple">
|
||||
{{ trans($item->name) }}
|
||||
</x-link.hover>
|
||||
</button>
|
||||
@endforeach
|
||||
</div>
|
||||
|
@ -28,9 +28,9 @@
|
||||
</span>
|
||||
|
||||
<button id="dashboard-widget-{{ strtolower(class_basename($class)) }}-overdue" type="button" class="flex items-center text-black-400 font-medium group" data-dropdown-toggle="widgets-list-{{ $class->model->id }}">
|
||||
<span class="border-b border-transparent transition-all group-hover:border-black-400">
|
||||
<x-link.hover color="to-black-400" group-hover>
|
||||
{{ $totals['overdue'] }}
|
||||
</span>
|
||||
</x-link.hover>
|
||||
|
||||
<div class="relative flex">
|
||||
<span class="material-icons-round cursor-pointer">arrow_drop_down</span>
|
||||
|
Loading…
x
Reference in New Issue
Block a user