sms.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <template>
  2. <div>
  3. <UiForm
  4. v-if="parameters"
  5. v-model="parameters"
  6. >
  7. <v-row>
  8. <v-col cols="12">
  9. <UiInputText
  10. v-model="parameters.smsSenderName"
  11. field="smsSenderName"
  12. variant="underlined"
  13. />
  14. </v-col>
  15. <v-col cols="12">
  16. <UiInputText
  17. v-model="parameters.usernameSMS"
  18. field="usernameSMS"
  19. label="Nom d'utilisateur SMS"
  20. variant="underlined"
  21. />
  22. </v-col>
  23. <v-col cols="12">
  24. <UiInputText
  25. v-model="parameters.passwordSMS"
  26. field="passwordSMS"
  27. class="password"
  28. variant="underlined"
  29. />
  30. </v-col>
  31. </v-row>
  32. </UiForm>
  33. </div>
  34. </template>
  35. <script setup lang="ts">
  36. import type { AsyncData } from '#app'
  37. import Parameters from '~/models/Organization/Parameters'
  38. import { useEntityFetch } from '~/composables/data/useEntityFetch'
  39. import { useOrganizationProfileStore } from '~/stores/organizationProfile'
  40. definePageMeta({
  41. name: 'parameters_sms_page',
  42. })
  43. const { fetch } = useEntityFetch()
  44. const organizationProfile = useOrganizationProfileStore()
  45. if (organizationProfile.parametersId === null) {
  46. throw new Error('Missing organization parameters id')
  47. }
  48. const { data: parameters } = fetch(
  49. Parameters,
  50. organizationProfile.parametersId,
  51. ) as AsyncData<Parameters | null, Error | null>
  52. </script>
  53. <style scoped lang="scss">
  54. /**
  55. Simule une apparence de saisie de type mot de passe
  56. Sans ça, les navigateurs proposent la saisie semi auto et la mémorisation du mot de passe
  57. */
  58. @font-face {
  59. font-family: 'password';
  60. font-style: normal;
  61. font-weight: 400;
  62. font-display: block;
  63. src: url(https://jsbin-user-assets.s3.amazonaws.com/rafaelcastrocouto/password.ttf);
  64. }
  65. :deep(.password input) {
  66. font-family: 'password';
  67. }
  68. </style>