ProfileFavoriteRemoveDialog.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <q-dialog ref="dialogRef">
  3. <div class="remove-dialog-wrapper column items-center">
  4. <q-card class="remove-card bg-white">
  5. <q-card-section class="q-pt-lg q-pb-sm q-px-lg text-center">
  6. <p class="remove-title text-primary font16 fontbold">
  7. {{ $t('profile.favorites.remove_title') }}
  8. </p>
  9. </q-card-section>
  10. <q-card-actions class="row q-px-lg q-pb-lg q-gutter-x-sm justify-center">
  11. <q-btn
  12. unelevated
  13. rounded
  14. no-caps
  15. text-color="grey-2"
  16. color="grey-6"
  17. class="col remove-btn font12 fontbold"
  18. :label="$t('profile.favorites.remove_confirm')"
  19. @click="onDialogOK"
  20. />
  21. <q-btn
  22. unelevated
  23. rounded
  24. no-caps
  25. color="secondary"
  26. class="col remove-btn font12 fontbold"
  27. :label="$t('profile.favorites.remove_cancel')"
  28. @click="onDialogCancel"
  29. />
  30. </q-card-actions>
  31. </q-card>
  32. </div>
  33. </q-dialog>
  34. </template>
  35. <script setup>
  36. import { useDialogPluginComponent } from 'quasar';
  37. defineEmits([...useDialogPluginComponent.emits]);
  38. const { dialogRef, onDialogOK, onDialogCancel } = useDialogPluginComponent();
  39. </script>
  40. <style scoped lang="scss">
  41. .remove-dialog-wrapper {
  42. width: 320px;
  43. max-width: 90vw;
  44. }
  45. .remove-card {
  46. width: 100%;
  47. border-radius: 20px;
  48. box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  49. }
  50. .remove-title {
  51. line-height: 1.4;
  52. margin: 0;
  53. }
  54. .remove-btn {
  55. padding: 6px 12px;
  56. }
  57. </style>