Compare commits

..

3 Commits

28 changed files with 174 additions and 100 deletions

View File

@ -50,11 +50,21 @@
</BaseInputGroup>
</template>
</ValidateEach>
<BaseModalFooter>
<div
slot="footer"
class="
z-0
flex
justify-end
mt-4
pt-4
border-t border-gray-200 border-solid border-modal-bg
"
>
<BaseButton :loading="isSaving" variant="primary" type="submit">
{{ $t('general.save') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseCard>
</template>

View File

@ -57,7 +57,9 @@
</BaseInputGroup>
</BaseInputGrid>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3"
variant="primary-outline"
@ -82,7 +84,7 @@
</template>
{{ $t('general.create') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -47,7 +47,15 @@
</BaseInputGrid>
</div>
<BaseModalFooter>
<div
class="
z-0
flex
justify-end
p-4
border-t border-gray-200 border-solid border-modal-bg
"
>
<BaseButton
type="button"
variant="primary-outline"
@ -72,7 +80,7 @@
</template>
{{ categoryStore.isEdit ? $t('general.update') : $t('general.save') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -116,7 +116,7 @@
</BaseInputGrid>
</div>
<BaseModalFooter>
<div class="z-0 flex justify-end p-4 bg-gray-50 border-modal-bg">
<BaseButton
class="mr-3 text-sm"
variant="primary-outline"
@ -141,7 +141,7 @@
</template>
{{ $t('general.save') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -425,7 +425,9 @@
</BaseTabGroup>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3 text-sm"
type="button"
@ -445,7 +447,7 @@
</template>
{{ $t('general.save') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -38,7 +38,7 @@
</BaseInputGroup>
</div>
<BaseModalFooter>
<div class="z-0 flex justify-end p-4 bg-gray-50 border-modal-bg">
<BaseButton
class="mr-3 text-sm"
variant="primary-outline"
@ -63,7 +63,7 @@
</template>
{{ $t('general.delete') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -150,7 +150,9 @@
@Remove="removeUsedSelectedCurrencies"
/>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3"
variant="primary-outline"
@ -177,7 +179,7 @@
exchangeRateStore.isEdit ? $t('general.update') : $t('general.save')
}}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -20,7 +20,15 @@
@submit="createNewDisk"
>
<template #default="slotProps">
<BaseModalFooter>
<div
class="
z-0
flex
justify-end
p-4
border-t border-solid border-gray-light
"
>
<BaseButton
class="mr-3 text-sm"
variant="primary-outline"
@ -44,7 +52,7 @@
{{ $t('general.save') }}
</BaseButton>
</BaseModalFooter>
</div>
</template>
</component>
</div>

View File

@ -89,7 +89,9 @@
</BaseInputGroup>
</BaseInputGrid>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3"
variant="primary-outline"
@ -109,7 +111,7 @@
</template>
{{ itemStore.isEdit ? $t('general.update') : $t('general.save') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</div>
</BaseModal>

View File

@ -31,7 +31,15 @@
</BaseInputGroup>
</div>
<BaseModalFooter>
<div
class="
z-0
flex
justify-end
p-4
border-t border-gray-200 border-solid border-modal-bg
"
>
<BaseButton
type="button"
variant="primary-outline"
@ -58,7 +66,7 @@
itemStore.isItemUnitEdit ? $t('general.update') : $t('general.save')
}}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -62,7 +62,9 @@
</BaseInputGroup>
</BaseInputGrid>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
variant="primary-outline"
type="button"
@ -82,7 +84,7 @@
</template>
{{ $t('general.send') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -63,7 +63,16 @@
</BaseInputGroup>
</BaseInputGrid>
</div>
<BaseModalFooter>
<div
class="
z-0
flex
justify-end
px-4
py-4
border-t border-solid border-gray-light
"
>
<BaseButton
class="mr-2"
variant="primary-outline"
@ -84,7 +93,7 @@
</template>
{{ noteStore.isEdit ? $t('general.update') : $t('general.save') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -29,7 +29,9 @@
</BaseInputGroup>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
variant="primary-outline"
class="mr-3"
@ -54,7 +56,7 @@
: $t('general.save')
}}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -72,7 +72,7 @@
</div>
</div>
<div class="border-t border-gray-200 dark:border-gray-600 py-3">
<div class="border-t border-gray-200 py-3">
<div
class="
grid grid-cols-1
@ -89,7 +89,7 @@
:key="gIndex"
class="flex flex-col space-y-1"
>
<p class="text-sm text-gray-500 dark:text-gray-200 border-b dark:border-gray-600 pb-1 mb-2">
<p class="text-sm text-gray-500 border-b border-gray-200 pb-1 mb-2">
{{ gIndex }}
</p>
<div
@ -116,7 +116,15 @@
</span>
</div>
</div>
<BaseModalFooter>
<div
class="
z-0
flex
justify-end
p-4
border-t border-solid border--200 border-modal-bg
"
>
<BaseButton
class="mr-3 text-sm"
variant="primary-outline"
@ -136,7 +144,7 @@
</template>
{{ !roleStore.isEdit ? $t('general.save') : $t('general.update') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -70,7 +70,7 @@
</div>
</div>
<BaseModalFooter>
<div class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid">
<BaseButton class="mr-3" variant="primary-outline" @click="closeModal">
{{ $t('general.cancel') }}
</BaseButton>
@ -80,7 +80,7 @@
</template>
{{ $t('general.choose') }}
</BaseButton>
</BaseModalFooter>
</div>
</BaseModal>
</template>

View File

@ -62,7 +62,9 @@
</BaseInputGroup>
</BaseInputGrid>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3"
variant="primary-outline"
@ -83,7 +85,7 @@
<BaseIcon v-if="!isLoading" name="PhotographIcon" class="h-5 mr-2" />
{{ $t('general.preview') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
<div v-else>
<div class="my-6 mx-4 border border-gray-200 relative">
@ -104,7 +106,9 @@
></iframe>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3"
variant="primary-outline"
@ -123,7 +127,7 @@
<BaseIcon v-if="!isLoading" name="PaperAirplaneIcon" class="mr-2" />
{{ $t('general.send') }}
</BaseButton>
</BaseModalFooter>
</div>
</div>
</BaseModal>
</template>

View File

@ -65,7 +65,9 @@
</BaseInputGroup>
</BaseInputGrid>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3"
variant="primary-outline"
@ -91,7 +93,7 @@
</template>
{{ $t('general.preview') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
<div v-else>
<div class="my-6 mx-4 border border-gray-200 relative">
@ -112,7 +114,9 @@
style="min-height: 500px"
></iframe>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3"
variant="primary-outline"
@ -136,7 +140,7 @@
/>
{{ $t('general.send') }}
</BaseButton>
</BaseModalFooter>
</div>
</div>
</BaseModal>
</template>

View File

@ -65,7 +65,9 @@
</BaseInputGroup>
</BaseInputGrid>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3"
variant="primary-outline"
@ -91,7 +93,7 @@
</template>
{{ $t('general.preview') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
<div v-else>
<div class="my-6 mx-4 border border-gray-200 relative">
@ -112,7 +114,9 @@
style="min-height: 500px"
></iframe>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3"
variant="primary-outline"
@ -136,7 +140,7 @@
/>
{{ $t('general.send') }}
</BaseButton>
</BaseModalFooter>
</div>
</div>
</BaseModal>
</template>

View File

@ -90,7 +90,15 @@
</BaseInputGroup>
</BaseInputGrid>
</div>
<BaseModalFooter>
<div
class="
z-0
flex
justify-end
p-4
border-t border-solid border--200 border-modal-bg
"
>
<BaseButton
class="mr-3 text-sm"
variant="primary-outline"
@ -114,7 +122,7 @@
</template>
{{ taxTypeStore.isEdit ? $t('general.update') : $t('general.save') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -87,7 +87,9 @@
</BaseInputGrid>
</div>
<BaseModalFooter>
<div
class="z-0 flex justify-end p-4 border-t border-gray-200 border-solid"
>
<BaseButton
class="mr-3 text-sm"
type="button"
@ -107,7 +109,7 @@
</template>
{{ $t('general.save') }}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -172,7 +172,15 @@
</div>
</div>
<BaseModalFooter>
<div
class="
z-0
flex
justify-end
p-4
border-t border-solid border-gray-light border-modal-bg
"
>
<BaseButton
class="mr-3"
type="button"
@ -199,7 +207,7 @@
!customFieldStore.isEdit ? $t('general.save') : $t('general.update')
}}
</BaseButton>
</BaseModalFooter>
</div>
</form>
</BaseModal>
</template>

View File

@ -153,7 +153,7 @@
<BaseSwitch v-model="set_as_default" class="flex" />
</div>
<div class="ml-4 right">
<p class="p-0 mb-1 text-base leading-snug text-black dark:text-white box-title">
<p class="p-0 mb-1 text-base leading-snug text-black box-title">
{{ $t('settings.disk.is_default') }}
</p>
</div>

View File

@ -132,7 +132,7 @@
<BaseSwitch v-model="set_as_default" class="flex" />
</div>
<div class="ml-4 right">
<p class="p-0 mb-1 text-base leading-snug text-black dark:text-white box-title">
<p class="p-0 mb-1 text-base leading-snug text-black box-title">
{{ $t('settings.disk.is_default') }}
</p>
</div>

View File

@ -63,7 +63,7 @@
</div>
<div class="ml-4 right">
<p class="p-0 mb-1 text-base leading-snug text-black dark:text-white box-title">
<p class="p-0 mb-1 text-base leading-snug text-black box-title">
{{ $t('settings.disk.is_default') }}
</p>
</div>

View File

@ -134,7 +134,7 @@
<BaseSwitch v-model="set_as_default" class="flex" />
</div>
<div class="ml-4 right">
<p class="p-0 mb-1 text-base leading-snug text-black dark:text-white box-title">
<p class="p-0 mb-1 text-base leading-snug text-black box-title">
{{ $t('settings.disk.is_default') }}
</p>
</div>

View File

@ -1,6 +1,7 @@
<script setup>
import { computed, ref } from 'vue'
import SpinnerIcon from '@/scripts/components/icons/SpinnerIcon.vue'
const props = defineProps({
contentLoading: {
type: Boolean,
@ -9,7 +10,7 @@ const props = defineProps({
defaultClass: {
type: String,
default:
'inline-flex whitespace-nowrap items-center border font-medium focus:outline-none focus:ring-2 focus:ring-offset-2',
'inline-flex whitespace-nowrap items-center border font-medium focus:outline-none focus:ring-2 focus:ring-offset-2 dark:focus:ring-offset-gray-800',
},
tag: {
type: String,
@ -27,6 +28,10 @@ const props = defineProps({
type: Boolean,
default: false,
},
loadingRight: {
type: Boolean,
default: false,
},
size: {
type: String,
default: 'md',
@ -81,17 +86,17 @@ const placeHolderSize = computed(() => {
const variantClass = computed(() => {
return {
'border-transparent shadow-sm text-white bg-primary-600 hover:bg-primary-700 focus:ring-primary-500':
'border-transparent shadow-sm text-white bg-primary-600 hover:bg-primary-700 focus:ring-primary-500 dark:bg-primary-500 dark:hover:bg-primary-600':
props.variant === 'primary',
'border-transparent text-primary-700 bg-primary-100 hover:bg-primary-200 focus:ring-primary-500':
props.variant === 'secondary',
'border-transparent border-solid border-primary-500 font-normal transition ease-in-out duration-150 text-primary-500 hover:bg-primary-200 shadow-inner focus:ring-primary-500':
'border-transparent border-solid border-primary-500 font-normal transition ease-in-out duration-150 text-primary-500 hover:bg-primary-100 shadow-inner focus:ring-primary-500 dark:text-primary-400 dark:border-primary-400 dark:hover:bg-transparent dark:hover:text-primary-500 dark:hover:border-primary-500':
props.variant == 'primary-outline',
'border-gray-200 text-gray-700 bg-white hover:bg-gray-50 focus:ring-primary-500 focus:ring-offset-0':
'border-gray-200 text-gray-700 bg-white hover:bg-gray-50 focus:ring-primary-500 focus:ring-offset-0 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-900':
props.variant == 'white',
'border-transparent shadow-sm text-white bg-red-600 hover:bg-red-700 focus:ring-red-500':
props.variant === 'danger',
'border-transparent bg-gray-200 border hover:bg-opacity-60 focus:ring-gray-500 focus:ring-offset-0':
'border-transparent bg-gray-200 border hover:bg-opacity-60 focus:ring-gray-500 focus:ring-offset-0 dark:bg-gray-600 dark:text-white dark:hover:bg-opacity-60':
props.variant === 'gray',
}
})
@ -124,6 +129,13 @@ const iconRightClass = computed(() => {
'ml-3 -mr-1 h-5 w-5': props.size === 'lg' || props.size === 'xl',
}
})
const buttonDisabledClass = computed(() => {
if (props.disabled || props.loading)
return 'cursor-not-allowed bg-opacity-70 dark:!bg-opacity-40 hover:!bg-opacity-70 pointer-event-none'
return ''
})
</script>
<template>
@ -141,15 +153,17 @@ const iconRightClass = computed(() => {
<BaseCustomTag
v-else
:tag="tag"
:disabled="disabled"
:class="[defaultClass, sizeClass, variantClass, roundedClass]"
:disabled="disabled || loading"
:class="[defaultClass, sizeClass, variantClass, roundedClass, buttonDisabledClass]"
>
<SpinnerIcon v-if="loading" :class="[iconLeftClass, iconVariantClass]" />
<SpinnerIcon v-if="loading && !loadingRight" :class="[iconLeftClass, iconVariantClass]" />
<slot v-else name="left" :class="iconLeftClass"></slot>
<slot v-else name="left" :class="iconLeftClass" />
<slot />
<slot name="right" :class="[iconRightClass, iconVariantClass]"></slot>
<SpinnerIcon v-if="loading && loadingRight" :class="[iconRightClass, iconVariantClass]" />
<slot v-else name="right" :class="[iconRightClass, iconVariantClass]" />
</BaseCustomTag>
</template>

View File

@ -29,21 +29,8 @@
leave-to="opacity-0"
>
<DialogOverlay
class="
fixed
inset-0
transition-opacity
bg-gray-700
bg-opacity-25
dark:backdrop-blur-sm
dark:bg-gray-900/80
"
>
<BaseDarkHighlight
class="!bg-highlight/[.17] !top-1/2 -translate-y-1/2 mt-5 h-96"
:class="modalSize"
/>
</DialogOverlay>
class="fixed inset-0 transition-opacity bg-gray-700 bg-opacity-25"
/>
</TransitionChild>
<!-- This element is to trick the browser into centering the modal contents. -->
@ -74,11 +61,7 @@
my-4
${modalSize}
sm:w-full
dark:shadow-glass
dark:border
dark:border-white/10
dark:bg-gray-800/90
border-t-8 border-solid rounded shadow-xl border-primary-500`"
border-t-8 border-solid rounded shadow-xl border-primary-500`"
>
<div
v-if="hasHeaderSlot"
@ -91,8 +74,6 @@
text-lg
font-medium
text-black
dark:text-white
dark:border-gray-600
border-b border-gray-200 border-solid
"
>

View File

@ -1,14 +0,0 @@
<template>
<div
class="
z-0
flex
justify-end
p-4
border-t border-gray-200 border-solid
dark:border-gray-600
"
>
<slot />
</div>
</template>