@ozdao/prometheus-framework 0.0.78 → 0.0.80
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Breadcrumbs.vue_vue_type_style_index_0_lang-451d2614.mjs +80 -0
- package/dist/Breadcrumbs.vue_vue_type_style_index_0_lang-5ea8b4fa.js +1 -0
- package/dist/ButtonFollow-0d83a04a.mjs +130 -0
- package/dist/ButtonFollow-f9c5dc7a.js +1 -0
- package/dist/CardHeader-2d7e5d49.mjs +76 -0
- package/dist/CardHeader-dff9c71a.js +1 -0
- package/dist/Comments-b6e32958.js +1 -0
- package/dist/Comments-d2a8fd0f.mjs +76 -0
- package/dist/EditProductImages-1d4b44a9.mjs +236 -0
- package/dist/EditProductImages-d9228ad0.js +1 -0
- package/dist/EmptyState-34d85f10.mjs +36 -0
- package/dist/EmptyState-7658d7d6.js +1 -0
- package/dist/Feed-932d976d.js +1 -0
- package/dist/Feed-962e009b.js +1 -0
- package/dist/Feed-c93012c7.mjs +346 -0
- package/dist/Feed-d8e33aed.mjs +397 -0
- package/dist/PlaceholderUserpic-1a6cf257.mjs +28 -0
- package/dist/PlaceholderUserpic-3bf126ee.js +1 -0
- package/dist/Popup.vue_vue_type_style_index_0_lang-8981c189.mjs +280 -0
- package/dist/Popup.vue_vue_type_style_index_0_lang-931f265a.js +1 -0
- package/dist/Product-3c64a352.mjs +904 -0
- package/dist/Product-67efba5c.js +7 -0
- package/dist/ProductEdit-04760699.js +1 -0
- package/dist/ProductEdit-39adf62f.mjs +113 -0
- package/dist/ProfileBlogposts-00424109.js +1 -0
- package/dist/ProfileBlogposts-65a7a5e0.mjs +56 -0
- package/dist/ProfileComments-5884d09f.mjs +43 -0
- package/dist/ProfileComments-677731b3.js +1 -0
- package/dist/ProfileEvents-85a88674.mjs +55 -0
- package/dist/ProfileEvents-b5431cd6.js +1 -0
- package/dist/ProfileLikes-4a57f637.mjs +43 -0
- package/dist/ProfileLikes-8ccf6815.js +1 -0
- package/dist/ProfileOrganizations-5d681498.mjs +202 -0
- package/dist/ProfileOrganizations-c7688210.js +1 -0
- package/dist/Publics-889c25fc.js +1 -0
- package/dist/Publics-8bea4201.mjs +44 -0
- package/dist/UploadImage-34bc4a3f.mjs +99 -0
- package/dist/UploadImage-75b1a18a.js +1 -0
- package/dist/auth-18f80fef.mjs +1501 -0
- package/dist/auth-78fd9408.js +8 -0
- package/dist/auth.client.cjs +5 -5
- package/dist/auth.client.js +5 -5
- package/dist/auth.validation-6bccabd6.mjs +20 -0
- package/dist/auth.validation-a18510e8.js +1 -0
- package/dist/community.client.cjs +8 -9
- package/dist/community.client.js +568 -552
- package/dist/community.server.js +3 -2
- package/dist/community.server.mjs +3 -2
- package/dist/events.client.cjs +1 -1
- package/dist/events.client.js +10 -10
- package/dist/files.client.cjs +1 -0
- package/dist/files.client.js +1 -0
- package/dist/files.server.js +5 -2
- package/dist/files.server.mjs +5 -2
- package/dist/main.css +1 -1
- package/dist/organizations-0e9ff7ca.mjs +319 -0
- package/dist/organizations-c77ea9d0.js +1 -0
- package/dist/organizations.client.cjs +2 -2
- package/dist/organizations.client.js +26 -26
- package/dist/prometheus-framework.cjs.js +3 -3
- package/dist/prometheus-framework.es.js +8 -8
- package/dist/style.css +1 -1
- package/dist/users.client.cjs +1 -1
- package/dist/users.client.js +10 -10
- package/package.json +3 -3
- package/src/modules/community/components/elements/ImageUpload.vue +7 -5
- package/src/modules/community/components/pages/BlogPost.vue +12 -15
- package/src/modules/community/components/pages/CreateBlogPost.vue +14 -1
- package/src/modules/community/controllers/blog.controller.js +2 -1
- package/src/modules/files/controllers/files.controller.js +5 -1
- package/src/modules/files/routes/files.routes.js +3 -1
package/dist/community.client.js
CHANGED
@@ -1,68 +1,68 @@
|
|
1
|
-
import { resolveComponent as
|
2
|
-
import { useRoute as
|
3
|
-
import { S as
|
4
|
-
import { s as
|
5
|
-
import { d as
|
6
|
-
import { s as
|
7
|
-
import { V as
|
8
|
-
import { _ as
|
9
|
-
import { _ as
|
10
|
-
import { _ as
|
11
|
-
import { useI18n as
|
1
|
+
import { resolveComponent as se, openBlock as u, createElementBlock as d, createElementVNode as r, createVNode as B, normalizeClass as D, unref as v, createCommentVNode as w, withCtx as F, Transition as q, createBlock as U, resolveDynamicComponent as J, ref as m, onUpdated as L, nextTick as j, onMounted as I, watch as A, withDirectives as V, vModelText as O, createTextVNode as S, toDisplayString as M, withModifiers as Y, watchEffect as Z, Fragment as E, renderList as z, createStaticVNode as ee, TransitionGroup as G, mergeProps as ae, isRef as te, withAsyncContext as re, pushScopeId as ie, popScopeId as ce } from "vue";
|
2
|
+
import { useRoute as R, useRouter as W } from "vue-router";
|
3
|
+
import { S as ue } from "./Breadcrumbs.vue_vue_type_style_index_0_lang-451d2614.mjs";
|
4
|
+
import { s as N, r as K, c as pe, u as de, a as me, b as ne, _ as ge } from "./Feed-d8e33aed.mjs";
|
5
|
+
import { d as fn, e as hn, f as vn } from "./Feed-d8e33aed.mjs";
|
6
|
+
import { s as P, a as fe, _ as le, F as he } from "./auth-18f80fef.mjs";
|
7
|
+
import { V as ve } from "./vue-draggable-next.esm-bundler-ff6e3f52.mjs";
|
8
|
+
import { _ as _e } from "./EmptyState-34d85f10.mjs";
|
9
|
+
import { _ as be } from "./Publics-8bea4201.mjs";
|
10
|
+
import { _ as ye } from "./Comments-d2a8fd0f.mjs";
|
11
|
+
import { useI18n as xe } from "vue-i18n";
|
12
12
|
import "./globals-f538c0ef.mjs";
|
13
|
-
import "./CardHeader-
|
14
|
-
import "./PlaceholderUserpic-
|
15
|
-
import "./organizations-
|
16
|
-
import "./ButtonFollow-
|
17
|
-
const
|
13
|
+
import "./CardHeader-2d7e5d49.mjs";
|
14
|
+
import "./PlaceholderUserpic-1a6cf257.mjs";
|
15
|
+
import "./organizations-0e9ff7ca.mjs";
|
16
|
+
import "./ButtonFollow-0d83a04a.mjs";
|
17
|
+
const we = { class: "min-h-100vh pd-thin" }, ke = { class: "mn-thin flex-v-center t-left flex-nowrap flex" }, $e = { class: "flex-v-center flex-nowrap flex t-left" }, Be = /* @__PURE__ */ r("span", { class: "" }, "Topics for ", -1), Ce = { class: "bg-grey pd-medium radius-big mn-semi flex-nowrap flex" }, Te = { class: "" }, Pe = {
|
18
18
|
__name: "Community",
|
19
19
|
setup(l) {
|
20
|
-
const s =
|
21
|
-
return (
|
22
|
-
const
|
23
|
-
return u(), d("div",
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
20
|
+
const s = R(), t = W();
|
21
|
+
return (e, i) => {
|
22
|
+
const c = se("router-view");
|
23
|
+
return u(), d("div", we, [
|
24
|
+
r("header", ke, [
|
25
|
+
r("h2", $e, [
|
26
|
+
Be,
|
27
|
+
B(ue, {
|
28
28
|
options: ["today", "week", "month", "year"],
|
29
|
-
select:
|
30
|
-
"onUpdate:select": i[0] || (i[0] = (n) =>
|
29
|
+
select: N.filter.period,
|
30
|
+
"onUpdate:select": i[0] || (i[0] = (n) => N.filter.period = n),
|
31
31
|
placeholder: "Select type",
|
32
32
|
class: "w-max mn-l-small bg-grey pd-thin radius-medium h2 t-center t-black"
|
33
33
|
}, null, 8, ["select"])
|
34
34
|
])
|
35
35
|
]),
|
36
|
-
|
37
|
-
|
38
|
-
class:
|
39
|
-
onClick: i[1] || (i[1] = (n) =>
|
36
|
+
r("ul", Ce, [
|
37
|
+
r("li", {
|
38
|
+
class: D([{ "t-white bg-black": v(s).params.category === "featured" }, "mn-r-small t-medium pd-small radius-small"]),
|
39
|
+
onClick: i[1] || (i[1] = (n) => v(t).push({ name: "Blog" }))
|
40
40
|
}, "👑 Featured", 2),
|
41
|
-
|
42
|
-
class:
|
43
|
-
onClick: i[2] || (i[2] = (n) =>
|
41
|
+
r("li", {
|
42
|
+
class: D([{ "t-white bg-black": v(s).params.category === "popular" }, "mn-r-small t-medium pd-small radius-small"]),
|
43
|
+
onClick: i[2] || (i[2] = (n) => v(t).push({ name: "Blog", params: { category: "popular" } }))
|
44
44
|
}, "🔥 Popular", 2),
|
45
|
-
|
46
|
-
class:
|
47
|
-
onClick: i[3] || (i[3] = (n) =>
|
45
|
+
r("li", {
|
46
|
+
class: D([{ "t-white bg-black": v(s).params.category === "new" }, "mn-r-small t-medium pd-small radius-small"]),
|
47
|
+
onClick: i[3] || (i[3] = (n) => v(t).push({ name: "Blog", params: { category: "new" } }))
|
48
48
|
}, "🆕 New", 2),
|
49
|
-
|
49
|
+
P.user._id ? (u(), d("li", {
|
50
50
|
key: 0,
|
51
|
-
class:
|
52
|
-
onClick: i[4] || (i[4] = (n) =>
|
53
|
-
}, "👥 Following", 2)) :
|
51
|
+
class: D([{ "t-white bg-black": v(s).params.category === "following" }, "t-medium pd-small radius-small"]),
|
52
|
+
onClick: i[4] || (i[4] = (n) => v(t).push({ name: "Blog", params: { category: "following" } }))
|
53
|
+
}, "👥 Following", 2)) : w("", !0)
|
54
54
|
]),
|
55
|
-
|
56
|
-
|
57
|
-
default:
|
58
|
-
|
55
|
+
r("section", Te, [
|
56
|
+
B(c, null, {
|
57
|
+
default: F(({ Component: n, route: a }) => [
|
58
|
+
B(q, {
|
59
59
|
name: "scaleIn",
|
60
60
|
mode: "out-in"
|
61
61
|
}, {
|
62
|
-
default:
|
63
|
-
(u(),
|
62
|
+
default: F(() => [
|
63
|
+
(u(), U(J(n), {
|
64
64
|
ref: "page",
|
65
|
-
key:
|
65
|
+
key: a.query
|
66
66
|
}))
|
67
67
|
]),
|
68
68
|
_: 2
|
@@ -75,179 +75,193 @@ const Ie = { class: "min-h-100vh pd-thin" }, Se = { class: "mn-thin flex-v-cente
|
|
75
75
|
};
|
76
76
|
}
|
77
77
|
};
|
78
|
-
const
|
78
|
+
const Ie = ["placeholder"], Q = {
|
79
79
|
__name: "Textarea",
|
80
|
-
props: ["obj", "label", "prop", "value", "content", "textarea", "placeholder", "index", "ref"],
|
81
|
-
emits: ["deleteBlock", "addBlock", "focus"],
|
80
|
+
props: ["obj", "label", "prop", "value", "content", "textarea", "placeholder", "index", "ref", "setFocus"],
|
81
|
+
emits: ["deleteBlock", "updateBlock", "addBlock", "focus"],
|
82
82
|
setup(l, { emit: s }) {
|
83
|
-
const
|
84
|
-
|
85
|
-
const
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
83
|
+
const t = l;
|
84
|
+
m(t);
|
85
|
+
const e = m(null);
|
86
|
+
m(0);
|
87
|
+
function i(o) {
|
88
|
+
let p = o.target.value.split(/\n+/);
|
89
|
+
if (p.length > 1) {
|
90
|
+
t.prop[t.content] = p[0], j(() => {
|
90
91
|
a();
|
91
92
|
});
|
92
|
-
let
|
93
|
-
s("addBlock", "Textarea", "",
|
93
|
+
let g = p.slice(1).map((h) => ({ __name: "Textarea", content: h }));
|
94
|
+
s("addBlock", "Textarea", "", t.index, { blocks: g, ref: e });
|
94
95
|
} else
|
95
|
-
|
96
|
+
o.target.value.trim() === "" && o.target.value.includes(`
|
96
97
|
|
97
|
-
`) && s("addBlock", "Textarea", "",
|
98
|
+
`) && (console.log("We are adding new block:" + t.index + newBlocks + e), s("addBlock", "Textarea", "", t.index, { blocks: newBlocks, ref: e })), a();
|
99
|
+
}
|
100
|
+
function c(o) {
|
101
|
+
(o.keyCode === 8 || o.keyCode === 46) && t.prop[t.content].trim() === "" && s("deleteBlock", t.prop);
|
102
|
+
}
|
103
|
+
function n() {
|
104
|
+
j(() => {
|
105
|
+
e.value.focus(), s("updateBlock", t.prop, { setFocus: !1 });
|
106
|
+
});
|
98
107
|
}
|
99
108
|
function a() {
|
100
|
-
|
109
|
+
e.value.style.height = "1rem", e.value.style.height = e.value.scrollHeight + "px";
|
101
110
|
}
|
102
|
-
return
|
103
|
-
|
104
|
-
|
105
|
-
a();
|
106
|
-
}),
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
111
|
+
return L(() => {
|
112
|
+
t.setFocus && j(() => {
|
113
|
+
n();
|
114
|
+
}), a();
|
115
|
+
}), I(() => {
|
116
|
+
t.setFocus && j(() => {
|
117
|
+
n();
|
118
|
+
}), a();
|
119
|
+
}), A(() => t.prop[t.content], (o) => {
|
120
|
+
}), (o, p) => (u(), d("div", null, [
|
121
|
+
V(r("textarea", {
|
122
|
+
"onUpdate:modelValue": p[0] || (p[0] = (g) => l.prop[l.content] = g),
|
123
|
+
placeholder: l.placeholder ? l.placeholder : "Enter text",
|
124
|
+
onInput: i,
|
125
|
+
onFocus: p[1] || (p[1] = (g) => s("focus", e.value)),
|
126
|
+
onKeyup: c,
|
127
|
+
ref_key: "textarea",
|
128
|
+
ref: e,
|
129
|
+
class: "text-area mn-thin"
|
130
|
+
}, `
|
131
|
+
`, 40, Ie), [
|
132
|
+
[O, l.prop[l.content]]
|
133
|
+
])
|
134
|
+
]));
|
121
135
|
}
|
122
|
-
},
|
136
|
+
}, Se = ["placeholder"], Fe = {
|
123
137
|
__name: "H2",
|
124
138
|
props: ["obj", "label", "prop", "value", "content", "textarea", "placeholder", "index", "ref"],
|
125
139
|
emits: ["deleteBlock", "addBlock", "focus"],
|
126
140
|
setup(l, { emit: s }) {
|
127
|
-
const
|
128
|
-
|
129
|
-
const
|
141
|
+
const t = l;
|
142
|
+
m(t);
|
143
|
+
const e = m(null);
|
130
144
|
function i(n) {
|
131
|
-
let
|
132
|
-
if (
|
133
|
-
|
134
|
-
|
145
|
+
let a = n.target.value.split(/\n+/);
|
146
|
+
if (a.length > 1) {
|
147
|
+
t.prop[t.content] = a[0], j(() => {
|
148
|
+
c();
|
135
149
|
});
|
136
|
-
let
|
137
|
-
s("addBlock", "H2", "",
|
150
|
+
let o = a.slice(1).map((p) => ({ __name: "H2", content: p }));
|
151
|
+
s("addBlock", "H2", "", t.index, { blocks: o, ref: e });
|
138
152
|
} else
|
139
153
|
n.target.value.trim() === "" && n.target.value.includes(`
|
140
154
|
|
141
|
-
`) && s("addBlock", "H2", "",
|
155
|
+
`) && s("addBlock", "H2", "", t.index, { blocks: newBlocks, ref: e }), c();
|
142
156
|
}
|
143
|
-
function
|
144
|
-
|
157
|
+
function c() {
|
158
|
+
e.value.style.height = "1rem", e.value.style.height = e.value.scrollHeight + "px";
|
145
159
|
}
|
146
|
-
return
|
147
|
-
|
148
|
-
}),
|
149
|
-
|
150
|
-
}),
|
160
|
+
return L(() => {
|
161
|
+
c();
|
162
|
+
}), I(() => {
|
163
|
+
c();
|
164
|
+
}), A(() => t.prop[t.content], (n) => {
|
151
165
|
n === "" && !n.includes(`
|
152
|
-
`) && s("deleteBlock",
|
153
|
-
}), (n,
|
154
|
-
"onUpdate:modelValue":
|
166
|
+
`) && s("deleteBlock", t.prop);
|
167
|
+
}), (n, a) => V((u(), d("textarea", {
|
168
|
+
"onUpdate:modelValue": a[0] || (a[0] = (o) => l.prop[l.content] = o),
|
155
169
|
placeholder: l.placeholder ? l.placeholder : "Enter text",
|
156
170
|
onInput: i,
|
157
|
-
onFocus:
|
171
|
+
onFocus: a[1] || (a[1] = (o) => s("focus", e.value)),
|
158
172
|
ref_key: "textarea",
|
159
|
-
ref:
|
173
|
+
ref: e,
|
160
174
|
class: "h3 w-100 mn-t-semi mn-medium t-semi"
|
161
175
|
}, `
|
162
|
-
`, 40,
|
163
|
-
[
|
176
|
+
`, 40, Se)), [
|
177
|
+
[O, l.prop[l.content]]
|
164
178
|
]);
|
165
179
|
}
|
166
|
-
},
|
180
|
+
}, Ue = ["placeholder"], Me = {
|
167
181
|
__name: "Caption",
|
168
182
|
props: ["obj", "label", "prop", "value", "content", "textarea", "placeholder", "index", "ref"],
|
169
183
|
emits: ["deleteBlock", "addBlock", "focus"],
|
170
184
|
setup(l, { emit: s }) {
|
171
|
-
const
|
172
|
-
|
173
|
-
const
|
185
|
+
const t = l;
|
186
|
+
m(t);
|
187
|
+
const e = m(null);
|
174
188
|
function i(n) {
|
175
|
-
const
|
176
|
-
let p = n.target.value.split(/\n+/).map((
|
177
|
-
const
|
178
|
-
return
|
179
|
-
}).filter((
|
180
|
-
p.length > 0 ? (
|
189
|
+
const a = /^\s*[-*]\s+(.*)/;
|
190
|
+
let p = n.target.value.split(/\n+/).map((g) => {
|
191
|
+
const h = a.exec(g);
|
192
|
+
return h ? h[1] : null;
|
193
|
+
}).filter((g) => g !== null);
|
194
|
+
p.length > 0 ? (t.prop[t.content] = p, c()) : n.target.value.trim() === "" && (t.prop[t.content] = [], c());
|
181
195
|
}
|
182
|
-
function
|
183
|
-
|
196
|
+
function c() {
|
197
|
+
e.value.style.height = "1rem", e.value.style.height = e.value.scrollHeight + "px";
|
184
198
|
}
|
185
|
-
return
|
186
|
-
|
187
|
-
}),
|
188
|
-
|
189
|
-
}),
|
190
|
-
(!n || n.length === 0) && s("deleteBlock",
|
191
|
-
}), (n,
|
192
|
-
|
193
|
-
"onUpdate:modelValue":
|
199
|
+
return L(() => {
|
200
|
+
c();
|
201
|
+
}), I(() => {
|
202
|
+
c();
|
203
|
+
}), A(() => t.prop[t.content], (n) => {
|
204
|
+
(!n || n.length === 0) && s("deleteBlock", t.prop);
|
205
|
+
}), (n, a) => (u(), d("div", null, [
|
206
|
+
V(r("textarea", {
|
207
|
+
"onUpdate:modelValue": a[0] || (a[0] = (o) => l.prop[l.content] = o),
|
194
208
|
placeholder: l.placeholder ? l.placeholder : "Enter text",
|
195
209
|
onInput: i,
|
196
|
-
onFocus:
|
210
|
+
onFocus: a[1] || (a[1] = (o) => s("focus", e.value)),
|
197
211
|
ref_key: "textarea",
|
198
|
-
ref:
|
212
|
+
ref: e,
|
199
213
|
class: "br-l br-solid br-main pd-l-small text-area mn-small"
|
200
214
|
}, `
|
201
|
-
`, 40,
|
202
|
-
[
|
215
|
+
`, 40, Ue), [
|
216
|
+
[O, l.prop[l.content]]
|
203
217
|
])
|
204
218
|
]));
|
205
219
|
}
|
206
|
-
},
|
220
|
+
}, De = ["placeholder"], He = {
|
207
221
|
__name: "Bullets",
|
208
222
|
props: ["obj", "label", "prop", "value", "content", "textarea", "placeholder", "index", "ref"],
|
209
223
|
emits: ["deleteBlock", "addBlock", "focus"],
|
210
224
|
setup(l, { emit: s }) {
|
211
|
-
const
|
212
|
-
|
213
|
-
const
|
225
|
+
const t = l;
|
226
|
+
m(t);
|
227
|
+
const e = m(null);
|
214
228
|
function i(n) {
|
215
|
-
const
|
216
|
-
let p = n.target.value.split(/\n+/).map((
|
217
|
-
const
|
218
|
-
return
|
219
|
-
}).filter((
|
220
|
-
p.length > 0 ? (
|
229
|
+
const a = /^\s*[-*]\s+(.*)/;
|
230
|
+
let p = n.target.value.split(/\n+/).map((g) => {
|
231
|
+
const h = a.exec(g);
|
232
|
+
return h ? h[1] : null;
|
233
|
+
}).filter((g) => g !== null);
|
234
|
+
p.length > 0 ? (t.prop[t.content] = p, c()) : n.target.value.trim() === "" && (t.prop[t.content] = [], c());
|
221
235
|
}
|
222
|
-
function
|
223
|
-
|
236
|
+
function c() {
|
237
|
+
e.value.style.height = "1rem", e.value.style.height = e.value.scrollHeight + "px";
|
224
238
|
}
|
225
|
-
return
|
226
|
-
|
227
|
-
}),
|
228
|
-
|
229
|
-
}),
|
230
|
-
(!n || n.length === 0) && s("deleteBlock",
|
231
|
-
}), (n,
|
232
|
-
|
233
|
-
|
234
|
-
"onUpdate:modelValue":
|
239
|
+
return L(() => {
|
240
|
+
c();
|
241
|
+
}), I(() => {
|
242
|
+
c();
|
243
|
+
}), A(() => t.prop[t.content], (n) => {
|
244
|
+
(!n || n.length === 0) && s("deleteBlock", t.prop);
|
245
|
+
}), (n, a) => (u(), d("div", null, [
|
246
|
+
S(M(l.prop[l.content]) + " ", 1),
|
247
|
+
V(r("textarea", {
|
248
|
+
"onUpdate:modelValue": a[0] || (a[0] = (o) => l.prop[l.content] = o),
|
235
249
|
placeholder: l.placeholder ? l.placeholder : "Enter text",
|
236
250
|
onInput: i,
|
237
|
-
onFocus:
|
251
|
+
onFocus: a[1] || (a[1] = (o) => s("focus", e.value)),
|
238
252
|
ref_key: "textarea",
|
239
|
-
ref:
|
253
|
+
ref: e,
|
240
254
|
class: "text-area mn-small"
|
241
255
|
}, `
|
242
|
-
`, 40,
|
243
|
-
[
|
256
|
+
`, 40, De), [
|
257
|
+
[O, l.prop[l.content]]
|
244
258
|
])
|
245
259
|
]));
|
246
260
|
}
|
247
|
-
},
|
261
|
+
}, je = ["src"], Ne = {
|
248
262
|
key: 1,
|
249
263
|
class: "t-transp pd-extra"
|
250
|
-
},
|
264
|
+
}, Ae = {
|
251
265
|
__name: "ImageUpload",
|
252
266
|
props: [
|
253
267
|
"label",
|
@@ -256,47 +270,47 @@ const je = ["placeholder"], J = {
|
|
256
270
|
],
|
257
271
|
emits: ["input", "updateBlock"],
|
258
272
|
setup(l, { emit: s }) {
|
259
|
-
const
|
260
|
-
function
|
273
|
+
const t = l, e = m(null), i = m(null);
|
274
|
+
function c() {
|
261
275
|
i.value.click();
|
262
276
|
}
|
263
|
-
async function n(
|
264
|
-
let p =
|
265
|
-
|
277
|
+
async function n(o) {
|
278
|
+
let p = o.target.files[0];
|
279
|
+
console.log(p);
|
280
|
+
let g = new FormData(), h = "unsorted";
|
281
|
+
g.append("file", p), console.log(g.has("file"));
|
266
282
|
try {
|
267
|
-
|
268
|
-
console.log(_), console.log(process.env.API_URL);
|
269
|
-
let $ = await b.post("/api/upload/image", _, {
|
283
|
+
let H = await fe.create({ baseURL: process.env.API_URL, withCredentials: !0 }).post(`/api/upload/file?folderName=${encodeURIComponent(h)}`, g, {
|
270
284
|
headers: {
|
271
285
|
"Content-Type": "multipart/form-data"
|
272
286
|
}
|
273
287
|
});
|
274
|
-
|
275
|
-
} catch (
|
276
|
-
console.error(
|
288
|
+
e.value = H.data.filepath, console.log(e.value), s("input", e.value), s("updateBlock", t.prop, { content: e.value });
|
289
|
+
} catch (C) {
|
290
|
+
console.error(C);
|
277
291
|
}
|
278
292
|
}
|
279
|
-
function
|
280
|
-
|
293
|
+
function a(o) {
|
294
|
+
o.preventDefault(), n({
|
281
295
|
target: {
|
282
|
-
files:
|
296
|
+
files: o.dataTransfer.files
|
283
297
|
}
|
284
298
|
});
|
285
299
|
}
|
286
|
-
return (
|
287
|
-
onClick:
|
288
|
-
onDrop:
|
289
|
-
onDragover: p[0] || (p[0] =
|
300
|
+
return (o, p) => (u(), d("div", {
|
301
|
+
onClick: c,
|
302
|
+
onDrop: a,
|
303
|
+
onDragover: p[0] || (p[0] = Y(() => {
|
290
304
|
}, ["prevent"])),
|
291
|
-
class: "w-100 image-upload-area
|
305
|
+
class: "w-100 radius-big bg-white image-upload-area flex-v-center flex-h-center flex t-black mn-small"
|
292
306
|
}, [
|
293
307
|
l.prop.content ? (u(), d("img", {
|
294
308
|
key: 0,
|
295
309
|
src: l.prop.content,
|
296
310
|
alt: "Uploaded image",
|
297
311
|
class: "w-100 h-30r object-fit-contain"
|
298
|
-
}, null, 8,
|
299
|
-
|
312
|
+
}, null, 8, je)) : (u(), d("span", Ne, "Click or drag-and-drop your image")),
|
313
|
+
r("input", {
|
300
314
|
type: "file",
|
301
315
|
ref_key: "fileInput",
|
302
316
|
ref: i,
|
@@ -305,197 +319,202 @@ const je = ["placeholder"], J = {
|
|
305
319
|
}, null, 544)
|
306
320
|
], 32));
|
307
321
|
}
|
308
|
-
}
|
309
|
-
|
322
|
+
}, Ee = { class: "pd-big" }, ze = {
|
323
|
+
key: 0,
|
324
|
+
class: "cols-2 gap-thin"
|
325
|
+
}, Le = { class: "w-100 bg-grey pd-big radius-big" }, Ve = { class: "w-full h-full" }, Oe = ["onMouseover"], Re = {
|
310
326
|
key: 0,
|
311
|
-
class: "z-index-5 relative left-0 mt-2 w-48 bg-white shadow-lg rounded"
|
312
|
-
},
|
327
|
+
class: "z-index-5 radius-thin mn-small relative left-0 mt-2 w-48 bg-white shadow-lg rounded"
|
328
|
+
}, qe = ["onClick"], Je = /* @__PURE__ */ r("button", { class: "block w-full text-left px-4 py-2 hover:bg-gray-200" }, "Поменять тип", -1), We = ["onClick"], Ke = ["onClick"], Ge = ["onClick"], Qe = ["onClick"], Xe = /* @__PURE__ */ ee('<section class=""><h4 class="mn-small">Select public</h4><div class="mn-semi bg-grey pd-big radius-big gw-100"></div><h4 class="mn-small">Add tags</h4><div class="bg-grey pd-big radius-big gw-100"></div></section>', 1), Ye = { class: "pd-thin pos-fixed pos-l-0 pos-b-0 w-100" }, Ze = { class: "pd-thin radius-big bg-main w-100 flex-nowrap flex" }, et = {
|
313
329
|
__name: "CreateBlogPost",
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
+
setup(l) {
|
331
|
+
const s = R(), t = W();
|
332
|
+
let e = m(null);
|
333
|
+
I(async () => {
|
334
|
+
if (s.params.url) {
|
335
|
+
const b = await K({ owner: P.user._id, url: s.params.url });
|
336
|
+
e.value = b.pop();
|
337
|
+
} else
|
338
|
+
pe(), e.value = N.current;
|
339
|
+
e.value.owner = {
|
340
|
+
target: P.user._id,
|
341
|
+
type: "user"
|
342
|
+
}, e.value.creator = {
|
343
|
+
target: P.user._id,
|
344
|
+
type: "user"
|
345
|
+
};
|
346
|
+
});
|
347
|
+
const i = {
|
348
|
+
Textarea: Q,
|
349
|
+
H2: Fe,
|
350
|
+
Bullets: He,
|
351
|
+
Caption: Me,
|
352
|
+
ImageUpload: Ae
|
330
353
|
};
|
331
|
-
function
|
332
|
-
|
333
|
-
|
334
|
-
|
354
|
+
function c(b = "Textarea", _ = "", f, y) {
|
355
|
+
console.log("We are adding new block (functuin HandleAddBlock):" + b + _ + f + y);
|
356
|
+
let x = {
|
357
|
+
order: e.value.content.length + 1,
|
358
|
+
type: b,
|
335
359
|
style: "",
|
336
|
-
class: "",
|
337
|
-
content:
|
360
|
+
class: "p-medium",
|
361
|
+
content: _,
|
338
362
|
blocks: [],
|
339
|
-
|
363
|
+
setFocus: !0
|
340
364
|
};
|
341
|
-
if (
|
342
|
-
let
|
343
|
-
...
|
344
|
-
content:
|
345
|
-
|
346
|
-
|
347
|
-
|
365
|
+
if (y && y.blocks && Array.isArray(y.blocks)) {
|
366
|
+
let $ = y.blocks.map((oe) => ({
|
367
|
+
...x,
|
368
|
+
content: oe.content
|
369
|
+
})), k = [(y.index || f) + 1, 0].concat($);
|
370
|
+
e.value.content.splice.apply(e.value.content, k);
|
371
|
+
const T = $[$.length - 1];
|
372
|
+
console.log("New block is" + T);
|
348
373
|
} else
|
349
|
-
|
350
|
-
|
351
|
-
w.focus();
|
352
|
-
});
|
374
|
+
f !== void 0 ? (e.value.content.splice(f + 1, 0, x), console.log("Latest block is" + x)) : (console.log("Another block is" + x), e.value.content.push(x));
|
375
|
+
p.value = null;
|
353
376
|
}
|
354
|
-
function
|
355
|
-
const
|
356
|
-
|
377
|
+
function n(b, _) {
|
378
|
+
const f = e.value.content.findIndex((y) => y === b);
|
379
|
+
f !== -1 && (e.value.content[f] = { ...e.value.content[f], ..._ });
|
357
380
|
}
|
358
|
-
function
|
359
|
-
let
|
360
|
-
|
381
|
+
function a(b) {
|
382
|
+
let _ = e.value.content.findIndex((f) => f === b);
|
383
|
+
_ !== -1 && e.value.content.splice(_, 1), e.value.content[_ - 1].setFocus = !0;
|
361
384
|
}
|
362
|
-
function
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
i.push({ name: "BlogPost", params: { url: m.url } });
|
372
|
-
}).catch((m) => {
|
373
|
-
console.log(m);
|
385
|
+
function o() {
|
386
|
+
s.params.url ? de(e.value).then((b) => {
|
387
|
+
t.push({ name: "BlogPost", params: { url: b.url } });
|
388
|
+
}).catch((b) => {
|
389
|
+
console.log(b);
|
390
|
+
}) : me(e.value).then((b) => {
|
391
|
+
t.push({ name: "BlogPost", params: { url: b.url } });
|
392
|
+
}).catch((b) => {
|
393
|
+
console.log(b);
|
374
394
|
});
|
375
395
|
}
|
376
|
-
const
|
377
|
-
function
|
378
|
-
|
379
|
-
if (m.__name === "Textarea")
|
380
|
-
return J;
|
381
|
-
if (m.__name === "ImageUpload")
|
382
|
-
return te;
|
383
|
-
if (m.__name === "H2")
|
384
|
-
return Y;
|
385
|
-
if (m.__name === "Bullets")
|
386
|
-
return ee;
|
387
|
-
if (m.__name === "Caption")
|
388
|
-
return Z;
|
389
|
-
} else
|
390
|
-
return m;
|
391
|
-
}
|
392
|
-
function V() {
|
393
|
-
D.value = !0;
|
396
|
+
const p = m(null), g = m(!1), h = m(!1);
|
397
|
+
function C() {
|
398
|
+
g.value = !0;
|
394
399
|
}
|
395
|
-
function
|
396
|
-
|
400
|
+
function H() {
|
401
|
+
g.value = !1;
|
397
402
|
}
|
398
|
-
return
|
399
|
-
|
400
|
-
}), (
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
key: 0,
|
412
|
-
class: "w-full",
|
413
|
-
list: y(a).content,
|
414
|
-
onStart: V,
|
415
|
-
onEnd: R
|
416
|
-
}, {
|
417
|
-
default: S(() => [
|
418
|
-
(u(!0), d(E, null, N(y(a).content, (g, h) => (u(), d("div", {
|
419
|
-
key: h,
|
420
|
-
class: "relative",
|
421
|
-
onMouseover: (w) => $.value = h,
|
422
|
-
onMouseleave: v[2] || (v[2] = (w) => {
|
423
|
-
$.value = null, U.value = !1;
|
424
|
-
})
|
425
|
-
}, [
|
426
|
-
c("div", Je, [
|
427
|
-
(u(), B(G(j(g.type.value)), {
|
428
|
-
index: h,
|
429
|
-
component: g,
|
430
|
-
prop: g,
|
431
|
-
class: I(g.class),
|
432
|
-
content: "content",
|
433
|
-
onDeleteBlock: p,
|
434
|
-
onAddBlock: t,
|
435
|
-
onUpdateBlock: r,
|
436
|
-
onFocusBlock: _
|
437
|
-
}, null, 40, ["index", "component", "prop", "class"]))
|
438
|
-
]),
|
439
|
-
$.value === h ? (u(), d("div", {
|
440
|
-
key: 0,
|
441
|
-
class: "pos-absolute pos-l-0 pos-t-0",
|
442
|
-
onMousedown: v[1] || (v[1] = oe((w) => D.value = !0, ["prevent"]))
|
443
|
-
}, [
|
444
|
-
c("button", {
|
445
|
-
onClick: v[0] || (v[0] = (w) => U.value = !U.value),
|
446
|
-
class: "i-regular bg-grey radius-thin"
|
447
|
-
}, M(g.content ? "..." : "+"), 1),
|
448
|
-
U.value ? (u(), d("div", Ge, [
|
449
|
-
c("button", {
|
450
|
-
onClick: (w) => p(g),
|
451
|
-
class: "block w-full text-left px-4 py-2 hover:bg-gray-200"
|
452
|
-
}, "Удалить", 8, Qe),
|
453
|
-
We,
|
454
|
-
c("button", {
|
455
|
-
onClick: (w) => t("ImageUpload", "", h),
|
456
|
-
class: "block w-full text-left px-4 py-2 hover:bg-gray-200"
|
457
|
-
}, "Добавить изображение", 8, Ke),
|
458
|
-
c("button", {
|
459
|
-
onClick: (w) => t("H2", "", h),
|
460
|
-
class: "block w-full text-left px-4 py-2 hover:bg-gray-200"
|
461
|
-
}, "Добавить заголовок", 8, Xe),
|
462
|
-
c("button", {
|
463
|
-
onClick: (w) => t("Bullets", "", h),
|
464
|
-
class: "block w-full text-left px-4 py-2 hover:bg-gray-200"
|
465
|
-
}, "Добавить список", 8, Ye),
|
466
|
-
c("button", {
|
467
|
-
onClick: (w) => t("Caption", "", h),
|
468
|
-
class: "block w-full text-left px-4 py-2 hover:bg-gray-200"
|
469
|
-
}, "Добавить выделенный текст", 8, Ze)
|
470
|
-
])) : x("", !0)
|
471
|
-
], 32)) : x("", !0)
|
472
|
-
], 40, qe))), 128))
|
403
|
+
return Z(() => {
|
404
|
+
e.value && e.value.content.length === 0 && c("Textarea", "");
|
405
|
+
}), (b, _) => (u(), d("article", Ee, [
|
406
|
+
v(e) ? (u(), d("div", ze, [
|
407
|
+
S(M(v(e).owner) + " " + M(v(e).creator) + " ", 1),
|
408
|
+
r("section", Le, [
|
409
|
+
r("div", Ve, [
|
410
|
+
B(Q, {
|
411
|
+
prop: v(e),
|
412
|
+
content: "name",
|
413
|
+
placeholder: "Enter post title",
|
414
|
+
class: "h2"
|
415
|
+
}, null, 8, ["prop"])
|
473
416
|
]),
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
417
|
+
v(e).content ? (u(), U(v(ve), {
|
418
|
+
key: 0,
|
419
|
+
class: "w-full",
|
420
|
+
list: v(e).content,
|
421
|
+
onStart: C,
|
422
|
+
onEnd: H
|
423
|
+
}, {
|
424
|
+
default: F(() => [
|
425
|
+
(u(!0), d(E, null, z(v(e).content, (f, y) => (u(), d("div", {
|
426
|
+
key: y,
|
427
|
+
class: "relative"
|
428
|
+
}, [
|
429
|
+
r("div", {
|
430
|
+
onMouseover: (x) => (p.value = y, h.value = !1),
|
431
|
+
class: "w-full h-full"
|
432
|
+
}, [
|
433
|
+
(u(), U(J(i[f.type]), {
|
434
|
+
index: y,
|
435
|
+
component: f,
|
436
|
+
prop: f,
|
437
|
+
class: D(f.class),
|
438
|
+
setFocus: f.setFocus,
|
439
|
+
content: "content",
|
440
|
+
onDeleteBlock: a,
|
441
|
+
onAddBlock: c,
|
442
|
+
onUpdateBlock: n
|
443
|
+
}, null, 40, ["index", "component", "prop", "class", "setFocus"]))
|
444
|
+
], 40, Oe),
|
445
|
+
B(q, { name: "fade" }, {
|
446
|
+
default: F(() => [
|
447
|
+
p.value === y ? (u(), d("div", {
|
448
|
+
key: 0,
|
449
|
+
class: "pos-absolute pos-r-100 pos-t-0 z-index-4 i-semi",
|
450
|
+
onMousedown: _[1] || (_[1] = Y((x) => g.value = !0, ["prevent"]))
|
451
|
+
}, [
|
452
|
+
r("button", {
|
453
|
+
onClick: _[0] || (_[0] = (x) => h.value = !h.value),
|
454
|
+
class: "mn-small w-100 i-big bg-white radius-thin"
|
455
|
+
}, M(f.content ? "..." : "+"), 1),
|
456
|
+
h.value ? (u(), d("div", Re, [
|
457
|
+
r("button", {
|
458
|
+
onClick: (x) => a(f),
|
459
|
+
class: "block w-full text-left px-4 py-2 hover:bg-gray-200"
|
460
|
+
}, "Удалить", 8, qe),
|
461
|
+
Je,
|
462
|
+
r("button", {
|
463
|
+
onClick: (x) => c("ImageUpload", "", y),
|
464
|
+
class: "block w-full text-left px-4 py-2 hover:bg-gray-200"
|
465
|
+
}, "Добавить изображение", 8, We),
|
466
|
+
r("button", {
|
467
|
+
onClick: (x) => c("H2", "", y),
|
468
|
+
class: "block w-full text-left px-4 py-2 hover:bg-gray-200"
|
469
|
+
}, "Добавить заголовок", 8, Ke),
|
470
|
+
r("button", {
|
471
|
+
onClick: (x) => c("Bullets", "", y),
|
472
|
+
class: "block w-full text-left px-4 py-2 hover:bg-gray-200"
|
473
|
+
}, "Добавить список", 8, Ge),
|
474
|
+
r("button", {
|
475
|
+
onClick: (x) => c("Caption", "", y),
|
476
|
+
class: "block w-full text-left px-4 py-2 hover:bg-gray-200"
|
477
|
+
}, "Добавить выделенный текст", 8, Qe)
|
478
|
+
])) : w("", !0)
|
479
|
+
], 32)) : w("", !0)
|
480
|
+
]),
|
481
|
+
_: 2
|
482
|
+
}, 1024)
|
483
|
+
]))), 128))
|
484
|
+
]),
|
485
|
+
_: 1
|
486
|
+
}, 8, ["list"])) : w("", !0)
|
487
|
+
]),
|
488
|
+
Xe
|
489
|
+
])) : w("", !0),
|
490
|
+
r("section", Ye, [
|
491
|
+
r("div", Ze, [
|
492
|
+
r("a", {
|
493
|
+
onClick: _[2] || (_[2] = (f) => o()),
|
494
|
+
class: "mn-l-auto bg-white t-black button"
|
495
|
+
}, "To Drafts"),
|
496
|
+
r("a", {
|
497
|
+
onClick: _[3] || (_[3] = (f) => o()),
|
498
|
+
class: "mn-l-thin bg-black t-white button"
|
499
|
+
}, "Publish")
|
500
|
+
])
|
482
501
|
])
|
483
502
|
]));
|
484
503
|
}
|
485
|
-
},
|
504
|
+
}, X = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
486
505
|
__proto__: null,
|
487
|
-
default:
|
488
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
506
|
+
default: et
|
507
|
+
}, Symbol.toStringTag, { value: "Module" })), tt = {}, nt = {
|
489
508
|
width: "100%",
|
490
509
|
height: "20rem",
|
491
510
|
xmlns: "http://www.w3.org/2000/svg"
|
492
|
-
},
|
493
|
-
|
511
|
+
}, lt = /* @__PURE__ */ ee('<rect x="0" y="0" rx="5" ry="5" width="100%" height="100%" fill="rgb(var(--grey))"></rect><rect x="15" y="15" rx="4" ry="4" width="40%" height="20" fill="rgba(var(--black),0.05)"></rect><rect x="15" y="45" rx="5" ry="5" width="70%" height="50" fill="rgba(var(--black),0.05)"></rect><rect x="15" y="110" rx="3" ry="3" width="90%" height="6" fill="rgba(var(--black),0.05)"></rect><rect x="15" y="130" rx="3" ry="3" width="70%" height="6" fill="rgba(var(--black),0.05)"></rect><rect x="-25%" y="0" width="25%" height="100%" fill="#fff" mask="url(#myMask)" opacity="0.3"><animate attributeName="x" from="-25%" to="100%" dur="2s" repeatCount="indefinite"></animate></rect>', 6), ot = [
|
512
|
+
lt
|
494
513
|
];
|
495
514
|
function st(l, s) {
|
496
|
-
return u(), d("svg",
|
515
|
+
return u(), d("svg", nt, ot);
|
497
516
|
}
|
498
|
-
const
|
517
|
+
const at = /* @__PURE__ */ le(tt, [["render", st]]), rt = { class: "w-100 bg-white radius-big image-upload-area flex-v-center flex-h-center flex t-black mn-small" }, it = ["src"], ct = {
|
499
518
|
__name: "Image",
|
500
519
|
props: [
|
501
520
|
"label",
|
@@ -503,146 +522,143 @@ const rt = /* @__PURE__ */ ce(nt, [["render", st]]), it = { class: "w-100 bg-dar
|
|
503
522
|
"prop"
|
504
523
|
],
|
505
524
|
setup(l) {
|
506
|
-
return
|
525
|
+
return m(null), (s, t) => (u(), d("div", rt, [
|
507
526
|
l.prop.content ? (u(), d("img", {
|
508
527
|
key: 0,
|
509
528
|
src: l.prop.content,
|
510
529
|
alt: "Uploaded image",
|
511
530
|
class: "w-100 h-30r object-fit-contain"
|
512
|
-
}, null, 8,
|
531
|
+
}, null, 8, it)) : w("", !0)
|
513
532
|
]));
|
514
533
|
}
|
515
|
-
},
|
534
|
+
}, ut = { class: "pd-big" }, pt = {
|
516
535
|
__name: "BlogPost",
|
517
536
|
setup(l) {
|
518
|
-
const s =
|
519
|
-
|
520
|
-
|
521
|
-
const
|
522
|
-
|
537
|
+
const s = R(), t = m(null), e = m(!0);
|
538
|
+
I(async () => {
|
539
|
+
e.value = !0;
|
540
|
+
const n = await K({ user: P.user._id, url: s.params.url });
|
541
|
+
t.value = n[0], e.value = !1;
|
523
542
|
});
|
524
|
-
const i =
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
return
|
533
|
-
}
|
534
|
-
function n(t) {
|
535
|
-
return t.type.name === "Textarea" ? { innerHTML: t.content } : t.type.name === "H2" ? { innerHTML: t.content } : t.type.name === "Caption" ? { innerHTML: t.content } : t.type.name === "ImageUpload" ? { src: t.content } : {};
|
543
|
+
const i = {
|
544
|
+
Textarea: "p",
|
545
|
+
H2: "h2",
|
546
|
+
Bullets: "p",
|
547
|
+
Caption: "p",
|
548
|
+
ImageUpload: ct
|
549
|
+
};
|
550
|
+
function c(n) {
|
551
|
+
return n.type === "Textarea" ? { innerHTML: n.content } : n.type === "H2" ? { innerHTML: n.content } : n.type === "Caption" ? { innerHTML: n.content } : n.type === "ImageUpload" ? { src: n.content } : {};
|
536
552
|
}
|
537
|
-
return (
|
538
|
-
|
553
|
+
return (n, a) => (u(), d("section", ut, [
|
554
|
+
B(G, {
|
539
555
|
tag: "ul",
|
540
556
|
name: "fade",
|
541
557
|
class: "o-hidden bg-grey radius-big"
|
542
558
|
}, {
|
543
|
-
default:
|
544
|
-
|
559
|
+
default: F(() => [
|
560
|
+
e.value ? (u(), d(E, { key: 0 }, z(3, (o) => B(at, { key: o })), 64)) : w("", !0)
|
545
561
|
]),
|
546
562
|
_: 1
|
547
563
|
}),
|
548
|
-
|
549
|
-
default:
|
550
|
-
!
|
564
|
+
B(q, { name: "fade" }, {
|
565
|
+
default: F(() => [
|
566
|
+
!e.value && !t.value ? (u(), U(_e, {
|
551
567
|
key: 0,
|
552
568
|
title: "No Blogpost Found",
|
553
569
|
description: "Currently, there are no blogposts available. Please check back later.",
|
554
570
|
class: "pd-medium mn-thin bg-grey radius-big"
|
555
|
-
})) :
|
571
|
+
})) : w("", !0)
|
556
572
|
]),
|
557
573
|
_: 1
|
558
574
|
}),
|
559
|
-
|
575
|
+
B(G, {
|
560
576
|
tag: "ul",
|
561
577
|
name: "fade",
|
562
578
|
class: "container"
|
563
579
|
}, {
|
564
|
-
default:
|
565
|
-
!
|
580
|
+
default: F(() => [
|
581
|
+
!e.value && t.value ? (u(), U(ne, {
|
566
582
|
key: 0,
|
567
|
-
onClick:
|
568
|
-
blogpost:
|
569
|
-
user:
|
583
|
+
onClick: a[0] || (a[0] = (o) => n.$router.push({ name: "Blogpost", params: { url: t.value.url } })),
|
584
|
+
blogpost: t.value,
|
585
|
+
user: P.user._id,
|
570
586
|
type: "blogpostPage",
|
571
|
-
class:
|
572
|
-
"br-b br-solid br-black-transp-10":
|
587
|
+
class: D(["mn-medium", {
|
588
|
+
"br-b br-solid br-black-transp-10": n.index !== t.value.length - 1
|
573
589
|
}])
|
574
590
|
}, {
|
575
|
-
default:
|
576
|
-
|
577
|
-
|
578
|
-
key:
|
579
|
-
index:
|
580
|
-
component:
|
581
|
-
prop:
|
582
|
-
class:
|
591
|
+
default: F(() => [
|
592
|
+
r("section", null, [
|
593
|
+
t.value && t.value.content ? (u(!0), d(E, { key: 0 }, z(t.value.content, (o, p) => (u(), U(J(i[o.type]), ae({
|
594
|
+
key: p,
|
595
|
+
index: p,
|
596
|
+
component: o,
|
597
|
+
prop: o,
|
598
|
+
class: o.class,
|
583
599
|
content: "content"
|
584
|
-
},
|
600
|
+
}, c(o), { class: "mn-medium" }), null, 16, ["index", "component", "prop", "class"]))), 128)) : w("", !0)
|
585
601
|
])
|
586
602
|
]),
|
587
603
|
_: 1
|
588
|
-
}, 8, ["blogpost", "user", "class"])) :
|
589
|
-
|
590
|
-
!
|
604
|
+
}, 8, ["blogpost", "user", "class"])) : w("", !0),
|
605
|
+
B(be, { class: "mn-small" }),
|
606
|
+
!e.value && t.value ? (u(), U(ye, {
|
591
607
|
key: 1,
|
592
608
|
type: "blogpost",
|
593
|
-
target:
|
594
|
-
owner:
|
595
|
-
}, null, 8, ["target", "owner"])) :
|
609
|
+
target: t.value._id,
|
610
|
+
owner: P.user._id
|
611
|
+
}, null, 8, ["target", "owner"])) : w("", !0)
|
596
612
|
]),
|
597
613
|
_: 1
|
598
614
|
})
|
599
615
|
]));
|
600
616
|
}
|
601
|
-
},
|
617
|
+
}, dt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
602
618
|
__proto__: null,
|
603
|
-
default:
|
604
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
619
|
+
default: pt
|
620
|
+
}, Symbol.toStringTag, { value: "Module" })), mt = {
|
605
621
|
__name: "Blog",
|
606
622
|
setup(l) {
|
607
|
-
const s =
|
608
|
-
return s.params.category || (s.params.category = "featured"),
|
623
|
+
const s = R(), t = W();
|
624
|
+
return s.params.category || (s.params.category = "featured"), I(() => {
|
609
625
|
if (s.query) {
|
610
|
-
const
|
611
|
-
tags:
|
612
|
-
period:
|
626
|
+
const e = s.query, i = {
|
627
|
+
tags: e.tags ? e.tags.split(",") : [],
|
628
|
+
period: e.period ? e.period : "year"
|
613
629
|
};
|
614
|
-
|
630
|
+
N.filter = i;
|
615
631
|
}
|
616
|
-
}),
|
617
|
-
const
|
618
|
-
Object.keys(i).forEach((
|
619
|
-
a
|
632
|
+
}), A(() => N.filter, (e, i) => {
|
633
|
+
const c = { ...s.query };
|
634
|
+
Object.keys(i).forEach((a) => {
|
635
|
+
c[a] && delete c[a];
|
620
636
|
});
|
621
637
|
const n = Object.fromEntries(
|
622
|
-
Object.entries(
|
638
|
+
Object.entries(e).filter(([a, o]) => Array.isArray(o) && o.length > 0 || typeof o == "string" && o).map(([a, o]) => [a, Array.isArray(o) ? o.join(",") : o])
|
623
639
|
);
|
624
|
-
Object.assign(
|
625
|
-
}, { deep: !0 }), (
|
626
|
-
|
627
|
-
category:
|
628
|
-
user:
|
629
|
-
period:
|
640
|
+
Object.assign(c, n), t.push({ query: c });
|
641
|
+
}, { deep: !0 }), (e, i) => (u(), d("section", null, [
|
642
|
+
B(ge, {
|
643
|
+
category: v(s).params.category,
|
644
|
+
user: P.user._id,
|
645
|
+
period: v(s).query.period
|
630
646
|
}, null, 8, ["category", "user", "period"])
|
631
647
|
]));
|
632
648
|
}
|
633
649
|
}, gt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
634
650
|
__proto__: null,
|
635
|
-
default:
|
636
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
651
|
+
default: mt
|
652
|
+
}, Symbol.toStringTag, { value: "Module" })), ft = { class: "w-100 cols-4 t-left flex-nowrap flex" }, ht = {
|
637
653
|
key: 0,
|
638
654
|
class: "w-100 br-2px br-solid br-white-transp-10 radius-small pd-small flex-v-center flex-nowrap flex"
|
639
|
-
},
|
655
|
+
}, vt = /* @__PURE__ */ r("p", { class: "h4 i-medium mn-r-small" }, "👍", -1), _t = { class: "t-semi uppercase" }, bt = /* @__PURE__ */ r("br", null, null, -1), yt = {
|
640
656
|
key: 1,
|
641
657
|
class: "w-100 br-2px br-solid br-white-transp-10 radius-small pd-small flex-v-center flex-nowrap flex"
|
642
|
-
},
|
658
|
+
}, xt = /* @__PURE__ */ r("p", { class: "h4 i-medium mn-r-small" }, "💬", -1), wt = { class: "t-semi uppercase" }, kt = /* @__PURE__ */ r("br", null, null, -1), $t = {
|
643
659
|
key: 2,
|
644
660
|
class: "w-100 br-2px br-solid br-white-transp-10 radius-small pd-small flex-v-center flex-nowrap flex"
|
645
|
-
},
|
661
|
+
}, Bt = /* @__PURE__ */ r("p", { class: "h4 i-medium mn-r-small" }, "👍", -1), Ct = { class: "t-semi uppercase" }, Tt = /* @__PURE__ */ r("br", null, null, -1), rn = {
|
646
662
|
__name: "Activity",
|
647
663
|
props: {
|
648
664
|
likes: Number,
|
@@ -650,34 +666,34 @@ const rt = /* @__PURE__ */ ce(nt, [["render", st]]), it = { class: "w-100 bg-dar
|
|
650
666
|
subscriptions: Number
|
651
667
|
},
|
652
668
|
setup(l) {
|
653
|
-
return (s,
|
654
|
-
l.likes ? (u(), d("div",
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
669
|
+
return (s, t) => (u(), d("section", ft, [
|
670
|
+
l.likes ? (u(), d("div", ht, [
|
671
|
+
vt,
|
672
|
+
r("span", _t, [
|
673
|
+
S(M(l.likes), 1),
|
674
|
+
bt,
|
675
|
+
S("likes")
|
660
676
|
])
|
661
|
-
])) :
|
662
|
-
l.comments ? (u(), d("div",
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
677
|
+
])) : w("", !0),
|
678
|
+
l.comments ? (u(), d("div", yt, [
|
679
|
+
xt,
|
680
|
+
r("span", wt, [
|
681
|
+
S(M(l.comments), 1),
|
682
|
+
kt,
|
683
|
+
S("comments")
|
668
684
|
])
|
669
|
-
])) :
|
670
|
-
l.subscriptions ? (u(), d("div",
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
685
|
+
])) : w("", !0),
|
686
|
+
l.subscriptions ? (u(), d("div", $t, [
|
687
|
+
Bt,
|
688
|
+
r("span", Ct, [
|
689
|
+
S(M(l.subscriptions), 1),
|
690
|
+
Tt,
|
691
|
+
S("subscriptions")
|
676
692
|
])
|
677
|
-
])) :
|
693
|
+
])) : w("", !0)
|
678
694
|
]));
|
679
695
|
}
|
680
|
-
},
|
696
|
+
}, Pt = { class: "pd-thin radius-extra flex-nowrap flex" }, It = ["innerHTML"], St = {
|
681
697
|
__name: "FieldBig",
|
682
698
|
props: {
|
683
699
|
input: String,
|
@@ -710,100 +726,100 @@ const rt = /* @__PURE__ */ ce(nt, [["render", st]]), it = { class: "w-100 bg-dar
|
|
710
726
|
},
|
711
727
|
emits: ["update:input", "action"],
|
712
728
|
setup(l, { emit: s }) {
|
713
|
-
const
|
714
|
-
let
|
715
|
-
function
|
729
|
+
const t = l, { t: e, locale: i } = xe();
|
730
|
+
let c = m(0), n = m(t.input), a = m(t.placeholder), o = m(t.enableTyping), p = m(null), g = m(""), h = m(!0), C = null;
|
731
|
+
function H() {
|
716
732
|
s("action");
|
717
733
|
}
|
718
|
-
function
|
719
|
-
s("update:input",
|
734
|
+
function b($) {
|
735
|
+
s("update:input", $), g.value = $;
|
720
736
|
}
|
721
|
-
function
|
722
|
-
|
737
|
+
function _() {
|
738
|
+
c.value = (c.value + 1) % t.placeholderTexts[i.value].length;
|
723
739
|
}
|
724
|
-
function
|
725
|
-
|
740
|
+
function f() {
|
741
|
+
o.value = !1, clearInterval(p.value), a.value = t.placeholder, g.value || (n.value = "");
|
726
742
|
}
|
727
|
-
function
|
728
|
-
!
|
743
|
+
function y() {
|
744
|
+
!g.value && t.enableTyping && (o.value = !0, a.value = "", x());
|
729
745
|
}
|
730
|
-
function
|
731
|
-
let
|
732
|
-
|
733
|
-
|
746
|
+
function x() {
|
747
|
+
let $ = t.placeholderTexts[i.value][c.value], k = 0, T = !1;
|
748
|
+
C = setInterval(() => {
|
749
|
+
h.value = !h.value;
|
734
750
|
}, 200), p.value = setInterval(() => {
|
735
|
-
|
736
|
-
|
737
|
-
}, 333),
|
738
|
-
},
|
751
|
+
o.value && (T ? (n.value = n.value.slice(0, -1), n.value = $.substring(0, k) + (h.value && k % 2 ? "|" : ""), k--) : (n.value = $.substring(0, k) + (h.value && k % 2 ? "|" : ""), k++), k > $.length && t.loopTyping && setTimeout(() => {
|
752
|
+
T = !0, n.value = $.substring(0, k);
|
753
|
+
}, 333), k === 0 && T && (T = !1, _(), $ = t.placeholderTexts[i.value][c.value]));
|
754
|
+
}, t.typingSpeed);
|
739
755
|
}
|
740
|
-
return
|
741
|
-
|
742
|
-
}),
|
743
|
-
|
744
|
-
}), (
|
745
|
-
|
746
|
-
field:
|
756
|
+
return I(() => {
|
757
|
+
t.enableTyping && x();
|
758
|
+
}), Z(() => {
|
759
|
+
o.value || (clearInterval(p.value), clearInterval(C));
|
760
|
+
}), ($, k) => (u(), d("div", Pt, [
|
761
|
+
B(he, {
|
762
|
+
field: v(n),
|
747
763
|
"onUpdate:field": [
|
748
|
-
|
749
|
-
|
764
|
+
k[0] || (k[0] = (T) => te(n) ? n.value = T : n = T),
|
765
|
+
b
|
750
766
|
],
|
751
|
-
placeholder:
|
752
|
-
onInput:
|
753
|
-
onFocus:
|
754
|
-
onBlur:
|
767
|
+
placeholder: v(a),
|
768
|
+
onInput: _,
|
769
|
+
onFocus: f,
|
770
|
+
onBlur: y,
|
755
771
|
class: "w-100 pd-small p-big"
|
756
772
|
}, null, 8, ["field", "placeholder"]),
|
757
773
|
l.action ? (u(), d("button", {
|
758
774
|
key: 0,
|
759
|
-
onClick:
|
775
|
+
onClick: H,
|
760
776
|
class: "w-min hover_bg-white hover-t-black t-black bg-main button",
|
761
777
|
innerHTML: l.action
|
762
|
-
}, null, 8,
|
778
|
+
}, null, 8, It)) : w("", !0)
|
763
779
|
]));
|
764
780
|
}
|
765
781
|
};
|
766
|
-
const
|
767
|
-
/* @__PURE__ */
|
768
|
-
/* @__PURE__ */
|
769
|
-
], -1),
|
770
|
-
/* @__PURE__ */
|
771
|
-
], -1),
|
782
|
+
const Ft = { class: "pd-thin" }, Ut = { class: "o-hidden t-black bg-main pd-big radius-big" }, Mt = /* @__PURE__ */ r("header", { class: "t-center z-index-1 mn-big" }, [
|
783
|
+
/* @__PURE__ */ r("h2", { class: "mn-l-auto mn-r-auto w-m-40r mn-medium" }, "Stay Updated with The Latest in Cannabis."),
|
784
|
+
/* @__PURE__ */ r("p", { class: "t-transp p-big" }, "Subscribe to our newsletter for news, insights, and more from the Weeder universe.")
|
785
|
+
], -1), Dt = { class: "z-index-1 mn-big w-100 flex-nowrap flex" }, Ht = /* @__PURE__ */ r("div", { class: "w-100 h-100 pos-absolute pos-t-50-negative pos-r-0 z-index-0 grid" }, [
|
786
|
+
/* @__PURE__ */ r("div", { class: "spiral" })
|
787
|
+
], -1), cn = {
|
772
788
|
__name: "SubscribeNewsletter",
|
773
789
|
setup(l) {
|
774
|
-
let s =
|
775
|
-
return (
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
input:
|
790
|
+
let s = m("");
|
791
|
+
return (t, e) => (u(), d("section", Ft, [
|
792
|
+
r("div", Ut, [
|
793
|
+
Mt,
|
794
|
+
r("div", Dt, [
|
795
|
+
B(St, {
|
796
|
+
input: v(s),
|
781
797
|
typingSpeed: 75,
|
782
798
|
loopTyping: !1,
|
783
799
|
enableTyping: !1,
|
784
800
|
placeholder: "Please enter your email",
|
785
801
|
action: "Subscribe",
|
786
|
-
"onUpdate:input":
|
787
|
-
onAction:
|
802
|
+
"onUpdate:input": e[0] || (e[0] = (i) => te(s) ? s.value = i : s = i),
|
803
|
+
onAction: e[1] || (e[1] = (i) => t.router.push({ name: "Product Recommmendation", query: { mood: t.mood } })),
|
788
804
|
class: "mn-l-auto mn-r-auto bg-white t-black w-50"
|
789
805
|
}, null, 8, ["input"])
|
790
806
|
]),
|
791
|
-
|
807
|
+
Ht
|
792
808
|
])
|
793
809
|
]));
|
794
810
|
}
|
795
811
|
};
|
796
|
-
const
|
812
|
+
const jt = { class: "container-joinus" }, Nt = { class: "content" }, At = { class: "h0 mn-big" }, Et = /* @__PURE__ */ r("p", { class: "w-m-33r t-center mn-small p-big" }, "Together, we're shaping the future of the globals cannabis community.", -1), zt = /* @__PURE__ */ r("button", { class: "bg-black t-white button" }, "Join Now", -1), un = {
|
797
813
|
__name: "JoinUs",
|
798
814
|
setup(l) {
|
799
|
-
const s =
|
815
|
+
const s = m(120950), t = m([
|
800
816
|
"/assets/images/reviews/01.png",
|
801
817
|
"/assets/images/reviews/02.png",
|
802
818
|
"/assets/images/reviews/03.png",
|
803
819
|
"/assets/images/reviews/04.png",
|
804
820
|
"/assets/images/reviews/05.png",
|
805
821
|
"/assets/images/reviews/06.png"
|
806
|
-
]),
|
822
|
+
]), e = () => {
|
807
823
|
setInterval(() => {
|
808
824
|
s.value += Math.floor(Math.random() * 5) + 1;
|
809
825
|
}, 330);
|
@@ -814,39 +830,39 @@ const Et = { class: "container-joinus" }, Nt = { class: "content" }, zt = { clas
|
|
814
830
|
maxDuration: 15,
|
815
831
|
spawnPoints: [10, 90]
|
816
832
|
};
|
817
|
-
|
818
|
-
|
833
|
+
I(() => {
|
834
|
+
c(), e();
|
819
835
|
});
|
820
|
-
const
|
821
|
-
|
822
|
-
let
|
823
|
-
|
824
|
-
let p = i.spawnPoints[Math.floor(Math.random() * i.spawnPoints.length)],
|
825
|
-
|
826
|
-
const
|
827
|
-
|
836
|
+
const c = () => {
|
837
|
+
t.value.forEach((n, a) => {
|
838
|
+
let o = document.createElement("img");
|
839
|
+
o.src = n, o.classList.add("floating-image");
|
840
|
+
let p = i.spawnPoints[Math.floor(Math.random() * i.spawnPoints.length)], g = (Math.random() - 0.5) * 2 * 10;
|
841
|
+
o.style.left = `${p + g}%`, o.style.animationDuration = `${Math.random() * (i.maxDuration - i.minDuration) + i.minDuration}s`, document.querySelector(".container").appendChild(o), o.addEventListener("animationiteration", () => {
|
842
|
+
const h = i.spawnPoints[Math.floor(Math.random() * i.spawnPoints.length)], C = (Math.random() - 0.5) * 2 * 10;
|
843
|
+
o.style.left = `${h + C}%`;
|
828
844
|
});
|
829
845
|
});
|
830
846
|
};
|
831
|
-
return (n,
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
847
|
+
return (n, a) => (u(), d("div", jt, [
|
848
|
+
r("div", Nt, [
|
849
|
+
r("span", At, M(s.value.toLocaleString()), 1),
|
850
|
+
Et,
|
851
|
+
zt
|
836
852
|
])
|
837
853
|
]));
|
838
854
|
}
|
839
855
|
};
|
840
|
-
const
|
856
|
+
const Lt = (l) => (ie("data-v-18db0d1b"), l = l(), ce(), l), Vt = { class: "community-feed" }, Ot = /* @__PURE__ */ Lt(() => /* @__PURE__ */ r("h2", { class: "w-m-75r mn-auto pd-t-big pd-b-big t-center" }, "Discover the Vibrant Community", -1)), Rt = { class: "grid-container" }, qt = {
|
841
857
|
__name: "HotPosts",
|
842
858
|
async setup(l) {
|
843
|
-
let s,
|
844
|
-
const
|
859
|
+
let s, t;
|
860
|
+
const e = m([]), i = async () => {
|
845
861
|
const n = await K({ skip: 0, limit: 7, period: "year" });
|
846
|
-
console.log(n),
|
862
|
+
console.log(n), e.value = n;
|
847
863
|
};
|
848
|
-
[s,
|
849
|
-
const
|
864
|
+
[s, t] = re(() => i()), await s, t();
|
865
|
+
const c = (n) => {
|
850
866
|
switch (n) {
|
851
867
|
case 0:
|
852
868
|
return "grid-item-2x2";
|
@@ -863,22 +879,22 @@ const Ot = (l) => (ge("data-v-18db0d1b"), l = l(), he(), l), Vt = { class: "comm
|
|
863
879
|
return "";
|
864
880
|
}
|
865
881
|
};
|
866
|
-
return (n,
|
867
|
-
|
868
|
-
|
869
|
-
(u(!0), d(E, null,
|
870
|
-
blogpost:
|
871
|
-
owner:
|
882
|
+
return (n, a) => (u(), d("section", Vt, [
|
883
|
+
Ot,
|
884
|
+
r("div", Rt, [
|
885
|
+
(u(!0), d(E, null, z(e.value, (o, p) => (u(), U(ne, {
|
886
|
+
blogpost: o,
|
887
|
+
owner: P.user._id,
|
872
888
|
key: p,
|
873
|
-
class:
|
889
|
+
class: D(c(p))
|
874
890
|
}, null, 8, ["blogpost", "owner", "class"]))), 128))
|
875
891
|
])
|
876
892
|
]));
|
877
893
|
}
|
878
|
-
},
|
894
|
+
}, pn = /* @__PURE__ */ le(qt, [["__scopeId", "data-v-18db0d1b"]]), dn = [
|
879
895
|
{
|
880
896
|
path: "community",
|
881
|
-
component:
|
897
|
+
component: Pe,
|
882
898
|
meta: {
|
883
899
|
title: {
|
884
900
|
en: "Community",
|
@@ -901,7 +917,7 @@ const Ot = (l) => (ge("data-v-18db0d1b"), l = l(), he(), l), Vt = { class: "comm
|
|
901
917
|
},
|
902
918
|
authorize: []
|
903
919
|
},
|
904
|
-
component: () => Promise.resolve().then(() =>
|
920
|
+
component: () => Promise.resolve().then(() => X)
|
905
921
|
},
|
906
922
|
{
|
907
923
|
path: "community/posts/:url",
|
@@ -912,7 +928,7 @@ const Ot = (l) => (ge("data-v-18db0d1b"), l = l(), he(), l), Vt = { class: "comm
|
|
912
928
|
ru: "Пост"
|
913
929
|
}
|
914
930
|
},
|
915
|
-
component: () => Promise.resolve().then(() =>
|
931
|
+
component: () => Promise.resolve().then(() => dt)
|
916
932
|
},
|
917
933
|
{
|
918
934
|
path: "community/posts/:url/edit",
|
@@ -924,29 +940,29 @@ const Ot = (l) => (ge("data-v-18db0d1b"), l = l(), he(), l), Vt = { class: "comm
|
|
924
940
|
},
|
925
941
|
authorize: []
|
926
942
|
},
|
927
|
-
component: () => Promise.resolve().then(() =>
|
943
|
+
component: () => Promise.resolve().then(() => X)
|
928
944
|
}
|
929
945
|
];
|
930
946
|
export {
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
|
951
|
-
|
947
|
+
rn as Activity,
|
948
|
+
mt as Blog,
|
949
|
+
pt as BlogPost,
|
950
|
+
He as Bullets,
|
951
|
+
Me as Caption,
|
952
|
+
ne as CardBlogpost,
|
953
|
+
ye as Comments,
|
954
|
+
Pe as Community,
|
955
|
+
et as CreateBlogPost,
|
956
|
+
ge as Feed,
|
957
|
+
fn as FooterBlogpost,
|
958
|
+
Fe as H2,
|
959
|
+
pn as HotPosts,
|
960
|
+
ct as Image,
|
961
|
+
Ae as ImageUpload,
|
962
|
+
un as JoinUs,
|
963
|
+
cn as SubscribeNewsletter,
|
964
|
+
Q as Textarea,
|
965
|
+
dn as blogpostsRoutes,
|
966
|
+
hn as blogpostsStore,
|
967
|
+
vn as reactionsStore
|
952
968
|
};
|