interface.d.ts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. import { ActionMenuItemType } from '~/types/enum/layout'
  2. import { COOKIE_CONSENT_CHOICE } from '~/types/enum/enums'
  3. import { STRUCTURE_TYPE_KEYS, LEGAL_STATUS_KEYS } from '~/types/types'
  4. interface ActionMenuItem {
  5. type: ActionMenuItemType
  6. color: 'primary' | 'secondary'
  7. icon: string
  8. text: string
  9. url?: string | object
  10. target?: string
  11. }
  12. interface MainMenuItem {
  13. label: string
  14. to?: string
  15. children?: Array<MainMenuItem>
  16. }
  17. interface CarouselItem {
  18. logo: string
  19. logoAlt: string
  20. description: string
  21. descriptionSm: string
  22. buttonClass: string
  23. image: string
  24. imageAlt: string
  25. color: string
  26. link: string
  27. name: string
  28. school: string
  29. status: string
  30. avatar: string
  31. avatarAlt: string
  32. }
  33. interface SolutionItem {
  34. name: string
  35. description: string
  36. image: string
  37. alt: string
  38. link: string
  39. class: string
  40. solutions: string[]
  41. }
  42. interface Review {
  43. name: string
  44. review: string
  45. status: string
  46. structure: string
  47. }
  48. interface MenuScroll {
  49. label: string
  50. anchor: string
  51. }
  52. interface FeaturePicto {
  53. src: string
  54. text: string
  55. }
  56. // TODO: vérifier l'utilité des props list et isMemberCmf
  57. interface Benefit {
  58. title: string
  59. number: string
  60. description: string
  61. image: string
  62. alt: string
  63. isMemberCMF?: boolean
  64. }
  65. interface Functionality {
  66. logo: string
  67. logoAlt: string
  68. title: string
  69. list: Array<string>
  70. options?: Array<string>
  71. }
  72. interface ComparisonItem {
  73. label: string
  74. includedInStandard: boolean | string
  75. includedInPremium: boolean | string
  76. }
  77. interface Formation {
  78. image: string
  79. alt: string
  80. overlayClass: string
  81. sessions: string
  82. title: string
  83. description: string
  84. buttonText: string
  85. link: string
  86. }
  87. interface Program {
  88. id: number
  89. objectives: string[]
  90. }
  91. interface Training {
  92. number?: string
  93. title: string
  94. description: string
  95. objectives: string[]
  96. duration: string
  97. program?: Program[]
  98. price: string
  99. downloadLink: string
  100. imageUrl?: string
  101. imageAlt?: string
  102. additionalObjectives?: Program[]
  103. }
  104. interface FaqEntry {
  105. question: string
  106. answer: string
  107. }
  108. interface SocietyValue {
  109. img: string
  110. alt: string
  111. title: string
  112. description: string
  113. }
  114. interface Event {
  115. rdv: string
  116. title: string
  117. localisation: string
  118. date: string
  119. img: string
  120. tags: string[]
  121. }
  122. interface ChronologyItem {
  123. year: string
  124. title: string
  125. description: string
  126. imageUrl: string
  127. }
  128. interface SocietyMember {
  129. name: string
  130. position: string
  131. photo: string
  132. alt: string
  133. }
  134. interface SocialNetworkShareBtn {
  135. name: string
  136. icon: string
  137. colorOnHover?: string
  138. url: string
  139. }
  140. interface ContactFormData {
  141. gender: string | null
  142. postalCode: string | null
  143. city: string | null
  144. phone: string | null
  145. requestType: string | null
  146. concernedProduct: string | null
  147. newsletterSubscription: boolean
  148. }
  149. interface CookiesPreferences {
  150. consent: COOKIE_CONSENT_CHOICE
  151. analyticsConsent: boolean
  152. advertisingConsent: boolean
  153. adUserDataConsent: boolean
  154. adPersonalizationConsent: boolean
  155. }
  156. interface Article {
  157. title: string
  158. text: string
  159. image: string
  160. imageAlt: string
  161. btnTitle?: string
  162. btnHref?: string
  163. }
  164. interface TrialRequest {
  165. structureName: string
  166. address: string
  167. addressComplement: string
  168. postalCode: string
  169. city: string
  170. structureEmail: string
  171. structureType: STRUCTURE_TYPE_KEYS
  172. legalStatus: LEGAL_STATUS_KEYS
  173. structureIdentifier: string
  174. siren: string
  175. representativeFirstName: string
  176. representativeLastName: string
  177. representativeFunction: string
  178. representativeEmail: string
  179. representativePhone: string
  180. password: string
  181. confirmPassword: ?string
  182. termsAccepted: boolean
  183. legalRepresentative: boolean
  184. newsletterSubscription: boolean
  185. createWebsite: boolean
  186. }