@ozdao/prometheus-framework 0.2.44 → 0.2.46

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. package/dist/products.server.js +875 -0
  2. package/dist/products.server.mjs +875 -0
  3. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  4. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +18 -18
  5. package/dist/prometheus-framework/src/modules/orders/components/pages/EditOrder.vue.cjs +1 -1
  6. package/dist/prometheus-framework/src/modules/orders/components/pages/EditOrder.vue.js +1 -1
  7. package/dist/prometheus-framework/src/modules/products/components/blocks/CategoryCard.vue.cjs +1 -0
  8. package/dist/prometheus-framework/src/modules/products/components/blocks/CategoryCard.vue.js +43 -0
  9. package/dist/prometheus-framework/src/modules/products/components/blocks/CategoryCard.vue2.cjs +1 -0
  10. package/dist/prometheus-framework/src/modules/products/components/blocks/CategoryCard.vue2.js +4 -0
  11. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  12. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  13. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  14. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +39 -2
  15. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue2.cjs +1 -0
  16. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue2.js +4 -0
  17. package/dist/prometheus-framework/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -0
  18. package/dist/prometheus-framework/src/modules/products/components/pages/ProductRecommmendation.vue.js +87 -0
  19. package/dist/prometheus-framework/src/modules/products/components/pages/ProductRecommmendation.vue2.cjs +1 -0
  20. package/dist/prometheus-framework/src/modules/products/components/pages/ProductRecommmendation.vue2.js +4 -0
  21. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -0
  22. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +138 -0
  23. package/dist/prometheus-framework/src/modules/products/components/sections/HeroRecommendation.vue.cjs +1 -0
  24. package/dist/prometheus-framework/src/modules/products/components/sections/HeroRecommendation.vue.js +114 -0
  25. package/dist/prometheus-framework/src/modules/products/components/sections/HeroRecommendation.vue2.cjs +1 -0
  26. package/dist/prometheus-framework/src/modules/products/components/sections/HeroRecommendation.vue2.js +4 -0
  27. package/dist/prometheus-framework/src/modules/products/components/sections/SortProducts.vue.cjs +1 -0
  28. package/dist/prometheus-framework/src/modules/products/components/sections/SortProducts.vue.js +53 -0
  29. package/dist/prometheus-framework/src/modules/products/products.client.cjs +1 -0
  30. package/dist/prometheus-framework/src/modules/products/products.client.js +56 -0
  31. package/dist/prometheus-framework/src/modules/products/store/products.cjs +1 -1
  32. package/dist/prometheus-framework/src/modules/products/store/products.js +2 -0
  33. package/dist/style.css +1 -1
  34. package/package.json +1 -1
  35. package/src/modules/products/components/pages/ProductRecommmendation.vue +2 -2
  36. package/src/modules/products/products.client.js +76 -20
  37. package/src/modules/products/products.server.js +8 -4
  38. package/src/modules/products/router/products.router.js +4 -2
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),k=require("../Field/Field.vue2.cjs"),B=require("vue-i18n"),w={class:"pd-thin radius-extra flex-nowrap flex"},S=["innerHTML"],_={__name:"FieldBig",props:{input:String,placeholder:{type:String},action:{type:String,default:"Action"},placeholderTexts:{type:Object,default:()=>({en:["Lowest THC, please!","Something with banana flavors?","I'm in the mood for trippy vibes."],ru:["Я хочу самый низкий THC","Я хочу чего-нибудь бананового","Я хочу курнуть хейза"]})},typingSpeed:{type:Number,default:200},loopTyping:{type:Boolean,default:!1},enableTyping:{type:Boolean,default:!1}},emits:["update:input","action"],setup(c,{emit:y}){const t=c,{t:F,locale:s}=B.useI18n();let o=e.ref(0),n=e.ref(t.input),p=e.ref(t.placeholder),i=e.ref(t.enableTyping),d=e.ref(null),f=e.ref(""),r=e.ref(!0),v=null;const g=y;function m(){g("action")}function T(a){g("update:input",a),f.value=a}function h(){o.value=(o.value+1)%t.placeholderTexts[s.value].length}function I(){i.value=!1,clearInterval(d.value),p.value=t.placeholder,f.value||(n.value="")}function x(){!f.value&&t.enableTyping&&(i.value=!0,p.value="",b())}function b(){let a=t.placeholderTexts[s.value][o.value],l=0,u=!1;v=setInterval(()=>{r.value=!r.value},200),d.value=setInterval(()=>{i.value&&(u?(n.value=n.value.slice(0,-1),n.value=a.substring(0,l)+(r.value&&l%2?"|":""),l--):(n.value=a.substring(0,l)+(r.value&&l%2?"|":""),l++),l>a.length&&t.loopTyping&&setTimeout(()=>{u=!0,n.value=a.substring(0,l)},333),l===0&&u&&(u=!1,h(),a=t.placeholderTexts[s.value][o.value]))},t.typingSpeed)}return e.onMounted(()=>{t.enableTyping&&b()}),e.watchEffect(()=>{i.value||(clearInterval(d.value),clearInterval(v))}),(a,l)=>(e.openBlock(),e.createElementBlock("div",w,[e.createVNode(k.default,{field:e.unref(n),"onUpdate:field":[l[0]||(l[0]=u=>e.isRef(n)?n.value=u:n=u),T],placeholder:e.unref(i)?" ":e.unref(p),onInput:h,onFocus:I,onBlur:x,class:"w-100 t-semi uppercase pd-small p-big"},null,8,["field","placeholder"]),c.action?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:m,class:"w-max hover-bg-black hover-t-white t-black bg-main button",innerHTML:c.action},null,8,S)):e.createCommentVNode("",!0)]))}};exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),k=require("../Field/Field.vue2.cjs"),B=require("vue-i18n"),S={class:"pd-thin radius-extra flex-nowrap flex"},w=["innerHTML"],_={__name:"FieldBig",props:{input:String,placeholder:{type:String},action:{type:String,default:"Action"},placeholderTexts:{type:Object,default:()=>({en:["Lowest THC, please!","Something with banana flavors?","I'm in the mood for trippy vibes."],ru:["Я хочу самый низкий THC","Я хочу чего-нибудь бананового","Я хочу курнуть хейза"]})},typingSpeed:{type:Number,default:200},loopTyping:{type:Boolean,default:!1},enableTyping:{type:Boolean,default:!1}},emits:["update:input","action"],setup(s,{emit:y}){const t=s,{t:F,locale:c}=B.useI18n();let r=e.ref(0),n=e.ref(t.input),p=e.ref(t.placeholder),i=e.ref(t.enableTyping),d=e.ref(null),f=e.ref(""),o=e.ref(!0),v=null;const g=y;function b(){g("action")}function T(a){g("update:input",a),f.value=a}function m(){r.value=(r.value+1)%t.placeholderTexts[c.value].length}function I(){i.value=!1,clearInterval(d.value),p.value=t.placeholder,f.value||(n.value="")}function x(){!f.value&&t.enableTyping&&(i.value=!0,p.value="",h())}function h(){let a=t.placeholderTexts[c.value][r.value],l=0,u=!1;v=setInterval(()=>{o.value=!o.value},200),d.value=setInterval(()=>{i.value&&(u?(n.value=n.value.slice(0,-1),n.value=a.substring(0,l)+(o.value&&l%2?"|":""),l--):(n.value=a.substring(0,l)+(o.value&&l%2?"|":""),l++),l>a.length&&t.loopTyping&&setTimeout(()=>{u=!0,n.value=a.substring(0,l)},333),l===0&&u&&(u=!1,m(),a=t.placeholderTexts[c.value][r.value]))},t.typingSpeed)}return e.onMounted(()=>{t.enableTyping&&h()}),e.watchEffect(()=>{i.value||(clearInterval(d.value),clearInterval(v))}),(a,l)=>(e.openBlock(),e.createElementBlock("div",S,[e.createVNode(k.default,{field:e.unref(n),"onUpdate:field":[l[0]||(l[0]=u=>e.isRef(n)?n.value=u:n=u),T],placeholder:e.unref(i)?" ":e.unref(p),onInput:m,onFocus:I,onBlur:x,class:"w-100 p-medium t-regular uppercase pd-small"},null,8,["field","placeholder"]),s.action?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:b,class:"t-medium radius-big uppercase cursor-pointer pd-l-semi pd-r-semi w-max hover-bg-fifth t-semi transition-linear transition-timing-1 t-black bg-main",innerHTML:s.action},null,8,w)):e.createCommentVNode("",!0)]))}};exports.default=_;
@@ -1,4 +1,4 @@
1
- import { ref as u, onMounted as S, watchEffect as F, openBlock as b, createElementBlock as T, createVNode as C, unref as v, isRef as H, createCommentVNode as _ } from "vue";
1
+ import { ref as i, onMounted as S, watchEffect as F, openBlock as T, createElementBlock as b, createVNode as C, unref as v, isRef as H, createCommentVNode as _ } from "vue";
2
2
  import L from "../Field/Field.vue2.js";
3
3
  import { useI18n as M } from "vue-i18n";
4
4
  const N = { class: "pd-thin radius-extra flex-nowrap flex" }, V = ["innerHTML"], P = {
@@ -42,8 +42,8 @@ const N = { class: "pd-thin radius-extra flex-nowrap flex" }, V = ["innerHTML"],
42
42
  },
43
43
  emits: ["update:input", "action"],
44
44
  setup(p, { emit: I }) {
45
- const l = p, { t: A, locale: c } = M();
46
- let o = u(0), t = u(l.input), s = u(l.placeholder), i = u(l.enableTyping), d = u(null), f = u(""), r = u(!0), h = null;
45
+ const l = p, { t: A, locale: s } = M();
46
+ let o = i(0), t = i(l.input), c = i(l.placeholder), u = i(l.enableTyping), d = i(null), f = i(""), r = i(!0), m = null;
47
47
  const g = I;
48
48
  function x() {
49
49
  g("action");
@@ -51,46 +51,46 @@ const N = { class: "pd-thin radius-extra flex-nowrap flex" }, V = ["innerHTML"],
51
51
  function k(a) {
52
52
  g("update:input", a), f.value = a;
53
53
  }
54
- function m() {
55
- o.value = (o.value + 1) % l.placeholderTexts[c.value].length;
54
+ function h() {
55
+ o.value = (o.value + 1) % l.placeholderTexts[s.value].length;
56
56
  }
57
57
  function w() {
58
- i.value = !1, clearInterval(d.value), s.value = l.placeholder, f.value || (t.value = "");
58
+ u.value = !1, clearInterval(d.value), c.value = l.placeholder, f.value || (t.value = "");
59
59
  }
60
60
  function B() {
61
- !f.value && l.enableTyping && (i.value = !0, s.value = "", y());
61
+ !f.value && l.enableTyping && (u.value = !0, c.value = "", y());
62
62
  }
63
63
  function y() {
64
- let a = l.placeholderTexts[c.value][o.value], e = 0, n = !1;
65
- h = setInterval(() => {
64
+ let a = l.placeholderTexts[s.value][o.value], e = 0, n = !1;
65
+ m = setInterval(() => {
66
66
  r.value = !r.value;
67
67
  }, 200), d.value = setInterval(() => {
68
- i.value && (n ? (t.value = t.value.slice(0, -1), t.value = a.substring(0, e) + (r.value && e % 2 ? "|" : ""), e--) : (t.value = a.substring(0, e) + (r.value && e % 2 ? "|" : ""), e++), e > a.length && l.loopTyping && setTimeout(() => {
68
+ u.value && (n ? (t.value = t.value.slice(0, -1), t.value = a.substring(0, e) + (r.value && e % 2 ? "|" : ""), e--) : (t.value = a.substring(0, e) + (r.value && e % 2 ? "|" : ""), e++), e > a.length && l.loopTyping && setTimeout(() => {
69
69
  n = !0, t.value = a.substring(0, e);
70
- }, 333), e === 0 && n && (n = !1, m(), a = l.placeholderTexts[c.value][o.value]));
70
+ }, 333), e === 0 && n && (n = !1, h(), a = l.placeholderTexts[s.value][o.value]));
71
71
  }, l.typingSpeed);
72
72
  }
73
73
  return S(() => {
74
74
  l.enableTyping && y();
75
75
  }), F(() => {
76
- i.value || (clearInterval(d.value), clearInterval(h));
77
- }), (a, e) => (b(), T("div", N, [
76
+ u.value || (clearInterval(d.value), clearInterval(m));
77
+ }), (a, e) => (T(), b("div", N, [
78
78
  C(L, {
79
79
  field: v(t),
80
80
  "onUpdate:field": [
81
81
  e[0] || (e[0] = (n) => H(t) ? t.value = n : t = n),
82
82
  k
83
83
  ],
84
- placeholder: v(i) ? " " : v(s),
85
- onInput: m,
84
+ placeholder: v(u) ? " " : v(c),
85
+ onInput: h,
86
86
  onFocus: w,
87
87
  onBlur: B,
88
- class: "w-100 t-semi uppercase pd-small p-big"
88
+ class: "w-100 p-medium t-regular uppercase pd-small"
89
89
  }, null, 8, ["field", "placeholder"]),
90
- p.action ? (b(), T("button", {
90
+ p.action ? (T(), b("button", {
91
91
  key: 0,
92
92
  onClick: x,
93
- class: "w-max hover-bg-black hover-t-white t-black bg-main button",
93
+ class: "t-medium radius-big uppercase cursor-pointer pd-l-semi pd-r-semi w-max hover-bg-fifth t-semi transition-linear transition-timing-1 t-black bg-main",
94
94
  innerHTML: p.action
95
95
  }, null, 8, V)) : _("", !0)
96
96
  ]));
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("vue-router"),f=require("../../../../components/Block/Block.vue.cjs");require("../../../../components/Field/Field.vue.cjs");const b=require("../../../products/components/blocks/CardPosition.vue.cjs");require("../../../products/store/leftovers.cjs");require("../../../products/components/blocks/ListPositions.vue.cjs");const v=require("../sections/FormOrderDetails.vue.cjs"),r=require("../../store/orders.cjs"),E=require("../../../products/store/products.cjs");require("./EditOrder.vue2.cjs");const B=e.createElementVNode("header",{class:"mn-b-medium flex-v-center flex-nowrap flex"},[e.createElementVNode("h2",{class:"mn-r-medium"},"Edit Order")],-1),x={class:"gap-thin flex-nowrap flex mn-b-semi"},C={class:"w-100 br-solid br-1px br-black-transp-10 radius-big pd-medium"},w={class:"mn-b-small p-big"},P=e.createElementVNode("br",null,null,-1),q=e.createElementVNode("button",{class:"button"},"Подтвердить заказ",-1),S={class:"w-100 br-solid br-1px br-black-transp-10 radius-big pd-medium"},T={class:"mn-b-semi p-big"},D=e.createElementVNode("br",null,null,-1),O=e.createElementVNode("button",{class:"button"},"Изменить статус оплаты",-1),R={key:0,class:"w-100"},A={class:"mn-thinw-100 flex-v-center flex block"},F={class:"p-big"},M={key:0,class:"p-big t-semi"},U={key:1,class:"p-big t-semi"},j={key:2,class:"p-big t-semi"},z={key:3},I={key:4},L={key:5},G=e.createElementVNode("button",{class:"mn-l-auto button"},"Запросить онлайн",-1),H={__name:"EditOrder",props:["showProduct"],setup(h){const N=g.useRoute(),k=h;k.showProduct=[];function c(t){r.actions.addProduct(t)}function V(t){r.actions.deleteProduct(t)}let y=e.reactive([]);e.toRefs(y),e.ref(!1);const s=e.ref([]);let o=e.ref({});e.onMounted(async()=>{try{const t=await E.actions.read({organization:"65141c476cf9860013b49f6d"});console.log(t),s.value=t}catch{console.error("error")}await r.actions.fetchOrder(N.params.id),o.value=r.state.current});const n=e.computed(()=>100);return e.computed(()=>[]),(t,J)=>{var a,l,d,i,u,m,p;return e.openBlock(),e.createElementBlock(e.Fragment,null,[B,e.createElementVNode("section",x,[e.createElementVNode("div",C,[e.createElementVNode("p",w,[e.createTextVNode(" Статус заказа:"),P,e.createTextVNode(e.toDisplayString(e.unref(o).status),1)]),q]),e.createElementVNode("div",S,[e.createElementVNode("p",T,[e.createTextVNode("Статус оплаты:"),D,e.createTextVNode(e.toDisplayString((a=e.unref(o).payment)==null?void 0:a.status),1)]),O])]),e.createVNode(f.default,{title:"Add Position",class:"mn-b-semi"},{default:e.withCtx(()=>[e.createVNode(b.default,{onAdd:c,products:s.value},null,8,["products"])]),_:1}),e.createVNode(f.default,{title:"Invetory Sheet",class:"mn-b-semi"},{default:e.withCtx(()=>[r.state.current.positions.length===0?(e.openBlock(),e.createElementBlock("span",R," No positions added yet ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.state.current.positions,(_,K)=>(e.openBlock(),e.createBlock(b.default,{key:_._id,product:_,products:s.value,onAdd:c,onDelete:V,onUpdate:t.updateProduct},null,8,["product","products","onUpdate"]))),128))]),_:1}),e.createVNode(v.default,{order:r.state.current,onCreate:t.handleCreate,class:"bg-grey pd-medium radius-big mn-b-semi"},null,8,["order","onCreate"]),e.createElementVNode("div",A,[e.createElementVNode("p",F,[e.createTextVNode("Сумма к оплате: "),((l=e.unref(o).info)==null?void 0:l.delivery)==="Самовывоз"?(e.openBlock(),e.createElementBlock("span",M,e.toDisplayString(n.value/100)+" ₽",1)):e.createCommentVNode("",!0),((d=e.unref(o).info)==null?void 0:d.delivery)==="Курьером"?(e.openBlock(),e.createElementBlock("span",U,e.toDisplayString(n.value/100+350)+" ₽",1)):e.createCommentVNode("",!0),((i=e.unref(o).info)==null?void 0:i.delivery)==="Почтой"?(e.openBlock(),e.createElementBlock("span",j,e.toDisplayString(n.value/100+550)+" ₽",1)):e.createCommentVNode("",!0),e.createTextVNode(" (Заказ "+e.toDisplayString(n.value/100)+" ₽ + доставка ",1),((u=e.unref(o).info)==null?void 0:u.delivery)==="Самовывоз"?(e.openBlock(),e.createElementBlock("span",z,"0")):e.createCommentVNode("",!0),((m=e.unref(o).info)==null?void 0:m.delivery)==="Курьером"?(e.openBlock(),e.createElementBlock("span",I,"350")):e.createCommentVNode("",!0),((p=e.unref(o).info)==null?void 0:p.delivery)==="Почтой"?(e.openBlock(),e.createElementBlock("span",L,"550")):e.createCommentVNode("",!0),e.createTextVNode(" ₽) ")]),G])],64)}}};exports.default=H;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("vue-router"),f=require("../../../../components/Block/Block.vue.cjs");require("../../../../components/Field/Field.vue.cjs");const b=require("../../../products/components/blocks/CardPosition.vue.cjs");require("../../../products/store/leftovers.cjs");require("../../../products/components/blocks/ListPositions.vue2.cjs");const v=require("../sections/FormOrderDetails.vue.cjs"),r=require("../../store/orders.cjs"),E=require("../../../products/store/products.cjs");require("./EditOrder.vue2.cjs");const B=e.createElementVNode("header",{class:"mn-b-medium flex-v-center flex-nowrap flex"},[e.createElementVNode("h2",{class:"mn-r-medium"},"Edit Order")],-1),x={class:"gap-thin flex-nowrap flex mn-b-semi"},C={class:"w-100 br-solid br-1px br-black-transp-10 radius-big pd-medium"},w={class:"mn-b-small p-big"},P=e.createElementVNode("br",null,null,-1),q=e.createElementVNode("button",{class:"button"},"Подтвердить заказ",-1),S={class:"w-100 br-solid br-1px br-black-transp-10 radius-big pd-medium"},T={class:"mn-b-semi p-big"},D=e.createElementVNode("br",null,null,-1),O=e.createElementVNode("button",{class:"button"},"Изменить статус оплаты",-1),R={key:0,class:"w-100"},A={class:"mn-thinw-100 flex-v-center flex block"},F={class:"p-big"},M={key:0,class:"p-big t-semi"},U={key:1,class:"p-big t-semi"},j={key:2,class:"p-big t-semi"},z={key:3},I={key:4},L={key:5},G=e.createElementVNode("button",{class:"mn-l-auto button"},"Запросить онлайн",-1),H={__name:"EditOrder",props:["showProduct"],setup(h){const N=g.useRoute(),k=h;k.showProduct=[];function c(t){r.actions.addProduct(t)}function V(t){r.actions.deleteProduct(t)}let y=e.reactive([]);e.toRefs(y),e.ref(!1);const s=e.ref([]);let o=e.ref({});e.onMounted(async()=>{try{const t=await E.actions.read({organization:"65141c476cf9860013b49f6d"});console.log(t),s.value=t}catch{console.error("error")}await r.actions.fetchOrder(N.params.id),o.value=r.state.current});const n=e.computed(()=>100);return e.computed(()=>[]),(t,J)=>{var a,l,d,i,u,m,p;return e.openBlock(),e.createElementBlock(e.Fragment,null,[B,e.createElementVNode("section",x,[e.createElementVNode("div",C,[e.createElementVNode("p",w,[e.createTextVNode(" Статус заказа:"),P,e.createTextVNode(e.toDisplayString(e.unref(o).status),1)]),q]),e.createElementVNode("div",S,[e.createElementVNode("p",T,[e.createTextVNode("Статус оплаты:"),D,e.createTextVNode(e.toDisplayString((a=e.unref(o).payment)==null?void 0:a.status),1)]),O])]),e.createVNode(f.default,{title:"Add Position",class:"mn-b-semi"},{default:e.withCtx(()=>[e.createVNode(b.default,{onAdd:c,products:s.value},null,8,["products"])]),_:1}),e.createVNode(f.default,{title:"Invetory Sheet",class:"mn-b-semi"},{default:e.withCtx(()=>[r.state.current.positions.length===0?(e.openBlock(),e.createElementBlock("span",R," No positions added yet ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.state.current.positions,(_,K)=>(e.openBlock(),e.createBlock(b.default,{key:_._id,product:_,products:s.value,onAdd:c,onDelete:V,onUpdate:t.updateProduct},null,8,["product","products","onUpdate"]))),128))]),_:1}),e.createVNode(v.default,{order:r.state.current,onCreate:t.handleCreate,class:"bg-grey pd-medium radius-big mn-b-semi"},null,8,["order","onCreate"]),e.createElementVNode("div",A,[e.createElementVNode("p",F,[e.createTextVNode("Сумма к оплате: "),((l=e.unref(o).info)==null?void 0:l.delivery)==="Самовывоз"?(e.openBlock(),e.createElementBlock("span",M,e.toDisplayString(n.value/100)+" ₽",1)):e.createCommentVNode("",!0),((d=e.unref(o).info)==null?void 0:d.delivery)==="Курьером"?(e.openBlock(),e.createElementBlock("span",U,e.toDisplayString(n.value/100+350)+" ₽",1)):e.createCommentVNode("",!0),((i=e.unref(o).info)==null?void 0:i.delivery)==="Почтой"?(e.openBlock(),e.createElementBlock("span",j,e.toDisplayString(n.value/100+550)+" ₽",1)):e.createCommentVNode("",!0),e.createTextVNode(" (Заказ "+e.toDisplayString(n.value/100)+" ₽ + доставка ",1),((u=e.unref(o).info)==null?void 0:u.delivery)==="Самовывоз"?(e.openBlock(),e.createElementBlock("span",z,"0")):e.createCommentVNode("",!0),((m=e.unref(o).info)==null?void 0:m.delivery)==="Курьером"?(e.openBlock(),e.createElementBlock("span",I,"350")):e.createCommentVNode("",!0),((p=e.unref(o).info)==null?void 0:p.delivery)==="Почтой"?(e.openBlock(),e.createElementBlock("span",L,"550")):e.createCommentVNode("",!0),e.createTextVNode(" ₽) ")]),G])],64)}}};exports.default=H;
@@ -4,7 +4,7 @@ import E from "../../../../components/Block/Block.vue.js";
4
4
  import "../../../../components/Field/Field.vue.js";
5
5
  import V from "../../../products/components/blocks/CardPosition.vue.js";
6
6
  import "../../../products/store/leftovers.js";
7
- import "../../../products/components/blocks/ListPositions.vue.js";
7
+ import "../../../products/components/blocks/ListPositions.vue2.js";
8
8
  import I from "../sections/FormOrderDetails.vue.js";
9
9
  import { actions as _, state as u } from "../../store/orders.js";
10
10
  import { actions as L } from "../../../products/store/products.js";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("./CategoryCard.vue2.cjs");const s=require("../../../../../../_virtual/_plugin-vue_export-helper.cjs"),c={props:["category"],name:"CategoryCard",setup(t){return e.onMounted(()=>{}),{}},methods:{deleteCategory(t){this.$store.commit("categories/deleteCategory",t),this.$store.dispatch("categories/deleteCategory",t.url)}}},l={class:"card"},i={class:"flex-v-center flex"},d={class:"actions"};function u(t,r,o,_,g,n){const a=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",l,[e.createElementVNode("div",i,[e.createElementVNode("h4",null,e.toDisplayString(o.category.name),1),e.createElementVNode("div",d,[e.createVNode(a,{to:"/admin/categories/"+o.category.url+"/edit",class:"mn-r-medium nav-link"},{default:e.withCtx(()=>[e.createTextVNode("Редактировать")]),_:1},8,["to"]),e.createElementVNode("a",{class:"nav-link",onClick:r[0]||(r[0]=p=>n.deleteCategory(o.category))},"Удалить")])])])}const m=s.default(c,[["render",u]]);exports.default=m;
@@ -0,0 +1,43 @@
1
+ import { onMounted as s, resolveComponent as c, openBlock as i, createElementBlock as l, createElementVNode as t, toDisplayString as d, createVNode as m, withCtx as _, createTextVNode as u } from "vue";
2
+ import "./CategoryCard.vue2.js";
3
+ import g from "../../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const p = {
5
+ props: ["category"],
6
+ name: "CategoryCard",
7
+ setup(e) {
8
+ return s(() => {
9
+ }), {};
10
+ },
11
+ methods: {
12
+ deleteCategory(e) {
13
+ this.$store.commit("categories/deleteCategory", e), this.$store.dispatch("categories/deleteCategory", e.url);
14
+ }
15
+ }
16
+ }, C = { class: "card" }, f = { class: "flex-v-center flex" }, y = { class: "actions" };
17
+ function h(e, r, o, v, k, a) {
18
+ const n = c("router-link");
19
+ return i(), l("div", C, [
20
+ t("div", f, [
21
+ t("h4", null, d(o.category.name), 1),
22
+ t("div", y, [
23
+ m(n, {
24
+ to: "/admin/categories/" + o.category.url + "/edit",
25
+ class: "mn-r-medium nav-link"
26
+ }, {
27
+ default: _(() => [
28
+ u("Редактировать")
29
+ ]),
30
+ _: 1
31
+ }, 8, ["to"]),
32
+ t("a", {
33
+ class: "nav-link",
34
+ onClick: r[0] || (r[0] = (x) => a.deleteCategory(o.category))
35
+ }, "Удалить")
36
+ ])
37
+ ])
38
+ ]);
39
+ }
40
+ const B = /* @__PURE__ */ g(p, [["render", h]]);
41
+ export {
42
+ B as default
43
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="";exports.default=e;
@@ -0,0 +1,4 @@
1
+ const e = "";
2
+ export {
3
+ e as default
4
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("vue-router"),s=require("../../../../components/Field/Field.vue2.cjs"),d=require("../../store/leftovers.cjs");require("./LeftoverPositions.vue2.cjs");const u={class:"flex-column flex-wrap block"},m={key:0,class:"w-100"},f={class:"mn-r-regular w-100"},p=["onClick"],y={__name:"LeftoverPositions",props:{order:Object},setup(o){const i=o;r.useRouter(),r.useRoute();function a(n){d.actions.deleteItemFromLeftover(i.order.positions[n])}return(n,b)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("ul",u,[o.order.positions.length===0?(e.openBlock(),e.createElementBlock("span",m," No positions added yet ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.order.positions,(t,c)=>(e.openBlock(),e.createElementBlock("li",{key:t._id,class:"w-100 flex-center flex-nowrap flex"},[e.createElementVNode("span",f,e.toDisplayString(t.name),1),e.createVNode(s.default,{field:t.price,"onUpdate:field":l=>t.price=l,type:"number",label:"Price",symbol:n.returnCurrency(),class:"bg-grey pd-medium radius-small"},null,8,["field","onUpdate:field","symbol"]),e.createVNode(s.default,{field:t.quantity,"onUpdate:field":l=>t.quantity=l,type:"number",label:"Quantity",class:"bg-grey pd-medium radius-small",symbol:t.type},null,8,["field","onUpdate:field","symbol"]),e.createElementVNode("a",{class:"button",onClick:l=>a(c)}," Delete ",8,p)]))),128))])]))}};exports.default=y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("vue-router"),s=require("../../../../components/Field/Field.vue2.cjs"),d=require("../../store/leftovers.cjs");require("./LeftoverPositions.vue2.cjs");const u={class:"flex-column flex-wrap block"},m={key:0,class:"w-100"},f={class:"mn-r-regular w-100"},p=["onClick"],y={__name:"LeftoverPositions",props:{order:Object},setup(o){r.useRouter(),r.useRoute();const i=o;function a(n){d.actions.deleteItemFromLeftover(i.order.positions[n])}return(n,b)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("ul",u,[o.order.positions.length===0?(e.openBlock(),e.createElementBlock("span",m," No positions added yet ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.order.positions,(t,c)=>(e.openBlock(),e.createElementBlock("li",{key:t._id,class:"w-100 flex-center flex-nowrap flex"},[e.createElementVNode("span",f,e.toDisplayString(t.name),1),e.createVNode(s.default,{field:t.price,"onUpdate:field":l=>t.price=l,type:"number",label:"Price",symbol:n.returnCurrency(),class:"bg-grey pd-medium radius-small"},null,8,["field","onUpdate:field","symbol"]),e.createVNode(s.default,{field:t.quantity,"onUpdate:field":l=>t.quantity=l,type:"number",label:"Quantity",class:"bg-grey pd-medium radius-small",symbol:t.type},null,8,["field","onUpdate:field","symbol"]),e.createElementVNode("a",{class:"button",onClick:l=>a(c)}," Delete ",8,p)]))),128))])]))}};exports.default=y;
@@ -12,8 +12,8 @@ const k = { class: "flex-column flex-wrap block" }, h = {
12
12
  order: Object
13
13
  },
14
14
  setup(n) {
15
- const d = n;
16
15
  b(), _();
16
+ const d = n;
17
17
  function m(r) {
18
18
  g.deleteItemFromLeftover(d.order.positions[r]);
19
19
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="";exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),n=require("vue-router");require("../../../../components/Field/Field.vue.cjs");const i=require("./CardPosition.vue.cjs"),u=require("../../store/leftovers.cjs");require("./ListPositions.vue2.cjs");const a={class:"flex-column flex-wrap"},d={key:0,class:"w-100"},m={class:"flex-v-center flex radius-medium pd-small bg-white w-100"},p={__name:"ListPositions",props:{order:Object},setup(t){n.useRouter(),n.useRoute();const l=t;function s(r){u.actions.deleteItemFromLeftover(l.order.positions[r])}return(r,f)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("ul",a,[t.order.positions.length===0?(e.openBlock(),e.createElementBlock("span",d," No positions added yet ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.order.positions,(o,c)=>(e.openBlock(),e.createElementBlock("li",{key:o._id,class:"w-100 gap-small flex-stretch flex-center flex-nowrap flex"},[e.createElementVNode("span",m,e.toDisplayString(o.name),1),e.createVNode(i.default,{products:[],product:o,onAdd:_=>s(c)},null,8,["product","onAdd"])]))),128))])]))}};exports.default=p;
@@ -1,4 +1,41 @@
1
- const e = "";
1
+ import { openBlock as e, createElementBlock as t, createElementVNode as n, createCommentVNode as d, Fragment as a, renderList as m, toDisplayString as p, createVNode as u } from "vue";
2
+ import { useRouter as f, useRoute as _ } from "vue-router";
3
+ import "../../../../components/Field/Field.vue.js";
4
+ import x from "./CardPosition.vue.js";
5
+ import { actions as h } from "../../store/leftovers.js";
6
+ import "./ListPositions.vue2.js";
7
+ const w = { class: "flex-column flex-wrap" }, g = {
8
+ key: 0,
9
+ class: "w-100"
10
+ }, k = { class: "flex-v-center flex radius-medium pd-small bg-white w-100" }, E = {
11
+ __name: "ListPositions",
12
+ props: {
13
+ order: Object
14
+ },
15
+ setup(o) {
16
+ f(), _();
17
+ const l = o;
18
+ function i(s) {
19
+ h.deleteItemFromLeftover(l.order.positions[s]);
20
+ }
21
+ return (s, v) => (e(), t("div", null, [
22
+ n("ul", w, [
23
+ o.order.positions.length === 0 ? (e(), t("span", g, " No positions added yet ")) : d("", !0),
24
+ (e(!0), t(a, null, m(o.order.positions, (r, c) => (e(), t("li", {
25
+ key: r._id,
26
+ class: "w-100 gap-small flex-stretch flex-center flex-nowrap flex"
27
+ }, [
28
+ n("span", k, p(r.name), 1),
29
+ u(x, {
30
+ products: [],
31
+ product: r,
32
+ onAdd: (y) => i(c)
33
+ }, null, 8, ["product", "onAdd"])
34
+ ]))), 128))
35
+ ])
36
+ ]));
37
+ }
38
+ };
2
39
  export {
3
- e as default
40
+ E as default
4
41
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="";exports.default=e;
@@ -0,0 +1,4 @@
1
+ const e = "";
2
+ export {
3
+ e as default
4
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),b=require("vue-router"),f=require("vue-i18n"),h=require("../../../../components/Loader/Loader.vue2.cjs");require("../../../globals/localization/vue-i18n.cjs");require("../../../../components/Breadcrumbs/Breadcrumbs.vue.cjs");const g=require("../../../../components/FieldBig/FieldBig.vue.cjs"),_=require("../sections/SectionProduct.vue.cjs"),s=require("../../store/products.cjs");require("../sections/HeroRecommendation.vue2.cjs");require("./ProductRecommmendation.vue2.cjs");const I=require("../../../../../../_virtual/_plugin-vue_export-helper.cjs"),q={id:"product-recommendation",class:"h-min-100vh t-white bg-black"},y={key:1,class:"section"},k={key:0,class:"mn-b-big"},R={__name:"ProductRecommmendation",setup(T){const r=b.useRouter(),t=e.ref(!0),m=e.ref(!1),u=e.ref(["Loading all we know about the buds","Processing the cannabis universe","Creating a strain of knowledge","Harvesting taste insights"]),p={messages:{en:{TITLE:"Increase Your High,<br><b class='t-white'>Powered by AI Budtender</b>",DESCRIPTION:"AI's got your chill, bro. We're picking out the most cosmic weed strains based on your desired vibe:",placeholder:"Describe your desired high, bro...",action:"Transmit Vibes →"},ru:{TITLE:"Персональный Накур,<br><b class='t-white'>Напрямую от AI</b>",DESCRIPTION:"AI на страже твоего релакса, бро. Мы подбираем самые космические сорта травы, исходя из твоего желаемого настроения:",placeholder:"Опиши свой желамый хай, bro...",action:"Передать Вайб →"}}},{t:o}=f.useI18n(p),a=e.ref(u.value[0]);let c=e.ref(r.currentRoute.value.query.mood||o("Recommend me something"));e.watchEffect(async()=>{c.value=r.currentRoute.value.query.mood||o("Recommend me something"),t.value=!0,await s.actions.submitMood(c.value),t.value=!1}),e.onMounted(async()=>{}),setInterval(()=>{const i=u.value.indexOf(a.value);a.value=u.value[(i+1)%u.value.length]},2e3);let n=e.ref(r.currentRoute.value.query.mood||o("Recommend me something"));function v(){r.push({name:"Product Recommmendation",query:{mood:n.value}})}return(i,l)=>(e.openBlock(),e.createElementBlock("div",q,[t.value?(e.openBlock(),e.createBlock(h.default,{key:0,status:a.value,class:"pos-fixed"},null,8,["status"])):e.createCommentVNode("",!0),!t.value&&!m.value?(e.openBlock(),e.createElementBlock("div",y,[t.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",k,[e.createVNode(g.default,{input:e.unref(n),loopTyping:!1,enableTyping:!1,placeholder:e.unref(o)("placeholder"),action:e.unref(o)("action"),"onUpdate:input":l[0]||(l[0]=d=>e.isRef(n)?n.value=d:n=d),onAction:v,class:"t-white bs-blur-regular w-100"},null,8,["input","placeholder","action"])])),e.createVNode(_.default,{product:s.state.current,recommendation:s.state.current.recommendation},null,8,["product","recommendation"])])):e.createCommentVNode("",!0)]))}},w=I.default(R,[["__scopeId","data-v-5fd744d4"]]);exports.default=w;
@@ -0,0 +1,87 @@
1
+ import { ref as e, watchEffect as I, onMounted as y, openBlock as s, createElementBlock as u, createBlock as w, createCommentVNode as c, createVNode as v, unref as l, isRef as R } from "vue";
2
+ import { useRouter as T } from "vue-router";
3
+ import { useI18n as k } from "vue-i18n";
4
+ import x from "../../../../components/Loader/Loader.vue2.js";
5
+ import "../../../globals/localization/vue-i18n.js";
6
+ import "../../../../components/Breadcrumbs/Breadcrumbs.vue.js";
7
+ import P from "../../../../components/FieldBig/FieldBig.vue.js";
8
+ import E from "../sections/SectionProduct.vue.js";
9
+ import { actions as A, state as f } from "../../store/products.js";
10
+ import "../sections/HeroRecommendation.vue2.js";
11
+ import "./ProductRecommmendation.vue2.js";
12
+ import q from "../../../../../../_virtual/_plugin-vue_export-helper.js";
13
+ const B = {
14
+ id: "product-recommendation",
15
+ class: "h-min-100vh t-white bg-black"
16
+ }, C = {
17
+ key: 1,
18
+ class: "section"
19
+ }, L = {
20
+ key: 0,
21
+ class: "mn-b-big"
22
+ }, N = {
23
+ __name: "ProductRecommmendation",
24
+ setup(V) {
25
+ const r = T(), o = e(!0), b = e(!1), a = e([
26
+ "Loading all we know about the buds",
27
+ "Processing the cannabis universe",
28
+ "Creating a strain of knowledge",
29
+ "Harvesting taste insights"
30
+ ]), g = {
31
+ messages: {
32
+ en: {
33
+ TITLE: "Increase Your High,<br><b class='t-white'>Powered by AI Budtender</b>",
34
+ DESCRIPTION: "AI's got your chill, bro. We're picking out the most cosmic weed strains based on your desired vibe:",
35
+ placeholder: "Describe your desired high, bro...",
36
+ action: "Transmit Vibes →"
37
+ },
38
+ ru: {
39
+ TITLE: "Персональный Накур,<br><b class='t-white'>Напрямую от AI</b>",
40
+ DESCRIPTION: "AI на страже твоего релакса, бро. Мы подбираем самые космические сорта травы, исходя из твоего желаемого настроения:",
41
+ placeholder: "Опиши свой желамый хай, bro...",
42
+ action: "Передать Вайб →"
43
+ }
44
+ }
45
+ }, { t } = k(g), i = e(a.value[0]);
46
+ let m = e(r.currentRoute.value.query.mood || t("Recommend me something"));
47
+ I(async () => {
48
+ m.value = r.currentRoute.value.query.mood || t("Recommend me something"), o.value = !0, await A.submitMood(m.value), o.value = !1;
49
+ }), y(async () => {
50
+ }), setInterval(() => {
51
+ const d = a.value.indexOf(i.value);
52
+ i.value = a.value[(d + 1) % a.value.length];
53
+ }, 2e3);
54
+ let n = e(r.currentRoute.value.query.mood || t("Recommend me something"));
55
+ function _() {
56
+ r.push({ name: "Product Recommmendation", query: { mood: n.value } });
57
+ }
58
+ return (d, p) => (s(), u("div", B, [
59
+ o.value ? (s(), w(x, {
60
+ key: 0,
61
+ status: i.value,
62
+ class: "pos-fixed"
63
+ }, null, 8, ["status"])) : c("", !0),
64
+ !o.value && !b.value ? (s(), u("div", C, [
65
+ o.value ? c("", !0) : (s(), u("div", L, [
66
+ v(P, {
67
+ input: l(n),
68
+ loopTyping: !1,
69
+ enableTyping: !1,
70
+ placeholder: l(t)("placeholder"),
71
+ action: l(t)("action"),
72
+ "onUpdate:input": p[0] || (p[0] = (h) => R(n) ? n.value = h : n = h),
73
+ onAction: _,
74
+ class: "t-white bs-blur-regular w-100"
75
+ }, null, 8, ["input", "placeholder", "action"])
76
+ ])),
77
+ v(E, {
78
+ product: f.current,
79
+ recommendation: f.current.recommendation
80
+ }, null, 8, ["product", "recommendation"])
81
+ ])) : c("", !0)
82
+ ]));
83
+ }
84
+ }, G = /* @__PURE__ */ q(N, [["__scopeId", "data-v-5fd744d4"]]);
85
+ export {
86
+ G as default
87
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="";exports.default=e;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("../../../../components/Field/Field.vue2.cjs"),L={key:0,class:"mn-b-small w-100"},k={class:"w-100 flex-nowrap flex"},w=["onClick"],E=e.createElementVNode("svg",{width:"26",height:"26",viewBox:"0 0 26 26",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("rect",{width:"24",height:"24",transform:"translate(1 1)"}),e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.9996 10.8L22.8994 0.900244L25.0993 3.1002L15.1995 13L25.0993 22.8998L22.8994 25.0998L12.9996 15.2L3.09976 25.0998L0.899801 22.8998L10.7996 13L0.899801 3.1002L3.09976 0.900244L12.9996 10.8Z",fill:"rgb(var(--white))"})],-1),g=[E],N=e.createElementVNode("hr",{class:"mn-b-medium"},null,-1),V=["onClick"],B=e.createElementVNode("svg",{width:"26",height:"26",viewBox:"0 0 26 26",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("rect",{width:"24",height:"24",transform:"translate(1 1)"}),e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.9996 10.8L22.8994 0.900244L25.0993 3.1002L15.1995 13L25.0993 22.8998L22.8994 25.0998L12.9996 15.2L3.09976 25.0998L0.899801 22.8998L10.7996 13L0.899801 3.1002L3.09976 0.900244L12.9996 10.8Z",fill:"rgb(var(--white))"})],-1),x=[B],C=e.createElementVNode("hr",{class:"mn-b-medium"},null,-1),U=["onClick"],y={__name:"EditModifications",props:{product:Object},emits:["add-modification","delete-modification","add-characteristic","delete-characteristic","submit"],setup(u,{emit:m}){const o=m,f=u,{product:r}=e.toRefs(f);function p(){o("add-modification")}function h(l){o("delete-modification",l)}function b(l){o("add-characteristic",l)}function _(l,d){o("delete-characteristic",{modIndex:l,charIndex:d})}function v(){o("submit")}return(l,d)=>(e.openBlock(),e.createElementBlock("div",null,[e.unref(r).modifications.length==0?(e.openBlock(),e.createElementBlock("p",L,"У продукта еще не заданы модификации.")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r).modifications,(n,i)=>(e.openBlock(),e.createElementBlock("div",{class:"mn-b-small flex-column flex-wrap block",key:i},[e.createElementVNode("div",k,[e.createVNode(c.default,{field:n.quantity,"onUpdate:field":t=>n.quantity=t,disabled:!0,placeholder:"Количество",class:"mn-b-medium input-text input",type:"number"},null,8,["field","onUpdate:field"]),e.createVNode(c.default,{field:n.name,"onUpdate:field":t=>n.name=t,placeholder:"Новая модификация",class:"mn-b-medium input-text input"},null,8,["field","onUpdate:field"]),e.createElementVNode("button",{onClick:t=>h(i),class:"mn-l-small i-normal pd-regular button-delete button"},g,8,w)]),N,(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.characteristics,(t,s)=>(e.openBlock(),e.createElementBlock("div",{class:"mn-b-medium w-100 flex-nowrap flex variants-wrapper",key:s},[e.createVNode(c.default,{field:t.name,"onUpdate:field":a=>t.name=a,placeholder:"Название параметра",class:"input-text input"},null,8,["field","onUpdate:field"]),e.createVNode(c.default,{field:t.value,"onUpdate:field":a=>t.value=a,placeholder:"Значение параметра",class:"mn-l-small input-text input"},null,8,["field","onUpdate:field"]),e.createElementVNode("button",{onClick:a=>_(i,s),class:"mn-l-small i-normal pd-regular button-delete button"},x,8,V)]))),128)),C,e.createElementVNode("button",{onClick:t=>b(i),class:"button"},"Добавить характеристику",8,U)]))),128)),e.createElementVNode("div",{class:"mn-b-big t-center flex-center flex block"},[e.createElementVNode("button",{onClick:p,class:"w-100"},"Добавить модификацю")]),e.createElementVNode("button",{onClick:d[0]||(d[0]=n=>v()),class:"button"},"Сохранить модификации")]))}};exports.default=y;
@@ -0,0 +1,138 @@
1
+ import { toRefs as U, openBlock as i, createElementBlock as o, unref as p, createCommentVNode as y, Fragment as h, renderList as b, createElementVNode as e, createVNode as r } from "vue";
2
+ import u from "../../../../components/Field/Field.vue2.js";
3
+ const M = {
4
+ key: 0,
5
+ class: "mn-b-small w-100"
6
+ }, B = { class: "w-100 flex-nowrap flex" }, $ = ["onClick"], E = /* @__PURE__ */ e("svg", {
7
+ width: "26",
8
+ height: "26",
9
+ viewBox: "0 0 26 26",
10
+ fill: "none",
11
+ xmlns: "http://www.w3.org/2000/svg"
12
+ }, [
13
+ /* @__PURE__ */ e("rect", {
14
+ width: "24",
15
+ height: "24",
16
+ transform: "translate(1 1)"
17
+ }),
18
+ /* @__PURE__ */ e("path", {
19
+ "fill-rule": "evenodd",
20
+ "clip-rule": "evenodd",
21
+ d: "M12.9996 10.8L22.8994 0.900244L25.0993 3.1002L15.1995 13L25.0993 22.8998L22.8994 25.0998L12.9996 15.2L3.09976 25.0998L0.899801 22.8998L10.7996 13L0.899801 3.1002L3.09976 0.900244L12.9996 10.8Z",
22
+ fill: "rgb(var(--white))"
23
+ })
24
+ ], -1), N = [
25
+ E
26
+ ], V = /* @__PURE__ */ e("hr", { class: "mn-b-medium" }, null, -1), q = ["onClick"], F = /* @__PURE__ */ e("svg", {
27
+ width: "26",
28
+ height: "26",
29
+ viewBox: "0 0 26 26",
30
+ fill: "none",
31
+ xmlns: "http://www.w3.org/2000/svg"
32
+ }, [
33
+ /* @__PURE__ */ e("rect", {
34
+ width: "24",
35
+ height: "24",
36
+ transform: "translate(1 1)"
37
+ }),
38
+ /* @__PURE__ */ e("path", {
39
+ "fill-rule": "evenodd",
40
+ "clip-rule": "evenodd",
41
+ d: "M12.9996 10.8L22.8994 0.900244L25.0993 3.1002L15.1995 13L25.0993 22.8998L22.8994 25.0998L12.9996 15.2L3.09976 25.0998L0.899801 22.8998L10.7996 13L0.899801 3.1002L3.09976 0.900244L12.9996 10.8Z",
42
+ fill: "rgb(var(--white))"
43
+ })
44
+ ], -1), Z = [
45
+ F
46
+ ], j = /* @__PURE__ */ e("hr", { class: "mn-b-medium" }, null, -1), O = ["onClick"], z = {
47
+ __name: "EditModifications",
48
+ props: {
49
+ product: Object
50
+ },
51
+ emits: ["add-modification", "delete-modification", "add-characteristic", "delete-characteristic", "submit"],
52
+ setup(_, { emit: L }) {
53
+ const d = L, v = _, { product: m } = U(v);
54
+ function w() {
55
+ d("add-modification");
56
+ }
57
+ function g(l) {
58
+ d("delete-modification", l);
59
+ }
60
+ function k(l) {
61
+ d("add-characteristic", l);
62
+ }
63
+ function x(l, s) {
64
+ d("delete-characteristic", { modIndex: l, charIndex: s });
65
+ }
66
+ function C() {
67
+ d("submit");
68
+ }
69
+ return (l, s) => (i(), o("div", null, [
70
+ p(m).modifications.length == 0 ? (i(), o("p", M, "У продукта еще не заданы модификации.")) : y("", !0),
71
+ (i(!0), o(h, null, b(p(m).modifications, (n, a) => (i(), o("div", {
72
+ class: "mn-b-small flex-column flex-wrap block",
73
+ key: a
74
+ }, [
75
+ e("div", B, [
76
+ r(u, {
77
+ field: n.quantity,
78
+ "onUpdate:field": (t) => n.quantity = t,
79
+ disabled: !0,
80
+ placeholder: "Количество",
81
+ class: "mn-b-medium input-text input",
82
+ type: "number"
83
+ }, null, 8, ["field", "onUpdate:field"]),
84
+ r(u, {
85
+ field: n.name,
86
+ "onUpdate:field": (t) => n.name = t,
87
+ placeholder: "Новая модификация",
88
+ class: "mn-b-medium input-text input"
89
+ }, null, 8, ["field", "onUpdate:field"]),
90
+ e("button", {
91
+ onClick: (t) => g(a),
92
+ class: "mn-l-small i-normal pd-regular button-delete button"
93
+ }, N, 8, $)
94
+ ]),
95
+ V,
96
+ (i(!0), o(h, null, b(n.characteristics, (t, f) => (i(), o("div", {
97
+ class: "mn-b-medium w-100 flex-nowrap flex variants-wrapper",
98
+ key: f
99
+ }, [
100
+ r(u, {
101
+ field: t.name,
102
+ "onUpdate:field": (c) => t.name = c,
103
+ placeholder: "Название параметра",
104
+ class: "input-text input"
105
+ }, null, 8, ["field", "onUpdate:field"]),
106
+ r(u, {
107
+ field: t.value,
108
+ "onUpdate:field": (c) => t.value = c,
109
+ placeholder: "Значение параметра",
110
+ class: "mn-l-small input-text input"
111
+ }, null, 8, ["field", "onUpdate:field"]),
112
+ e("button", {
113
+ onClick: (c) => x(a, f),
114
+ class: "mn-l-small i-normal pd-regular button-delete button"
115
+ }, Z, 8, q)
116
+ ]))), 128)),
117
+ j,
118
+ e("button", {
119
+ onClick: (t) => k(a),
120
+ class: "button"
121
+ }, "Добавить характеристику", 8, O)
122
+ ]))), 128)),
123
+ e("div", { class: "mn-b-big t-center flex-center flex block" }, [
124
+ e("button", {
125
+ onClick: w,
126
+ class: "w-100"
127
+ }, "Добавить модификацю")
128
+ ]),
129
+ e("button", {
130
+ onClick: s[0] || (s[0] = (n) => C()),
131
+ class: "button"
132
+ }, "Сохранить модификации")
133
+ ]));
134
+ }
135
+ };
136
+ export {
137
+ z as default
138
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("../../../../components/FieldBig/FieldBig.vue.cjs"),d=require("vue-router"),u=require("vue-i18n");require("../../store/products.cjs");require("./HeroRecommendation.vue2.cjs");const p={id:"hero",class:"pd-thin"},m={class:"pd-big bg-black t-white pos-relative radius-extra o-hidden"},b={class:"flex-column flex-center flex t-center pos-relative z-index-1"},h=["innerHTML"],g=["innerHTML"],f=["innerHTML"],_={style:{"max-width":"50rem"},class:"w-100 h-max gap-thin cols-6"},y=["onClick"],v=["src"],x={class:"t-white"},w=e.createElementVNode("div",{class:"w-100 h-100 flex flex-center pos-absolute pos-t-0 pos-r-0 z-index-0"},[e.createElementVNode("div",{style:{"background-image":"url(/spiral.jpg)"},class:"spiral"})],-1),E={__name:"HeroRecommendation",setup(T){const i=d.useRouter(),s={messages:{en:{title:"Increase Your High <br><b class='t-main'>Boosted by AI Budtender</b>",description:"Just tell us what you're want, and Weeder will find your ideal match.",placeholderTexts:["Lowest THC, please!","Something with banana flavors?","I'm in the mood for trippy vibes."],subdescription:"AI Curated Recommendations for Your Mood:",presets:{sleep:"sleep",creative:"creative",giggly:"giggly",libido:"libido",trippy:"trippy",euphoric:"euphoric"},placeholder:"Tell us what you're after...",action:"Transmit&nbsp→"},ru:{title:"Персональный Накур,<br><b class='t-main'>Напрямую от AI</b>",description:"AI на страже твоего релакса, бро. Мы подбираем самые космические товары с учетом твоего желаемого настроения:",placeholderTexts:["Я хочу самый низкий THC","Я хочу чего-нибудь бананового","Я хочу курнуть хейза"],presets:{sleep:"сон",creative:"креатив",giggly:"смех",libido:"либидо",trippy:"трип",euphoric:"кайф"},subdescription:"Или выберите тег, и наш AI направит тебя к самым крутым вариантам:",placeholder:"Опиши свой желаемый хай, bro...",action:"Передать&nbsp→"}}},{t:n,rt:V}=u.useI18n(s);let r=e.ref("");const l=["sleep","creative","giggly","libido","trippy","euphoric"];return(a,o)=>(e.openBlock(),e.createElementBlock("section",p,[e.createElementVNode("div",m,[e.createElementVNode("div",b,[e.createElementVNode("h1",{class:"mn-b-semi",innerHTML:e.unref(n)("title")},null,8,h),e.createElementVNode("p",{class:"mn-b-big p-big t-transp",innerHTML:e.unref(n)("description")},null,8,g),e.createVNode(c.default,{input:e.unref(r),typingSpeed:100,loopTyping:!0,enableTyping:!0,placeholder:e.unref(n)("placeholder"),action:e.unref(n)("action"),"onUpdate:input":o[0]||(o[0]=t=>e.isRef(r)?r.value=t:r=t),onAction:o[1]||(o[1]=t=>e.unref(i).push({name:"Product Recommmendation",query:{mood:e.unref(r)}})),class:"mn-b-big pd-big bg-black-transp-50 bg-blur-thin w-100 w-max-40r"},null,8,["input","placeholder","action"]),e.createElementVNode("p",{class:"w-m-60r t-transp mn-b-semi p-medium",innerHTML:e.unref(n)("subdescription")},null,8,f),e.createElementVNode("div",_,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,(t,N)=>e.createElementVNode("a",{key:t,onClick:e.withModifiers(k=>e.unref(i).push({name:"Product Recommmendation",query:{mood:t}}),["stop"]),class:"uppercase pd-thin t-medium flex-center flex-column flex-nowrap flex bg-black-transp-50 bg-blur-thin radius-semi cursor-pointer transition-elastic hover-easeInOut-1"},[e.createElementVNode("img",{src:(a.FILE_SERVER_URL||"")+"/icons/moods/"+t+".svg",class:"w-100"},null,8,v),e.createElementVNode("span",x,e.toDisplayString(e.unref(n)("presets."+t)),1)],8,y)),64))])]),w])]))}};exports.default=E;