CreateButton.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <!--
  2. bouton Créer
  3. -->
  4. <template>
  5. <main>
  6. <v-btn
  7. elevation="asIcon ? 0 : 2"
  8. :class="asIcon ? 'theme-primary' : 'theme-x-create-btn'"
  9. :icon="asIcon"
  10. :size="asIcon ? 'small' : 'default mr-2'"
  11. @click="showDialog=true"
  12. >
  13. <v-icon v-if="asIcon">fas fa-plus</v-icon>
  14. <span v-else>{{ $t('create') }}</span>
  15. </v-btn>
  16. <LayoutDialog :show="showDialog" >
  17. <template #dialogType>{{ $t('creative_assistant') }}</template>
  18. <template #dialogTitle>
  19. <span v-if="type === 'home'">{{ $t('what_do_you_want_to_create') }}</span>
  20. <span v-else-if="type === 'access'">{{ $t('universal_create_title_access') }}</span>
  21. <span v-else-if="type === 'event'">{{ $t('universal_create_title_event') }}</span>
  22. <span v-else-if="type === 'message'">{{ $t('universal_create_title_message') }}</span>
  23. </template>
  24. <template #dialogText>
  25. <!-- TODO: réactiver ce component quand les v-steper seront implémentés dans vuetify 3 -->
  26. <!-- <LayoutHeaderUniversalCreationGenerateCardsSteps :step="step" @updateStep="updateStep" /> -->
  27. <span>TEMP</span>
  28. </template>
  29. <template #dialogBtn>
  30. <div class="text-center">
  31. <v-btn
  32. class="theme-neutral-soft"
  33. @click="showDialog=false; step=1; type='home'"
  34. >
  35. {{ $t('cancel') }}
  36. </v-btn>
  37. <v-btn
  38. v-if="step > 1"
  39. class="theme-neutral-soft"
  40. @click="step=1; type='home'"
  41. >
  42. {{ $t('previous') }}
  43. </v-btn>
  44. </div>
  45. </template>
  46. </LayoutDialog>
  47. </main>
  48. </template>
  49. <script setup lang="ts">
  50. import {Ref, ref} from "@vue/reactivity";
  51. import {useDisplay} from "vuetify";
  52. const showDialog: Ref<Boolean> = ref(false);
  53. const step: Ref<Number> = ref(1);
  54. const type: Ref<String> = ref('home');
  55. const updateStep = ({stepChoice, typeChoice}: any) =>{
  56. step.value = stepChoice
  57. type.value = typeChoice
  58. }
  59. const { mdAndDown: asIcon } = useDisplay()
  60. </script>
  61. <style scoped>
  62. </style>