1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <script setup>
- import { useColorMode } from '@vueuse/core'
- const router = useRouter()
- const route = useRoute()
- const mode = useColorMode()
-
- const props = defineProps({
- returnTo: {
- type: Object,
- default: { name: 'accounts' }
- },
- action: {
- type: String,
- default: 'close'
- },
- useLinkTag: {
- type: Boolean,
- default: true
- },
- isText: {
- type: Boolean,
- default: false
- },
- isCapture: {
- type: Boolean,
- default: false
- },
- })
- const classes = 'button is-rounded'
- + (mode.value === 'dark' && ! props.isText && ! props.isCapture ? ' is-dark' : '')
- + (props.isText ? ' is-text' : '')
- + (props.isCapture ? ' is-large is-warning' : '')
- </script>
- <template>
- <!-- back / close / cancel button -->
- <p v-if="useLinkTag" class="control">
- <RouterLink
- v-if="action == 'close'"
- id="btnClose"
- :to="returnTo"
- :class="classes"
- tabindex="0"
- role="button"
- :aria-label="$t('commons.close_the_x_page', { pagetitle: $route.meta.title })"
- >
- {{ $t('commons.close') }}
- </RouterLink>
- <RouterLink
- v-else-if="action == 'back'"
- id="lnkBack"
- :to="returnTo"
- :class="classes"
- :aria-label="$t('commons.close_the_x_page', { pagetitle: $route.meta.title })"
- >
- {{ $t('commons.back') }}
- </RouterLink>
- <RouterLink
- v-else-if="action == 'cancel'"
- id="btnCancel"
- :to="returnTo"
- :class="classes"
- >
- {{ $t('commons.cancel') }}
- </RouterLink>
- </p>
- <p v-else class="control">
- <button
- v-if="action == 'close'"
- id="btnClose"
- :class="classes"
- @click="$emit('closed')"
- type="button"
- >
- {{ $t('commons.close') }}
- </button>
- <button
- v-if="action == 'cancel'"
- id="btnCancel"
- :class="classes"
- @click="$emit('canceled')"
- type="button"
- >
- {{ $t('commons.cancel') }}
- </button>
- </p>
- </template>
|