@feedmepos/mf-brand-app-builder 0.5.37-prod → 0.5.39-dev.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/{App-CNt62N-c.js → App-BkKpBANO.js} +6 -6
- package/dist/{BrandkitView-DjsOzNuT.js → BrandkitView-BHxLHRHQ.js} +2 -2
- package/dist/{BuilderView-3RVw9V0T.js → BuilderView-CXfguRqC.js} +876 -865
- package/dist/CredentialSettings-3eVBw1x8.js +204 -0
- package/dist/{ImageUpload-B-BExWD_.js → ImageUpload-BPKZzWlC.js} +1 -1
- package/dist/{ListRepeater-C0bQjRwD.js → ListRepeater--jgzApql.js} +1 -1
- package/dist/{ProjectView-ByxaVBFb.js → ProjectView-Bq9eIS_m.js} +174 -162
- package/dist/{SettingsView-uft0uKio.js → SettingsView-C6WNydwT.js} +9 -9
- package/dist/app-BhQ6s4xM.js +16209 -0
- package/dist/app.js +1 -1
- package/dist/client/merchant/src/app.d.ts +14 -0
- package/dist/client/merchant/src/components/brandkit/ColorSelection.vue.d.ts +2 -2
- package/dist/client/merchant/src/composables/useMiniProgramPermission.d.ts +7 -0
- package/dist/{dayjs.min-DnbY0e60.js → dayjs.min-26xBDzV6.js} +1 -1
- package/dist/{main-Cp3L-QnD.js → main-D3hu_bbz.js} +526 -523
- package/dist/package.json +3 -2
- package/dist/{useBusinessFeatureFlag-rGPsfDu1.js → useBusinessFeatureFlag-6P4lr8pM.js} +1 -1
- package/package.json +3 -2
- package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
- package/dist/app-BXxfcblN.js +0 -14226
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { defineComponent as B, ref as d, watch as S, resolveComponent as k, createElementBlock as f, openBlock as c, createCommentVNode as w, createBlock as K, renderSlot as D, toDisplayString as F, createElementVNode as m, createVNode as t, Fragment as I } from "vue";
|
|
2
|
+
import { B as P } from "./index-CVVQJJYY.js";
|
|
3
|
+
import { useCoreStore as N, useI18n as $ } from "@feedmepos/mf-common";
|
|
4
|
+
import { K as j } from "./vue-sonner-CBFYmm8_.js";
|
|
5
|
+
const O = { key: 0 }, R = { class: "rounded-md border-2 border-dashed border-fm-color-primary p-16 flex flex-col gap-8 items-center mt-4" }, T = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, b = /* @__PURE__ */ B({
|
|
6
|
+
__name: "FileUpload",
|
|
7
|
+
props: {
|
|
8
|
+
label: {},
|
|
9
|
+
modelValue: {},
|
|
10
|
+
accept: {}
|
|
11
|
+
},
|
|
12
|
+
emits: ["update:modelValue"],
|
|
13
|
+
setup(C, { emit: x }) {
|
|
14
|
+
const _ = x, i = d(C.modelValue);
|
|
15
|
+
return S(i, () => {
|
|
16
|
+
_("update:modelValue", i.value);
|
|
17
|
+
}), (s, n) => {
|
|
18
|
+
const y = k("FmDropField"), g = k("FmButton");
|
|
19
|
+
return c(), f("div", null, [
|
|
20
|
+
s.label ? (c(), f("p", O, F(s.label), 1)) : w("", !0),
|
|
21
|
+
i.value ? D(s.$slots, "default", { key: 2 }, () => [
|
|
22
|
+
m("div", R, [
|
|
23
|
+
t(g, {
|
|
24
|
+
variant: "secondary",
|
|
25
|
+
label: "Remove",
|
|
26
|
+
onClick: n[1] || (n[1] = (v) => i.value = void 0)
|
|
27
|
+
}),
|
|
28
|
+
m("p", T, F(i.value.name), 1)
|
|
29
|
+
])
|
|
30
|
+
]) : (c(), K(y, {
|
|
31
|
+
key: 1,
|
|
32
|
+
accept: s.accept,
|
|
33
|
+
"max-files": 1,
|
|
34
|
+
onFileUpload: n[0] || (n[0] = (v) => i.value = v)
|
|
35
|
+
}, null, 8, ["accept"]))
|
|
36
|
+
]);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}), E = { class: "w-full flex items-center justify-between" }, G = { key: 0 }, J = {
|
|
40
|
+
key: 1,
|
|
41
|
+
class: "relative flex flex-col gap-24"
|
|
42
|
+
}, L = { class: "grid grid-cols-1 lg:grid-cols-2 gap-24" }, q = {
|
|
43
|
+
key: 0,
|
|
44
|
+
class: "space-y-16 p-24 border border-fm-color-neutral-gray-200 rounded-lg bg-white"
|
|
45
|
+
}, z = {
|
|
46
|
+
key: 1,
|
|
47
|
+
class: "space-y-16 p-24 border border-fm-color-neutral-gray-200 rounded-lg bg-white"
|
|
48
|
+
}, H = { class: "grid grid-cols-1 sm:grid-cols-2 gap-16" }, Y = /* @__PURE__ */ B({
|
|
49
|
+
__name: "CredentialSettings",
|
|
50
|
+
setup(C) {
|
|
51
|
+
const x = N(), { t: _ } = $(), l = d(), i = d(), s = d(), n = d(), y = d(), g = d(), v = d(), U = d(!1), V = (a) => new Promise((e, u) => {
|
|
52
|
+
const r = new FileReader();
|
|
53
|
+
r.readAsDataURL(a), r.onload = () => {
|
|
54
|
+
const o = r.result.split(",")[1];
|
|
55
|
+
e(o);
|
|
56
|
+
}, r.onerror = (p) => u(p);
|
|
57
|
+
}), A = async () => {
|
|
58
|
+
U.value = !0, j.promise(
|
|
59
|
+
async () => {
|
|
60
|
+
var e, u, r;
|
|
61
|
+
const a = {
|
|
62
|
+
android: ((e = l.value) == null ? void 0 : e.android) || {},
|
|
63
|
+
ios: ((u = l.value) == null ? void 0 : u.ios) || {},
|
|
64
|
+
...l.value
|
|
65
|
+
};
|
|
66
|
+
i.value && (a.android.keystore = await V(i.value)), s.value && (a.android.key_properties = await V(
|
|
67
|
+
s.value
|
|
68
|
+
)), n.value && (a.android.service_account_json = await V(
|
|
69
|
+
n.value
|
|
70
|
+
)), y.value && (a.ios.distribution_certificate = await V(
|
|
71
|
+
y.value
|
|
72
|
+
)), g.value && (a.ios.provisioning_profile = await V(
|
|
73
|
+
g.value
|
|
74
|
+
)), v.value && (a.ios.app_store_connect_api_private_key = await V(
|
|
75
|
+
v.value
|
|
76
|
+
)), await P.updateCredentials(
|
|
77
|
+
((r = x.currentBusiness.value) == null ? void 0 : r.id) || "",
|
|
78
|
+
a
|
|
79
|
+
);
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
loading: _("brand.settings.management.toast.saving"),
|
|
83
|
+
success: () => _("brand.settings.management.toast.saved"),
|
|
84
|
+
error: (a) => a.message ?? _("brand.settings.management.toast.errorSaving"),
|
|
85
|
+
finally() {
|
|
86
|
+
U.value = !1;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
};
|
|
91
|
+
return S(
|
|
92
|
+
() => x.currentBusiness.value,
|
|
93
|
+
async (a, e) => {
|
|
94
|
+
a && a._id != (e == null ? void 0 : e._id) && (l.value = await P.getCredentials(a._id).catch((u) => (console.error(u), {
|
|
95
|
+
android: {},
|
|
96
|
+
ios: {}
|
|
97
|
+
})));
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
immediate: !0
|
|
101
|
+
}
|
|
102
|
+
), (a, e) => {
|
|
103
|
+
const u = k("FmButton"), r = k("FmCircularProgress"), p = k("FmTextField");
|
|
104
|
+
return c(), f(I, null, [
|
|
105
|
+
m("div", E, [
|
|
106
|
+
e[11] || (e[11] = m("h2", { class: "fm-typo-en-title-sm-600 text-fm-color-typo-primary" }, " Native Credentials ", -1)),
|
|
107
|
+
t(u, {
|
|
108
|
+
variant: "primary",
|
|
109
|
+
label: "Save Credentials",
|
|
110
|
+
loading: U.value,
|
|
111
|
+
onClick: A
|
|
112
|
+
}, null, 8, ["loading"])
|
|
113
|
+
]),
|
|
114
|
+
l.value ? (c(), f("div", J, [
|
|
115
|
+
m("div", L, [
|
|
116
|
+
l.value.android ? (c(), f("div", q, [
|
|
117
|
+
e[12] || (e[12] = m("h2", { class: "text-xl font-bold text-fm-color-typo-primary" }, "Android", -1)),
|
|
118
|
+
t(p, {
|
|
119
|
+
modelValue: l.value.android.package_name,
|
|
120
|
+
"onUpdate:modelValue": e[0] || (e[0] = (o) => l.value.android.package_name = o),
|
|
121
|
+
label: "Package Name",
|
|
122
|
+
placeholder: "com.example.app"
|
|
123
|
+
}, null, 8, ["modelValue"]),
|
|
124
|
+
t(b, {
|
|
125
|
+
label: "Upload Keystore (.jks or .keystore)",
|
|
126
|
+
accept: ".jks,.keystore",
|
|
127
|
+
"max-files": 1,
|
|
128
|
+
modelValue: i.value,
|
|
129
|
+
"onUpdate:modelValue": e[1] || (e[1] = (o) => i.value = o)
|
|
130
|
+
}, null, 8, ["modelValue"]),
|
|
131
|
+
t(b, {
|
|
132
|
+
label: "Upload Key Properties (key.properties)",
|
|
133
|
+
accept: ".properties",
|
|
134
|
+
"max-files": 1,
|
|
135
|
+
modelValue: s.value,
|
|
136
|
+
"onUpdate:modelValue": e[2] || (e[2] = (o) => s.value = o)
|
|
137
|
+
}, null, 8, ["modelValue"]),
|
|
138
|
+
t(b, {
|
|
139
|
+
label: "Upload Service Account JSON (Google Play)",
|
|
140
|
+
accept: ".json",
|
|
141
|
+
"max-files": 1,
|
|
142
|
+
modelValue: n.value,
|
|
143
|
+
"onUpdate:modelValue": e[3] || (e[3] = (o) => n.value = o)
|
|
144
|
+
}, null, 8, ["modelValue"])
|
|
145
|
+
])) : w("", !0),
|
|
146
|
+
l.value.ios ? (c(), f("div", z, [
|
|
147
|
+
e[13] || (e[13] = m("h2", { class: "text-xl font-bold text-fm-color-typo-primary" }, "iOS", -1)),
|
|
148
|
+
m("div", H, [
|
|
149
|
+
t(p, {
|
|
150
|
+
modelValue: l.value.ios.bundle_id,
|
|
151
|
+
"onUpdate:modelValue": e[4] || (e[4] = (o) => l.value.ios.bundle_id = o),
|
|
152
|
+
label: "Bundle ID",
|
|
153
|
+
placeholder: "com.example.app"
|
|
154
|
+
}, null, 8, ["modelValue"]),
|
|
155
|
+
t(p, {
|
|
156
|
+
modelValue: l.value.ios.password,
|
|
157
|
+
"onUpdate:modelValue": e[5] || (e[5] = (o) => l.value.ios.password = o),
|
|
158
|
+
label: "Certificate Password",
|
|
159
|
+
type: "password"
|
|
160
|
+
}, null, 8, ["modelValue"])
|
|
161
|
+
]),
|
|
162
|
+
t(p, {
|
|
163
|
+
modelValue: l.value.ios.provisioning_profile_uuid,
|
|
164
|
+
"onUpdate:modelValue": e[6] || (e[6] = (o) => l.value.ios.provisioning_profile_uuid = o),
|
|
165
|
+
label: "Provisioning Profile UUID (Optional)"
|
|
166
|
+
}, null, 8, ["modelValue"]),
|
|
167
|
+
t(p, {
|
|
168
|
+
modelValue: l.value.ios.app_store_connect_api_key_id,
|
|
169
|
+
"onUpdate:modelValue": e[7] || (e[7] = (o) => l.value.ios.app_store_connect_api_key_id = o),
|
|
170
|
+
label: "App Store Connect API Key ID"
|
|
171
|
+
}, null, 8, ["modelValue"]),
|
|
172
|
+
t(b, {
|
|
173
|
+
label: "Upload Distribution Certificate (.p12)",
|
|
174
|
+
accept: ".p12",
|
|
175
|
+
"max-files": 1,
|
|
176
|
+
modelValue: y.value,
|
|
177
|
+
"onUpdate:modelValue": e[8] || (e[8] = (o) => y.value = o)
|
|
178
|
+
}, null, 8, ["modelValue"]),
|
|
179
|
+
t(b, {
|
|
180
|
+
label: "Upload Provisioning Profile (.mobileprovision)",
|
|
181
|
+
accept: ".mobileprovision",
|
|
182
|
+
"max-files": 1,
|
|
183
|
+
modelValue: g.value,
|
|
184
|
+
"onUpdate:modelValue": e[9] || (e[9] = (o) => g.value = o)
|
|
185
|
+
}, null, 8, ["modelValue"]),
|
|
186
|
+
t(b, {
|
|
187
|
+
label: "Upload App Store Connect API Private Key (.p8)",
|
|
188
|
+
accept: ".p8",
|
|
189
|
+
"max-files": 1,
|
|
190
|
+
modelValue: v.value,
|
|
191
|
+
"onUpdate:modelValue": e[10] || (e[10] = (o) => v.value = o)
|
|
192
|
+
}, null, 8, ["modelValue"])
|
|
193
|
+
])) : w("", !0)
|
|
194
|
+
])
|
|
195
|
+
])) : (c(), f("div", G, [
|
|
196
|
+
t(r)
|
|
197
|
+
]))
|
|
198
|
+
], 64);
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
export {
|
|
203
|
+
Y as default
|
|
204
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as y, ref as b, resolveComponent as w, createElementBlock as r, openBlock as s, createVNode as c, createCommentVNode as f, Fragment as C, createElementVNode as i, unref as u } from "vue";
|
|
2
2
|
import { r as g, I as h } from "./image-D_Djf1PS.js";
|
|
3
3
|
import { useCoreStore as I } from "@feedmepos/mf-common";
|
|
4
|
-
import "./main-
|
|
4
|
+
import "./main-D3hu_bbz.js";
|
|
5
5
|
import { _ as $ } from "./Icon.vue_vue_type_style_index_0_lang-BcRjQndc.js";
|
|
6
6
|
import { C as k } from "./CircularProgress-DdblYCtV.js";
|
|
7
7
|
import { v as F } from "./v4-CKwdnpQf.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as b, resolveComponent as y, createBlock as s, openBlock as c, unref as u, withCtx as i, createElementBlock as m, Fragment as x, renderList as g, createElementVNode as p, createVNode as n, resolveDynamicComponent as F } from "vue";
|
|
2
|
-
import { F as f } from "./app-
|
|
2
|
+
import { F as f } from "./app-BhQ6s4xM.js";
|
|
3
3
|
const h = { class: "flex justify-end gap-4 items-center w-full py-16 px-12 border-b" }, z = { class: "flex flex-col gap-4 w-full p-12" }, I = /* @__PURE__ */ b({
|
|
4
4
|
__name: "ListRepeater",
|
|
5
5
|
props: {
|