Files
XIP/frontend/src/components/shop/MesPersos.vue
kerboul 9dd72b9b2d
All checks were successful
Deploy XIP / deploy (push) Successful in 35s
refactor(shop): découpe MesPersos en sous-sections + nettoyage ProductCard
- MesPersos.vue (347L) éclaté en 5 sous-composants autonomes sous
  shop/persos/ (BgPrefsSection, SendButtonPrefsSection, SendSkinPrefsSection,
  IpColorPrefsSection, PetsPrefsSection). MesPersos n'est plus qu'un wrapper.
- CSS partagé des sections déplacé en classes globales .pf-* dans style.css
  (plus de duplication entre les sections).
- ProductCard : metaJson typé via parseMeta<ProductMeta>(), suppression des
  casts `any` (find/designs) — comportement identique.
- vue-tsc --noEmit : 0 erreur.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 20:03:23 +02:00

30 lines
839 B
Vue

<!-- Mes Personnalisations onglet "Mes Persos" du shop.
Assemble les sections de préférences (chacune autonome, lit ses composables). -->
<template>
<div class="persos">
<BgPrefsSection />
<SendButtonPrefsSection />
<SendSkinPrefsSection />
<IpColorPrefsSection />
<PetsPrefsSection />
</div>
</template>
<script setup lang="ts">
import BgPrefsSection from './persos/BgPrefsSection.vue';
import SendButtonPrefsSection from './persos/SendButtonPrefsSection.vue';
import SendSkinPrefsSection from './persos/SendSkinPrefsSection.vue';
import IpColorPrefsSection from './persos/IpColorPrefsSection.vue';
import PetsPrefsSection from './persos/PetsPrefsSection.vue';
</script>
<style scoped>
.persos {
display: flex;
flex-direction: column;
gap: 24px;
padding: 4px 0;
max-width: 640px;
}
</style>