vuetify.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import { createVuetify } from 'vuetify'
  2. import 'vuetify/styles'
  3. import { aliases, fa } from 'vuetify/iconsets/fa'
  4. import { mdi } from 'vuetify/iconsets/mdi'
  5. import '@fortawesome/fontawesome-free/css/all.css'
  6. import '@mdi/font/css/materialdesignicons.css'
  7. import {fr} from 'vuetify/locale'
  8. export default defineNuxtPlugin(nuxtApp => {
  9. const vuetify = createVuetify({
  10. ssr: true,
  11. locale: {
  12. locale: 'fr',
  13. messages: { fr }
  14. },
  15. theme: {
  16. defaultTheme: 'light',
  17. themes: {
  18. light: {
  19. dark: false,
  20. colors: {
  21. /**
  22. * @see Cf. doc/colors.md pour le rôle de chaque couleur
  23. */
  24. // Global
  25. 'primary': '#00ad8e',
  26. 'n-primary': '#ffffff',
  27. 'primary-alt': '#a9e0d6',
  28. 'n-primary-alt': '#777777',
  29. 'secondary': '#324150',
  30. 'n-secondary': '#f5f5f5',
  31. 'secondary-alt': '#2c3a48',
  32. 'n-secondary-alt': '#ffffff',
  33. 'neutral-strong': '#777777',
  34. 'n-neutral-strong': '#ecf0f5',
  35. 'neutral': '#f5f5f5',
  36. 'n-neutral': '#767676',
  37. 'neutral-soft': '#ecf0f5',
  38. 'n-neutral-soft': '#464646',
  39. // Content
  40. 'danger': '#f56954',
  41. 'n-danger': '#ffffff',
  42. 'success': '#00a65a',
  43. 'n-success': '#ffffff',
  44. 'warning': '#f39c12',
  45. 'n-warning': '#ffffff',
  46. 'info': '#3c8dbc',
  47. 'n-info': '#ffffff',
  48. // Special cases
  49. // TODO: remove as soon as possible
  50. 'x-create-btn': '#f39c12',
  51. 'n-x-create-btn': '#ffffff',
  52. }
  53. }
  54. },
  55. },
  56. icons: {
  57. defaultSet: 'fa',
  58. aliases,
  59. sets: {
  60. fa,
  61. mdi
  62. }
  63. },
  64. })
  65. nuxtApp.vueApp.use(vuetify)
  66. })