feat(customers): add controlled CSV and XLSX customer import

This commit is contained in:
Schubert Ferenc 2026-07-12 15:19:15 +02:00
parent 613ffdc8b7
commit 82e03877b3
566 changed files with 2752 additions and 991 deletions

View file

@ -1,9 +1,9 @@
1:"$Sreact.fragment"
2:I[28779,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/3_bqwdscuc1c8.js"],"AuthProvider"]
3:I[24487,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/3_bqwdscuc1c8.js"],"QueryProvider"]
4:I[48026,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/3_bqwdscuc1c8.js"],"AppShell"]
2:I[28779,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/05xkqica3e3uw.js"],"AuthProvider"]
3:I[24487,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/05xkqica3e3uw.js"],"QueryProvider"]
4:I[48026,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/05xkqica3e3uw.js"],"AppShell"]
5:I[39756,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js"],"default"]
6:I[37457,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js"],"default"]
7:I[5500,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/3ehzmerq6j-54.js"],"Image"]
8:I[22016,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/3ehzmerq6j-54.js"],""]
0:{"rsc":["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/3_bqwdscuc1c8.js","async":true}]],["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","template":["$","$L6",null,{}],"notFound":[["$","main",null,{"className":"flex min-h-screen items-center justify-center bg-background px-4","children":["$","section",null,{"className":"w-full max-w-lg rounded-lg border border-border bg-surface p-8 text-center shadow-soft","children":[["$","div",null,{"className":"flex justify-center","children":["$","div",null,{"className":"flex items-center gap-3","children":["$","$L7",null,{"src":"/schubamed-logo.svg","alt":"SCHUBAMED Validation Suite","width":240,"height":64,"priority":true}]}]}],["$","h1",null,{"className":"mt-8 text-3xl font-semibold","children":"Seite nicht gefunden"}],["$","p",null,{"className":"mt-3 text-text-light","children":"Die angeforderte Seite ist nicht vorhanden oder wurde verschoben."}],["$","$L8",null,{"href":"/dashboard","className":"btn btn-primary mt-6","children":"Zum Dashboard"}]]}]}],[]]}]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"T1Sq4P6mWswk2NfmBZrTz"}
0:{"rsc":["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/05xkqica3e3uw.js","async":true}]],["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","template":["$","$L6",null,{}],"notFound":[["$","main",null,{"className":"flex min-h-screen items-center justify-center bg-background px-4","children":["$","section",null,{"className":"w-full max-w-lg rounded-lg border border-border bg-surface p-8 text-center shadow-soft","children":[["$","div",null,{"className":"flex justify-center","children":["$","div",null,{"className":"flex items-center gap-3","children":["$","$L7",null,{"src":"/schubamed-logo.svg","alt":"SCHUBAMED Validation Suite","width":240,"height":64,"priority":true}]}]}],["$","h1",null,{"className":"mt-8 text-3xl font-semibold","children":"Seite nicht gefunden"}],["$","p",null,{"className":"mt-3 text-text-light","children":"Die angeforderte Seite ist nicht vorhanden oder wurde verschoben."}],["$","$L8",null,{"href":"/dashboard","className":"btn btn-primary mt-6","children":"Zum Dashboard"}]]}]}],[]]}]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"MO_FrTIQMTyIgUY4at_vj"}

View file

@ -2,4 +2,4 @@
2:I[39756,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js"],"default"]
3:I[37457,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js"],"default"]
4:[]
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"T1Sq4P6mWswk2NfmBZrTz"}
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"MO_FrTIQMTyIgUY4at_vj"}

View file

@ -1,9 +1,9 @@
1:"$Sreact.fragment"
2:I[47257,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js"],"ClientPageRoot"]
3:I[62406,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/3_bqwdscuc1c8.js","/_next/static/chunks/0ti1a2yw9pft4.js","/_next/static/chunks/26jh-4z-ujjfh.js"],"default"]
3:I[62406,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/05xkqica3e3uw.js","/_next/static/chunks/41jx6c5jfr1py.js","/_next/static/chunks/26jh-4z-ujjfh.js"],"default"]
6:I[97367,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js"],"OutletBoundary"]
7:"$Sreact.suspense"
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0ti1a2yw9pft4.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/26jh-4z-ujjfh.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"T1Sq4P6mWswk2NfmBZrTz"}
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/41jx6c5jfr1py.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/26jh-4z-ujjfh.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"MO_FrTIQMTyIgUY4at_vj"}
4:{}
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
8:null

File diff suppressed because one or more lines are too long

View file

@ -3,4 +3,4 @@
3:I[97367,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js"],"MetadataBoundary"]
4:"$Sreact.suspense"
5:I[27201,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js"],"IconMark"]
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Validation Suite"}],["$","meta","1",{"name":"description","content":"Professionelle Validierungsplattform fuer medizinische Prozesse"}],["$","link","2",{"rel":"icon","href":"/icon.svg?icon.3qohsuqgxm60_.svg","sizes":"any","type":"image/svg+xml"}],["$","$L5","3",{}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"T1Sq4P6mWswk2NfmBZrTz"}
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Validation Suite"}],["$","meta","1",{"name":"description","content":"Professionelle Validierungsplattform fuer medizinische Prozesse"}],["$","link","2",{"rel":"icon","href":"/icon.svg?icon.3qohsuqgxm60_.svg","sizes":"any","type":"image/svg+xml"}],["$","$L5","3",{}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"MO_FrTIQMTyIgUY4at_vj"}

View file

@ -4,5 +4,5 @@
4:I[39756,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js"],"default"]
5:I[37457,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js"],"default"]
6:I[22016,["/_next/static/chunks/05-c3ty_6dwfk.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/3ehzmerq6j-54.js"],""]
:HL["/_next/static/chunks/33g7vuk7-89na.css","style"]
0:{"rsc":["$","$L1",null,{"loading":[["$","main","l",{"className":"flex min-h-screen items-center justify-center bg-background","children":["$","div",null,{"className":"rounded-lg border border-border bg-surface p-8 shadow-soft","children":[["$","div",null,{"className":"flex items-center gap-3","children":["$","$L2",null,{"src":"/schubamed-logo.svg","alt":"SCHUBAMED Validation Suite","width":240,"height":64,"priority":true}]}],["$","div",null,{"className":"mt-6 flex items-center justify-center gap-3 text-text-light","children":[["$","span",null,{"className":"spinner"}],["$","span",null,{"children":"Validation Suite wird geladen."}]]}]]}]}],[],[["$","script","script-0",{"src":"/_next/static/chunks/34jc288cp41wf.js","async":true}]]],"children":["$","$3","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/33g7vuk7-89na.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/05-c3ty_6dwfk.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/14mrh2-p_w84d.js","async":true}]],["$","html",null,{"lang":"de","children":["$","body",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}],"notFound":[["$","main",null,{"className":"flex min-h-screen items-center justify-center bg-background px-4","children":["$","section",null,{"className":"w-full max-w-lg rounded-lg border border-border bg-surface p-8 text-center shadow-soft","children":[["$","div",null,{"className":"flex justify-center","children":["$","div",null,{"className":"flex items-center gap-3","children":["$","$L2",null,{"src":"/schubamed-logo.svg","alt":"SCHUBAMED Validation Suite","width":240,"height":64,"priority":true}]}]}],["$","h1",null,{"className":"mt-8 text-3xl font-semibold","children":"Seite nicht gefunden"}],["$","p",null,{"className":"mt-3 text-text-light","children":"Die angeforderte Seite ist nicht vorhanden oder wurde verschoben."}],["$","$L6",null,{"href":"/dashboard","className":"btn btn-primary mt-6","children":"Zum Dashboard"}]]}]}],[]]}]}]}]]}]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"T1Sq4P6mWswk2NfmBZrTz"}
:HL["/_next/static/chunks/3yh08fx1c3mlz.css","style"]
0:{"rsc":["$","$L1",null,{"loading":[["$","main","l",{"className":"flex min-h-screen items-center justify-center bg-background","children":["$","div",null,{"className":"rounded-lg border border-border bg-surface p-8 shadow-soft","children":[["$","div",null,{"className":"flex items-center gap-3","children":["$","$L2",null,{"src":"/schubamed-logo.svg","alt":"SCHUBAMED Validation Suite","width":240,"height":64,"priority":true}]}],["$","div",null,{"className":"mt-6 flex items-center justify-center gap-3 text-text-light","children":[["$","span",null,{"className":"spinner"}],["$","span",null,{"children":"Validation Suite wird geladen."}]]}]]}]}],[],[["$","script","script-0",{"src":"/_next/static/chunks/34jc288cp41wf.js","async":true}]]],"children":["$","$3","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3yh08fx1c3mlz.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/05-c3ty_6dwfk.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/14mrh2-p_w84d.js","async":true}]],["$","html",null,{"lang":"de","children":["$","body",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}],"notFound":[["$","main",null,{"className":"flex min-h-screen items-center justify-center bg-background px-4","children":["$","section",null,{"className":"w-full max-w-lg rounded-lg border border-border bg-surface p-8 text-center shadow-soft","children":[["$","div",null,{"className":"flex justify-center","children":["$","div",null,{"className":"flex items-center gap-3","children":["$","$L2",null,{"src":"/schubamed-logo.svg","alt":"SCHUBAMED Validation Suite","width":240,"height":64,"priority":true}]}]}],["$","h1",null,{"className":"mt-8 text-3xl font-semibold","children":"Seite nicht gefunden"}],["$","p",null,{"className":"mt-3 text-text-light","children":"Die angeforderte Seite ist nicht vorhanden oder wurde verschoben."}],["$","$L6",null,{"href":"/dashboard","className":"btn btn-primary mt-6","children":"Zum Dashboard"}]]}]}],[]]}]}]}]]}]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"MO_FrTIQMTyIgUY4at_vj"}

View file

@ -1,2 +1,2 @@
:HL["/_next/static/chunks/33g7vuk7-89na.css","style"]
0:{"tree":{"name":"","param":null,"prefetchHints":20,"slots":{"children":{"name":"(app)","param":null,"prefetchHints":0,"slots":{"children":{"name":"validations","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"T1Sq4P6mWswk2NfmBZrTz"}
:HL["/_next/static/chunks/3yh08fx1c3mlz.css","style"]
0:{"tree":{"name":"","param":null,"prefetchHints":20,"slots":{"children":{"name":"(app)","param":null,"prefetchHints":0,"slots":{"children":{"name":"validations","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"MO_FrTIQMTyIgUY4at_vj"}