@feedmepos/mf-connect 0.1.98-beta.73 → 0.1.98-beta.74
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-C4XD_vWL.js → App-COUNgNnC.js} +493 -474
- package/dist/{AuditLogs-DpevHGsA.js → AuditLogs-CY45tdqr.js} +14 -13
- package/dist/{Bin-FRrYZ8pV.js → Bin-COrX2Oq4.js} +8 -8
- package/dist/{Broadcast-CoefxWt-.js → Broadcast-BQxJ8Edf.js} +89 -86
- package/dist/{CampaignAnalytic-CdZjzsLr.js → CampaignAnalytic-CSYrBckT.js} +7 -7
- package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DQOLEDzY.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DQUQxU1_.js} +7 -6
- package/dist/{Card-BABL96V6.js → Card-62iX4uef.js} +24 -23
- package/dist/{Collections-D6XuhBO1.js → Collections-BxexBaGi.js} +8 -8
- package/dist/{Credit-D2WTeN8Z.js → Credit-B5fLK5ot.js} +12 -12
- package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-B0KkvFWi.js → DateRangeChip.vue_vue_type_script_setup_true_lang-C738fOnK.js} +1 -1
- package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-G2oU70Ef.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-CloubCwR.js} +36 -35
- package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-C4RByg0k.js → EffectSheet.vue_vue_type_style_index_0_lang-tFwP9_hm.js} +6 -6
- package/dist/{Experience-CUqmspwT.js → Experience-BReFp_Dz.js} +87 -84
- package/dist/{FileSaver.min-DX17A8Gj.js → FileSaver.min-o09GwL8H.js} +1 -1
- package/dist/{Game-D8IvyDdA.js → Game-DTDVEBrO.js} +13 -13
- package/dist/{GiftCardSetup-BOSKBH8c.js → GiftCardSetup-CP7Pdqcb.js} +10 -10
- package/dist/GoalPickerPanel.vue_vue_type_script_setup_true_lang-DzV35QnL.js +417 -0
- package/dist/Goals-BNspliQP.js +244 -0
- package/dist/{Grab-CnBGt_H2.js → Grab-C3xNIYzE.js} +9 -9
- package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-BI00YCKv.js → ImageInput.vue_vue_type_script_setup_true_lang-BidKqIgw.js} +1 -1
- package/dist/{Index-BovDOTbf.js → Index-CRlr03xg.js} +10 -10
- package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-D8auavm7.js → LocationPicker.vue_vue_type_script_setup_true_lang-_YyfSHpE.js} +1 -1
- package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-BM99IoIG.js → LottieAnimation.vue_vue_type_script_setup_true_lang-CMfRL6Ef.js} +1 -1
- package/dist/{LoyaltyDashboard-DiCQnQ76.js → LoyaltyDashboard-BQpKd2JC.js} +1213 -1170
- package/dist/{MainLayout-Cg37dK-P.js → MainLayout-BIVZ2S6v.js} +3 -3
- package/dist/{Marketing-DRCT9dBo.js → Marketing-8SvgFvTs.js} +4 -4
- package/dist/{MarketingMaterialEdit-DcE0A8_A.js → MarketingMaterialEdit-DXaM4RKu.js} +6 -6
- package/dist/{Member-C8T1-ywK.js → Member-DucF8ody.js} +7 -7
- package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-CTl8LtJ9.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-CMQ1b_BI.js} +26 -25
- package/dist/{MemberImportHistory-CYCxxxN7.js → MemberImportHistory-BB-pNBDA.js} +7 -7
- package/dist/{MemberList-Ddlnm4JX.js → MemberList-CazaLinm.js} +14 -14
- package/dist/{MemberTransactions-DwyZTeZb.js → MemberTransactions-0PaBQaYk.js} +1 -1
- package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-BWCxGlQO.js → MessageInput.vue_vue_type_script_setup_true_lang-Dv2rIoW2.js} +10 -10
- package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-LdVeH7gh.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-DWn3ajhn.js} +1 -1
- package/dist/{Mission-CW0y8Bzw.js → Mission-DxH1u9Ps.js} +84 -81
- package/dist/{Overview-i2XPL7Pu.js → Overview-BcDJv-LJ.js} +4 -4
- package/dist/{Overview-CO4T3l6l.js → Overview-vepmOail.js} +22 -21
- package/dist/{Point-CNWdfqQZ.js → Point-LgZ_UrwI.js} +108 -99
- package/dist/{Promotion-DAemCP79.js → Promotion-CC6Drl2T.js} +96 -93
- package/dist/{Queue-DI50gMny.js → Queue-CeYuqidN.js} +14 -13
- package/dist/{Record-DX3WHXku.js → Record-B17ZYsb5.js} +9 -9
- package/dist/{Review-DzSNG4Le.js → Review-D6yhv3J7.js} +2 -2
- package/dist/{ReviewFacebookCallback-CrdRUN3t.js → ReviewFacebookCallback-BAB4epr8.js} +5 -5
- package/dist/{ReviewGoogleCallback-Da28WNzU.js → ReviewGoogleCallback-CZccpOLv.js} +5 -5
- package/dist/{Reward-DUQAE99I.js → Reward-PdgtYMnB.js} +16 -16
- package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-BGAOPkwD.js → RewardGroup.vue_vue_type_script_setup_true_lang-CiVHQa5M.js} +25 -24
- package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-B9Dbe9no.js → RuleGroup.vue_vue_type_script_setup_true_lang-_rUcf5lG.js} +16 -15
- package/dist/{Segment-BgVf2-G2.js → Segment-DVK6xqb9.js} +27 -26
- package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-DDLXF5HM.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-CiR-d0s-.js} +16 -15
- package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-9UiH43em.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-CkPnwcE1.js} +4 -4
- package/dist/{Setting-3jW6EbKA.js → Setting-D9x8t85J.js} +14 -14
- package/dist/{SettingAdvertisements-C40QcuSn.js → SettingAdvertisements-VUfOdSPw.js} +12 -12
- package/dist/{Settings-DT9bypKs.js → Settings-B_cbux1z.js} +5 -5
- package/dist/{Store-DQyOUfEJ.js → Store-BmMCgHeP.js} +28 -27
- package/dist/{StoreRewards-Dr_c0PbO.js → StoreRewards-D_TSVQMf.js} +15 -15
- package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-Bh5h8Lc_.js → StoreTransactions.vue_vue_type_script_setup_true_lang-qMRV_p8H.js} +29 -28
- package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-LquvtnTy.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-DKOE5bcU.js} +2 -2
- package/dist/{Tier-DmqfEWcB.js → Tier-BNQ_RmZV.js} +914 -922
- package/dist/{Title-Dx6pcJfP.js → Title-DHicIYnB.js} +24 -23
- package/dist/{Transaction-CD6agt6m.js → Transaction-B57Begy_.js} +2 -2
- package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-CNjBtitb.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-Cw852iqb.js} +6 -6
- package/dist/Voucher-DIZfWgdX.js +837 -0
- package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-Bv--fzY0.js → VoucherEditor.vue_vue_type_script_setup_true_lang-BhYXVG4z.js} +12 -12
- package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-Bq_7U0NO.js → ZodTextField.vue_vue_type_script_setup_true_lang-RnvpoPAb.js} +2 -2
- package/dist/{app-CmqX1V1B.js → app-D59Y5Pmz.js} +510 -201
- package/dist/app.js +1 -1
- package/dist/{base.export-guVE-B2c.js → base.export-Bp2NvmoR.js} +2 -2
- package/dist/{business-DXmGtwPm.js → business-CZnoeYYk.js} +1 -1
- package/dist/{campaign-CVXbgs-y.js → campaign-C0od4X1k.js} +2 -2
- package/dist/{campaign-D9Jufumh.js → campaign-CXR35buF.js} +9 -9
- package/dist/{campaign.enum-CXhYMbkx.js → campaign.enum-DlrjqgBa.js} +1 -1
- package/dist/{campaign.fn-DoJPn6yl.js → campaign.fn-bEy0au5e.js} +30 -30
- package/dist/{collectible.enum-Tk6LIMMm.js → collectible.enum-Czi69PBO.js} +1 -1
- package/dist/{collection.fn-DCVNYQau.js → collection.fn-DzPeFXPq.js} +2 -2
- package/dist/{currency-BYhkCI6F.js → currency-DktN5oXx.js} +1 -1
- package/dist/{duplicateCampaign-BOVBZHFs.js → duplicateCampaign-Dc_9ZYk5.js} +2 -2
- package/dist/{effect-e6wYWgc8.js → effect-KY41iVGx.js} +1 -1
- package/dist/{email-addresses-Dcd_vAeM.js → email-addresses-CRGGbqZn.js} +2 -2
- package/dist/{helper-DluoQ6zi.js → helper-BT8y_Hpb.js} +1 -1
- package/dist/{index-CBRWvjup.js → index-0awpDQm_.js} +1109 -32
- package/dist/{index-DB51l5yi.js → index-11j23Lx1.js} +1 -1
- package/dist/{index-BFzBAm6P.js → index-377HHaUi.js} +1 -1
- package/dist/{index-DoiGG41P.js → index-B30DDvin.js} +3 -3
- package/dist/{index-ChYMoLaB.js → index-BE8jnf9X.js} +1 -1
- package/dist/{index-DIP_uzZm.js → index-BWR1QjWQ.js} +5 -5
- package/dist/{index-CiJQlOu7.js → index-BZnzbUL3.js} +10 -9
- package/dist/{index-C-oypk0K.js → index-BhJpa8K-.js} +3 -3
- package/dist/{index-2QCDTrA9.js → index-BzKHBymK.js} +2 -2
- package/dist/{index-CDdNExzM.js → index-CMJp7VdE.js} +1 -1
- package/dist/{index-DKrJlWH3.js → index-CTPFlKiY.js} +4 -4
- package/dist/{index-SQItAw7w.js → index-CTe-H50U.js} +3 -3
- package/dist/{index-BAs9N7bi.js → index-CYgzVl3H.js} +3 -3
- package/dist/index-ClNPGM0y.js +166 -0
- package/dist/{index-qkkPuNFM.js → index-D-V84VLW.js} +131 -119
- package/dist/{index-SS72WJs_.js → index-D2FgYlbx.js} +1 -1
- package/dist/{index-BpAhyOgv.js → index-DiicsY5E.js} +1 -1
- package/dist/{index-kPcRcSFx.js → index-E4B5H1FX.js} +2 -2
- package/dist/{index-C9JY8Ru6.js → index-G8qEVB7S.js} +2 -2
- package/dist/{index.esm2017-BLVWhb4f.js → index.esm2017-DKzsf5EJ.js} +1 -1
- package/dist/{loading-ClX4Z1ZH.js → loading-AuVL4WdD.js} +1 -1
- package/dist/{lodash-Cxh2BWuW.js → lodash-Bm8ZbAXg.js} +1 -1
- package/dist/{member-import-DKfSDn0D.js → member-import-Kq5CMrPF.js} +1 -1
- package/dist/{membership-BBAosVNQ.js → membership-8f9xLURB.js} +3 -3
- package/dist/{money-CWzvdiFT.js → money-JRN61MHj.js} +1 -1
- package/dist/{number-Cp7TGBzd.js → number-Dd6DRScj.js} +1 -1
- package/dist/{objectid-CXWfUmP_.js → objectid-_tuwJN_b.js} +9 -9
- package/dist/onboarding-DOPR1c3u.js +129 -0
- package/dist/onboardingSetup-DOR-OW92.js +17 -0
- package/dist/{plugins-BKD6oEHa.js → plugins-DPFr2tq7.js} +3 -3
- package/dist/{reward-CrjStT4w.js → reward-B-yDjlsA.js} +1 -1
- package/dist/{rule-CBZRptRM.js → rule-DRN4bolS.js} +19 -18
- package/dist/{template-D4qWK9tk.js → template-7UtS_hVI.js} +6 -6
- package/dist/{timezone-t0WxSk3e.js → timezone-BmZfPTab.js} +1 -1
- package/dist/{transaction.fn-DZp6Drqf.js → transaction.fn-C9WOWjoC.js} +2 -2
- package/dist/{trigger-DN5yeimJ.js → trigger-BDKxlupM.js} +5 -5
- package/dist/{useMarketingMaterialActions-ChkZyyRO.js → useMarketingMaterialActions-DJ7__20D.js} +3 -3
- package/dist/{usePagination-Vda9U5Dh.js → usePagination-Czb6ZvSX.js} +1 -1
- package/dist/{user-jEjTV3E6.js → user-C-y46MEn.js} +1 -1
- package/dist/{vue-i18n-Bg_RJ_GV.js → vue-i18n-l6QdWh8z.js} +326 -326
- package/dist/{xlsx-unW4U5Tx.js → xlsx-Dbm5Y1eY.js} +440 -440
- package/dist/{zod-DIsCEUuE.js → zod-DciqV0cq.js} +1 -1
- package/package.json +1 -1
- package/dist/Voucher-P4dyOeUd.js +0 -444
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
import { defineComponent as T, resolveComponent as k, openBlock as o, createBlock as p, withCtx as Z, createElementVNode as i, unref as e, createVNode as x, ref as w, computed as V, toDisplayString as h, createElementBlock as r, Fragment as L, renderList as R, createCommentVNode as y, normalizeClass as de, isRef as ue } from "vue";
|
|
2
|
+
import { u as A } from "./vue-i18n-l6QdWh8z.js";
|
|
3
|
+
import { useRouter as me } from "vue-router";
|
|
4
|
+
import { S as pe } from "./index-G8qEVB7S.js";
|
|
5
|
+
import "./index-D2FgYlbx.js";
|
|
6
|
+
import { n as ee } from "./plugins-DPFr2tq7.js";
|
|
7
|
+
import { u as te } from "./business-CZnoeYYk.js";
|
|
8
|
+
import { u as U, e as be, i as fe, p as ye, g as ne, o as ge, d as _e, c as ve } from "./onboarding-DOPR1c3u.js";
|
|
9
|
+
import { R as Y } from "./app-D59Y5Pmz.js";
|
|
10
|
+
const xe = ["aria-label"], M = /* @__PURE__ */ T({
|
|
11
|
+
__name: "SectionChip",
|
|
12
|
+
props: {
|
|
13
|
+
label: {},
|
|
14
|
+
tooltip: {}
|
|
15
|
+
},
|
|
16
|
+
setup(u) {
|
|
17
|
+
const { t: P } = A();
|
|
18
|
+
return (c, C) => {
|
|
19
|
+
const t = k("FmChip"), $ = k("FmTooltip");
|
|
20
|
+
return u.tooltip ? (o(), p($, {
|
|
21
|
+
key: 0,
|
|
22
|
+
variant: "plain",
|
|
23
|
+
placement: "top",
|
|
24
|
+
content: u.tooltip
|
|
25
|
+
}, {
|
|
26
|
+
default: Z(() => [
|
|
27
|
+
i("button", {
|
|
28
|
+
type: "button",
|
|
29
|
+
class: "inline-flex fm-corner-radius-md",
|
|
30
|
+
"aria-label": e(P)("connect.onboarding.more_about", { section: u.label })
|
|
31
|
+
}, [
|
|
32
|
+
x(t, {
|
|
33
|
+
variant: "plain",
|
|
34
|
+
compact: "",
|
|
35
|
+
label: u.label,
|
|
36
|
+
"right-icon": "help"
|
|
37
|
+
}, null, 8, ["label"])
|
|
38
|
+
], 8, xe)
|
|
39
|
+
]),
|
|
40
|
+
_: 1
|
|
41
|
+
}, 8, ["content"])) : (o(), p(t, {
|
|
42
|
+
key: 1,
|
|
43
|
+
variant: "plain",
|
|
44
|
+
compact: "",
|
|
45
|
+
label: u.label
|
|
46
|
+
}, null, 8, ["label"]));
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}), he = { class: "flex items-center gap-16 p-24 flex-wrap" }, ke = { class: "flex flex-col gap-4 flex-1 min-w-[200px]" }, Ce = { class: "fm-typo-en-title-sm-800 text-fm-color-typo-primary" }, $e = { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, Fe = {
|
|
50
|
+
key: 0,
|
|
51
|
+
class: "flex flex-wrap gap-8 mt-4"
|
|
52
|
+
}, Se = { class: "flex items-center gap-4" }, Be = {
|
|
53
|
+
key: 0,
|
|
54
|
+
class: "flex items-center gap-16 px-24 py-16 border-t border-fm-color-neutral-gray-100 flex-wrap"
|
|
55
|
+
}, Ie = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-primary flex-1" }, Ve = {
|
|
56
|
+
key: 1,
|
|
57
|
+
class: "flex flex-col"
|
|
58
|
+
}, De = { class: "flex flex-col gap-4 flex-1 min-w-0" }, Pe = { class: "flex items-center gap-8 flex-wrap" }, Ge = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Le = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary whitespace-nowrap" }, Ee = {
|
|
59
|
+
key: 1,
|
|
60
|
+
class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
|
|
61
|
+
}, Ne = {
|
|
62
|
+
key: 0,
|
|
63
|
+
class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary max-w-[62ch]"
|
|
64
|
+
}, Oe = { class: "flex items-center gap-4 shrink-0" }, ct = /* @__PURE__ */ T({
|
|
65
|
+
__name: "SetupCard",
|
|
66
|
+
props: {
|
|
67
|
+
mode: {},
|
|
68
|
+
placement: {}
|
|
69
|
+
},
|
|
70
|
+
emits: ["customise", "next"],
|
|
71
|
+
setup(u, { emit: P }) {
|
|
72
|
+
const c = u, C = P, { t } = A(), $ = me(), m = U(), E = te(), G = `mf-connect-onboarding-collapsed:${c.placement}`, a = w((() => {
|
|
73
|
+
try {
|
|
74
|
+
return localStorage.getItem(G) === "1";
|
|
75
|
+
} catch {
|
|
76
|
+
return !1;
|
|
77
|
+
}
|
|
78
|
+
})());
|
|
79
|
+
function g() {
|
|
80
|
+
a.value = !a.value;
|
|
81
|
+
try {
|
|
82
|
+
localStorage.setItem(G, a.value ? "1" : "0");
|
|
83
|
+
} catch {
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const b = V(() => {
|
|
87
|
+
const s = m.catalog, f = m.state;
|
|
88
|
+
if (!s || !f) return [];
|
|
89
|
+
const I = c.mode === "goals" ? be(s, f) : /* @__PURE__ */ new Set();
|
|
90
|
+
return m.ids(c.mode).map((d) => s.items.find((S) => S.id === d)).filter((d) => !!d).map((d) => ({
|
|
91
|
+
item: d,
|
|
92
|
+
title: c.mode === "generic" ? d.genericTitle ?? d.title : d.title,
|
|
93
|
+
done: fe(d, f, c.mode),
|
|
94
|
+
manual: "manual" in d.doneWhen,
|
|
95
|
+
recommended: I.has(d.id),
|
|
96
|
+
section: s.sections[d.section],
|
|
97
|
+
extra: d.extraSection ? s.sections[d.extraSection] : void 0
|
|
98
|
+
}));
|
|
99
|
+
}), B = V(() => b.value.length), l = V(() => b.value.filter((s) => s.done).length), F = V(() => B.value > 0 && l.value === B.value), N = V(() => m.minsLeft(c.mode)), _ = V(() => F.value ? t("connect.onboarding.all_set_sub") : l.value > 0 ? t("connect.onboarding.progress_sub", { done: l.value, total: B.value, mins: N.value }) : t(
|
|
100
|
+
c.mode === "generic" ? "connect.onboarding.generic_sub" : "connect.onboarding.goals_sub",
|
|
101
|
+
{ count: B.value, mins: N.value },
|
|
102
|
+
B.value
|
|
103
|
+
)), D = V(() => {
|
|
104
|
+
const s = m.catalog, f = m.state;
|
|
105
|
+
return c.mode !== "goals" || !s || !f ? [] : ye(s, f).map((I) => ({ goal: I, ...ne(s, f, I) }));
|
|
106
|
+
}), K = V(() => F.value ? t("connect.onboarding.all_set_title") : D.value.length === 1 ? t("connect.onboarding.your_goal", { goal: D.value[0].goal.title }) : D.value.length > 1 ? t("connect.onboarding.your_goals") : t("connect.onboarding.start_here")), j = (s) => !!s && !E.isPremium;
|
|
107
|
+
async function z(s) {
|
|
108
|
+
try {
|
|
109
|
+
await m.patch(s);
|
|
110
|
+
} catch {
|
|
111
|
+
ee.error(t("connect.onboarding.save_error"), 3e3);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const oe = (s) => z({ removed: { [s]: !0 } }), le = () => z(c.placement === "analytic" ? { analyticDismissed: !0 } : { goalsDismissed: !0 }), ae = (s) => z({ manualDone: { [s]: !0 } });
|
|
115
|
+
function W(s, f) {
|
|
116
|
+
const I = m.state;
|
|
117
|
+
I && $.push(_e(ve(s, I, c.mode), f));
|
|
118
|
+
}
|
|
119
|
+
function se() {
|
|
120
|
+
c.placement === "analytic" ? $.push({ name: Y["$connect-GOALS"] }) : C("customise");
|
|
121
|
+
}
|
|
122
|
+
return (s, f) => {
|
|
123
|
+
const I = k("FmCircularProgress"), d = k("FmChip"), S = k("FmButton"), ie = k("FmIcon"), ce = k("FmPill"), re = k("FmCard");
|
|
124
|
+
return o(), p(re, {
|
|
125
|
+
variant: "outlined",
|
|
126
|
+
class: "flex flex-col overflow-hidden"
|
|
127
|
+
}, {
|
|
128
|
+
default: Z(() => [
|
|
129
|
+
i("div", he, [
|
|
130
|
+
x(I, {
|
|
131
|
+
size: "xxl",
|
|
132
|
+
class: "shrink-0",
|
|
133
|
+
"current-step": e(l),
|
|
134
|
+
"total-steps": Math.max(e(B), 1)
|
|
135
|
+
}, null, 8, ["current-step", "total-steps"]),
|
|
136
|
+
i("div", ke, [
|
|
137
|
+
i("span", Ce, h(e(K)), 1),
|
|
138
|
+
i("span", $e, h(e(_)), 1),
|
|
139
|
+
e(D).length ? (o(), r("div", Fe, [
|
|
140
|
+
(o(!0), r(L, null, R(e(D), (n) => (o(), p(d, {
|
|
141
|
+
key: n.goal.id,
|
|
142
|
+
compact: "",
|
|
143
|
+
variant: n.allDone ? "success" : "plain",
|
|
144
|
+
label: e(t)("connect.onboarding.goal_progress", { goal: n.goal.title, done: n.done, total: n.total })
|
|
145
|
+
}, null, 8, ["variant", "label"]))), 128))
|
|
146
|
+
])) : y("", !0)
|
|
147
|
+
]),
|
|
148
|
+
i("div", Se, [
|
|
149
|
+
x(S, {
|
|
150
|
+
variant: "tertiary",
|
|
151
|
+
label: e(t)("connect.onboarding.customise"),
|
|
152
|
+
onClick: se
|
|
153
|
+
}, null, 8, ["label"]),
|
|
154
|
+
x(S, {
|
|
155
|
+
variant: "plain",
|
|
156
|
+
icon: e(a) ? "keyboard_arrow_down" : "keyboard_arrow_up",
|
|
157
|
+
"aria-label": e(a) ? e(t)("connect.onboarding.expand") : e(t)("connect.onboarding.collapse"),
|
|
158
|
+
"aria-expanded": !e(a),
|
|
159
|
+
onClick: g
|
|
160
|
+
}, null, 8, ["icon", "aria-label", "aria-expanded"]),
|
|
161
|
+
x(S, {
|
|
162
|
+
variant: "plain",
|
|
163
|
+
icon: "close",
|
|
164
|
+
"aria-label": e(t)("connect.onboarding.hide"),
|
|
165
|
+
onClick: le
|
|
166
|
+
}, null, 8, ["aria-label"])
|
|
167
|
+
])
|
|
168
|
+
]),
|
|
169
|
+
e(a) ? y("", !0) : (o(), r(L, { key: 0 }, [
|
|
170
|
+
e(F) ? (o(), r("div", Be, [
|
|
171
|
+
i("p", Ie, h(e(t)("connect.onboarding.next_line")), 1),
|
|
172
|
+
x(S, {
|
|
173
|
+
variant: "primary",
|
|
174
|
+
label: e(t)("connect.onboarding.see_next"),
|
|
175
|
+
onClick: f[0] || (f[0] = (n) => u.placement === "analytic" ? e($).push({ name: e(Y)["$connect-GOALS"] }) : C("next"))
|
|
176
|
+
}, null, 8, ["label"])
|
|
177
|
+
])) : (o(), r("ul", Ve, [
|
|
178
|
+
(o(!0), r(L, null, R(e(b), (n) => {
|
|
179
|
+
var q, H, J, Q, X;
|
|
180
|
+
return o(), r("li", {
|
|
181
|
+
key: n.item.id,
|
|
182
|
+
class: "group flex items-start gap-16 px-24 py-16 border-t border-fm-color-neutral-gray-100 hover:bg-fm-color-neutral-gray-100 focus-within:bg-fm-color-neutral-gray-100"
|
|
183
|
+
}, [
|
|
184
|
+
x(ie, {
|
|
185
|
+
name: n.done ? "check_circle" : "radio_button_unchecked",
|
|
186
|
+
color: n.done ? "system-success-300" : "neutral-gray-300",
|
|
187
|
+
outline: !n.done,
|
|
188
|
+
class: "shrink-0"
|
|
189
|
+
}, null, 8, ["name", "color", "outline"]),
|
|
190
|
+
i("div", De, [
|
|
191
|
+
i("div", Pe, [
|
|
192
|
+
i("span", Ge, h(n.title), 1),
|
|
193
|
+
n.done ? (o(), r("span", Ee, h((H = n.section) == null ? void 0 : H.label), 1)) : (o(), r(L, { key: 0 }, [
|
|
194
|
+
n.recommended ? (o(), p(d, {
|
|
195
|
+
key: 0,
|
|
196
|
+
variant: "info",
|
|
197
|
+
compact: "",
|
|
198
|
+
label: e(t)("connect.onboarding.recommended")
|
|
199
|
+
}, null, 8, ["label"])) : y("", !0),
|
|
200
|
+
(q = n.section) != null && q.premium ? (o(), p(ce, {
|
|
201
|
+
key: 1,
|
|
202
|
+
variant: "premium"
|
|
203
|
+
})) : y("", !0),
|
|
204
|
+
n.section ? (o(), p(M, {
|
|
205
|
+
key: 2,
|
|
206
|
+
label: n.section.label,
|
|
207
|
+
tooltip: n.section.tooltip
|
|
208
|
+
}, null, 8, ["label", "tooltip"])) : y("", !0),
|
|
209
|
+
n.extra ? (o(), p(M, {
|
|
210
|
+
key: 3,
|
|
211
|
+
label: n.extra.label,
|
|
212
|
+
tooltip: n.extra.tooltip
|
|
213
|
+
}, null, 8, ["label", "tooltip"])) : y("", !0),
|
|
214
|
+
i("span", Le, " · " + h(e(t)("connect.onboarding.minutes", { mins: n.item.minutes })), 1)
|
|
215
|
+
], 64))
|
|
216
|
+
]),
|
|
217
|
+
n.done ? y("", !0) : (o(), r("p", Ne, h(n.item.why), 1))
|
|
218
|
+
]),
|
|
219
|
+
i("div", Oe, [
|
|
220
|
+
n.done ? (o(), p(S, {
|
|
221
|
+
key: 1,
|
|
222
|
+
variant: "tertiary",
|
|
223
|
+
label: e(t)("connect.onboarding.open_section", { section: (X = n.section) == null ? void 0 : X.label }),
|
|
224
|
+
onClick: (O) => W(n.item, !1)
|
|
225
|
+
}, null, 8, ["label", "onClick"])) : (o(), r(L, { key: 0 }, [
|
|
226
|
+
j((J = n.section) == null ? void 0 : J.premium) ? (o(), p(S, {
|
|
227
|
+
key: 0,
|
|
228
|
+
variant: "primary",
|
|
229
|
+
label: e(t)("connect.onboarding.upgrade_unlock"),
|
|
230
|
+
onClick: f[1] || (f[1] = (O) => e(ge)(e(pe).businessId))
|
|
231
|
+
}, null, 8, ["label"])) : y("", !0),
|
|
232
|
+
x(S, {
|
|
233
|
+
variant: j((Q = n.section) == null ? void 0 : Q.premium) ? "tertiary" : "primary",
|
|
234
|
+
label: e(t)("connect.onboarding.set_up"),
|
|
235
|
+
onClick: (O) => W(n.item, !0)
|
|
236
|
+
}, null, 8, ["variant", "label", "onClick"]),
|
|
237
|
+
n.manual ? (o(), p(S, {
|
|
238
|
+
key: 1,
|
|
239
|
+
variant: "secondary",
|
|
240
|
+
label: e(t)("connect.onboarding.mark_done"),
|
|
241
|
+
onClick: (O) => ae(n.item.id)
|
|
242
|
+
}, null, 8, ["label", "onClick"])) : y("", !0)
|
|
243
|
+
], 64)),
|
|
244
|
+
n.done ? y("", !0) : (o(), p(S, {
|
|
245
|
+
key: 2,
|
|
246
|
+
variant: "plain",
|
|
247
|
+
icon: "close",
|
|
248
|
+
class: "opacity-0 group-hover:opacity-100 focus:opacity-100 group-focus-within:opacity-100 [@media(hover:none)]:opacity-100",
|
|
249
|
+
"aria-label": e(t)("connect.onboarding.remove", { title: n.title }),
|
|
250
|
+
onClick: (O) => oe(n.item.id)
|
|
251
|
+
}, null, 8, ["aria-label", "onClick"]))
|
|
252
|
+
])
|
|
253
|
+
]);
|
|
254
|
+
}), 128))
|
|
255
|
+
]))
|
|
256
|
+
], 64))
|
|
257
|
+
]),
|
|
258
|
+
_: 1
|
|
259
|
+
});
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
}), Re = { class: "flex flex-col gap-24" }, Te = { class: "grid grid-cols-[repeat(auto-fit,minmax(320px,1fr))] xs:grid-cols-1 gap-12" }, Ae = ["aria-checked", "aria-disabled", "onClick"], Ke = { class: "flex flex-col gap-8 min-w-0" }, ze = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Me = { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, Ue = { class: "flex flex-wrap gap-8" }, je = {
|
|
263
|
+
key: 0,
|
|
264
|
+
class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
|
|
265
|
+
}, We = {
|
|
266
|
+
key: 1,
|
|
267
|
+
class: "flex"
|
|
268
|
+
}, qe = { class: "flex items-center gap-12" }, He = /* @__PURE__ */ T({
|
|
269
|
+
__name: "GoalPicker",
|
|
270
|
+
props: {
|
|
271
|
+
modelValue: {},
|
|
272
|
+
updating: { type: Boolean }
|
|
273
|
+
},
|
|
274
|
+
emits: ["update:modelValue", "build", "cancel"],
|
|
275
|
+
setup(u, { emit: P }) {
|
|
276
|
+
const c = u, C = P, { t } = A(), $ = U(), m = te(), E = V(() => {
|
|
277
|
+
const v = $.catalog, a = $.state;
|
|
278
|
+
return !v || !a ? [] : v.goals.map((g) => {
|
|
279
|
+
const b = ne(v, a, g), l = [
|
|
280
|
+
...new Set(
|
|
281
|
+
[...g.coreItemIds, ...g.altItemIds].map((_) => {
|
|
282
|
+
var D;
|
|
283
|
+
return (D = v.items.find((K) => K.id === _)) == null ? void 0 : D.section;
|
|
284
|
+
}).filter((_) => !!_)
|
|
285
|
+
)
|
|
286
|
+
].map((_) => v.sections[_]).filter((_) => !!_), F = l.filter((_) => _.premium);
|
|
287
|
+
let N = "";
|
|
288
|
+
return F.length && !m.isPremium && (N = F.length === l.length ? t("connect.onboarding.premium_nudge_all") : t("connect.onboarding.premium_nudge_some", {
|
|
289
|
+
sections: F.map((_) => _.label).join(", ")
|
|
290
|
+
})), {
|
|
291
|
+
goal: g,
|
|
292
|
+
sections: l,
|
|
293
|
+
nudge: N,
|
|
294
|
+
disabled: b.allDone,
|
|
295
|
+
status: b.allDone ? t("connect.onboarding.already_set_up") : b.done > 0 ? t("connect.onboarding.partly_set_up", b) : "",
|
|
296
|
+
selected: c.modelValue.includes(g.id)
|
|
297
|
+
};
|
|
298
|
+
});
|
|
299
|
+
});
|
|
300
|
+
function G(v, a) {
|
|
301
|
+
a || C(
|
|
302
|
+
"update:modelValue",
|
|
303
|
+
c.modelValue.includes(v) ? c.modelValue.filter((g) => g !== v) : [...c.modelValue, v]
|
|
304
|
+
);
|
|
305
|
+
}
|
|
306
|
+
return (v, a) => {
|
|
307
|
+
const g = k("FmIcon"), b = k("FmChip"), B = k("FmButton");
|
|
308
|
+
return o(), r("div", Re, [
|
|
309
|
+
i("div", Te, [
|
|
310
|
+
(o(!0), r(L, null, R(e(E), (l) => (o(), r("button", {
|
|
311
|
+
key: l.goal.id,
|
|
312
|
+
type: "button",
|
|
313
|
+
role: "checkbox",
|
|
314
|
+
"aria-checked": l.selected,
|
|
315
|
+
"aria-disabled": l.disabled,
|
|
316
|
+
class: de(["flex items-start gap-12 p-16 text-left fm-corner-radius-lg border-1 bg-fm-color-neutral-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-fm-color-primary", [
|
|
317
|
+
l.selected ? "border-fm-color-primary" : "border-fm-color-neutral-gray-200",
|
|
318
|
+
l.disabled ? "opacity-60 cursor-not-allowed" : "cursor-pointer"
|
|
319
|
+
]]),
|
|
320
|
+
onClick: (F) => G(l.goal.id, l.disabled)
|
|
321
|
+
}, [
|
|
322
|
+
x(g, {
|
|
323
|
+
name: l.selected ? "check_box" : "check_box_outline_blank",
|
|
324
|
+
color: l.selected ? "primary" : "neutral-gray-300",
|
|
325
|
+
class: "shrink-0",
|
|
326
|
+
"aria-hidden": "true"
|
|
327
|
+
}, null, 8, ["name", "color"]),
|
|
328
|
+
i("span", Ke, [
|
|
329
|
+
i("span", ze, h(l.goal.title), 1),
|
|
330
|
+
i("span", Me, h(l.goal.sub), 1),
|
|
331
|
+
i("span", Ue, [
|
|
332
|
+
(o(!0), r(L, null, R(l.sections, (F) => (o(), p(M, {
|
|
333
|
+
key: F.label,
|
|
334
|
+
label: F.label
|
|
335
|
+
}, null, 8, ["label"]))), 128))
|
|
336
|
+
]),
|
|
337
|
+
l.nudge ? (o(), r("span", je, h(l.nudge), 1)) : y("", !0),
|
|
338
|
+
l.status ? (o(), r("span", We, [
|
|
339
|
+
x(b, {
|
|
340
|
+
variant: l.disabled ? "success" : "neutral",
|
|
341
|
+
compact: "",
|
|
342
|
+
label: l.status
|
|
343
|
+
}, null, 8, ["variant", "label"])
|
|
344
|
+
])) : y("", !0)
|
|
345
|
+
])
|
|
346
|
+
], 10, Ae))), 128))
|
|
347
|
+
]),
|
|
348
|
+
i("div", qe, [
|
|
349
|
+
x(B, {
|
|
350
|
+
variant: "primary",
|
|
351
|
+
label: u.updating ? e(t)("connect.onboarding.update") : e(t)("connect.onboarding.build"),
|
|
352
|
+
disabled: u.modelValue.length === 0,
|
|
353
|
+
onClick: a[0] || (a[0] = (l) => C("build"))
|
|
354
|
+
}, null, 8, ["label", "disabled"]),
|
|
355
|
+
u.updating ? (o(), p(B, {
|
|
356
|
+
key: 0,
|
|
357
|
+
variant: "tertiary",
|
|
358
|
+
label: e(t)("connect.onboarding.cancel"),
|
|
359
|
+
onClick: a[1] || (a[1] = (l) => C("cancel"))
|
|
360
|
+
}, null, 8, ["label"])) : y("", !0)
|
|
361
|
+
])
|
|
362
|
+
]);
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
}), Je = { class: "flex flex-col gap-24 p-32 xs:p-16 border-1 border-fm-color-neutral-gray-100 fm-corner-radius-lg" }, Qe = { class: "flex items-start gap-16" }, Xe = { class: "flex flex-col gap-8 flex-1" }, Ye = { class: "fm-typo-en-title-lg-800 text-fm-color-typo-primary" }, Ze = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-tertiary" }, rt = /* @__PURE__ */ T({
|
|
366
|
+
__name: "GoalPickerPanel",
|
|
367
|
+
props: {
|
|
368
|
+
updating: { type: Boolean },
|
|
369
|
+
dismissible: { type: Boolean }
|
|
370
|
+
},
|
|
371
|
+
emits: ["built", "cancel", "dismiss"],
|
|
372
|
+
setup(u, { emit: P }) {
|
|
373
|
+
var G;
|
|
374
|
+
const c = u, C = P, { t } = A(), $ = U(), m = w([...((G = $.state) == null ? void 0 : G.pickedGoals) ?? []]);
|
|
375
|
+
async function E() {
|
|
376
|
+
try {
|
|
377
|
+
await $.patch({
|
|
378
|
+
pickedGoals: m.value,
|
|
379
|
+
built: !0,
|
|
380
|
+
goalsDismissed: !1,
|
|
381
|
+
analyticDismissed: !1
|
|
382
|
+
}), C("built");
|
|
383
|
+
} catch {
|
|
384
|
+
ee.error(t("connect.onboarding.save_error"), 3e3);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
return (v, a) => {
|
|
388
|
+
const g = k("FmButton");
|
|
389
|
+
return o(), r("section", Je, [
|
|
390
|
+
i("div", Qe, [
|
|
391
|
+
i("div", Xe, [
|
|
392
|
+
i("h2", Ye, h(e(t)("connect.onboarding.picker_title")), 1),
|
|
393
|
+
i("p", Ze, h(e(t)("connect.onboarding.picker_intro")), 1)
|
|
394
|
+
]),
|
|
395
|
+
c.dismissible ? (o(), p(g, {
|
|
396
|
+
key: 0,
|
|
397
|
+
variant: "plain",
|
|
398
|
+
icon: "close",
|
|
399
|
+
"aria-label": e(t)("connect.onboarding.hide"),
|
|
400
|
+
onClick: a[0] || (a[0] = (b) => C("dismiss"))
|
|
401
|
+
}, null, 8, ["aria-label"])) : y("", !0)
|
|
402
|
+
]),
|
|
403
|
+
x(He, {
|
|
404
|
+
modelValue: e(m),
|
|
405
|
+
"onUpdate:modelValue": a[1] || (a[1] = (b) => ue(m) ? m.value = b : null),
|
|
406
|
+
updating: u.updating,
|
|
407
|
+
onBuild: E,
|
|
408
|
+
onCancel: a[2] || (a[2] = (b) => C("cancel"))
|
|
409
|
+
}, null, 8, ["modelValue", "updating"])
|
|
410
|
+
]);
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
});
|
|
414
|
+
export {
|
|
415
|
+
rt as _,
|
|
416
|
+
ct as a
|
|
417
|
+
};
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { defineComponent as Z, ref as P, computed as u, onMounted as ee, onBeforeUnmount as te, resolveComponent as g, openBlock as n, createElementBlock as s, Fragment as x, createVNode as p, unref as e, createElementVNode as a, toDisplayString as i, createBlock as v, createCommentVNode as f, renderList as L, withCtx as U } from "vue";
|
|
2
|
+
import { h as oe } from "./moment-D7p2TMB-.js";
|
|
3
|
+
import { u as ne } from "./vue-i18n-l6QdWh8z.js";
|
|
4
|
+
import { useRouter as ae } from "vue-router";
|
|
5
|
+
import { n as le } from "./plugins-DPFr2tq7.js";
|
|
6
|
+
import { u as se, h as ie, p as ce, b as re, r as de, d as me, c as ue } from "./onboarding-DOPR1c3u.js";
|
|
7
|
+
import { _ as pe, a as fe } from "./GoalPickerPanel.vue_vue_type_script_setup_true_lang-DzV35QnL.js";
|
|
8
|
+
const ye = { class: "px-24 pb-24 flex flex-col gap-24" }, ve = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "flex justify-center py-40"
|
|
11
|
+
}, _e = {
|
|
12
|
+
key: 1,
|
|
13
|
+
class: "flex flex-col items-start gap-12"
|
|
14
|
+
}, ge = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, be = {
|
|
15
|
+
key: 2,
|
|
16
|
+
class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
|
|
17
|
+
}, xe = {
|
|
18
|
+
key: 1,
|
|
19
|
+
class: "flex flex-col gap-8"
|
|
20
|
+
}, he = { class: "fm-typo-en-title-lg-800 text-fm-color-typo-primary" }, ke = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-tertiary" }, Ce = { class: "flex items-center gap-8 flex-wrap" }, Fe = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, we = { key: 1 }, $e = {
|
|
21
|
+
key: 2,
|
|
22
|
+
class: "flex items-center gap-8"
|
|
23
|
+
}, Be = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, Pe = ["aria-expanded"], Se = { class: "flex flex-col gap-4 flex-1" }, Ie = { class: "fm-typo-en-body-md-600 text-fm-color-typo-primary" }, De = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, Ee = {
|
|
24
|
+
key: 0,
|
|
25
|
+
class: "flex flex-col"
|
|
26
|
+
}, Le = { class: "flex flex-col gap-4 flex-1 min-w-0" }, Me = { class: "flex items-center gap-8 flex-wrap" }, Ne = { class: "fm-typo-en-body-md-600 text-fm-color-typo-primary" }, Ve = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, Ye = { class: "fm-typo-en-title-sm-600 text-fm-color-typo-primary" }, Ge = {
|
|
27
|
+
key: 0,
|
|
28
|
+
class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary"
|
|
29
|
+
}, Oe = { class: "flex flex-col" }, Re = { class: "flex flex-col gap-4 flex-1 min-w-0" }, je = { class: "fm-typo-en-body-md-600 text-fm-color-typo-primary" }, ze = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, Ae = { class: "flex items-center gap-12" }, Ze = /* @__PURE__ */ Z({
|
|
30
|
+
__name: "Goals",
|
|
31
|
+
setup(He) {
|
|
32
|
+
const { t: o, locale: M } = ne(), q = ae(), m = se(), h = P(!1), k = P(!1), F = P(!1), S = P(!0), c = u(() => m.catalog), r = u(() => m.state), N = u(() => !!c.value && !!r.value && ie(c.value, r.value)), V = u(() => h.value || !N.value), I = u(() => m.ids("goals")), Y = u(
|
|
33
|
+
() => I.value.length > 0 && m.doneCount("goals") === I.value.length
|
|
34
|
+
), G = u(
|
|
35
|
+
() => c.value && r.value ? ce(c.value, r.value) : []
|
|
36
|
+
), w = u(() => {
|
|
37
|
+
if (!c.value || !r.value) return [];
|
|
38
|
+
const d = r.value;
|
|
39
|
+
return [...new Set(G.value.flatMap((l) => l.coreItemIds))].filter((l) => d.removed[l]);
|
|
40
|
+
}), $ = u(
|
|
41
|
+
() => c.value && r.value ? re(c.value, r.value) : []
|
|
42
|
+
), C = u(() => {
|
|
43
|
+
if (!c.value || !r.value) return [];
|
|
44
|
+
const d = c.value.sections;
|
|
45
|
+
return de(c.value, r.value, I.value).map(({ item: l, liveSince: _ }) => {
|
|
46
|
+
var b;
|
|
47
|
+
return {
|
|
48
|
+
item: l,
|
|
49
|
+
section: ((b = d[l.section]) == null ? void 0 : b.label) ?? "",
|
|
50
|
+
liveSince: _ ? oe(_).format("D MMM YYYY") : ""
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
}), J = u(() => F.value ? C.value : C.value.slice(0, 5));
|
|
54
|
+
async function D(d) {
|
|
55
|
+
try {
|
|
56
|
+
return await m.patch(d), !0;
|
|
57
|
+
} catch {
|
|
58
|
+
return le.error(o("connect.onboarding.save_error"), 3e3), !1;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function B() {
|
|
62
|
+
h.value = !0;
|
|
63
|
+
}
|
|
64
|
+
const K = () => D({ removed: Object.fromEntries(w.value.map((d) => [d, !1])) }), Q = (d) => D({ added: { [d]: !0 }, removed: { [d]: !1 } });
|
|
65
|
+
function T(d) {
|
|
66
|
+
var _;
|
|
67
|
+
const l = (_ = c.value) == null ? void 0 : _.items.find((b) => b.id === d);
|
|
68
|
+
!l || !r.value || q.push(me(ue(l, r.value, "goals"), !1));
|
|
69
|
+
}
|
|
70
|
+
async function O() {
|
|
71
|
+
S.value = !0, await m.read(M.value), S.value = !1;
|
|
72
|
+
}
|
|
73
|
+
const R = () => {
|
|
74
|
+
document.visibilityState === "visible" && m.read(M.value);
|
|
75
|
+
};
|
|
76
|
+
return ee(() => {
|
|
77
|
+
O(), document.addEventListener("visibilitychange", R);
|
|
78
|
+
}), te(() => document.removeEventListener("visibilitychange", R)), (d, l) => {
|
|
79
|
+
var A;
|
|
80
|
+
const _ = g("FmPageHead"), b = g("FmCircularProgress"), y = g("FmButton"), W = g("FmChip"), j = g("FmIcon"), X = g("FmPill"), z = g("FmCard");
|
|
81
|
+
return n(), s(x, null, [
|
|
82
|
+
p(_, {
|
|
83
|
+
title: e(o)("connect.navigation.goals")
|
|
84
|
+
}, null, 8, ["title"]),
|
|
85
|
+
a("div", ye, [
|
|
86
|
+
e(S) && !e(m).loaded ? (n(), s("div", ve, [
|
|
87
|
+
p(b, { size: "xl" })
|
|
88
|
+
])) : e(m).loaded ? e(c) ? (n(), s(x, { key: 3 }, [
|
|
89
|
+
e(V) ? (n(), v(pe, {
|
|
90
|
+
key: String(e(h)),
|
|
91
|
+
updating: e(N),
|
|
92
|
+
onBuilt: l[0] || (l[0] = (t) => h.value = !1),
|
|
93
|
+
onCancel: l[1] || (l[1] = (t) => h.value = !1)
|
|
94
|
+
}, null, 8, ["updating"])) : (n(), s("div", xe, [
|
|
95
|
+
a("h2", he, i(e(o)("connect.onboarding.list_title")), 1),
|
|
96
|
+
a("p", ke, i(e(o)("connect.onboarding.list_intro")), 1)
|
|
97
|
+
])),
|
|
98
|
+
e(V) ? f("", !0) : (n(), s(x, { key: 2 }, [
|
|
99
|
+
a("div", Ce, [
|
|
100
|
+
a("span", Fe, i(e(o)("connect.onboarding.scoped_to")), 1),
|
|
101
|
+
(n(!0), s(x, null, L(e(G), (t) => (n(), v(W, {
|
|
102
|
+
key: t.id,
|
|
103
|
+
variant: "neutral",
|
|
104
|
+
compact: "",
|
|
105
|
+
label: t.title
|
|
106
|
+
}, null, 8, ["label"]))), 128)),
|
|
107
|
+
p(y, {
|
|
108
|
+
variant: "tertiary",
|
|
109
|
+
label: e(o)("connect.onboarding.change_goals"),
|
|
110
|
+
onClick: B
|
|
111
|
+
}, null, 8, ["label"])
|
|
112
|
+
]),
|
|
113
|
+
(A = e(r)) != null && A.goalsDismissed ? (n(), s("div", we, [
|
|
114
|
+
p(y, {
|
|
115
|
+
variant: "secondary",
|
|
116
|
+
label: e(o)("connect.onboarding.show_list"),
|
|
117
|
+
onClick: l[2] || (l[2] = (t) => D({ goalsDismissed: !1 }))
|
|
118
|
+
}, null, 8, ["label"])
|
|
119
|
+
])) : (n(), v(fe, {
|
|
120
|
+
key: 0,
|
|
121
|
+
mode: "goals",
|
|
122
|
+
placement: "goals",
|
|
123
|
+
onCustomise: B,
|
|
124
|
+
onNext: B
|
|
125
|
+
})),
|
|
126
|
+
e(w).length ? (n(), s("div", $e, [
|
|
127
|
+
a("span", Be, i(e(o)("connect.onboarding.removed", { count: e(w).length }, e(w).length)), 1),
|
|
128
|
+
p(y, {
|
|
129
|
+
variant: "tertiary",
|
|
130
|
+
size: "md",
|
|
131
|
+
label: e(o)("connect.onboarding.add_back"),
|
|
132
|
+
onClick: K
|
|
133
|
+
}, null, 8, ["label"])
|
|
134
|
+
])) : f("", !0),
|
|
135
|
+
e($).length && !e(Y) ? (n(), v(z, {
|
|
136
|
+
key: 3,
|
|
137
|
+
variant: "outlined",
|
|
138
|
+
class: "flex flex-col overflow-hidden"
|
|
139
|
+
}, {
|
|
140
|
+
default: U(() => [
|
|
141
|
+
a("button", {
|
|
142
|
+
type: "button",
|
|
143
|
+
class: "flex items-center gap-12 px-24 py-16 text-left",
|
|
144
|
+
"aria-expanded": e(k),
|
|
145
|
+
onClick: l[3] || (l[3] = (t) => k.value = !e(k))
|
|
146
|
+
}, [
|
|
147
|
+
a("span", Se, [
|
|
148
|
+
a("span", Ie, i(e(o)("connect.onboarding.alternatives", { count: e($).length }, e($).length)), 1),
|
|
149
|
+
a("span", De, i(e(o)("connect.onboarding.alternatives_hint")), 1)
|
|
150
|
+
]),
|
|
151
|
+
p(j, {
|
|
152
|
+
name: e(k) ? "keyboard_arrow_up" : "keyboard_arrow_down"
|
|
153
|
+
}, null, 8, ["name"])
|
|
154
|
+
], 8, Pe),
|
|
155
|
+
e(k) ? (n(), s("ul", Ee, [
|
|
156
|
+
(n(!0), s(x, null, L(e($), (t) => {
|
|
157
|
+
var E, H;
|
|
158
|
+
return n(), s("li", {
|
|
159
|
+
key: t.item.id,
|
|
160
|
+
class: "flex items-center gap-12 px-24 py-16 border-t border-fm-color-neutral-gray-100"
|
|
161
|
+
}, [
|
|
162
|
+
a("div", Le, [
|
|
163
|
+
a("span", Me, [
|
|
164
|
+
a("span", Ne, i(t.item.title), 1),
|
|
165
|
+
(E = e(c).sections[t.item.section]) != null && E.premium ? (n(), v(X, {
|
|
166
|
+
key: 0,
|
|
167
|
+
variant: "premium"
|
|
168
|
+
})) : f("", !0)
|
|
169
|
+
]),
|
|
170
|
+
a("span", Ve, i((H = e(c).sections[t.item.section]) == null ? void 0 : H.label) + " · " + i(e(o)("connect.onboarding.minutes", { mins: t.item.minutes })) + " · " + i(t.item.altBlurb ?? t.item.why), 1)
|
|
171
|
+
]),
|
|
172
|
+
p(y, {
|
|
173
|
+
variant: "secondary",
|
|
174
|
+
label: e(o)("connect.onboarding.add"),
|
|
175
|
+
onClick: (Ue) => Q(t.item.id)
|
|
176
|
+
}, null, 8, ["label", "onClick"])
|
|
177
|
+
]);
|
|
178
|
+
}), 128))
|
|
179
|
+
])) : f("", !0)
|
|
180
|
+
]),
|
|
181
|
+
_: 1
|
|
182
|
+
})) : f("", !0),
|
|
183
|
+
e(Y) ? (n(), v(z, {
|
|
184
|
+
key: 4,
|
|
185
|
+
variant: "outlined",
|
|
186
|
+
class: "flex flex-col gap-16 p-24"
|
|
187
|
+
}, {
|
|
188
|
+
default: U(() => [
|
|
189
|
+
a("span", Ye, i(e(o)("connect.onboarding.recap_title")), 1),
|
|
190
|
+
e(C).length ? f("", !0) : (n(), s("p", Ge, i(e(o)("connect.onboarding.recap_empty")), 1)),
|
|
191
|
+
a("ul", Oe, [
|
|
192
|
+
(n(!0), s(x, null, L(e(J), (t) => (n(), s("li", {
|
|
193
|
+
key: t.item.id,
|
|
194
|
+
class: "flex items-center gap-12 py-12 border-t border-fm-color-neutral-gray-100 first:border-t-0"
|
|
195
|
+
}, [
|
|
196
|
+
p(j, {
|
|
197
|
+
name: "check_circle",
|
|
198
|
+
color: "system-success-300"
|
|
199
|
+
}),
|
|
200
|
+
a("div", Re, [
|
|
201
|
+
a("span", je, i(t.item.title), 1),
|
|
202
|
+
a("span", ze, i(t.liveSince ? e(o)("connect.onboarding.live_since", { section: t.section, date: t.liveSince }) : t.section), 1)
|
|
203
|
+
]),
|
|
204
|
+
p(y, {
|
|
205
|
+
variant: "tertiary",
|
|
206
|
+
label: e(o)("connect.onboarding.open_section", { section: t.section }),
|
|
207
|
+
onClick: (E) => T(t.item.id)
|
|
208
|
+
}, null, 8, ["label", "onClick"])
|
|
209
|
+
]))), 128))
|
|
210
|
+
]),
|
|
211
|
+
a("div", Ae, [
|
|
212
|
+
e(C).length > 5 ? (n(), v(y, {
|
|
213
|
+
key: 0,
|
|
214
|
+
variant: "tertiary",
|
|
215
|
+
label: e(F) ? e(o)("connect.onboarding.show_less") : e(o)("connect.onboarding.show_all", { count: e(C).length }),
|
|
216
|
+
onClick: l[4] || (l[4] = (t) => F.value = !e(F))
|
|
217
|
+
}, null, 8, ["label"])) : f("", !0),
|
|
218
|
+
p(y, {
|
|
219
|
+
variant: "secondary",
|
|
220
|
+
label: e(o)("connect.onboarding.pick_goals"),
|
|
221
|
+
onClick: B
|
|
222
|
+
}, null, 8, ["label"])
|
|
223
|
+
])
|
|
224
|
+
]),
|
|
225
|
+
_: 1
|
|
226
|
+
})) : f("", !0)
|
|
227
|
+
], 64))
|
|
228
|
+
], 64)) : (n(), s("p", be, i(e(o)("connect.onboarding.unavailable")), 1)) : (n(), s("div", _e, [
|
|
229
|
+
a("p", ge, i(e(m).error ? e(o)("connect.onboarding.load_error") : e(o)("connect.onboarding.unavailable")), 1),
|
|
230
|
+
e(m).error ? (n(), v(y, {
|
|
231
|
+
key: 0,
|
|
232
|
+
variant: "secondary",
|
|
233
|
+
label: e(o)("connect.onboarding.retry"),
|
|
234
|
+
onClick: O
|
|
235
|
+
}, null, 8, ["label"])) : f("", !0)
|
|
236
|
+
]))
|
|
237
|
+
])
|
|
238
|
+
], 64);
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
export {
|
|
243
|
+
Ze as default
|
|
244
|
+
};
|