Compare commits

...

5 Commits

Author SHA1 Message Date
973179a351 fix dropdown issues 2023-03-28 11:24:22 +05:30
1749e34396 indentation issue fix company switch 2023-03-22 16:49:42 +05:30
953abe6ec6 add dark mode in company switch 2023-03-22 16:21:04 +05:30
3ea10de182 dark mod add in global search, header 2023-03-22 16:18:42 +05:30
1f5bb49333 add dark mode in basedropdown 2023-03-22 16:16:42 +05:30
21 changed files with 225 additions and 162 deletions

View File

@ -7,11 +7,12 @@
<!-- edit customField -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.EDIT_CUSTOM_FIELDS)"
v-slot="slotProps"
@click="editCustomField(row.id)"
>
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
@ -19,11 +20,12 @@
<!-- delete customField -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.DELETE_CUSTOM_FIELDS)"
v-slot="slotProps"
@click="removeCustomField(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -12,10 +12,10 @@
v-if="userStore.hasAbilities(abilities.EDIT_CUSTOMER)"
:to="`/admin/customers/${row.id}/edit`"
>
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
@ -29,10 +29,10 @@
"
:to="`customers/${row.id}/view`"
>
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="EyeIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.view') }}
</BaseDropdownItem>
@ -41,11 +41,12 @@
<!-- Delete Customer -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.DELETE_CUSTOMER)"
v-slot="slotProps"
@click="removeCustomer(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -10,11 +10,12 @@
<!-- Copy PDF url -->
<BaseDropdownItem
v-if="route.name === 'estimates.view'"
v-slot="slotProps"
@click="copyPdfUrl"
>
<BaseIcon
name="LinkIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.copy_pdf_url') }}
</BaseDropdownItem>
@ -24,10 +25,10 @@
v-if="userStore.hasAbilities(abilities.EDIT_ESTIMATE)"
:to="`/admin/estimates/${row.id}/edit`"
>
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
@ -36,11 +37,12 @@
<!-- Delete Estimate -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.DELETE_ESTIMATE)"
v-slot="slotProps"
@click="removeEstimate(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>
@ -53,10 +55,10 @@
"
:to="`estimates/${row.id}/view`"
>
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="EyeIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.view') }}
</BaseDropdownItem>
@ -65,11 +67,12 @@
<!-- Convert into Invoice -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.CREATE_INVOICE)"
v-slot="slotProps"
@click="convertInToinvoice(row.id)"
>
<BaseIcon
name="DocumentTextIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('estimates.convert_to_invoice') }}
</BaseDropdownItem>
@ -81,11 +84,12 @@
route.name !== 'estimates.view' &&
userStore.hasAbilities(abilities.SEND_ESTIMATE)
"
v-slot="slotProps"
@click="onMarkAsSent(row.id)"
>
<BaseIcon
name="CheckCircleIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('estimates.mark_as_sent') }}
</BaseDropdownItem>
@ -97,20 +101,21 @@
route.name !== 'estimates.view' &&
userStore.hasAbilities(abilities.SEND_ESTIMATE)
"
v-slot="slotProps"
@click="sendEstimate(row)"
>
<BaseIcon
name="PaperAirplaneIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('estimates.send_estimate') }}
</BaseDropdownItem>
<!-- Resend Estimate -->
<BaseDropdownItem v-if="canResendEstimate(row)" @click="sendEstimate(row)">
<BaseDropdownItem v-if="canResendEstimate(row)" v-slot="slotProps" @click="sendEstimate(row)">
<BaseIcon
name="PaperAirplaneIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('estimates.resend_estimate') }}
</BaseDropdownItem>
@ -121,11 +126,12 @@
row.status !== 'ACCEPTED' &&
userStore.hasAbilities(abilities.EDIT_ESTIMATE)
"
v-slot="slotProps"
@click="onMarkAsAccepted(row.id)"
>
<BaseIcon
name="CheckCircleIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('estimates.mark_as_accepted') }}
</BaseDropdownItem>
@ -136,11 +142,12 @@
row.status !== 'REJECTED' &&
userStore.hasAbilities(abilities.EDIT_ESTIMATE)
"
v-slot="slotProps"
@click="onMarkAsRejected(row.id)"
>
<BaseIcon
name="XCircleIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('estimates.mark_as_rejected') }}
</BaseDropdownItem>

View File

@ -13,11 +13,12 @@
<!-- edit expenseCategory -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.EDIT_EXPENSE)"
v-slot="slotProps"
@click="editExpenseCategory(row.id)"
>
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
@ -25,11 +26,12 @@
<!-- delete expenseCategory -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.DELETE_EXPENSE)"
v-slot="slotProps"
@click="removeExpenseCategory(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -12,10 +12,10 @@
v-if="userStore.hasAbilities(abilities.EDIT_EXPENSE)"
:to="`/admin/expenses/${row.id}/edit`"
>
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
@ -24,11 +24,12 @@
<!-- delete expense -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.DELETE_EXPENSE)"
v-slot="slotProps"
@click="removeExpense(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -12,20 +12,20 @@
v-if="userStore.hasAbilities(abilities.EDIT_INVOICE)"
:to="`/admin/invoices/${row.id}/edit`"
>
<BaseDropdownItem v-show="row.allow_edit">
<BaseDropdownItem v-show="row.allow_edit" v-slot="slotProps">
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
</router-link>
<!-- Copy PDF url -->
<BaseDropdownItem v-if="route.name === 'invoices.view'" @click="copyPdfUrl">
<BaseDropdownItem v-if="route.name === 'invoices.view'" v-slot="slotProps" @click="copyPdfUrl">
<BaseIcon
name="LinkIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.copy_pdf_url') }}
</BaseDropdownItem>
@ -38,29 +38,29 @@
"
:to="`/admin/invoices/${row.id}/view`"
>
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="EyeIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.view') }}
</BaseDropdownItem>
</router-link>
<!-- Send Invoice Mail -->
<BaseDropdownItem v-if="canSendInvoice(row)" @click="sendInvoice(row)">
<BaseDropdownItem v-if="canSendInvoice(row)" v-slot="slotProps" @click="sendInvoice(row)">
<BaseIcon
name="PaperAirplaneIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('invoices.send_invoice') }}
</BaseDropdownItem>
<!-- Resend Invoice -->
<BaseDropdownItem v-if="canReSendInvoice(row)" @click="sendInvoice(row)">
<BaseDropdownItem v-if="canReSendInvoice(row)" v-slot="slotProps" @click="sendInvoice(row)">
<BaseIcon
name="PaperAirplaneIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('invoices.resend_invoice') }}
</BaseDropdownItem>
@ -69,20 +69,21 @@
<router-link :to="`/admin/payments/${row.id}/create`">
<BaseDropdownItem
v-if="row.status == 'SENT' && route.name !== 'invoices.view'"
v-slot="slotProps"
>
<BaseIcon
name="CreditCardIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('invoices.record_payment') }}
</BaseDropdownItem>
</router-link>
<!-- Mark as sent Invoice -->
<BaseDropdownItem v-if="canSendInvoice(row)" @click="onMarkAsSent(row.id)">
<BaseDropdownItem v-if="canSendInvoice(row)" v-slot="slotProps" @click="onMarkAsSent(row.id)">
<BaseIcon
name="CheckCircleIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('invoices.mark_as_sent') }}
</BaseDropdownItem>
@ -90,11 +91,12 @@
<!-- Clone Invoice into new invoice -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.CREATE_INVOICE)"
v-slot="slotProps"
@click="cloneInvoiceData(row)"
>
<BaseIcon
name="DocumentTextIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('invoices.clone_invoice') }}
</BaseDropdownItem>
@ -102,11 +104,12 @@
<!-- Delete Invoice -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.DELETE_INVOICE)"
v-slot="slotProps"
@click="removeInvoice(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -12,11 +12,8 @@
v-if="userStore.hasAbilities(abilities.EDIT_ITEM)"
:to="`/admin/items/${row.id}/edit`"
>
<BaseDropdownItem>
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
/>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon name="PencilIcon" :class="slotProps.class" />
{{ $t('general.edit') }}
</BaseDropdownItem>
</router-link>
@ -24,12 +21,10 @@
<!-- delete item -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.DELETE_ITEM)"
v-slot="slotProps"
@click="removeItem(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
/>
<BaseIcon name="TrashIcon" :class="slotProps.class" />
{{ $t('general.delete') }}
</BaseDropdownItem>
</BaseDropdown>

View File

@ -10,11 +10,12 @@
<!-- edit note -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.MANAGE_NOTE)"
v-slot="slotProps"
@click="editNote(row.id)"
>
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
@ -22,11 +23,12 @@
<!-- delete note -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.MANAGE_NOTE)"
v-slot="slotProps"
@click="removeNote(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -8,30 +8,31 @@
</template>
<!-- Copy pdf url -->
<BaseDropdown-item
<BaseDropdownItem
v-if="
route.name === 'payments.view' &&
userStore.hasAbilities(abilities.VIEW_PAYMENT)
"
v-slot="slotProps"
class="rounded-md"
@click="copyPdfUrl"
>
<BaseIcon
name="LinkIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.copy_pdf_url') }}
</BaseDropdown-item>
</BaseDropdownItem>
<!-- edit payment -->
<router-link
v-if="userStore.hasAbilities(abilities.EDIT_PAYMENT)"
:to="`/admin/payments/${row.id}/edit`"
>
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
@ -45,10 +46,10 @@
"
:to="`/admin/payments/${row.id}/view`"
>
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="EyeIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.view') }}
</BaseDropdownItem>
@ -61,11 +62,12 @@
route.name !== 'payments.view' &&
userStore.hasAbilities(abilities.SEND_PAYMENT)
"
v-slot="slotProps"
@click="sendPayment(row)"
>
<BaseIcon
name="PaperAirplaneIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('payments.send_payment') }}
</BaseDropdownItem>
@ -73,11 +75,12 @@
<!-- delete payment -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.DELETE_PAYMENT)"
v-slot="slotProps"
@click="removePayment(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -8,19 +8,19 @@
</template>
<!-- edit paymentMode -->
<BaseDropdownItem @click="editPaymentMode(row.id)">
<BaseDropdownItem v-slot="slotProps" @click="editPaymentMode(row.id)">
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
<!-- delete paymentMode -->
<BaseDropdownItem @click="removePaymentMode(row.id)">
<BaseDropdownItem v-slot="slotProps" @click="removePaymentMode(row.id)">
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -15,10 +15,10 @@
v-if="userStore.hasAbilities(abilities.EDIT_RECURRING_INVOICE)"
:to="`/admin/recurring-invoices/${row.id}/edit`"
>
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
@ -32,10 +32,10 @@
"
:to="`recurring-invoices/${row.id}/view`"
>
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="EyeIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.view') }}
</BaseDropdownItem>
@ -44,11 +44,12 @@
<!-- Delete Recurring Invoice -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.DELETE_RECURRING_INVOICE)"
v-slot="slotProps"
@click="removeMultipleRecurringInvoices(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -10,11 +10,12 @@
<!-- edit role -->
<BaseDropdownItem
v-if="userStore.currentUser.is_owner"
v-slot="slotProps"
@click="editRole(row.id)"
>
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
@ -22,11 +23,12 @@
<!-- delete role -->
<BaseDropdownItem
v-if="userStore.currentUser.is_owner"
v-slot="slotProps"
@click="removeRole(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -10,11 +10,12 @@
<!-- edit tax-type -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.EDIT_TAX_TYPE)"
v-slot="slotProps"
@click="editTaxType(row.id)"
>
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
@ -22,11 +23,12 @@
<!-- delete tax-type -->
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.DELETE_TAX_TYPE)"
v-slot="slotProps"
@click="removeTaxType(row.id)"
>
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -9,20 +9,20 @@
<!-- edit user -->
<router-link :to="`/admin/users/${row.id}/edit`">
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="PencilIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.edit') }}
</BaseDropdownItem>
</router-link>
<!-- delete user -->
<BaseDropdownItem @click="removeUser(row.id)">
<BaseDropdownItem v-slot="slotProps" @click="removeUser(row.id)">
<BaseIcon
name="TrashIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
/>
{{ $t('general.delete') }}
</BaseDropdownItem>

View File

@ -24,6 +24,8 @@
dark:border-white/10
"
>
<BaseDarkHighlight />
<router-link
to="/admin/dashboard"
class="
@ -72,7 +74,7 @@
v-if="hasCreateAbilities"
class="relative hidden float-left m-0 md:block"
>
<BaseDropdown width-class="w-48">
<BaseDropdown width-class="w-48" >
<template #activator>
<div
class="
@ -86,19 +88,21 @@
bg-white
rounded
md:h-9 md:w-9
dark:bg-gray-700 dark:border-gray-500 dark:border
"
>
<BaseIcon name="PlusIcon" class="w-5 h-5 text-gray-600" />
<BaseIcon name="PlusIcon" class="w-5 h-5 text-gray-600 dark:text-white" />
</div>
</template>
<router-link to="/admin/invoices/create">
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.CREATE_INVOICE)"
v-slot="slotProps"
>
<BaseIcon
name="DocumentTextIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
aria-hidden="true"
/>
{{ $t('invoices.new_invoice') }}
@ -107,10 +111,11 @@
<router-link to="/admin/estimates/create">
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.CREATE_ESTIMATE)"
v-slot="slotProps"
>
<BaseIcon
name="DocumentIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
aria-hidden="true"
/>
{{ $t('estimates.new_estimate') }}
@ -120,10 +125,11 @@
<router-link to="/admin/customers/create">
<BaseDropdownItem
v-if="userStore.hasAbilities(abilities.CREATE_CUSTOMER)"
v-slot="slotProps"
>
<BaseIcon
name="UserIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
aria-hidden="true"
/>
{{ $t('customers.new_customer') }}
@ -156,20 +162,20 @@
</template>
<router-link to="/admin/settings/account-settings">
<BaseDropdownItem>
<BaseDropdownItem v-slot="slotProps">
<BaseIcon
name="CogIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
aria-hidden="true"
/>
{{ $t('navigation.settings') }}
</BaseDropdownItem>
</router-link>
<BaseDropdownItem @click="logout">
<BaseDropdownItem v-slot="slotProps" @click="logout">
<BaseIcon
name="LogoutIcon"
class="w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"
:class="slotProps.class"
aria-hidden="true"
/>
{{ $t('navigation.logout') }}

View File

@ -51,14 +51,14 @@
</div>
</template>
<BaseDropdownItem @click="onDownloadBckup(row.data)">
<BaseIcon name="CloudDownloadIcon" class="mr-3 text-gray-600" />
<BaseDropdownItem v-slot="slotProps" @click="onDownloadBckup(row.data)">
<BaseIcon name="CloudDownloadIcon" :class="slotProps.class" />
{{ $t('general.download') }}
</BaseDropdownItem>
<BaseDropdownItem @click="onRemoveBackup(row.data)">
<BaseIcon name="TrashIcon" class="mr-3 text-gray-600" />
<BaseDropdownItem v-slot="slotProps" @click="onRemoveBackup(row.data)">
<BaseIcon name="TrashIcon" :class="slotProps.class" />
{{ $t('general.delete') }}
</BaseDropdownItem>
</BaseDropdown>

View File

@ -45,27 +45,30 @@
<BaseDropdownItem
v-if="!row.data.set_as_default"
v-slot="slotProps"
@click="setDefaultDiskData(row.data.id)"
>
<BaseIcon class="mr-3 tetx-gray-600" name="CheckCircleIcon" />
<BaseIcon :class="slotProps.class" name="CheckCircleIcon" />
{{ $t('settings.disk.set_default_disk') }}
</BaseDropdownItem>
<BaseDropdownItem
v-if="row.data.type !== 'SYSTEM'"
v-slot="slotProps"
@click="openEditDiskModal(row.data)"
>
<BaseIcon name="PencilIcon" class="mr-3 text-gray-600" />
<BaseIcon name="PencilIcon" :class="slotProps.class" />
{{ $t('general.edit') }}
</BaseDropdownItem>
<BaseDropdownItem
v-if="row.data.type !== 'SYSTEM' && !row.data.set_as_default"
v-slot="slotProps"
@click="removeDisk(row.data.id)"
>
<BaseIcon name="TrashIcon" class="mr-3 text-gray-600" />
<BaseIcon name="TrashIcon" :class="slotProps.class" />
{{ $t('general.delete') }}
</BaseDropdownItem>
</BaseDropdown>

View File

@ -1,21 +1,23 @@
<template>
<div ref="companySwitchBar" class="relative rounded">
<div ref="companySwitchBar" class="relative rounded dark:text-white">
<CompanyModal />
<div
class="
flex
items-center
justify-center
px-3
h-8
md:h-9
ml-2
text-sm text-white
bg-white
rounded
cursor-pointer
bg-opacity-20
flex
items-center
justify-center
px-3
h-8
md:h-9
ml-2
text-sm
text-white
bg-white
rounded
cursor-pointer
bg-opacity-20
dark:bg-gray-700
"
@click="isShow = !isShow"
>
@ -38,28 +40,42 @@
>
<div
v-if="isShow"
class="absolute right-0 mt-2 bg-white rounded-md shadow-lg"
class="
absolute
right-0
mt-2
bg-white
rounded-md
shadow-lg
dark:border
dark:border-white/10
dark:text-white
dark:bg-gray-800/[.95]
dark:shadow-glass
dark:backdrop-blur-xl
"
>
<BaseDarkHighlight class="z-[-1] top-0 left-0" />
<div
class="
overflow-y-auto
scrollbar-thin scrollbar-thumb-rounded-full
w-[250px]
max-h-[350px]
scrollbar-thumb-gray-300 scrollbar-track-gray-10
pb-4
overflow-y-auto
scrollbar-thin
scrollbar-thumb-rounded-full
w-[250px] max-h-[350px]
scrollbar-thumb-gray-300
scrollbar-track-gray-10
pb-4
"
>
<label
class="
px-3
py-2
text-xs
font-semibold
text-gray-400
mb-0.5
block
uppercase
px-3
py-2
text-xs
font-semibold
text-gray-400
mb-0.5
block uppercase
"
>
{{ $t('company_switcher.label') }}
@ -68,13 +84,13 @@
<div
v-if="companyStore.companies.length < 1"
class="
flex flex-col
items-center
justify-center
p-2
px-3
mt-4
text-base text-gray-400
flex flex-col
items-center
justify-center
p-2
px-3
mt-4
text-base text-gray-400
"
>
<BaseIcon name="ExclamationCircleIcon" class="h-5 text-gray-400" />
@ -86,14 +102,17 @@
v-for="(company, index) in companyStore.companies"
:key="index"
class="
p-2
px-3
rounded-md
cursor-pointer
hover:bg-gray-100 hover:text-primary-500
p-2
px-3
rounded-md
cursor-pointer
hover:bg-gray-100 hover:text-primary-500
dark:hover:bg-gray-700
text-gray-900
dark:text-white
"
:class="{
'bg-gray-100 text-primary-500':
'bg-gray-100 text-primary-500 dark:bg-gray-700':
companyStore.selectedCompany.id === company.id,
}"
@click="changeCompany(company)"
@ -101,18 +120,19 @@
<div class="flex items-center">
<span
class="
flex
items-center
justify-center
mr-3
overflow-hidden
text-base
font-semibold
bg-gray-200
rounded-md
w-9
h-9
text-primary-500
flex
items-center
justify-center
mr-3
overflow-hidden
text-sm
font-semibold
bg-gray-200
rounded-md
w-9
h-9
text-primary-500
dark:bg-gray-900
"
>
<span v-if="!company.logo">
@ -136,15 +156,17 @@
<div
v-if="userStore.currentUser.is_owner"
class="
flex
items-center
justify-center
p-4
pl-3
border-t-2 border-gray-100
cursor-pointer
text-primary-400
hover:text-primary-500
flex
items-center
justify-center
p-4
pl-3
border-t-2
border-gray-100
cursor-pointer
text-primary-400
hover:text-primary-500
dark:border-gray-600
"
@click="addNewCompany"
>

View File

@ -1,5 +1,5 @@
<template>
<div ref="searchBar" class="hidden rounded md:block relative">
<div ref="searchBar" class="hidden rounded md:block relative dark:text-white">
<div>
<BaseInput
v-model="name"
@ -41,6 +41,11 @@
w-[300px]
h-[200px]
right-0
dark:border-white/10
dark:text-white
dark:bg-gray-800/[.95]
dark:shadow-glass
dark:backdrop-blur-xl
"
>
<div
@ -68,7 +73,7 @@
<div
v-for="(customer, index) in usersStore.customerList"
:key="index"
class="p-2 hover:bg-gray-100 cursor-pointer rounded-md"
class="p-2 hover:bg-gray-100 cursor-pointer rounded-md dark:hover:bg-gray-700/40"
>
<router-link
:to="{ path: `/admin/customers/${customer.id}/view` }"
@ -87,6 +92,7 @@
bg-gray-200
rounded-full
text-primary-500
dark:bg-gray-600
"
>
{{ initGenerator(customer.name) }}
@ -116,7 +122,7 @@
<div
v-for="(user, index) in usersStore.userList"
:key="index"
class="p-2 hover:bg-gray-100 cursor-pointer rounded-md"
class="p-2 hover:bg-gray-100 cursor-pointer rounded-md dark:hover:bg-gray-700/40"
>
<router-link
:to="{ path: `/admin/users/${user.id}/edit` }"

View File

@ -69,7 +69,8 @@ const props = defineProps({
})
const containerClasses = computed(() => {
const baseClass = `origin-top-right rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 divide-y divide-gray-100 focus:outline-none`
const baseClass = `dark:border dark:border-white/10 dark:text-white dark:bg-gray-800 dark:shadow-glass
origin-top-right rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 divide-y divide-gray-100 focus:outline-none`
return `${baseClass} ${props.containerClass}`
})

View File

@ -2,16 +2,20 @@
<MenuItem v-slot="{ active }" v-bind="$attrs">
<a
href="#"
class="group flex items-center px-4 py-2 text-sm font-normal"
:class="[
active ? 'bg-gray-100 text-gray-900' : 'text-gray-700',
'group flex items-center px-4 py-2 text-sm font-normal',
active
? 'bg-gray-100 text-gray-900 dark:text-white dark:bg-gray-700'
: 'text-gray-700 dark:text-gray-200',
]"
>
<slot :active="active" />
<slot :active="active" :class="defaultIconClass" />
</a>
</MenuItem>
</template>
<script setup>
import { MenuItem } from '@headlessui/vue'
const defaultIconClass =
'w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500 dark:text-gray-400 dark:group-hover:text-white'
</script>