vuetify.ts 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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': '#ffffff',
  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. 'ot-danger': '#f56954',
  41. 'n-ot-danger': '#ffffff',
  42. 'ot-success': '#00a65a',
  43. 'n-ot-success': '#ffffff',
  44. 'ot-warning': '#f39c12',
  45. 'n-ot-warning': '#ffffff',
  46. 'ot-info': '#3c8dbc',
  47. 'n-ot-info': '#ffffff',
  48. // Special
  49. 'ot-white': '#ffffff', // ot-white
  50. 'ot-black': '#000000' // ot-black
  51. }
  52. }
  53. },
  54. },
  55. icons: {
  56. defaultSet: 'fa',
  57. aliases,
  58. sets: {
  59. fa,
  60. mdi
  61. }
  62. },
  63. })
  64. nuxtApp.vueApp.use(vuetify)
  65. })