@feedmepos/mf-miniprogram-v2 0.2.2-dev.26 → 0.2.2-dev.27
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/{App-CfZCp6Re.js → App-DHpF0JMk.js} +65 -66
- package/dist/AppTemplatePicker.vue_vue_type_script_setup_true_lang-DlQnLlND.js +231 -0
- package/dist/{BrandFontPicker-kQKWf1hL.js → BrandFontPicker-BxPN0_Bo.js} +1 -1
- package/dist/{BrandKitView-RaUWE69b.js → BrandKitView-CGdw34dr.js} +2 -2
- package/dist/{ControlPlaneView-BBma4r2B.js → ControlPlaneView-Bpj99Skz.js} +5728 -5487
- package/dist/{EcosystemView-DgAgcFmd.js → EcosystemView-ChcCixWy.js} +4 -4
- package/dist/MobileProjectsView-DU2qBDZy.js +371 -0
- package/dist/ModuleCenterView-DLrDO93Q.js +165 -0
- package/dist/{ModuleDetailView-CSfMF0Uo.js → ModuleDetailView-Da3qvz_8.js} +1 -1
- package/dist/{PagesView-B1uTuHsK.js → PagesView-B_86Haw-.js} +1 -1
- package/dist/{PortalSettingsView-CUOL2tdF.js → PortalSettingsView-CiHYX-tw.js} +2 -2
- package/dist/{TemplateCenterView-DqZLthqh.js → TemplateCenterView-C2N9ddWj.js} +2 -2
- package/dist/{WorkspaceEntryView-BNl0REzn.js → WorkspaceEntryView-BAxGOWe5.js} +1 -1
- package/dist/{adminAccess-oXC0xjvK.js → adminAccess-Bzpn1nIn.js} +2 -2
- package/dist/app.js +11 -11
- package/dist/{controlPlane-sXaC6pAh.js → controlPlane--Q2ulw38.js} +7 -7
- package/dist/package.json +1 -1
- package/dist/{portalContext-DV-6uUwp.js → portalContext-Bx02hCyg.js} +2 -2
- package/dist/{routes-CeuodIgg.js → routes-CTQTYdcO.js} +33 -27
- package/dist/style.css +1 -1
- package/dist/{useBrandKit-CkdPQRE-.js → useBrandKit-tjDGJeZ6.js} +1 -1
- package/dist/{useModuleCatalog-Cep-pzWO.js → useModuleCatalog-DRtQzNvy.js} +2 -2
- package/package.json +1 -1
- package/dist/AppTemplatePicker-CNJ6kIJk.js +0 -237
- package/dist/MobileProjectsView-D-tXKwr7.js +0 -313
- package/dist/ModuleCenterView-C6mCPATr.js +0 -147
- package/dist/templatePickerFlag-CosY_15R.js +0 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as jt, e as xt } from "./index-CIJWcl_6.js";
|
|
2
2
|
import { computed as nt, reactive as Et } from "vue";
|
|
3
|
-
import {
|
|
3
|
+
import { i as x, e as ot } from "./controlPlane--Q2ulw38.js";
|
|
4
4
|
import { useCoreStore as At } from "@feedmepos/mf-common";
|
|
5
5
|
const it = [
|
|
6
6
|
"Inter",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as x, resolveComponent as p, openBlock as u, createElementBlock as h, createVNode as E, createElementVNode as P, normalizeClass as F, toDisplayString as v, createCommentVNode as g, createBlock as L, shallowReadonly as r, ref as s } from "vue";
|
|
2
|
-
import { a as w } from "./routes-
|
|
3
|
-
import { c as M, e as y,
|
|
2
|
+
import { a as w } from "./routes-CTQTYdcO.js";
|
|
3
|
+
import { c as M, e as y, g as $ } from "./controlPlane--Q2ulw38.js";
|
|
4
4
|
const I = { class: "flex min-h-0 flex-1 flex-col items-center justify-center gap-8 p-24 text-center" }, T = {
|
|
5
5
|
key: 0,
|
|
6
6
|
class: "m-0 max-w-[46ch] fm-typo-en-body-sm-400 text-portal-text-muted"
|
package/package.json
CHANGED
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import { defineComponent as W, computed as h, openBlock as r, createElementBlock as l, createStaticVNode as v, createCommentVNode as f, ref as E, createElementVNode as n, Fragment as S, renderList as g, normalizeClass as K, toDisplayString as b, createVNode as J } from "vue";
|
|
2
|
-
import { _ as T } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
3
|
-
function dt(t) {
|
|
4
|
-
return t === "active" ? "success" : t === "needs_attention" ? "warning" : "neutral";
|
|
5
|
-
}
|
|
6
|
-
function ut(t) {
|
|
7
|
-
return t === "active" ? "Active" : t === "needs_attention" ? "Needs attention" : "Archived";
|
|
8
|
-
}
|
|
9
|
-
function ct(t) {
|
|
10
|
-
return t === "succeeded" ? "success" : t === "failed" ? "error" : t === "queued" || t === "running" ? "info" : "neutral";
|
|
11
|
-
}
|
|
12
|
-
function pt(t) {
|
|
13
|
-
switch (t) {
|
|
14
|
-
case "queued":
|
|
15
|
-
return "Queued";
|
|
16
|
-
case "running":
|
|
17
|
-
return "Running";
|
|
18
|
-
case "succeeded":
|
|
19
|
-
return "Built";
|
|
20
|
-
case "failed":
|
|
21
|
-
return "Build failed";
|
|
22
|
-
default:
|
|
23
|
-
return "No build yet";
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function ft(t) {
|
|
27
|
-
switch (t) {
|
|
28
|
-
case "ready":
|
|
29
|
-
return "Ready";
|
|
30
|
-
case "provisioning":
|
|
31
|
-
return "Setting up";
|
|
32
|
-
case "failed":
|
|
33
|
-
return "Setup failed";
|
|
34
|
-
default:
|
|
35
|
-
return "Not set up";
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
const F = ["preview", "published", "rolled_back"];
|
|
39
|
-
function yt(t) {
|
|
40
|
-
return F.includes(t.status);
|
|
41
|
-
}
|
|
42
|
-
function Vt(t) {
|
|
43
|
-
return t.is_live === 1 ? "Live" : t.build_status === "queued" || t.build_status === "running" ? "Building" : t.build_status === "failed" ? "Failed" : t.build_status === "succeeded" ? "Ready" : "Draft";
|
|
44
|
-
}
|
|
45
|
-
function ht(t) {
|
|
46
|
-
return t.is_live === 1 ? "primary" : t.build_status === "succeeded" ? "success" : t.build_status === "queued" || t.build_status === "running" ? "info" : t.build_status === "failed" ? "error" : "neutral";
|
|
47
|
-
}
|
|
48
|
-
const A = {
|
|
49
|
-
key: 0,
|
|
50
|
-
viewBox: "0 0 56 96",
|
|
51
|
-
class: "h-[72px] w-[42px] shrink-0 rounded-[6px] border border-portal-border-default bg-portal-bg-default",
|
|
52
|
-
"aria-hidden": "true",
|
|
53
|
-
focusable: "false"
|
|
54
|
-
}, Y = {
|
|
55
|
-
key: 0,
|
|
56
|
-
fill: "currentColor",
|
|
57
|
-
class: "text-fm-color-neutral-gray-300"
|
|
58
|
-
}, L = {
|
|
59
|
-
key: 1,
|
|
60
|
-
fill: "currentColor",
|
|
61
|
-
class: "text-fm-color-neutral-gray-300"
|
|
62
|
-
}, Z = {
|
|
63
|
-
key: 2,
|
|
64
|
-
fill: "currentColor",
|
|
65
|
-
class: "text-fm-color-neutral-gray-300"
|
|
66
|
-
}, I = /* @__PURE__ */ W({
|
|
67
|
-
__name: "AppTemplateThumbnail",
|
|
68
|
-
props: {
|
|
69
|
-
restaurantStyle: {}
|
|
70
|
-
},
|
|
71
|
-
setup(t) {
|
|
72
|
-
const y = t, d = h(
|
|
73
|
-
() => y.restaurantStyle === "qsr" || y.restaurantStyle === "coffee" || y.restaurantStyle === "tea"
|
|
74
|
-
);
|
|
75
|
-
return (U, c) => d.value ? (r(), l("svg", A, [
|
|
76
|
-
t.restaurantStyle === "qsr" ? (r(), l("g", Y, [...c[0] || (c[0] = [
|
|
77
|
-
v('<rect x="6" y="7" width="44" height="6" rx="3"></rect><rect x="6" y="18" width="19" height="18" rx="2"></rect><rect x="31" y="18" width="19" height="18" rx="2"></rect><rect x="6" y="40" width="19" height="18" rx="2"></rect><rect x="31" y="40" width="19" height="18" rx="2"></rect><rect x="6" y="62" width="19" height="18" rx="2"></rect><rect x="31" y="62" width="19" height="18" rx="2"></rect><rect x="6" y="85" width="44" height="7" rx="3.5" class="text-fm-color-neutral-gray-400"></rect>', 8)
|
|
78
|
-
])])) : t.restaurantStyle === "coffee" ? (r(), l("g", L, [...c[1] || (c[1] = [
|
|
79
|
-
v('<rect x="6" y="7" width="44" height="30" rx="3"></rect><rect x="6" y="43" width="26" height="4" rx="2"></rect><rect x="6" y="53" width="44" height="12" rx="2"></rect><rect x="6" y="69" width="44" height="12" rx="2"></rect><rect x="6" y="87" width="18" height="4" rx="2"></rect>', 5)
|
|
80
|
-
])])) : (r(), l("g", Z, [...c[2] || (c[2] = [
|
|
81
|
-
v('<rect x="6" y="7" width="44" height="5" rx="2.5"></rect><rect x="6" y="17" width="44" height="9" rx="2"></rect><rect x="6" y="28" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="18" y="28" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="30" y="28" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="6" y="38" width="44" height="9" rx="2"></rect><rect x="6" y="49" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="18" y="49" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="6" y="59" width="44" height="9" rx="2"></rect><rect x="6" y="70" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="18" y="70" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="30" y="70" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="6" y="80" width="44" height="9" rx="2"></rect>', 13)
|
|
82
|
-
])]))
|
|
83
|
-
])) : f("", !0);
|
|
84
|
-
}
|
|
85
|
-
}), u = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVYAAAC6CAYAAAD1XmXOAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAJdRJREFUeAHtnQuMXNd93r9z57Gv2V2SEkmRS8WRZIsiawG1LZNu2gSNG8NtgtqVABlNY0Ou7AJpLQmxXcBGXRRxCxQJCkR9AS0QFLAROWkkgILdNkGjOA5sBFZsxQ7ihLQlR5ItLpdvct+Pmbk355x7z73/c+6d3Z3dWdrSfD9hd+7MfQ4h/Pa7//O4KtGgB2bV+vo6ut0u4ji2P4QQMmwopRBFkf1pNpuo1+ubb18lViPQ1dVVdDrd/GDmR28OQggZRpIktj+pFxVGRkasZKsoiXVjYwNra2t6xxpqtToIIYT4xHFXC7ajxdrA2NhYab0nVnPbv7a2gUajYaMvIYSQaow5jVyVitFqtTxnRm4hTaqUKiGEbAejyUajrgUbYWVlxVtnxWpqqub2n1IlhJD+MHI1Dfzmjt9hxWqkqlSdUiWEkB1Qr49YsbrKamTSarvd1StqIIQQ0j9pJo3y1BqZ4qvpOkAIIWTnmHBqfGqI2u02ajWmVUII2Q1KRbrWGttyQGSKriytEkLI7jEuNeXVKC22RiCEELI70tTapVEJIWTQcMwqyXnuuT/E5z//eZw7dw6LiwsgmzM5OYUTJ07goYcexOnTpzAzcwyEGNTNmzeTZnMUZHg5f/48Pvaxf6WF+l2QnTEzM4PHH39cS/YhkOGl02ljZKRJsQ47Rqrvf/8/yRPq5OQ03vve9+DOO5m+tmJ+fgHPP/88zp49m3/22GOP44knHgcZTihWYqX6oQ99CLOzs/b9o49+BJ/85K9gamoKZPs8/fQzePLJ/6L/PV+z75966rdw6tRpkOHDiZWNV0PMs88+m0v14x//OD772X9Hqe6AD3zgYTzzzP/W/3bT9v2nPvVpkOGGYh1izpw5Y19PnjyJT3ziV+zyS9/9nn2dm53bcv/FxcVtb2d+3sgcO3YMH/nIo3bZ/LH6xjf+FGR4oViHlLNnz+Vp9aMffTT//Hc/99v29X/9t/+BC7MX9Ov/tK8vnfsevvWnL3jHMOvMdobfO/Ml+/P057+AF8+9aLf/6h9+xa772nNfwffPpsL+1jdesNu9qN+bbf6fXjbHfSOIV/47/sEffBlkeGF3qyHFSdVgEqvjpXPftcJcWljEM5/7Ao7MHMW3tfi+ryVonszz9tMP5NtePH8BralJK0WTdJfmF/Hwh39Jb/9NLOnPzM/P/NzPeuc1kn2bPsa3tWDnLlzQ2/4Z3n7qHd5xX6+YMopJrqZ2ze5qww0T65AiE+L09HS+/JYT9+Ejj/+yFeabTxy3Mj2q5Wrf33c8T60mjb5Fr3/7qQesLFuTk/bzSb2d+TGY7R2/9+yX8FW9nTmvkbQR6ffPvogPPPLPQMgbDSZW4vFvf+2z2eu/9z43Yvz5B9+vb/PTvq4miYZp1NHSn//X//if7PaGn3/offbH7veeYp///tRvgpA3IhQr2RafyUR75NiRLbc1ifUzgZgJGSZYCiCEkAFDsRJCyIBhKYDktFdW0dnoQO3BEyXibhejUy1E2aTqcaeDjZU17BW1Rh2NsWJE4drCEvaCpJsgakQYaU2AEAfFSixGdGaC3rF9k9grjNyMXNPlZYwfmMZesb64hER/HxVF2FheRXN8DNEePdfN/NvJ70YISwHE0jUPlGyO4FYR7fHDKxtjY2ivpQ92M2l5L88X1ZlPiA/FSixpuktLAF/98lfsCCnT59SMpDLDVs1oKjNiatCEx5XnNl28tjNkdruYY5pjE7LXUKzEY3FhEXOvXbADAEzH/5/+B+/G0597Cr//7Bdxx8xRfC0bpjowEjMvwQU7usvQak3a5ac/9wX87Xc+oKX7RQyKudfmBn/9hFRAsRIP0wfVDEU1Y/sXdZ2yNd2y782T0VrTk/Z1kKgoweRkek6DGZVlZG44euwoBsm9J+/NR4gRspewOERKmGT68CO/ZIed/r6+TX/0sX+pk+yCla0bQTUo5s5fsMNm78mGy5rb9W9/45v4Rw++z5Yh3OitQfG2U6//OQnIjz8UKynxC0KeH9CCNRzR/9178jgGjRwWaxKqnIzFnXuQvBEmeyE//lCsxKO90cbSjZsYbU2YIKnfb6DRbKLebNh15rPRiXEMisu6ntvQx548sM+/jvU2FvV1mM/HBnS+1eUV+9rR32lM9Dvt6O/VrvhskN+TDBcUK/Ew0lnRAlpdWkbrwH4t2XndwJRYsZp7diOgw3fOZO8HQWLluXD9phVpvdG0ojWfry6taNlpuQ1IcJ11/d1WVtBoNLDwwwsY18futNuI7bq2PV+7vYG0kKwwc8+bQMhOoFiJR12n0wOHDlpx3rh8BfsPH0xXZK1WHS0ek1wHJdbRVgsLWqhjExM2MZrjJ4nK1w1O4LACT5Sy4m5rodb0dzU/XZPKtWxdYl1dXrbXQ8hOoViJh5FOI5PZocpW+cHeHk/tn96T49t+uSrqeb7NygtjLAGQXcLuVsTSGBvBxsoq9hIzAupW0dWp2swXYNAhdU/PbYa0ujkQCDEwsRKLGVNf07fDezVZiWF0shhL3xwfxcr1+T0Zapoksa7VNvJjj+jzbuj6abfT3ZMJZgycJ4BIKFaSY1Kr+bkVmPH1ezkJS0izxdt7cutgKYAQQgYMxUoIIQOGYiWEkAHDGivBMy9cxb4fDK6/aIkksd1glf6tkuA1WzbbRFln2ci+mM+TYJ/Ejvwyy+n2sJ+Zt5FKPytta9/H6XHNrzhO9wuOg4pzITt+fh57bfZie+7TXlkHIRQr2VMSIcNCmKns0lcjrVhI0Jdd2ojvS7XYz32mxRkjFXMmWeX2T5eg4kyC8MUZiWOl71NxFsfPxG+v37xX9n36RyA7n7xmQkCxkr0iT6lhgszEFQjJF5sQXOynVOXWCbk5Ibt9i30ygcdpYrX7mn1iJ8Ekl7G8Ru88CGUbA3IfFAIe+JyK5HULxUoGjkupEWRyhLh1Dm/VhcC8koAvTj+lypQopCo+887jUmqCrBRQyDAS0lY9SgKROK49rzufvJYsxBJCsZKBkoSCgp9Sa4HEDKl040KAkCkwSKlZLdUJUcrWHcOmyWw5TcOixurVR0UZIv8sS9NJcatfQ2HMKKsHA2H9tUjJhFCsZDAISVpZJelQUplS8xorXKNTUEtNxK15KTlmtdSkaNySKTXfxiyrpKIEEbw3v+LY3y4pJG+/ixAmRPr1z0mhkjIUK9k1soHK1jeVL6uSgBJ4NVcpxVSYgBSnq6WGYi5E5/bXLf7m5GGDUlJRS01Qqo+G9dci3cZFI1d4rdm/QS5WGpaAYiW7wUupUpxxJqRyndSri2avpXTqjidTar6Pn2jTLlQipeblgKTU4h+WJ8IW/+I84vpzIUspF99VCpVOJQ6KlfRPUrTQ5KJR8G+7XRIESrfsfo1TircQaqSChisps0T2Jsha/EXidNcSptTytZj3ZnpBlQu2suHKror9xJz9OJumy1QrSaFYyY6JhDwLkfWua8oW/1J6lGk175dqd8o79Psd8iEankIJylZ7KeWKlAon97gQvpdIk9L1AYVUFbwFQiwUK9keIqWGyTAXYhzeIheSyvucwq9rSvFFQY01TKl5Mg5k6Y24QtJTtuF58tSLoldBUUtN3+d9ZLPvXkqpmVSZWImEYiUlzK1xIkRaSDXJuxt5rfAop9RSLTUJa6lhahUjsYQUVVVKLd3eu2tLSkKX1+l160qk6NOUXLouL0W7f5zeQqVXiYNiJSVyqea304A3vFTeUgs5Rkl1TbV6OGrs9Uv1kmGeaLMGqOy8Xi+BRPQeyPeRNdsijZZ7CcTpUFfxRyBN1UUy7tXir0RcVSK+qrwPFyEUK9kGuWy8ZJeUWvEN5S5SfgkgFVpRG60cXhqm1LiillpRJw3F7I3pj8U12W3iHrVUf8x/VS21V0qlVomDYiU+SY8Wf4hWetEIVapf5glQNhIVybByyKqQqGt4coMLivPI8kIo+KJxTL6W90lQ3cvADQgo5LidWqqTqioWGFqJhWIlBbKBKvFvnYtRSUmQUkV/0XxkVFAKcMuhCGVdNKzbBnJMr8n8dt2eKo6P4pY+HD1VnuZPptQiedvjZr/KQk1/edKVUk2/EiEUK0GeJA2hbOA1UtmNS12aIteX1EuE6aGLfqnmXdjK7tdqIwWvUSmspfpSjL3jK7lP3mNBCDMphBw2plXXUosFl1KlUIv3Kr/ePAKToYdiJRnFKKa80Qd+zbFIhUW6ixCj1BKfBGkybGzyEq1f38zf200TL6XmKVmJ3gnBMWRDVZGU5W1/grA+DPRRS1XKE3D6kfI/IEMPxUrS1JaUG6P8W/b0tZBn7MkKQlblfqhJZZcmJ3PT/zVfDqToDSl1yTiWDWTZLFd5fVQ2XKE4lrzmJBAqfHHmn28q1YqSAL1KMihWkt46e/XKcrLz+6XKBqWK5IlMnInsgJ+I+qs8T4zt1lLTdUnF+VR2HNGgltV7PbELyQJhSoUQqfLWu3XF9t5OWVcruTEZdihWYqWWT0otSgEqEFzY4p/frgd1UlnPDLtnVdVovX6jSVpegGjoSs+Nci+BvJYal5K22yeylyO+HyqE6m79RZN+r1v/aqkKERMCipVA3EoHfUGrZuj3Z6sSqdEl2579UmUKDuqiQN4ly0u8qKqTJp7QXU01lGpRcy3mGigJ0l6cL0Wvu5RooPIDqSqLl1YlAoqVZPKLg9pnJo+kInHK18ouT4m/T9B1StY7y6On/PJDMdNVUXpw0xKGj3sxpNItuoeFtdTw1t9p1budV0GN1f/VU6qKnVhJBsVKbHepPDEKgSrvlrwqeWYClLLNUyRQDFWVadRPqVV9WSHPkX1e9FgoGtTkhNNV6bn61r9CnEFc3TqlusQLSpVUQrGSTFayBb6cUsPO/eUH/fkpVeXHCsUJcfsepFOE8haz+uceE4k3r/0Ccr7UcCaqUi3VLkqpqnKS9TxZUUutECrlShwUK7HIMf5lmQKlUU5VPQHS3RDOy+qPhDK/42zCE1SXEmTDlZNwEqRXl4QTP2VXTe+XfpDf9Au5Zp+EqbRnSi3WleRMqRIBxUqgrPOCTvhe6728tU4qx/jnDUUKfst8tq0TpJzV33sCK+A1RhUpNUHYqOWEXpoVC2Whqi1u/WWaVRHkUby6a1VKLaddypWkUKzEdm+KEpQ79Adp0tVSVek2Hn6JoLKWKp+DlS6UZ+xPin6pUrJJEjxI0DW0SeFvkiizZRVs6NVcK1Nq2NVKHFPJExHiQ7ESS2l6P9Gw5HevqpgQGsi28ZNnfqx0NfyeBUKcKFJqnlCBoKeCEG927PwxL9l3UKEFbXoOxBmmVJFK5TFU5BuzVEv1vCrPQdMSipXAb0jKO/wDlTVPmV7L9dZUhvaYXkqVPQjC0VMiDStU1mjDlNq7llrYzrtdFzXQrVNqkWXztUr5n8uSgPlekfswASEGipUgH9/vjaWvavFHuRtU4nePquqP6tVbxe17ab7UfL/ikddhj4HIycxKTCG8RU+/j58+S0NVAxFvVUvN16jg+PZLAeIiQIiBYiVQnQSlAQJeKQCBaCFm9XeSK89EhZ49CQphludj9ZNseShsnElOyC24Tc8dF6TUMN2WUqrwYlUDldzd6z2gxGeEgGIlkN2ZfHlWPaq6KqWWW/wDQSflJwF4slVAuduWaOxCIXcvpQYpMhw9ZZdKKTXbejspVRXnShBIO9jWr92SYYdiJcVttn3nC1I+2K8yRXppUsgWVTNRuX0KyYa9CjZv8feypye4ytFTKN/6b2c4alW/VFXV6FVcWHF9tCsBxUoAuFFX4dNOK2/RvVqq2Vc0KuXj/7MUq/weA6XHYAOlFv9iFqvi2pzIsiUvpeZVAa8emr4Pa6kliW4zpcpjyv18OVOqpCACGXpko1M6Iiqbhs8OG42tKGtI5xSQDV326QFOlG5ilKQoI8i5AVx6PfTmI7j77x7HXT91H+r1mt12dLyJ47/wTjTM++wa7jh9HLVmHUf+3lvta31iFIfe9mYrr9ax2/XPQdsaP/P378ehdx7H4XedQNSoWxE29bY/8Q8fwOjt04CQb5psCznK93Z9pHxpZnL20qgQeSF0xbBKPChWkgnUyS/26p9OlvmMUfYzNyQ1KQYWmJ+4EGguVrmN/uzgW+7A3LdfwdXvXdBirdvzTRycxuL5azhw/Jhzl5XjbX/rTVj8wSUk3TgVWaNmZRdpAdeaNTjTXX7hRXRX1zGyr5WK+tAUVq/exJg+LoQY83SpqlKqd6OP4iOVPrBLyjkvBcjtwMYrkkOxklLtNIrjTKCJ95RTb6IW8dSBfFtVvHfT9tl1Ns2m4n3lj/8Sh0/eidvvPYqkvWGlu++uw1i5dAPjh6Zz+Y0d2meT6caNJR2ki4EA4a23SbN3/J0TaE5PYP3avP1s4s7DWLu6gKl7juSptNgPfkqVnf2lNJPiHEVyDRq9hEhVsYIQipVoOYn+ppF4VEo+YCBLrEUKjYu6a+wELBqrXGkgjv1t9eshLdWrL84i3uhgbN+ETqYj6Orl+kjdntcI1byuXpnH3J/8FQ6fui+tpbY7aLRG0dzfQmvmdruPkVmsP7/6re9bwZpv0dBJ1yybdWtX53U5YMpLqUr2aQ2kmr4CEOvyykARfSHrt/kx6VUiYOMVSRuUTEo1t9npB974/GIkVCZgwO+XGo7Mcq39kF240pLDwisXceAndUK9fAOrl2/alHrtr17Fxs1lrOsfd9u+8OpF/X4FN1+atULtrKzhyp+/gumfPISl2etYvXjdCm3ph5etXG+ce01LtWmv/vp3XtXpdQHt+WVdd20gPaTyXktCzc6bI0oBSsRdP6WiSK/imIRQrCTvEVAkU2w+ego9ZqQKW/ztcSAavKCFehOr+rbf3Z6bZOq2NXJ1clp85bIV18rctfQD/aa9sIxrWpr2mNnBF39wxe5tROu2665u2ONsLKwUpYAiemabyZoqgvSafhqWHfJDiM+K997hyZBDsZIsnYZj/JWYOKXcd9Wl1rBfqt8P1pUFiu3zFvXSRbguVbIlPvsVpsu8L5YvP1UcyjtHSYRis3I3reBYELf99hi51aFQljEhBoqViElX5BNSxRDXoG9r+PQA+14V5QF3TH8egBiqJDu7lIswe+d14k9fVPU+bgdsPXqq2FSVlvPDSeGHNdag6X/T/q1k6KFYiQmoonO+n1LlrXyeOBHUX22LP/LaalGDlSkVKIW6SkkB/q13eYy/71UhR0+oQGXaVXA9/0tp0/USSBKg1OLvpVb/mP75aVdCsRJNTbnJUMLRVgjmBUDazSofshpO5ZfkM//n0wQqVNxyF5ZVoXB7yrYiibp1MgmLz+S5QmmXUqo4kVIV50Ao1UzC7t+MqZUIKFaiZSi7REGMwAonSbEr/dt8UWd1eU0+vTWoVrqFXGhlEYotRUpVpW1Qlmop7WZvPTv72xbbKT8FC1N7Q2eLD1OpVsmeDD0UKxE9AoruUm5WKi+lJuVnWuWjq7JbbNsIZiSVJHCPVlUlqfnJsCRVr3e1aNFPEoQd+vOtIilweKKUUq1MqdKjXt012A/BOinpBITkUKwERXeqxHv2VT5rFYJHtCRibtSsHmnl6xKk2TTyb8XTN0G6rCgPeDLMbrchehPka2XJwPc2KhuhwvSbAH6DWSB/9BB41fncOZlYSQbFSrKkWaRVgxyuCiXlK/uyprvbSa9dSjVyiTZJqembHp+7C/Jl2DOlKviSy36Ft/7ebb/7FVWnVO+awuOgQqqRyvrVUqqkgGIlqMWxP2oq7JeapKnRq72aDZJ0tJZ79tNmKTW89U5XVUhVqYr6Z7F9ZfkgrL1CiFFJyauet/1uQVUIHEr2ZRWnEKmZXiUSipUg7CZVPFBQ5SWCvA8rCqlWptSqZOl+ydt3t65KlEmQRjeryXqJVaZL/RNF6R8EIfStUmq4rrKWKnscQF4r7UpSKFaSCjNIqalkY6/1P6+rypQqEmZhLfESSq0kxapZovz3peN7h1Uloeaf5x1Sk02kKlNq/iFkA1dx3Unp+/b6HmS4oVhJPhcrvDH+csx/IdrNUqo9VijO4JbdC3ZKbStBwkkcVSIrp1n/dl0my+AcTo7l6FstWxQzWanwWhP410GGGoqVFD0CzJskKT2nKl/2UmqYEquFmq4K5Af/GEr2VaqSrds3kLR//vSXL1XlCz3fXslg6h2knFLhibgQuH8+2d2LEIqVWLwZrSBb/kW/VJlSDSIl5m+lACtqoZWyM0uRfO+nS9NAlo9wkuczF53IYxYnKjVCCTmicl2vkoBItuE53HrGVBJAsRLUkuLZVXnLP0RKNeS3wEreGacpLlvOt0NVShVyyo7tpVr4x5SpMQnScnGcbNm8SfxzhOP4ty/O7GDiHKWUKg8dNnQRAoqVIBOo6BkQub6sbn24ICTSK6VW7VcSXuX2fjosZOeMWWwXCr2UUsNjhkINxS7MW27xR1BLVWJHMLUSD4qVpBOnZE8R2KzDfrEopJMteM6Sjglrpi5dqoq0J13lH6Q4rpRqtq6UIF3oVCq4JiFO34vombTD8yn0LiFAySOSIYZiJagpWUuFbYgpzdoEYLMW/3Smp4qUWiW5SAq1WFDi4FKElUINpVYlaVU+hy/C4DqrzhdKW5y/su8rIaBYiUZl9UmVJcnEzUoVSEuGPplS/QQrJIlsnZhURVXVSPOV7lxSWKiUrXeOXsm3R0otfxd4fyRCiZeEWvFvQ4iEYiUWq4ctx/ijlPCqZVtuxvHrmQreaTYTpzimK3D2TKnedRcHqRwF5qVT/xw9G6SEVL1GPEICKFaSycctZB+F8skWlPigt1QThDXL/Dw9pRoK1X3u3lTMfZq5tndKDf4wuOvzIrL/PVSP6y6uhVIlW0OxkgqpKn+dJ9JAtkJOym/xQc/x9xW33cW6dMGXdv5J6dbbr9cGy57ACxHnoo6K7yACMbbV95WQTaBYSYpCZUottYAXmwBei784VrTJSCf7O5EnFKkxSJfe+TdruBJ7lcQt5J5dm/gm/lLkH4cplewUipWkYa4iicqGo8p1wBYt5e7DqrRbkVJdalSbnaOqa5fqnVK98yWllKzC6644J1Mq6ReKlaAsTnhS9UUWJEiVbZwkgZyFUN1b35x+w5G8lF6NYOKc5YauzaQabtPrO4G3/WQgUKzEslUttVe9NH1JyunQk6rqmYRLCVKJfYpdUGrckpL0hFo+VtGHdouUWpF85XdOEj7YimwPipX4yTGQlWdI+epNk6cqUqNZTsSxZEqtPkfPlKpQEmqpe5X7pVSwHcqyLe2/dS2VUiX9QLESyFtv8QJPOGGdU4mUiiBNel2Weq0DKpMl4N+KJ6iWaihUKeqefySwaWMcb/3JoKBYCbL74nRps3QHeHXS6tToC654zEoobcALw2Gd033utdT3lmTxt6BcXigdN0ypFCoZMBQrQfiQPi/t5csItukhNZl23b6bpFRfeEKp0XZSqjxTImqp2bEqJntx37fUZ5WQAUKxkspb8VJKTYp78nItNdgf20ip8jhbzUTltnfXoVQgdHluVfyOKlKq/E50KtkjKFZiqeyKZD5yyS5ys1cJcfUSp7eNOEOFgPP37nz5QVBOqdnJSuUAJfbpkVLzr0ShklsAxUpSUWW1zLyECicpIVwvpcoJUYRg/YCYn0DJV7FBkUbh7dxrEupeJQu52HueV0qV3BooVoI7fuY4js3MgOwe1ayBkAiEEEIGCsVKCCEDhmIlhJABwxor2TVJnGBlYRlJoluGolo+R2oSx0g6bdQadYxPjeNHzfrqOjbWNvT11bPeAWn3LXOdsb7O8X0t1OuskZLdQ7GSXbF8c0nLtI6x/QfQHB2p3GZjbQ3L8wswHbZ+FILttrtY1Nc5sX8a09MHtPvLN2pxN9Z/HBaxtriE0ckxCpbsCoqV7Bgjq7GpaYxObC7L5uio/Vm6Ma8Fu4yJ6QncKjbW22ivd3Fg5milUB1mXUuLt6O/y+K1qxhrUa5k57DGSnaEkerkbQe3lKrEiGts3z4r11uBkWq3k2D68MFNpSqpNxvYf+QI1lY20Ol0QchOoFhJ3yxnUq03+7/hMcm1Njqm650b2EtM3be91sHk7bdhJ0zp/VbnV0DITqBYSV+YeiVUbUdSdbT2TetEuIa9ZMnUVA8cwE6JajVdN96n666UK+kfipX0hWlZ342wHBP79+9pao1q9V3J32DKHHEMQvqGYiV9oRvPdy0sg5FWe20de8GGlv/oVAuDIGo0tVxpV9IfFCvpkwHOYlLbm1Z3k4QbI6MYBKOtcS3qva0HkzceFCvZNqav5yDSqkPt1VRTSm27F8BWRFGkEyufd0X6g2IlhJABQ7GSbWNSYDzAvp1xd2/6iZoRtSZdD4JOu61TKydxJf1BsZK+GGRDjsLe3GI3Rhporw+mO1d3o426Ph4h/UCxkv6IuwNJg2vLK2j0mFtgt5jRU2uLgxndZQTNoa2kXyhW0hdmnP/yjRvYLWvLSxgZa2IvsA1Xye7/ANgyAKsAZAdQrKQvjLS6Wjgbu+iDunxjHo363v6vZyZRmb90Gbthfu7Sj8V0h+T1B8VK+qa1T6fW69d1ouugX4yQ22urOq3uTRnAYf4AjI43sXj1GnaCkfLE/sEMMiDDB8VKdsSkls7y9at9yXV1YREruoxgxHwrMI1Y9brC0vXtly5M49yNuYsY0VJmbZXsFM7HSnbMxNQEVq5fQ6z/PrcO7Ee9Uf2/k2moWr5x0ybIWyVVh5Fr1O5qWc6hOTaGiX37KrczQl28eh1xe0NfYyt/CgIhO4FiJbvC1CDto1m0YNudLqKoZmeGMiTmsSfdjhXu9G2T+FFRa9QwqWXZXm/j2vlZ1OoNe23mOhPT5UtLVSUxRszk1pN7W6IgwwHFSnaNSXevh0Yek16n2SeV3AJYYyWEkAHDxEp2zB/9n+cwPtnCPcfvxtLikv5JO+W39Gcvv/gy7n/H/XaaFbMuySZcufveu3Ercdc4MTmhr/MefPF3nsVdb7nHvm/pn0NH78CKvT5gWb9eunAZV+Yu4d3/+Ocw0WKvALIzKFayYy5dvIS7tbSe/+OvW3n90f99Dndpcd597z12vZHXK997BZe0qP7yhb/AXffdfcvF+vJLL2N5aQmHjhzGq1r27/vFB61Af+c3n7Kf/eK/+KC+xpdhntx9+cIlXJ67iFbL/GF4Bfe//X4QshNYCiA75vLcJfsz0Upb+k3Ke/XFv7bLKpgG4N3ve4+V6y1HX8dHP/HLdvEuLfwv/faz+M4L37FSNeuMdE1yNcn28oWLdrvTP/tTlCrZFermzZtJszmYSYHJ64czZ57Fpz/9Kbv8ta/8fxybmQHZPT/97vfi/PlZPPjgQ/j1X/81kOGi02ljZKTJxEoIIYOGYiWEkAFDsRJCyIChWAkhZMCwuxVBt63QaXNs/EDgcwcJKFaiGZmcwOgUO8MPBMU/UISlAEIIGTgUKyGEDBiKlRBCBgzFSgghA4aNV6TExg8voHuxeFZU/ehhNI4dQj90Oh1cmb1oHzxoj1Fv4LYjB9EY6W8i6aWbC1i4fhNx3LXvJ3Qj2/5DB9EvV2bnsL66lr/fd/AAWtPT6Aez/7W5y/m1mO906CeOIoqYT4gP/48gJaRUDZ3LV9Av6ytruVTtMTptLC8so1+WFxdzkdn3C0tW2v2wpoUopWpYXVpBv6wE12K+09py/9+JvPGhWMnWdGIMgiTu/zhxPJhzE3IroVjJLUP9iG6Z9/JWXbEMQCrg/xWkRO3wbd77upm7tE9GxkdRbxTPlzIPGWztn0K/TE77+4yM6ePW+2saMA8zHBkb869lX//XMrFv2vtOzZFm3zVjMhyw8YqUaL7pKGB+doGR3x1vOobd0tIyMz+7wSTWgzN3YLc0m82BfCfyxoeJlRBCBgwTK8H8/DyOHTuGjZfPo6Zv1zf++jwaMweB0RF0LlxB4+hBdG8soHn39tLa9bnLuhQwhrWVFYyOj6Omb8VNDwF3G23WbUVHb79w9Ybd12BG4K+urKKlSwPms9EtjjF/7bqdEKXeKP4XN+fvtE2PgnSmFNNTYGJq0r4b3cY1Xb94GVO3HcCV12btqy0xbGM/MnwwsQ4p9913X7589uzZ0vq2Fmp37gqiMS1X/WpkG6+tYzsY2SzNL2gZKivZDS3ErhbaNS2mtdVVbJdaM5Oitupadgx3vK0wYl7X2y1cu2n3m9eSNrJduHodKwtLdhuzfnl+cVvHMxgxX/nhrJXx9YuXMkkXLCws4Pz583b52DE+6maY4TOvhph3vOMBLC4u4F3veheeeeZ3QXbH008/g09+8l/b5aee+i2cOnUaZLjgM68IPvzhR+zr888/j9/4jf8MsnNMUv3VX/0PdnlmZoZSHXIo1iHmkUcesRIwPPnkk5TrDvn615/Hww//U53+5+37z3zm34AMNywFDDnnzp3DBz/4IVsSMMzM3Im3vvUETp48CbI587qOfO7cWStWx2OPPYYnnngCZDhxpQCKlWB29ryV6+zsLMjOmJyc0kL9mL4L+OcgwwvFSkqcOXMGX/7yc7rm+s08wZLeGJmeOHEfTp8+pevVH7bvyXBDsRJCyIBhrwBCCBkwSZJAKYVI2adKcmo2QgjZPZlYzQQVxrKEEEJ2h1FprVZD1Gg00O1SrIQQshuSJNZSjdLEaqZCSx83QbkSQshO6XS6dmpJg62xGst2OqyzEkLITjAlAKWSfBJ22ytgfHxcr+iy1koIITug01m3adU9Bsj+Nm9M3yvTB4tyJYSQ7dNud2yD1Yh4TE/ej9V8SLkSQsj2MVJVKrZ3/RLvCQLOuOvr63rjuq4X1EAIIcTHPJa9223D9KoaHR1HOh6gQCUV8dTstLa2Zlu50satWrajAiGEDCOmO5Vxo/mJIqWF2vuJwZVidZgDtNtt+2OWWSIghAwjJliaHyNSk1K3egT73wCiIJJ6U7XR2QAAAABJRU5ErkJggg==", N = {
|
|
86
|
-
key: 0,
|
|
87
|
-
class: "rounded-lg border border-portal-border-default bg-portal-bg-default p-16"
|
|
88
|
-
}, P = { class: "mt-12 flex items-start gap-16" }, R = { class: "min-w-0 max-w-[480px] shrink-0" }, O = {
|
|
89
|
-
key: 0,
|
|
90
|
-
class: "m-0 mb-8 fm-typo-en-body-sm-600 uppercase tracking-wide text-portal-text-muted"
|
|
91
|
-
}, j = { class: "flex flex-col gap-8" }, C = ["aria-checked", "disabled", "onClick", "onMouseenter", "onFocus"], G = {
|
|
92
|
-
key: 0,
|
|
93
|
-
class: "h-[6px] w-[6px] rounded-full bg-portal-bg-default"
|
|
94
|
-
}, B = { class: "min-w-0 max-w-[640px] flex-1" }, H = { class: "flex flex-wrap items-center gap-8" }, z = { class: "fm-typo-en-body-md-600 text-portal-text-primary" }, M = {
|
|
95
|
-
key: 0,
|
|
96
|
-
class: "rounded-full bg-portal-bg-canvas px-8 py-[2px] fm-typo-en-body-sm-400 text-portal-text-muted"
|
|
97
|
-
}, D = { class: "mt-4 block fm-typo-en-body-sm-400 text-portal-text-muted" }, _ = { class: "sticky top-16 min-w-0 flex-1" }, $ = { class: "overflow-hidden rounded-lg border border-portal-border-default bg-fm-color-neutral-gray-50 p-12" }, tt = {
|
|
98
|
-
key: 0,
|
|
99
|
-
class: "m-0 mt-8"
|
|
100
|
-
}, et = { class: "preview-strip flex snap-x snap-mandatory gap-8 overflow-x-auto rounded-md" }, rt = ["src", "alt"], lt = { class: "m-0 mt-6 flex items-center justify-between fm-typo-en-body-sm-400 text-portal-text-muted" }, nt = { key: 0 }, st = {
|
|
101
|
-
key: 1,
|
|
102
|
-
class: "m-0 mt-8 flex min-h-[96px] w-full items-center justify-center rounded-md border border-dashed border-fm-color-neutral-gray-300 p-12 text-center fm-typo-en-body-sm-400 text-portal-text-muted"
|
|
103
|
-
}, at = /* @__PURE__ */ W({
|
|
104
|
-
__name: "AppTemplatePicker",
|
|
105
|
-
props: {
|
|
106
|
-
templates: {},
|
|
107
|
-
modelValue: {},
|
|
108
|
-
disabled: { type: Boolean }
|
|
109
|
-
},
|
|
110
|
-
emits: ["update:modelValue"],
|
|
111
|
-
setup(t, { emit: y }) {
|
|
112
|
-
const d = t, U = y, c = h(() => d.templates.length > 1), w = {
|
|
113
|
-
qsr: [u, u, u],
|
|
114
|
-
coffee: [u, u, u],
|
|
115
|
-
tea: [u, u, u]
|
|
116
|
-
}, k = E(null), q = h(() => {
|
|
117
|
-
const i = k.value ?? d.modelValue;
|
|
118
|
-
return (i ? d.templates.find((s) => s.id === i) : void 0) ?? d.templates.find((s) => s.default) ?? d.templates[0] ?? null;
|
|
119
|
-
}), V = h(() => {
|
|
120
|
-
var e;
|
|
121
|
-
const i = (e = q.value) == null ? void 0 : e.restaurantStyle;
|
|
122
|
-
return i ? w[i] : null;
|
|
123
|
-
});
|
|
124
|
-
function m(i) {
|
|
125
|
-
k.value = i;
|
|
126
|
-
}
|
|
127
|
-
const X = h(() => {
|
|
128
|
-
const i = [], e = /* @__PURE__ */ new Map();
|
|
129
|
-
for (const s of d.templates) {
|
|
130
|
-
if (!s.industries.length) {
|
|
131
|
-
i.push(s);
|
|
132
|
-
continue;
|
|
133
|
-
}
|
|
134
|
-
for (const o of s.industries) {
|
|
135
|
-
const p = e.get(o) ?? [];
|
|
136
|
-
p.push(s), e.set(o, p);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return [
|
|
140
|
-
...i.length ? [{ label: null, templates: i }] : [],
|
|
141
|
-
...[...e.entries()].sort(([s], [o]) => s.localeCompare(o)).map(([s, o]) => ({ label: s, templates: o }))
|
|
142
|
-
];
|
|
143
|
-
});
|
|
144
|
-
function Q(i) {
|
|
145
|
-
d.disabled || U("update:modelValue", i);
|
|
146
|
-
}
|
|
147
|
-
return (i, e) => {
|
|
148
|
-
var s;
|
|
149
|
-
return c.value ? (r(), l("section", N, [
|
|
150
|
-
e[4] || (e[4] = n("p", { class: "m-0 fm-typo-en-body-md-600 text-portal-text-primary" }, "App template", -1)),
|
|
151
|
-
e[5] || (e[5] = n("p", { class: "m-0 mt-4 fm-typo-en-body-sm-400 text-portal-text-muted" }, " The starting code for this merchant's app. This cannot be changed after setup. ", -1)),
|
|
152
|
-
n("div", P, [
|
|
153
|
-
n("div", R, [
|
|
154
|
-
(r(!0), l(S, null, g(X.value, (o, p) => (r(), l("div", {
|
|
155
|
-
key: o.label ?? "__general",
|
|
156
|
-
role: "radiogroup",
|
|
157
|
-
"aria-label": "App template",
|
|
158
|
-
class: K(p === 0 ? "" : "mt-16")
|
|
159
|
-
}, [
|
|
160
|
-
o.label ? (r(), l("p", O, b(o.label), 1)) : f("", !0),
|
|
161
|
-
n("div", j, [
|
|
162
|
-
(r(!0), l(S, null, g(o.templates, (a) => (r(), l("button", {
|
|
163
|
-
key: a.id,
|
|
164
|
-
type: "button",
|
|
165
|
-
role: "radio",
|
|
166
|
-
"aria-checked": t.modelValue === a.id,
|
|
167
|
-
disabled: t.disabled,
|
|
168
|
-
class: K([
|
|
169
|
-
"flex w-full cursor-pointer items-start gap-12 rounded-lg border p-12 text-left transition disabled:cursor-not-allowed disabled:opacity-60",
|
|
170
|
-
t.modelValue === a.id ? "border-fm-color-primary bg-fm-color-primary-50" : "border-fm-color-neutral-gray-200 bg-fm-color-neutral-white hover:border-fm-color-neutral-gray-300"
|
|
171
|
-
]),
|
|
172
|
-
onClick: (x) => Q(a.id),
|
|
173
|
-
onMouseenter: (x) => m(a.id),
|
|
174
|
-
onMouseleave: e[0] || (e[0] = (x) => m(null)),
|
|
175
|
-
onFocus: (x) => m(a.id),
|
|
176
|
-
onBlur: e[1] || (e[1] = (x) => m(null))
|
|
177
|
-
}, [
|
|
178
|
-
n("span", {
|
|
179
|
-
class: K([
|
|
180
|
-
"mt-[2px] flex h-16 w-16 shrink-0 items-center justify-center rounded-full border",
|
|
181
|
-
t.modelValue === a.id ? "border-fm-color-primary bg-fm-color-primary" : "border-fm-color-neutral-gray-300 bg-fm-color-neutral-white"
|
|
182
|
-
])
|
|
183
|
-
}, [
|
|
184
|
-
t.modelValue === a.id ? (r(), l("span", G)) : f("", !0)
|
|
185
|
-
], 2),
|
|
186
|
-
J(I, {
|
|
187
|
-
"restaurant-style": a.restaurantStyle
|
|
188
|
-
}, null, 8, ["restaurant-style"]),
|
|
189
|
-
n("span", B, [
|
|
190
|
-
n("span", H, [
|
|
191
|
-
n("span", z, b(a.label), 1),
|
|
192
|
-
a.default ? (r(), l("span", M, " Default ")) : f("", !0)
|
|
193
|
-
]),
|
|
194
|
-
n("span", D, b(a.description), 1)
|
|
195
|
-
])
|
|
196
|
-
], 42, C))), 128))
|
|
197
|
-
])
|
|
198
|
-
], 2))), 128))
|
|
199
|
-
]),
|
|
200
|
-
n("aside", _, [
|
|
201
|
-
n("div", $, [
|
|
202
|
-
e[3] || (e[3] = n("p", { class: "m-0 fm-typo-en-body-sm-600 text-portal-text-primary" }, "App preview", -1)),
|
|
203
|
-
(s = V.value) != null && s.length ? (r(), l("figure", tt, [
|
|
204
|
-
n("div", et, [
|
|
205
|
-
(r(!0), l(S, null, g(V.value, (o, p) => {
|
|
206
|
-
var a;
|
|
207
|
-
return r(), l("img", {
|
|
208
|
-
key: p,
|
|
209
|
-
src: o,
|
|
210
|
-
alt: `${((a = q.value) == null ? void 0 : a.label) ?? "App template"} preview ${p + 1} of ${V.value.length}`,
|
|
211
|
-
class: "w-[85%] shrink-0 snap-start rounded-md bg-portal-bg-default object-contain"
|
|
212
|
-
}, null, 8, rt);
|
|
213
|
-
}), 128))
|
|
214
|
-
]),
|
|
215
|
-
n("figcaption", lt, [
|
|
216
|
-
e[2] || (e[2] = n("span", null, "Preview illustration · not a live screenshot", -1)),
|
|
217
|
-
V.value.length > 1 ? (r(), l("span", nt, b(V.value.length) + " screens", 1)) : f("", !0)
|
|
218
|
-
])
|
|
219
|
-
])) : (r(), l("p", st, " Preview not available — check the built app for the real result. "))
|
|
220
|
-
])
|
|
221
|
-
])
|
|
222
|
-
])
|
|
223
|
-
])) : f("", !0);
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
}), mt = /* @__PURE__ */ T(at, [["__scopeId", "data-v-000984a6"]]);
|
|
227
|
-
export {
|
|
228
|
-
mt as A,
|
|
229
|
-
ht as a,
|
|
230
|
-
Vt as b,
|
|
231
|
-
ut as c,
|
|
232
|
-
ct as d,
|
|
233
|
-
pt as e,
|
|
234
|
-
ft as p,
|
|
235
|
-
yt as r,
|
|
236
|
-
dt as s
|
|
237
|
-
};
|
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
import { defineComponent as $, ref as f, onMounted as q, resolveComponent as w, openBlock as l, createBlock as R, withCtx as L, createVNode as g, createElementVNode as c, toDisplayString as N, unref as h, createElementBlock as b, Fragment as O, createCommentVNode as S, computed as E, h as a, withModifiers as T, onScopeDispose as Y, createTextVNode as z } from "vue";
|
|
2
|
-
import { useRoute as H, useRouter as J } from "vue-router";
|
|
3
|
-
import { components as G, useDialog as K } from "@feedmepos/ui-library";
|
|
4
|
-
import { a as P } from "./routes-CeuodIgg.js";
|
|
5
|
-
import { c as M, e as B, a as Q } from "./controlPlane-sXaC6pAh.js";
|
|
6
|
-
import { u as W } from "./portalContext-DV-6uUwp.js";
|
|
7
|
-
import { w as F } from "./portalNavigation-DKCfwTH8.js";
|
|
8
|
-
import { A as X, p as Z } from "./AppTemplatePicker-CNJ6kIJk.js";
|
|
9
|
-
import { m as ee } from "./index-CIJWcl_6.js";
|
|
10
|
-
import { t as te } from "./templatePickerFlag-CosY_15R.js";
|
|
11
|
-
import { _ as A } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
12
|
-
import { _ as D } from "./StatusBadge.vue_vue_type_script_setup_true_lang-CMgQ0bd_.js";
|
|
13
|
-
const oe = {
|
|
14
|
-
key: 0,
|
|
15
|
-
role: "status"
|
|
16
|
-
}, ae = {
|
|
17
|
-
key: 1,
|
|
18
|
-
class: "portal-error",
|
|
19
|
-
role: "alert"
|
|
20
|
-
}, le = /* @__PURE__ */ $({
|
|
21
|
-
__name: "MobileProjectDialog",
|
|
22
|
-
props: {
|
|
23
|
-
businessId: {},
|
|
24
|
-
projectId: {},
|
|
25
|
-
initialName: {}
|
|
26
|
-
},
|
|
27
|
-
emits: ["saved", "close"],
|
|
28
|
-
setup(C, { emit: k }) {
|
|
29
|
-
const s = C, m = k, o = f(s.initialName ?? ""), u = f(null), v = f([]), r = !s.projectId && te(), d = f(r), n = f(!1), p = f(""), _ = ee();
|
|
30
|
-
async function x() {
|
|
31
|
-
var t, e;
|
|
32
|
-
d.value = !0, p.value = "";
|
|
33
|
-
try {
|
|
34
|
-
const i = await M(P.appTemplates());
|
|
35
|
-
v.value = i.templates, u.value = ((t = i.templates.find((y) => y.default)) == null ? void 0 : t.id) ?? ((e = i.templates[0]) == null ? void 0 : e.id) ?? null;
|
|
36
|
-
} catch (i) {
|
|
37
|
-
p.value = B(i);
|
|
38
|
-
} finally {
|
|
39
|
-
d.value = !1;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async function V() {
|
|
43
|
-
if (!(n.value || !o.value.trim() || o.value.trim().length > 120 || r && !u.value)) {
|
|
44
|
-
n.value = !0, p.value = "";
|
|
45
|
-
try {
|
|
46
|
-
const t = await M(s.projectId ? P.project(s.businessId, s.projectId) : P.projects(s.businessId), {
|
|
47
|
-
method: s.projectId ? "PATCH" : "POST",
|
|
48
|
-
body: JSON.stringify({ name: o.value.trim(), ...s.projectId ? {} : {
|
|
49
|
-
projectId: _,
|
|
50
|
-
kind: "mobile",
|
|
51
|
-
appTemplate: u.value,
|
|
52
|
-
country: Q()
|
|
53
|
-
} })
|
|
54
|
-
});
|
|
55
|
-
m("saved", t);
|
|
56
|
-
} catch (t) {
|
|
57
|
-
p.value = B(t);
|
|
58
|
-
} finally {
|
|
59
|
-
n.value = !1;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return q(() => {
|
|
64
|
-
r && x();
|
|
65
|
-
}), (t, e) => {
|
|
66
|
-
const i = w("FmTextField"), y = w("FmButton"), I = w("FmCard"), U = w("FmForm");
|
|
67
|
-
return l(), R(U, { onValidationSuccess: V }, {
|
|
68
|
-
default: L(() => [
|
|
69
|
-
g(I, { class: "project-dialog" }, {
|
|
70
|
-
default: L(() => [
|
|
71
|
-
c("h2", null, N(C.projectId ? "Rename project" : "New Mobile project"), 1),
|
|
72
|
-
g(i, {
|
|
73
|
-
modelValue: o.value,
|
|
74
|
-
"onUpdate:modelValue": e[0] || (e[0] = (j) => o.value = j),
|
|
75
|
-
label: "Project name",
|
|
76
|
-
placeholder: "e.g. Summer ordering",
|
|
77
|
-
disabled: n.value,
|
|
78
|
-
rules: [(j) => j.trim().length > 0 && j.trim().length <= 120 || "Enter a name up to 120 characters"]
|
|
79
|
-
}, null, 8, ["modelValue", "disabled", "rules"]),
|
|
80
|
-
h(r) ? (l(), b(O, { key: 0 }, [
|
|
81
|
-
d.value ? (l(), b("p", oe, "Loading templates…")) : (l(), R(X, {
|
|
82
|
-
key: 1,
|
|
83
|
-
templates: v.value,
|
|
84
|
-
modelValue: u.value,
|
|
85
|
-
"onUpdate:modelValue": e[1] || (e[1] = (j) => u.value = j),
|
|
86
|
-
disabled: n.value
|
|
87
|
-
}, null, 8, ["templates", "modelValue", "disabled"])),
|
|
88
|
-
e[3] || (e[3] = c("p", { class: "project-dialog__note" }, "Start a separate app from a template. Your live app stays as it is.", -1))
|
|
89
|
-
], 64)) : S("", !0),
|
|
90
|
-
p.value ? (l(), b("p", ae, N(p.value), 1)) : S("", !0),
|
|
91
|
-
h(r) && !v.value.length && !d.value ? (l(), R(y, {
|
|
92
|
-
key: 2,
|
|
93
|
-
label: "Retry loading templates",
|
|
94
|
-
variant: "secondary",
|
|
95
|
-
onClick: x
|
|
96
|
-
})) : S("", !0),
|
|
97
|
-
c("footer", null, [
|
|
98
|
-
g(y, {
|
|
99
|
-
label: "Cancel",
|
|
100
|
-
variant: "tertiary",
|
|
101
|
-
disabled: n.value,
|
|
102
|
-
onClick: e[2] || (e[2] = (j) => m("close"))
|
|
103
|
-
}, null, 8, ["disabled"]),
|
|
104
|
-
g(y, {
|
|
105
|
-
label: C.projectId ? "Save" : "Create project",
|
|
106
|
-
type: "submit",
|
|
107
|
-
loading: n.value,
|
|
108
|
-
disabled: d.value || !o.value.trim() || o.value.trim().length > 120 || h(r) && !u.value
|
|
109
|
-
}, null, 8, ["label", "loading", "disabled"])
|
|
110
|
-
])
|
|
111
|
-
]),
|
|
112
|
-
_: 1
|
|
113
|
-
})
|
|
114
|
-
]),
|
|
115
|
-
_: 1
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
}), se = /* @__PURE__ */ A(le, [["__scopeId", "data-v-bdfa4635"]]), re = { class: "portal-page" }, ne = { class: "portal-page-inner" }, ie = { class: "portal-page-heading" }, ue = {
|
|
120
|
-
key: 0,
|
|
121
|
-
class: "mobile-projects__count"
|
|
122
|
-
}, de = {
|
|
123
|
-
key: 0,
|
|
124
|
-
class: "portal-error",
|
|
125
|
-
role: "alert"
|
|
126
|
-
}, pe = {
|
|
127
|
-
key: 1,
|
|
128
|
-
role: "status"
|
|
129
|
-
}, ce = {
|
|
130
|
-
key: 2,
|
|
131
|
-
class: "portal-empty"
|
|
132
|
-
}, me = {
|
|
133
|
-
key: 3,
|
|
134
|
-
class: "rounded-2xl border border-portal-border-default bg-portal-bg-default",
|
|
135
|
-
"aria-label": "Mobile projects"
|
|
136
|
-
}, ve = /* @__PURE__ */ $({
|
|
137
|
-
__name: "MobileProjectsView",
|
|
138
|
-
setup(C) {
|
|
139
|
-
const { FmButton: k } = G, s = W(), m = H(), o = J(), u = K(), v = f([]), r = f(!0), d = f(""), n = new AbortController();
|
|
140
|
-
async function p() {
|
|
141
|
-
r.value = !0, d.value = "";
|
|
142
|
-
try {
|
|
143
|
-
const t = await M(P.projects(s.businessId.value), { signal: n.signal });
|
|
144
|
-
v.value = t.projects;
|
|
145
|
-
} catch (t) {
|
|
146
|
-
n.signal.aborted || (d.value = B(t));
|
|
147
|
-
} finally {
|
|
148
|
-
r.value = !1;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
function _(t) {
|
|
152
|
-
u.open({
|
|
153
|
-
title: t ? "Rename project" : "New Mobile project",
|
|
154
|
-
dialogComponent: se,
|
|
155
|
-
dialogComponentProps: {
|
|
156
|
-
businessId: s.businessId.value,
|
|
157
|
-
projectId: t == null ? void 0 : t.projectId,
|
|
158
|
-
initialName: t == null ? void 0 : t.name,
|
|
159
|
-
onClose: () => u.close(),
|
|
160
|
-
onSaved: (e) => {
|
|
161
|
-
u.close(), t ? p() : o.push(F(e.projectId, "workspace", { ...m.query, setup: "1" }));
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
function x(t) {
|
|
167
|
-
return new Intl.DateTimeFormat(void 0, { dateStyle: "medium", timeStyle: "short" }).format(new Date(t));
|
|
168
|
-
}
|
|
169
|
-
const V = E(() => [
|
|
170
|
-
{
|
|
171
|
-
id: "project",
|
|
172
|
-
header: () => "Project",
|
|
173
|
-
cell: (t) => {
|
|
174
|
-
const e = t.row.original;
|
|
175
|
-
return a("div", { class: "flex min-w-0 flex-col gap-2" }, [
|
|
176
|
-
a("span", { class: "truncate fm-typo-en-body-md-600 text-portal-text-primary" }, e.name),
|
|
177
|
-
a(
|
|
178
|
-
"span",
|
|
179
|
-
{ class: "fm-typo-en-body-sm-400 text-portal-text-muted", title: e.projectId },
|
|
180
|
-
`…${e.projectId.slice(-6)}`
|
|
181
|
-
)
|
|
182
|
-
]);
|
|
183
|
-
}
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
id: "setup",
|
|
187
|
-
header: () => "Setup",
|
|
188
|
-
size: 130,
|
|
189
|
-
enableSorting: !1,
|
|
190
|
-
cell: (t) => a(
|
|
191
|
-
D,
|
|
192
|
-
{ variant: t.row.original.provisioningStatus === "failed" ? "error" : "neutral", size: "sm" },
|
|
193
|
-
() => Z(t.row.original.provisioningStatus)
|
|
194
|
-
)
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
id: "live",
|
|
198
|
-
header: () => "Live",
|
|
199
|
-
size: 200,
|
|
200
|
-
enableSorting: !1,
|
|
201
|
-
cell: (t) => {
|
|
202
|
-
const e = t.row.original;
|
|
203
|
-
return a("div", { class: "flex flex-col items-start gap-2" }, [
|
|
204
|
-
a(
|
|
205
|
-
D,
|
|
206
|
-
{ variant: e.isLive ? "success" : "neutral", size: "sm" },
|
|
207
|
-
() => e.isLive ? "Live project" : "Not live"
|
|
208
|
-
),
|
|
209
|
-
a(
|
|
210
|
-
"span",
|
|
211
|
-
{ class: "fm-typo-en-body-sm-400 text-portal-text-muted" },
|
|
212
|
-
e.hasUnpublishedRelease === void 0 ? "Release status unavailable" : e.hasUnpublishedRelease ? "Unpublished release available" : "No unpublished release"
|
|
213
|
-
)
|
|
214
|
-
]);
|
|
215
|
-
}
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
id: "updatedAt",
|
|
219
|
-
header: () => "Last edited",
|
|
220
|
-
size: 170,
|
|
221
|
-
enableSorting: !1,
|
|
222
|
-
cell: (t) => a("span", { class: "fm-typo-en-body-sm-400 text-portal-text-muted" }, x(t.row.original.updatedAt))
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
id: "actions",
|
|
226
|
-
header: () => "",
|
|
227
|
-
size: 340,
|
|
228
|
-
enableSorting: !1,
|
|
229
|
-
cell: (t) => {
|
|
230
|
-
const e = t.row.original;
|
|
231
|
-
return a("div", { class: "flex flex-wrap items-center justify-end gap-4" }, [
|
|
232
|
-
e.provisioningStatus === "ready" ? a(k, {
|
|
233
|
-
icon: "deployed_code",
|
|
234
|
-
variant: "tertiary",
|
|
235
|
-
title: "View releases",
|
|
236
|
-
onClick: T(
|
|
237
|
-
() => o.push(F(e.projectId, "releases", m.query)),
|
|
238
|
-
["stop"]
|
|
239
|
-
)
|
|
240
|
-
}) : null,
|
|
241
|
-
a(k, {
|
|
242
|
-
label: "Rename",
|
|
243
|
-
variant: "tertiary",
|
|
244
|
-
onClick: T(() => _(e), ["stop"])
|
|
245
|
-
}),
|
|
246
|
-
a(k, {
|
|
247
|
-
label: e.provisioningStatus === "ready" ? "Open editor" : "Continue setup",
|
|
248
|
-
variant: "secondary",
|
|
249
|
-
onClick: T(
|
|
250
|
-
() => o.push(F(e.projectId, "workspace", m.query)),
|
|
251
|
-
["stop"]
|
|
252
|
-
)
|
|
253
|
-
})
|
|
254
|
-
]);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
]);
|
|
258
|
-
return q(() => {
|
|
259
|
-
if (p(), m.query.create === "1") {
|
|
260
|
-
const { create: t, ...e } = m.query;
|
|
261
|
-
o.replace({ query: e }), _();
|
|
262
|
-
}
|
|
263
|
-
}), Y(() => n.abort()), (t, e) => {
|
|
264
|
-
const i = w("FmButton"), y = w("FmTable");
|
|
265
|
-
return l(), b("div", re, [
|
|
266
|
-
c("div", ne, [
|
|
267
|
-
c("header", ie, [
|
|
268
|
-
c("div", null, [
|
|
269
|
-
e[4] || (e[4] = c("p", { class: "portal-eyebrow" }, "Mobile Ordering", -1)),
|
|
270
|
-
c("h1", null, [
|
|
271
|
-
e[3] || (e[3] = z("Projects ", -1)),
|
|
272
|
-
r.value ? S("", !0) : (l(), b("span", ue, N(v.value.length), 1))
|
|
273
|
-
])
|
|
274
|
-
]),
|
|
275
|
-
g(i, {
|
|
276
|
-
label: "New project",
|
|
277
|
-
icon: "add",
|
|
278
|
-
onClick: e[0] || (e[0] = (I) => _())
|
|
279
|
-
})
|
|
280
|
-
]),
|
|
281
|
-
d.value ? (l(), b("p", de, [
|
|
282
|
-
z(N(d.value) + " ", 1),
|
|
283
|
-
g(i, {
|
|
284
|
-
label: "Retry",
|
|
285
|
-
variant: "tertiary",
|
|
286
|
-
onClick: p
|
|
287
|
-
})
|
|
288
|
-
])) : r.value ? (l(), b("p", pe, "Loading projects…")) : v.value.length ? (l(), b("section", me, [
|
|
289
|
-
g(y, {
|
|
290
|
-
"column-defs": V.value,
|
|
291
|
-
"row-data": v.value,
|
|
292
|
-
"page-size": v.value.length,
|
|
293
|
-
"hide-footer": "",
|
|
294
|
-
"pin-header-row": "",
|
|
295
|
-
onRowClick: e[2] || (e[2] = (I) => h(o).push(h(F)(I.original.projectId, "workspace", h(m).query)))
|
|
296
|
-
}, null, 8, ["column-defs", "row-data", "page-size"])
|
|
297
|
-
])) : (l(), b("section", ce, [
|
|
298
|
-
e[5] || (e[5] = c("h2", null, "Your first Mobile project", -1)),
|
|
299
|
-
e[6] || (e[6] = c("p", null, "Create an app from a template to start editing.", -1)),
|
|
300
|
-
g(i, {
|
|
301
|
-
label: "New project",
|
|
302
|
-
icon: "add",
|
|
303
|
-
onClick: e[1] || (e[1] = (I) => _())
|
|
304
|
-
})
|
|
305
|
-
]))
|
|
306
|
-
])
|
|
307
|
-
]);
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
}), Fe = /* @__PURE__ */ A(ve, [["__scopeId", "data-v-654073ab"]]);
|
|
311
|
-
export {
|
|
312
|
-
Fe as default
|
|
313
|
-
};
|