@salifbiaye/create-boutique 0.1.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/dist/commands.js +3 -3
- package/cli/dist/create.js +5 -5
- package/cli/dist/generate.js +68 -10
- package/cli/dist/project.js +2 -0
- package/cli/dist/themes.js +5 -1
- package/package.json +1 -1
- package/templates/backend/src/lib/emails.ts +8 -1
- package/templates/backend/src/scripts/campaign-import.ts +6 -4
- package/templates/backend/src/scripts/seed.ts +15 -3
- package/templates/storefront/locales/en.json +33 -1
- package/templates/storefront/locales/fr.json +33 -1
- package/templates/storefront/package-lock.json +7 -0
- package/templates/storefront/package.json +1 -0
- package/templates/storefront/src/app/(main)/legal/[page]/page.tsx +3 -9
- package/templates/storefront/src/app/(main)/page.tsx +25 -0
- package/templates/storefront/src/app/(main)/store/page.tsx +3 -1
- package/templates/storefront/src/app/layout.tsx +9 -2
- package/templates/storefront/src/lib/boutique/config.ts +1 -0
- package/templates/storefront/src/lib/boutique/i18n-client.tsx +10 -2
- package/templates/storefront/src/lib/boutique/schema.ts +2 -0
- package/templates/storefront/src/modules/account/components/account-nav/index.tsx +50 -177
- package/templates/storefront/src/modules/account/components/address-card/add-address.tsx +2 -2
- package/templates/storefront/src/modules/account/components/address-card/edit-address-modal.tsx +2 -2
- package/templates/storefront/src/modules/account/components/overview/index.tsx +98 -143
- package/templates/storefront/src/modules/account/components/profile-billing-address/index.tsx +2 -3
- package/templates/storefront/src/modules/account/components/profile-phone/index.tsx +2 -3
- package/templates/storefront/src/modules/account/components/register/index.tsx +2 -3
- package/templates/storefront/src/modules/account/templates/account-layout.tsx +20 -24
- package/templates/storefront/src/modules/checkout/components/billing_address/index.tsx +2 -2
- package/templates/storefront/src/modules/checkout/components/shipping-address/index.tsx +2 -2
- package/templates/storefront/src/modules/common/components/phone-input/index.tsx +110 -0
- package/templates/storefront/src/modules/store/templates/index.tsx +82 -17
- package/templates/storefront/src/modules/store/templates/paginated-products.tsx +5 -0
- package/templates/storefront/src/modules/ub/campaign-blocks.tsx +1 -1
- package/templates/storefront/src/modules/ub/contact-page.tsx +78 -0
- package/templates/storefront/src/modules/ub/footer.tsx +26 -5
- package/templates/storefront/src/modules/ub/mobile-menu.tsx +49 -0
- package/templates/storefront/src/modules/ub/nav.tsx +2 -0
- package/templates/storefront/src/modules/ub/showcase.tsx +137 -0
- package/templates/storefront/src/styles/ub/account.css +199 -0
- package/templates/storefront/src/styles/ub/black-friday.css +96 -0
- package/templates/storefront/src/styles/ub/forms.css +61 -0
- package/templates/storefront/src/styles/ub/pages.css +382 -0
- package/templates/storefront/src/styles/ub/responsive.css +57 -0
- package/templates/storefront/src/styles/ub/showcase.css +85 -0
- package/templates/storefront/src/styles/ub/variants.css +64 -0
- package/templates/storefront/themes/black-friday-2/campaign.en.json +31 -0
- package/templates/storefront/themes/black-friday-2/campaign.fr.json +31 -0
- package/templates/storefront/themes/black-friday-2/theme.json +10 -0
- package/templates/storefront/themes/cyber-monday-2/campaign.en.json +31 -0
- package/templates/storefront/themes/cyber-monday-2/campaign.fr.json +31 -0
- package/templates/storefront/themes/cyber-monday-2/theme.json +10 -0
- package/templates/storefront/themes/halloween-2/campaign.en.json +31 -0
- package/templates/storefront/themes/halloween-2/campaign.fr.json +31 -0
- package/templates/storefront/themes/halloween-2/theme.json +10 -0
- package/templates/storefront/themes/noel-2/campaign.en.json +31 -0
- package/templates/storefront/themes/noel-2/campaign.fr.json +31 -0
- package/templates/storefront/themes/noel-2/theme.json +10 -0
- package/templates/storefront/themes/nouvel-an-2/campaign.en.json +31 -0
- package/templates/storefront/themes/nouvel-an-2/campaign.fr.json +31 -0
- package/templates/storefront/themes/nouvel-an-2/theme.json +10 -0
- package/templates/storefront/themes/thanksgiving-2/campaign.en.json +31 -0
- package/templates/storefront/themes/thanksgiving-2/campaign.fr.json +31 -0
- package/templates/storefront/themes/thanksgiving-2/theme.json +10 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar": [
|
|
3
|
+
"Cyber Monday: online only, 24 hours",
|
|
4
|
+
"Free shipping over {freeShipping}",
|
|
5
|
+
"2-year warranty on tech"
|
|
6
|
+
],
|
|
7
|
+
"hero": {
|
|
8
|
+
"eyebrow": "Cyber Monday · Neon",
|
|
9
|
+
"title": "24 hours to upgrade your setup",
|
|
10
|
+
"highlight": "upgrade",
|
|
11
|
+
"sub": "Audio, gaming, accessories and gadgets up to {discount} off. Web-only deals, until {endDate}.",
|
|
12
|
+
"cta": "Upgrade now",
|
|
13
|
+
"cta2": "Shop tech",
|
|
14
|
+
"bubble": [
|
|
15
|
+
"Up to",
|
|
16
|
+
"{discount}",
|
|
17
|
+
"online"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"promo": {
|
|
21
|
+
"eyebrow": "Web exclusive",
|
|
22
|
+
"title": "Tech deals you won't find in stores",
|
|
23
|
+
"text": "Web-only prices, fast delivery and a 2-year warranty.",
|
|
24
|
+
"cta": "See the deals",
|
|
25
|
+
"seal": "24 hours"
|
|
26
|
+
},
|
|
27
|
+
"sections": {
|
|
28
|
+
"categories": "Pick your setup",
|
|
29
|
+
"products": "Hot deals"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar": [
|
|
3
|
+
"Cyber Monday : 100 % en ligne, 24 h seulement",
|
|
4
|
+
"Livraison offerte dès {freeShipping}",
|
|
5
|
+
"Garantie 2 ans sur la tech"
|
|
6
|
+
],
|
|
7
|
+
"hero": {
|
|
8
|
+
"eyebrow": "Cyber Monday · Neon",
|
|
9
|
+
"title": "24 heures pour upgrader votre setup",
|
|
10
|
+
"highlight": "upgrader",
|
|
11
|
+
"sub": "Audio, gaming, accessoires et gadgets jusqu'à -{discount}. Offres réservées au site, jusqu'au {endDate}.",
|
|
12
|
+
"cta": "Upgrader maintenant",
|
|
13
|
+
"cta2": "Voir la tech",
|
|
14
|
+
"bubble": [
|
|
15
|
+
"Jusqu'à",
|
|
16
|
+
"{discount}",
|
|
17
|
+
"online"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"promo": {
|
|
21
|
+
"eyebrow": "Exclusivité web",
|
|
22
|
+
"title": "Les deals tech qu'on ne verra pas en magasin",
|
|
23
|
+
"text": "Prix réservés au site, livraison rapide et garantie 2 ans.",
|
|
24
|
+
"cta": "Voir les deals",
|
|
25
|
+
"seal": "24 h"
|
|
26
|
+
},
|
|
27
|
+
"sections": {
|
|
28
|
+
"categories": "Choisissez votre setup",
|
|
29
|
+
"products": "Deals du moment"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar": [
|
|
3
|
+
"Bewitched stock: limited quantities",
|
|
4
|
+
"Free shipping over {freeShipping}",
|
|
5
|
+
"Free 30-day returns"
|
|
6
|
+
],
|
|
7
|
+
"hero": {
|
|
8
|
+
"eyebrow": "Potion collection",
|
|
9
|
+
"title": "The price-killing potion is ready",
|
|
10
|
+
"highlight": "price-killing",
|
|
11
|
+
"sub": "Up to {discount} off costumes, decor and accessories. When the cauldron is empty, it's over: until {endDate}.",
|
|
12
|
+
"cta": "Fill my cauldron",
|
|
13
|
+
"cta2": "See best sellers",
|
|
14
|
+
"bubble": [
|
|
15
|
+
"Up to",
|
|
16
|
+
"{discount}",
|
|
17
|
+
"off"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"promo": {
|
|
21
|
+
"eyebrow": "Spell of the day",
|
|
22
|
+
"title": "Buy 2, get the 3rd half off",
|
|
23
|
+
"text": "Last-minute costume? Fast delivery before the 31st.",
|
|
24
|
+
"cta": "Cast the spell",
|
|
25
|
+
"seal": "Until {endDate}"
|
|
26
|
+
},
|
|
27
|
+
"sections": {
|
|
28
|
+
"categories": "Pick your spell",
|
|
29
|
+
"products": "Most wanted"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar": [
|
|
3
|
+
"Stock ensorcelé : quantités limitées",
|
|
4
|
+
"Livraison offerte dès {freeShipping}",
|
|
5
|
+
"Retours gratuits sous 30 jours"
|
|
6
|
+
],
|
|
7
|
+
"hero": {
|
|
8
|
+
"eyebrow": "Collection Potion",
|
|
9
|
+
"title": "La potion anti-prix est prête",
|
|
10
|
+
"highlight": "anti-prix",
|
|
11
|
+
"sub": "Jusqu'à -{discount} sur les costumes, la déco et les accessoires. Quand le chaudron est vide, c'est fini : jusqu'au {endDate}.",
|
|
12
|
+
"cta": "Remplir mon chaudron",
|
|
13
|
+
"cta2": "Voir les best-sellers",
|
|
14
|
+
"bubble": [
|
|
15
|
+
"Jusqu'à",
|
|
16
|
+
"{discount}",
|
|
17
|
+
"envoûtés"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"promo": {
|
|
21
|
+
"eyebrow": "Sort du jour",
|
|
22
|
+
"title": "Achetez-en 2, le 3e à -50 %",
|
|
23
|
+
"text": "Déguisement de dernière minute ? Livraison rapide avant le 31.",
|
|
24
|
+
"cta": "Lancer le sort",
|
|
25
|
+
"seal": "Avant le {endDate}"
|
|
26
|
+
},
|
|
27
|
+
"sections": {
|
|
28
|
+
"categories": "Choisissez votre sort",
|
|
29
|
+
"products": "Les plus demandés"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar": [
|
|
3
|
+
"Delivered for Christmas when you order by {endDate}",
|
|
4
|
+
"Free gift wrapping",
|
|
5
|
+
"Personal message card"
|
|
6
|
+
],
|
|
7
|
+
"hero": {
|
|
8
|
+
"eyebrow": "Christmas · Golden collection",
|
|
9
|
+
"title": "Exceptional gifts, wrapped with care",
|
|
10
|
+
"highlight": "Exceptional",
|
|
11
|
+
"sub": "A premium selection up to {discount} off, wrapped for free and delivered in time for Christmas Eve.",
|
|
12
|
+
"cta": "Find the perfect gift",
|
|
13
|
+
"cta2": "Gifts by budget",
|
|
14
|
+
"bubble": [
|
|
15
|
+
"Up to",
|
|
16
|
+
"{discount}",
|
|
17
|
+
"off"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"promo": {
|
|
21
|
+
"eyebrow": "The perfect gift",
|
|
22
|
+
"title": "Golden wrapping and card included",
|
|
23
|
+
"text": "Add your message: we take care of the rest.",
|
|
24
|
+
"cta": "Give it",
|
|
25
|
+
"seal": "Until {endDate}"
|
|
26
|
+
},
|
|
27
|
+
"sections": {
|
|
28
|
+
"categories": "Gifts for…",
|
|
29
|
+
"products": "Premium selection"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar": [
|
|
3
|
+
"Livré avant Noël pour toute commande avant le {endDate}",
|
|
4
|
+
"Emballage cadeau offert",
|
|
5
|
+
"Carte message personnalisée"
|
|
6
|
+
],
|
|
7
|
+
"hero": {
|
|
8
|
+
"eyebrow": "Noël · Collection dorée",
|
|
9
|
+
"title": "Des cadeaux d'exception, emballés avec soin",
|
|
10
|
+
"highlight": "d'exception,",
|
|
11
|
+
"sub": "Une sélection premium jusqu'à -{discount}, emballée gratuitement et livrée à temps pour le réveillon.",
|
|
12
|
+
"cta": "Trouver le cadeau parfait",
|
|
13
|
+
"cta2": "Cadeaux par budget",
|
|
14
|
+
"bubble": [
|
|
15
|
+
"Jusqu'à",
|
|
16
|
+
"{discount}",
|
|
17
|
+
"offerts"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"promo": {
|
|
21
|
+
"eyebrow": "Le cadeau parfait",
|
|
22
|
+
"title": "Emballage doré et carte offerts",
|
|
23
|
+
"text": "Ajoutez votre message : on s'occupe du reste.",
|
|
24
|
+
"cta": "Offrir",
|
|
25
|
+
"seal": "Avant le {endDate}"
|
|
26
|
+
},
|
|
27
|
+
"sections": {
|
|
28
|
+
"categories": "Cadeaux pour…",
|
|
29
|
+
"products": "Sélection premium"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar": [
|
|
3
|
+
"Countdown: {discount} off until midnight",
|
|
4
|
+
"Free shipping over {freeShipping}",
|
|
5
|
+
"Free 30-day returns"
|
|
6
|
+
],
|
|
7
|
+
"hero": {
|
|
8
|
+
"eyebrow": "New Year · Midnight",
|
|
9
|
+
"title": "New year, new you",
|
|
10
|
+
"highlight": "new you",
|
|
11
|
+
"sub": "Fashion, party and wellness up to {discount} off. Start the year right, before {endDate}.",
|
|
12
|
+
"cta": "Start the year",
|
|
13
|
+
"cta2": "Party outfits",
|
|
14
|
+
"bubble": [
|
|
15
|
+
"Up to",
|
|
16
|
+
"{discount}",
|
|
17
|
+
"at midnight"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"promo": {
|
|
21
|
+
"eyebrow": "The 12 strokes of midnight",
|
|
22
|
+
"title": "A new deal every hour",
|
|
23
|
+
"text": "Come back often: the best discounts drop at the last minute.",
|
|
24
|
+
"cta": "See the deal",
|
|
25
|
+
"seal": "Until {endDate}"
|
|
26
|
+
},
|
|
27
|
+
"sections": {
|
|
28
|
+
"categories": "Your resolutions",
|
|
29
|
+
"products": "Shine tonight"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar": [
|
|
3
|
+
"Compte à rebours : -{discount} jusqu'à minuit",
|
|
4
|
+
"Livraison offerte dès {freeShipping}",
|
|
5
|
+
"Retours gratuits 30 jours"
|
|
6
|
+
],
|
|
7
|
+
"hero": {
|
|
8
|
+
"eyebrow": "Nouvel An · Minuit",
|
|
9
|
+
"title": "Nouvelle année, nouveau vous",
|
|
10
|
+
"highlight": "nouveau vous",
|
|
11
|
+
"sub": "Mode, soirée et bien-être jusqu'à -{discount}. Commencez l'année du bon pied, avant le {endDate}.",
|
|
12
|
+
"cta": "Commencer l'année",
|
|
13
|
+
"cta2": "Tenues de soirée",
|
|
14
|
+
"bubble": [
|
|
15
|
+
"Jusqu'à",
|
|
16
|
+
"{discount}",
|
|
17
|
+
"à minuit"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"promo": {
|
|
21
|
+
"eyebrow": "Les 12 coups de minuit",
|
|
22
|
+
"title": "Une nouvelle offre à chaque heure",
|
|
23
|
+
"text": "Revenez souvent : les meilleures remises tombent au dernier moment.",
|
|
24
|
+
"cta": "Voir l'offre",
|
|
25
|
+
"seal": "Jusqu'au {endDate}"
|
|
26
|
+
},
|
|
27
|
+
"sections": {
|
|
28
|
+
"categories": "Vos bonnes résolutions",
|
|
29
|
+
"products": "Pour briller ce soir"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar": [
|
|
3
|
+
"Thank you for being here: {discount} off",
|
|
4
|
+
"Free shipping over {freeShipping}",
|
|
5
|
+
"30-day money back"
|
|
6
|
+
],
|
|
7
|
+
"hero": {
|
|
8
|
+
"eyebrow": "Thanksgiving harvest",
|
|
9
|
+
"title": "A generous table, generous prices",
|
|
10
|
+
"highlight": "generous",
|
|
11
|
+
"sub": "Tableware, kitchen and fall decor up to {discount} off. Host the ones you love, until {endDate}.",
|
|
12
|
+
"cta": "Set my table",
|
|
13
|
+
"cta2": "Hosting ideas",
|
|
14
|
+
"bubble": [
|
|
15
|
+
"Thank you:",
|
|
16
|
+
"{discount}",
|
|
17
|
+
"off"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"promo": {
|
|
21
|
+
"eyebrow": "For the whole family",
|
|
22
|
+
"title": "The harvest basket",
|
|
23
|
+
"text": "Build your full table and save up to {discount}.",
|
|
24
|
+
"cta": "Build my basket",
|
|
25
|
+
"seal": "Until {endDate}"
|
|
26
|
+
},
|
|
27
|
+
"sections": {
|
|
28
|
+
"categories": "Everything to host",
|
|
29
|
+
"products": "Seasonal favorites"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar": [
|
|
3
|
+
"Merci d'être là : -{discount} pour vous",
|
|
4
|
+
"Livraison offerte dès {freeShipping}",
|
|
5
|
+
"Satisfait ou remboursé 30 jours"
|
|
6
|
+
],
|
|
7
|
+
"hero": {
|
|
8
|
+
"eyebrow": "Récolte de Thanksgiving",
|
|
9
|
+
"title": "Une table généreuse, des prix qui le sont aussi",
|
|
10
|
+
"highlight": "généreuse,",
|
|
11
|
+
"sub": "Art de la table, cuisine et déco d'automne jusqu'à -{discount}. Pour recevoir ceux qu'on aime, jusqu'au {endDate}.",
|
|
12
|
+
"cta": "Préparer ma table",
|
|
13
|
+
"cta2": "Idées de réception",
|
|
14
|
+
"bubble": [
|
|
15
|
+
"Merci :",
|
|
16
|
+
"{discount}",
|
|
17
|
+
"offerts"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"promo": {
|
|
21
|
+
"eyebrow": "Pour toute la famille",
|
|
22
|
+
"title": "Le panier de la récolte",
|
|
23
|
+
"text": "Composez votre table complète et économisez jusqu'à -{discount}.",
|
|
24
|
+
"cta": "Composer mon panier",
|
|
25
|
+
"seal": "Jusqu'au {endDate}"
|
|
26
|
+
},
|
|
27
|
+
"sections": {
|
|
28
|
+
"categories": "Tout pour recevoir",
|
|
29
|
+
"products": "Coups de cœur de saison"
|
|
30
|
+
}
|
|
31
|
+
}
|