@@ -73,7 +73,8 @@ const showSearchModal = () => {
7373const onQuickLinkClick = hideModal
7474
7575const slots = useSlots ()
76- const isWithSlotOperator = computed (() => slots .operator ?.().length || !! props .operatorImgSrc )
76+ const isWithSlotOperator = computed (() => Boolean (slots .operator ?.().length ) || !! props .operatorImgSrc )
77+ const isWithSlotNav = computed (() => Boolean (slots .mainnav ))
7778
7879// eslint-disable-next-line func-call-spacing
7980defineEmits <{
@@ -114,7 +115,7 @@ defineEmits<{
114115 </slot >
115116 </div >
116117 <div
117- v-if =" showSearch || quickLinks?.length"
118+ v-if =" showSearch || isWithSlotNav || quickLinks?.length"
118119 class =" fr-header__navbar"
119120 >
120121 <button
@@ -127,7 +128,7 @@ defineEmits<{
127128 @click.prevent.stop =" showSearchModal()"
128129 />
129130 <button
130- v-if =" quickLinks?.length"
131+ v-if =" isWithSlotNav || quickLinks?.length"
131132 id =" button-menu"
132133 class =" fr-btn--menu fr-btn"
133134 :data-fr-opened =" showMenu"
@@ -204,7 +205,7 @@ defineEmits<{
204205 </div >
205206 </div >
206207 <div
207- v-if =" showSearch || (quickLinks && quickLinks.length)"
208+ v-if =" showSearch || isWithSlotNav || (quickLinks && quickLinks.length)"
208209 id =" header-navigation"
209210 class =" fr-header__menu fr-modal"
210211 :class =" { 'fr-modal--opened': modalOpened }"
@@ -233,9 +234,15 @@ defineEmits<{
233234 />
234235 </nav >
235236 </div >
237+ <template v-if =" modalOpened " >
238+ <slot
239+ name =" mainnav"
240+ :hidemodal =" hideModal"
241+ />
242+ </template >
236243 <div
237244 v-if =" searchModalOpened"
238- class =" flex justify-center items-center"
245+ class =" flex justify-center items-center"
239246 >
240247 <DsfrSearchBar
241248 :model-value =" modelValue"
@@ -246,6 +253,16 @@ defineEmits<{
246253 </div >
247254 </div >
248255 </div >
256+ <div
257+ v-if =" isWithSlotNav && !modalOpened"
258+ class =" fr-hidden fr-unhidden-lg"
259+ >
260+ <!-- @slot Slot nommé mainnav pour le menu de navigation principal -->
261+ <slot
262+ name =" mainnav"
263+ :hidemodal =" hideModal"
264+ />
265+ </div >
249266 <slot />
250267 </div >
251268 </div >
0 commit comments