@neosianexus/super-tebex 2.0.0 → 2.0.1

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/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- var{defineProperty:T,getOwnPropertyNames:E,getOwnPropertyDescriptor:I}=Object,Q=Object.prototype.hasOwnProperty;var W=new WeakMap,ee=(r)=>{var e=W.get(r),t;if(e)return e;if(e=T({},"__esModule",{value:!0}),r&&typeof r==="object"||typeof r==="function")E(r).map((s)=>!Q.call(e,s)&&T(e,s,{get:()=>r[s],enumerable:!(t=I(r,s))||t.enumerable}));return W.set(r,e),e};var re=(r,e)=>{for(var t in e)T(r,t,{get:e[t],enumerable:!0,configurable:!0,set:(s)=>e[t]=()=>s})};var Ue={};re(Ue,{useShopUserStore:()=>U,useShopUiStore:()=>S,useShopBasketStore:()=>C,useCreateBasket:()=>G,useCategories:()=>M,useBasket:()=>J,getTebex:()=>p,categoriesService:()=>P,basketService:()=>x});module.exports=ee(Ue);var te=require("tebex_headless"),R=null;var oe=()=>{if(!R)throw Error("Tebex client not initialized. Call initTebex(publicKey) first.");return R},p=oe;var b=require("react"),B=require("sonner");var se=async({username:r,completeUrl:e,cancelUrl:t,custom:s,completeAutoRedirect:i,ipAddress:m})=>{return(await p()).createMinecraftBasket(r,e,t,s,i,m)},ae=async(r)=>{return(await p()).getBasket(r)},ne=async(r,e,t,s,i)=>{return(await p()).addPackageToBasket(r,e,t??1,s,i)},ie=async(r,e,t)=>{return(await p()).updateQuantity(r,e,t-1>=0?t-1:0)},le={createBasket:se,getBasket:ae,addPackageToBasket:ne,removePackageFromBasket:ie},x=le;var F=require("zustand"),d=require("zustand/middleware"),ce=F.create()(d.subscribeWithSelector(d.persist((r)=>({basketIdent:null,setBasketIdent:(e)=>r({basketIdent:e}),clearBasketIdent:()=>r({basketIdent:null})}),{name:"shop-basket-store"}))),C=ce;var K=require("zustand"),j=require("zustand/middleware"),me=K.create()(j.subscribeWithSelector((r)=>({isGlobalLoading:!1,setIsGlobalLoading:(e)=>r({isGlobalLoading:e}),isCreatingBasket:!1,setIsCreatingBasket:(e)=>r({isCreatingBasket:e})}))),S=me;var q=require("zustand"),w=require("zustand/middleware"),pe=q.create()(w.subscribeWithSelector(w.persist((r)=>({username:"",setUsername:(e)=>r({username:e}),clearUsername:()=>r({username:""})}),{name:"shop-user-store"}))),U=pe;var D=require("react"),L=require("sonner");var y=null;var fe=async({includePackages:r,basketIdent:e,ipAddress:t})=>{return(await p()).getCategories(r,e,t)},ge={getCategories:fe},P=ge;var ue=async(r)=>{let{isCreatingBasket:e,setIsCreatingBasket:t,setBasketIdent:s,createBasket:i,username:m}=r;if(e)return null;let{completeUrl:o,cancelUrl:g}=Ce();try{t(!0);let c=await i({username:m,completeUrl:o,cancelUrl:g,completeAutoRedirect:!1,ipAddress:""});if(!c?.ident)return L.toast.error("Une erreur est survenue lors de la création du panier"),null;return s(c.ident),c}catch{return L.toast.error("Erreur lors de la création du panier. Contactez le support si le problème persiste."),null}finally{t(!1)}},xe=(r)=>{let e=S((o)=>o.isCreatingBasket),t=S((o)=>o.setIsCreatingBasket),s=C((o)=>o.setBasketIdent),i=U((o)=>o.username);return D.useCallback(()=>ue({isCreatingBasket:e,setIsCreatingBasket:t,setBasketIdent:s,createBasket:x.createBasket,username:r??i}),[e,t,s,r,i])},Ce=()=>{if(!y)throw Error("Shop URLs not initialized. Call initShopUrls(baseUrl, paths?: { complete?: string; cancel?: string }) first.");return{completeUrl:y.completeUrl,cancelUrl:y.cancelUrl}},G=xe;var Be=(r)=>{let[e,t]=b.useState(null),[s,i]=b.useState(!1),[m,o]=b.useState(null),[g,c]=b.useState(!1),n=C((a)=>a.basketIdent),k=C((a)=>a.setBasketIdent),N=U((a)=>a.username),v=r??N,O=G(v),A=C((a)=>a.clearBasketIdent),H=async(a)=>{i(!0),o(null);try{let l=await x.getBasket(a);if(l.complete){t(null),A(),o(null);return}t(l),k(l.ident),o(null)}catch(l){o(l),t(null),A()}finally{i(!1)}},V=async(a,l,h,_)=>{if(g)return;try{if(c(!0),!v){B.toast.error("Vous devez vous connecter pour ajouter des articles à votre panier");return}let u=null;if(!n){if(u=(await O())?.ident??null,!u){B.toast.error("Une erreur est survenue lors de la création du panier");return}k(u)}else u=n;if(!u){B.toast.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let z=x.addPackageToBasket(u,a,l,h,_);B.toast.promise(z,{loading:"Ajout de l'article dans votre panier...",success:"Article ajouté avec succès !",error:"Une erreur est survenue lors de l'ajout de l'article dans votre panier"});let $=await z;t($),o(null)}catch(u){o(u)}finally{c(!1)}},X=async(a)=>{if(g)return;try{if(c(!0),!n){B.toast.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let l=x.removePackageFromBasket(n,a,e?.packages.find((h)=>h.id===a)?.in_basket.quantity??0);l.then((h)=>{t(h),o(null)}),B.toast.promise(l,{loading:"Suppression de l'article de votre panier...",success:"Article supprimé avec succès !",error:"Une erreur est survenue lors de la suppression de l'article de votre panier"})}catch(l){o(l)}finally{c(!1)}},Y=async()=>{if(n)await H(n)},Z=(a)=>{t(a)};return b.useEffect(()=>{if(!n)return;H(n)},[n]),{basket:e,loading:s,error:m,updateManualBasket:Z,addPackageToBasket:V,removePackageFromBasket:X,refetch:Y}},J=Be;var f=require("react");var be=(r)=>{let[e,t]=f.useState(null),[s,i]=f.useState(!0),[m,o]=f.useState(null),g=f.useCallback(async()=>{i(!0),o(null);try{let n=await P.getCategories(r);t(n)}catch(n){o(n),t(null)}finally{i(!1)}},[r]);f.useEffect(()=>{g()},[g]);let c=f.useCallback((n)=>e?.find((k)=>k.name.toLowerCase()===n.toLowerCase()),[e]);return{categories:e,loading:s,error:m,getByName:c,refetch:g}},M=be;
1
+ var{defineProperty:R,getOwnPropertyNames:ee,getOwnPropertyDescriptor:re}=Object,te=Object.prototype.hasOwnProperty;var W=new WeakMap,oe=(e)=>{var r=W.get(e),t;if(r)return r;if(r=R({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")ee(e).map((o)=>!te.call(r,o)&&R(r,o,{get:()=>e[o],enumerable:!(t=re(e,o))||t.enumerable}));return W.set(e,r),r};var se=(e,r)=>{for(var t in r)R(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})};var de={};se(de,{useShopUserStore:()=>h,useShopUiStore:()=>d,useShopBasketStore:()=>C,useCreateBasket:()=>T,useCategories:()=>V,useBasket:()=>O,tebex:()=>k,shopUrls:()=>U,initTebex:()=>j,initShopUrls:()=>F,getTebex:()=>p,categoriesService:()=>G,basketService:()=>x});module.exports=oe(de);var U=null,ae=(e,r)=>{let t=r?.complete??"/shop/complete-purchase",o=r?.cancel??"/shop/cancel-purchase";U={completeUrl:new URL(t,e).toString(),cancelUrl:new URL(o,e).toString()}},F=ae;var K=require("tebex_headless"),k=null,ne=(e)=>{k=new K.TebexHeadless(e)},j=ne;var ie=()=>{if(!k)throw Error("Tebex client not initialized. Call initTebex(publicKey) first.");return k},p=ie;var b=require("react"),B=require("sonner");var le=async({username:e,completeUrl:r,cancelUrl:t,custom:o,completeAutoRedirect:i,ipAddress:m})=>{return(await p()).createMinecraftBasket(e,r,t,o,i,m)},ce=async(e)=>{return(await p()).getBasket(e)},me=async(e,r,t,o,i)=>{return(await p()).addPackageToBasket(e,r,t??1,o,i)},pe=async(e,r,t)=>{return(await p()).updateQuantity(e,r,t-1>=0?t-1:0)},fe={createBasket:le,getBasket:ce,addPackageToBasket:me,removePackageFromBasket:pe},x=fe;var q=require("zustand"),y=require("zustand/middleware"),ge=q.create()(y.subscribeWithSelector(y.persist((e)=>({basketIdent:null,setBasketIdent:(r)=>e({basketIdent:r}),clearBasketIdent:()=>e({basketIdent:null})}),{name:"shop-basket-store"}))),C=ge;var D=require("zustand"),J=require("zustand/middleware"),ue=D.create()(J.subscribeWithSelector((e)=>({isGlobalLoading:!1,setIsGlobalLoading:(r)=>e({isGlobalLoading:r}),isCreatingBasket:!1,setIsCreatingBasket:(r)=>e({isCreatingBasket:r})}))),d=ue;var M=require("zustand"),P=require("zustand/middleware"),xe=M.create()(P.subscribeWithSelector(P.persist((e)=>({username:"",setUsername:(r)=>e({username:r}),clearUsername:()=>e({username:""})}),{name:"shop-user-store"}))),h=xe;var N=require("react"),L=require("sonner");var Ce=async({includePackages:e,basketIdent:r,ipAddress:t})=>{return(await p()).getCategories(e,r,t)},Be={getCategories:Ce},G=Be;var be=async(e)=>{let{isCreatingBasket:r,setIsCreatingBasket:t,setBasketIdent:o,createBasket:i,username:m}=e;if(r)return null;let{completeUrl:s,cancelUrl:g}=he();try{t(!0);let c=await i({username:m,completeUrl:s,cancelUrl:g,completeAutoRedirect:!1,ipAddress:""});if(!c?.ident)return L.toast.error("Une erreur est survenue lors de la création du panier"),null;return o(c.ident),c}catch{return L.toast.error("Erreur lors de la création du panier. Contactez le support si le problème persiste."),null}finally{t(!1)}},Ue=(e)=>{let r=d((s)=>s.isCreatingBasket),t=d((s)=>s.setIsCreatingBasket),o=C((s)=>s.setBasketIdent),i=h((s)=>s.username);return N.useCallback(()=>be({isCreatingBasket:r,setIsCreatingBasket:t,setBasketIdent:o,createBasket:x.createBasket,username:e??i}),[r,t,o,e,i])},he=()=>{if(!U)throw Error("Shop URLs not initialized. Call initShopUrls(baseUrl, paths?: { complete?: string; cancel?: string }) first.");return{completeUrl:U.completeUrl,cancelUrl:U.cancelUrl}},T=Ue;var Se=(e)=>{let[r,t]=b.useState(null),[o,i]=b.useState(!1),[m,s]=b.useState(null),[g,c]=b.useState(!1),n=C((a)=>a.basketIdent),w=C((a)=>a.setBasketIdent),X=h((a)=>a.username),v=e??X,Y=T(v),A=C((a)=>a.clearBasketIdent),H=async(a)=>{i(!0),s(null);try{let l=await x.getBasket(a);if(l.complete){t(null),A(),s(null);return}t(l),w(l.ident),s(null)}catch(l){s(l),t(null),A()}finally{i(!1)}},Z=async(a,l,S,I)=>{if(g)return;try{if(c(!0),!v){B.toast.error("Vous devez vous connecter pour ajouter des articles à votre panier");return}let u=null;if(!n){if(u=(await Y())?.ident??null,!u){B.toast.error("Une erreur est survenue lors de la création du panier");return}w(u)}else u=n;if(!u){B.toast.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let z=x.addPackageToBasket(u,a,l,S,I);B.toast.promise(z,{loading:"Ajout de l'article dans votre panier...",success:"Article ajouté avec succès !",error:"Une erreur est survenue lors de l'ajout de l'article dans votre panier"});let Q=await z;t(Q),s(null)}catch(u){s(u)}finally{c(!1)}},_=async(a)=>{if(g)return;try{if(c(!0),!n){B.toast.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let l=x.removePackageFromBasket(n,a,r?.packages.find((S)=>S.id===a)?.in_basket.quantity??0);l.then((S)=>{t(S),s(null)}),B.toast.promise(l,{loading:"Suppression de l'article de votre panier...",success:"Article supprimé avec succès !",error:"Une erreur est survenue lors de la suppression de l'article de votre panier"})}catch(l){s(l)}finally{c(!1)}},$=async()=>{if(n)await H(n)},E=(a)=>{t(a)};return b.useEffect(()=>{if(!n)return;H(n)},[n]),{basket:r,loading:o,error:m,updateManualBasket:E,addPackageToBasket:Z,removePackageFromBasket:_,refetch:$}},O=Se;var f=require("react");var ke=(e)=>{let[r,t]=f.useState(null),[o,i]=f.useState(!0),[m,s]=f.useState(null),g=f.useCallback(async()=>{i(!0),s(null);try{let n=await G.getCategories(e);t(n)}catch(n){s(n),t(null)}finally{i(!1)}},[e]);f.useEffect(()=>{g()},[g]);let c=f.useCallback((n)=>r?.find((w)=>w.name.toLowerCase()===n.toLowerCase()),[r]);return{categories:r,loading:o,error:m,getByName:c,refetch:g}},V=ke;
package/dist/index.d.ts CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  import { Basket, Category, InBasket, Package, PackageType, TebexHeadless } from 'tebex_headless';
4
4
 
5
+ export interface GetShopUrlsResult {
6
+ completeUrl: string;
7
+ cancelUrl: string;
8
+ }
9
+ export declare const useCreateBasket: (username: string | null) => (() => Promise<Basket | null>);
10
+ export declare let shopUrls: GetShopUrlsResult | null;
11
+ export declare const initShopUrls: (baseUrl: string, paths?: {
12
+ complete?: string;
13
+ cancel?: string;
14
+ }) => void;
15
+ export declare let tebex: TebexHeadless | null;
16
+ export declare const initTebex: (publicKey: string) => void;
5
17
  export declare const getTebex: () => TebexHeadless;
6
18
  export interface UseBasketResult {
7
19
  basket: Basket | null;
@@ -39,7 +51,6 @@ export interface UseCategoriesResult {
39
51
  refetch: () => Promise<void>;
40
52
  }
41
53
  export declare const useCategories: (options: GetCategories) => UseCategoriesResult;
42
- export declare const useCreateBasket: (username: string | null) => (() => Promise<Basket | null>);
43
54
  export declare const basketService: {
44
55
  createBasket: ({ username, completeUrl, cancelUrl, custom, completeAutoRedirect, ipAddress, }: CreateBasketProps) => Promise<Basket>;
45
56
  getBasket: (basketIdent: Basket["ident"]) => Promise<Basket>;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{TebexHeadless as Be}from"tebex_headless";var d=null;var J=()=>{if(!d)throw Error("Tebex client not initialized. Call initTebex(publicKey) first.");return d},g=J;import{useEffect as me,useState as k}from"react";import{toast as C}from"sonner";var M=async({username:e,completeUrl:r,cancelUrl:t,custom:n,completeAutoRedirect:i,ipAddress:m})=>{return(await g()).createMinecraftBasket(e,r,t,n,i,m)},N=async(e)=>{return(await g()).getBasket(e)},O=async(e,r,t,n,i)=>{return(await g()).addPackageToBasket(e,r,t??1,n,i)},V=async(e,r,t)=>{return(await g()).updateQuantity(e,r,t-1>=0?t-1:0)},X={createBasket:M,getBasket:N,addPackageToBasket:O,removePackageFromBasket:V},u=X;import{create as Y}from"zustand";import{persist as Z,subscribeWithSelector as _}from"zustand/middleware";var $=Y()(_(Z((e)=>({basketIdent:null,setBasketIdent:(r)=>e({basketIdent:r}),clearBasketIdent:()=>e({basketIdent:null})}),{name:"shop-basket-store"}))),x=$;import{create as E}from"zustand";import{subscribeWithSelector as I}from"zustand/middleware";var Q=E()(I((e)=>({isGlobalLoading:!1,setIsGlobalLoading:(r)=>e({isGlobalLoading:r}),isCreatingBasket:!1,setIsCreatingBasket:(r)=>e({isCreatingBasket:r})}))),h=Q;import{create as ee}from"zustand";import{persist as re,subscribeWithSelector as te}from"zustand/middleware";var oe=ee()(te(re((e)=>({username:"",setUsername:(r)=>e({username:r}),clearUsername:()=>e({username:""})}),{name:"shop-user-store"}))),b=oe;import{useCallback as ne}from"react";import{toast as v}from"sonner";var S=null;var se=async({includePackages:e,basketIdent:r,ipAddress:t})=>{return(await g()).getCategories(e,r,t)},ae={getCategories:se},w=ae;var ie=async(e)=>{let{isCreatingBasket:r,setIsCreatingBasket:t,setBasketIdent:n,createBasket:i,username:m}=e;if(r)return null;let{completeUrl:o,cancelUrl:p}=ce();try{t(!0);let c=await i({username:m,completeUrl:o,cancelUrl:p,completeAutoRedirect:!1,ipAddress:""});if(!c?.ident)return v.error("Une erreur est survenue lors de la création du panier"),null;return n(c.ident),c}catch{return v.error("Erreur lors de la création du panier. Contactez le support si le problème persiste."),null}finally{t(!1)}},le=(e)=>{let r=h((o)=>o.isCreatingBasket),t=h((o)=>o.setIsCreatingBasket),n=x((o)=>o.setBasketIdent),i=b((o)=>o.username);return ne(()=>ie({isCreatingBasket:r,setIsCreatingBasket:t,setBasketIdent:n,createBasket:u.createBasket,username:e??i}),[r,t,n,e,i])},ce=()=>{if(!S)throw Error("Shop URLs not initialized. Call initShopUrls(baseUrl, paths?: { complete?: string; cancel?: string }) first.");return{completeUrl:S.completeUrl,cancelUrl:S.cancelUrl}},y=le;var pe=(e)=>{let[r,t]=k(null),[n,i]=k(!1),[m,o]=k(null),[p,c]=k(!1),a=x((s)=>s.basketIdent),U=x((s)=>s.setBasketIdent),H=b((s)=>s.username),G=e??H,z=y(G),T=x((s)=>s.clearBasketIdent),R=async(s)=>{i(!0),o(null);try{let l=await u.getBasket(s);if(l.complete){t(null),T(),o(null);return}t(l),U(l.ident),o(null)}catch(l){o(l),t(null),T()}finally{i(!1)}},W=async(s,l,B,q)=>{if(p)return;try{if(c(!0),!G){C.error("Vous devez vous connecter pour ajouter des articles à votre panier");return}let f=null;if(!a){if(f=(await z())?.ident??null,!f){C.error("Une erreur est survenue lors de la création du panier");return}U(f)}else f=a;if(!f){C.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let L=u.addPackageToBasket(f,s,l,B,q);C.promise(L,{loading:"Ajout de l'article dans votre panier...",success:"Article ajouté avec succès !",error:"Une erreur est survenue lors de l'ajout de l'article dans votre panier"});let D=await L;t(D),o(null)}catch(f){o(f)}finally{c(!1)}},F=async(s)=>{if(p)return;try{if(c(!0),!a){C.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let l=u.removePackageFromBasket(a,s,r?.packages.find((B)=>B.id===s)?.in_basket.quantity??0);l.then((B)=>{t(B),o(null)}),C.promise(l,{loading:"Suppression de l'article de votre panier...",success:"Article supprimé avec succès !",error:"Une erreur est survenue lors de la suppression de l'article de votre panier"})}catch(l){o(l)}finally{c(!1)}},K=async()=>{if(a)await R(a)},j=(s)=>{t(s)};return me(()=>{if(!a)return;R(a)},[a]),{basket:r,loading:n,error:m,updateManualBasket:j,addPackageToBasket:W,removePackageFromBasket:F,refetch:K}},fe=pe;import{useCallback as A,useEffect as ge,useState as P}from"react";var ue=(e)=>{let[r,t]=P(null),[n,i]=P(!0),[m,o]=P(null),p=A(async()=>{i(!0),o(null);try{let a=await w.getCategories(e);t(a)}catch(a){o(a),t(null)}finally{i(!1)}},[e]);ge(()=>{p()},[p]);let c=A((a)=>r?.find((U)=>U.name.toLowerCase()===a.toLowerCase()),[r]);return{categories:r,loading:n,error:m,getByName:c,refetch:p}},xe=ue;export{b as useShopUserStore,h as useShopUiStore,x as useShopBasketStore,y as useCreateBasket,xe as useCategories,fe as useBasket,g as getTebex,w as categoriesService,u as basketService};
1
+ var b=null,J=(e,r)=>{let t=r?.complete??"/shop/complete-purchase",s=r?.cancel??"/shop/cancel-purchase";b={completeUrl:new URL(t,e).toString(),cancelUrl:new URL(s,e).toString()}},M=J;import{TebexHeadless as N}from"tebex_headless";var S=null,O=(e)=>{S=new N(e)},V=O;var X=()=>{if(!S)throw Error("Tebex client not initialized. Call initTebex(publicKey) first.");return S},g=X;import{useEffect as xe,useState as d}from"react";import{toast as C}from"sonner";var Y=async({username:e,completeUrl:r,cancelUrl:t,custom:s,completeAutoRedirect:i,ipAddress:m})=>{return(await g()).createMinecraftBasket(e,r,t,s,i,m)},Z=async(e)=>{return(await g()).getBasket(e)},_=async(e,r,t,s,i)=>{return(await g()).addPackageToBasket(e,r,t??1,s,i)},$=async(e,r,t)=>{return(await g()).updateQuantity(e,r,t-1>=0?t-1:0)},E={createBasket:Y,getBasket:Z,addPackageToBasket:_,removePackageFromBasket:$},u=E;import{create as I}from"zustand";import{persist as Q,subscribeWithSelector as ee}from"zustand/middleware";var re=I()(ee(Q((e)=>({basketIdent:null,setBasketIdent:(r)=>e({basketIdent:r}),clearBasketIdent:()=>e({basketIdent:null})}),{name:"shop-basket-store"}))),x=re;import{create as te}from"zustand";import{subscribeWithSelector as oe}from"zustand/middleware";var se=te()(oe((e)=>({isGlobalLoading:!1,setIsGlobalLoading:(r)=>e({isGlobalLoading:r}),isCreatingBasket:!1,setIsCreatingBasket:(r)=>e({isCreatingBasket:r})}))),k=se;import{create as ae}from"zustand";import{persist as ne,subscribeWithSelector as ie}from"zustand/middleware";var le=ae()(ie(ne((e)=>({username:"",setUsername:(r)=>e({username:r}),clearUsername:()=>e({username:""})}),{name:"shop-user-store"}))),U=le;import{useCallback as pe}from"react";import{toast as v}from"sonner";var ce=async({includePackages:e,basketIdent:r,ipAddress:t})=>{return(await g()).getCategories(e,r,t)},me={getCategories:ce},w=me;var fe=async(e)=>{let{isCreatingBasket:r,setIsCreatingBasket:t,setBasketIdent:s,createBasket:i,username:m}=e;if(r)return null;let{completeUrl:o,cancelUrl:p}=ue();try{t(!0);let c=await i({username:m,completeUrl:o,cancelUrl:p,completeAutoRedirect:!1,ipAddress:""});if(!c?.ident)return v.error("Une erreur est survenue lors de la création du panier"),null;return s(c.ident),c}catch{return v.error("Erreur lors de la création du panier. Contactez le support si le problème persiste."),null}finally{t(!1)}},ge=(e)=>{let r=k((o)=>o.isCreatingBasket),t=k((o)=>o.setIsCreatingBasket),s=x((o)=>o.setBasketIdent),i=U((o)=>o.username);return pe(()=>fe({isCreatingBasket:r,setIsCreatingBasket:t,setBasketIdent:s,createBasket:u.createBasket,username:e??i}),[r,t,s,e,i])},ue=()=>{if(!b)throw Error("Shop URLs not initialized. Call initShopUrls(baseUrl, paths?: { complete?: string; cancel?: string }) first.");return{completeUrl:b.completeUrl,cancelUrl:b.cancelUrl}},y=ge;var Ce=(e)=>{let[r,t]=d(null),[s,i]=d(!1),[m,o]=d(null),[p,c]=d(!1),n=x((a)=>a.basketIdent),h=x((a)=>a.setBasketIdent),H=U((a)=>a.username),G=e??H,z=y(G),T=x((a)=>a.clearBasketIdent),R=async(a)=>{i(!0),o(null);try{let l=await u.getBasket(a);if(l.complete){t(null),T(),o(null);return}t(l),h(l.ident),o(null)}catch(l){o(l),t(null),T()}finally{i(!1)}},W=async(a,l,B,q)=>{if(p)return;try{if(c(!0),!G){C.error("Vous devez vous connecter pour ajouter des articles à votre panier");return}let f=null;if(!n){if(f=(await z())?.ident??null,!f){C.error("Une erreur est survenue lors de la création du panier");return}h(f)}else f=n;if(!f){C.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let L=u.addPackageToBasket(f,a,l,B,q);C.promise(L,{loading:"Ajout de l'article dans votre panier...",success:"Article ajouté avec succès !",error:"Une erreur est survenue lors de l'ajout de l'article dans votre panier"});let D=await L;t(D),o(null)}catch(f){o(f)}finally{c(!1)}},F=async(a)=>{if(p)return;try{if(c(!0),!n){C.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let l=u.removePackageFromBasket(n,a,r?.packages.find((B)=>B.id===a)?.in_basket.quantity??0);l.then((B)=>{t(B),o(null)}),C.promise(l,{loading:"Suppression de l'article de votre panier...",success:"Article supprimé avec succès !",error:"Une erreur est survenue lors de la suppression de l'article de votre panier"})}catch(l){o(l)}finally{c(!1)}},K=async()=>{if(n)await R(n)},j=(a)=>{t(a)};return xe(()=>{if(!n)return;R(n)},[n]),{basket:r,loading:s,error:m,updateManualBasket:j,addPackageToBasket:W,removePackageFromBasket:F,refetch:K}},Be=Ce;import{useCallback as A,useEffect as be,useState as P}from"react";var Ue=(e)=>{let[r,t]=P(null),[s,i]=P(!0),[m,o]=P(null),p=A(async()=>{i(!0),o(null);try{let n=await w.getCategories(e);t(n)}catch(n){o(n),t(null)}finally{i(!1)}},[e]);be(()=>{p()},[p]);let c=A((n)=>r?.find((h)=>h.name.toLowerCase()===n.toLowerCase()),[r]);return{categories:r,loading:s,error:m,getByName:c,refetch:p}},he=Ue;export{U as useShopUserStore,k as useShopUiStore,x as useShopBasketStore,y as useCreateBasket,he as useCategories,Be as useBasket,S as tebex,b as shopUrls,V as initTebex,M as initShopUrls,g as getTebex,w as categoriesService,u as basketService};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@neosianexus/super-tebex",
3
3
  "type": "module",
4
- "version": "2.0.0",
4
+ "version": "2.0.1",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",