12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <script setup>
- import { UseColorMode } from '@vueuse/components'
- import { useUserStore } from '@/stores/user'
- const router = useRouter()
- const user = useUserStore()
- const props = defineProps({
- inManagementMode: Boolean,
- areDisabled: Boolean
- })
-
- const emit = defineEmits(['update:inManagementMode', 'move-button-clicked', 'delete-button-clicked', 'export-button-clicked'])
- /**
- * Routes user to the appropriate submitting view
- */
- function goAddNewAccount() {
- if( user.preferences.useDirectCapture && user.preferences.defaultCaptureMode === 'advancedForm' ) {
- router.push({ name: 'createAccount' })
- }
- else if( user.preferences.useDirectCapture && user.preferences.defaultCaptureMode === 'livescan' ) {
- router.push({ name: 'capture' })
- }
- else {
- router.push({ name: 'start' })
- }
- }
- </script>
- <template>
- <UseColorMode v-slot="{ mode }">
- <!-- New item buttons -->
- <p class="control" v-if="!inManagementMode">
- <button class="button is-link is-rounded is-focus" @click="goAddNewAccount">
- <span>{{ $t('commons.new') }}</span>
- <span class="icon is-small">
- <FontAwesomeIcon :icon="['fas', 'qrcode']" />
- </span>
- </button>
- </p>
- <!-- Manage button -->
- <p class="control" v-if="!inManagementMode">
- <button id="btnManage" class="button is-rounded" :class="{'is-dark' : mode == 'dark'}" @click="$emit('update:inManagementMode', true)">{{ $t('commons.manage') }}</button>
- </p>
- <!-- move button -->
- <p class="control" v-if="inManagementMode">
- <button
- id="btnMove"
- :disabled='areDisabled' class="button is-rounded"
- :class="[{ 'is-outlined': mode == 'dark' || areDisabled }, areDisabled ? 'is-dark': 'is-link']"
- @click="$emit('move-button-clicked')"
- :title="$t('groups.move_selected_to_group')" >
- {{ $t('commons.move') }}
- </button>
- </p>
- <!-- delete button -->
- <p class="control" v-if="inManagementMode">
- <button
- id="btnDelete"
- :disabled='areDisabled' class="button is-rounded"
- :class="[{ 'is-outlined': mode == 'dark' || areDisabled }, areDisabled ? 'is-dark': 'is-link']"
- @click="$emit('delete-button-clicked')" >
- {{ $t('commons.delete') }}
- </button>
- </p>
- <!-- export button -->
- <p class="control" v-if="inManagementMode">
- <button
- id="btnExport"
- :disabled='areDisabled' class="button is-rounded"
- :class="[{ 'is-outlined': mode == 'dark' || areDisabled }, areDisabled ? 'is-dark': 'is-link']"
- @click="$emit('export-button-clicked')"
- :title="$t('twofaccounts.export_selected_to_json')" >
- {{ $t('commons.export') }}
- </button>
- </p>
- </UseColorMode>
- </template>
|