@ozdao/martyrs 0.2.430 → 0.2.431
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chats.server.js +0 -19
- package/dist/chats.server.mjs +0 -19
- package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
- package/dist/martyrs/src/components/Popup/{Popup.vue2.cjs → Popup.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js.map → Popup.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js → Popup.vue.js} +2 -2
- package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -0
- package/dist/martyrs/src/components/Tab/{Tab.vue.cjs → Tab.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
- package/dist/martyrs/src/components/Tab/{Tab.vue.cjs.map → Tab.vue2.js.map} +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +5 -4
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +5 -4
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs +101 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +101 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs +85 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +85 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.cjs +97 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js +97 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -0
- package/dist/martyrs/src/modules/landing/landing.client.cjs +6 -0
- package/dist/martyrs/src/modules/landing/landing.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/landing.client.js +6 -0
- package/dist/martyrs/src/modules/landing/landing.client.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +4 -12
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +4 -12
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.cjs +135 -248
- package/dist/martyrs/src/modules/notifications/notifications.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.js +135 -248
- package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -3
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +12 -10
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +12 -10
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
- package/dist/notifications.server.js +85 -1
- package/dist/notifications.server.mjs +85 -1
- package/dist/orders.server.js +0 -27
- package/dist/orders.server.mjs +0 -27
- package/dist/style.css +101 -18
- package/package.json +1 -1
- package/src/builder/modes/ssr.dev.js +0 -20
- package/src/modules/chats/routes/chats.routes.js +19 -19
- package/src/modules/globals/controllers/utils/queryProcessor.js +1 -1
- package/src/modules/globals/views/components/layouts/Client.vue +6 -6
- package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
- package/src/modules/landing/landing.client.js +7 -0
- package/src/modules/notifications/components/elements/NotificationBadge.vue +4 -13
- package/src/modules/notifications/notifications.client.js +166 -350
- package/src/modules/notifications/services/notification.service.js +4 -3
- package/src/modules/notifications/services/websocket.service.js +54 -56
- package/src/modules/orders/components/pages/OrderCreate.vue +1 -1
- package/src/modules/orders/controllers/orders.controller.js +1 -2
- package/src/modules/organizations/components/pages/Organization.vue +3 -3
- package/src/modules/products/components/pages/Product.vue +10 -9
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
const vueI18n = require("vue-i18n");
|
|
5
|
+
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
|
|
6
|
+
const _hoisted_1 = { class: "o-hidden bg-black t-white t-left pd-big radius-medium" };
|
|
7
|
+
const _hoisted_2 = { class: "mn-b-big t-center w-100" };
|
|
8
|
+
const _hoisted_3 = { class: "gap-thin flex-nowrap flex o-scrolled timeline custom-scroll" };
|
|
9
|
+
const _hoisted_4 = { class: "mn-b-semi bg-white-transp-5 timeline-icon" };
|
|
10
|
+
const _hoisted_5 = {
|
|
11
|
+
key: 0,
|
|
12
|
+
width: "18",
|
|
13
|
+
height: "18",
|
|
14
|
+
viewBox: "0 0 18 18",
|
|
15
|
+
fill: "none",
|
|
16
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
17
|
+
};
|
|
18
|
+
const _hoisted_6 = { class: "w-100 timeline-content" };
|
|
19
|
+
const _hoisted_7 = { class: "mn-b-small" };
|
|
20
|
+
const _hoisted_8 = { class: "uppercase mn-b-semi t-main t-semi date" };
|
|
21
|
+
const _hoisted_9 = { class: "t-transp w-100" };
|
|
22
|
+
const _sfc_main = {
|
|
23
|
+
__name: "SectionRoadmap",
|
|
24
|
+
props: {
|
|
25
|
+
textData: {
|
|
26
|
+
type: Object,
|
|
27
|
+
default: () => ({
|
|
28
|
+
messages: {
|
|
29
|
+
en: {
|
|
30
|
+
title: "Weeder Roadmap",
|
|
31
|
+
milestones: [{
|
|
32
|
+
title: "MVP in Thailand",
|
|
33
|
+
description: "The Weeder platform was tested as a minimum viable product (MVP) in Thailand to validate its basic features and gather user feedback. This helped the company make improvements before launching on a larger scale.",
|
|
34
|
+
date: "2023-02-01",
|
|
35
|
+
finished: "true"
|
|
36
|
+
}, {
|
|
37
|
+
date: "2023-05-01",
|
|
38
|
+
title: "Weeder Platform Soft Launch",
|
|
39
|
+
description: "A soft version of the Weeder platform will be launched for users to explore and provide feedback. This allows the company to identify any issues and make improvements before the official release."
|
|
40
|
+
}, {
|
|
41
|
+
date: "2023-07-01",
|
|
42
|
+
title: "IDO",
|
|
43
|
+
description: "The Initial DEX Offering (IDO) will launch the Weeder token on a our decentralized platform. It allows the public to purchase Weeder tokens and get involved in the project at an early stage. It can also help establish the initial token price."
|
|
44
|
+
}, {
|
|
45
|
+
date: "2023-09-01",
|
|
46
|
+
title: "Weeder Platform Official Release",
|
|
47
|
+
description: "The Weeder platform will be officially released with dividend features, cashback, and full blockchain integration. This marks the full launch of the platform and allows users to access all its features."
|
|
48
|
+
}, {
|
|
49
|
+
date: "2023-11-01",
|
|
50
|
+
title: "Weeder Ecosystem Expansion",
|
|
51
|
+
description: "The Weeder ecosystem will be expanded by adding support for new countries and enhancing its functionalities. This helps to increase the platforms user base and improve its overall capabilities."
|
|
52
|
+
}]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
setup(__props) {
|
|
59
|
+
const props = __props;
|
|
60
|
+
const { t, tm } = vueI18n.useI18n(props.textData);
|
|
61
|
+
return (_ctx, _cache) => {
|
|
62
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
63
|
+
vue.createElementVNode("h2", _hoisted_2, vue.toDisplayString(vue.unref(t)("title")), 1),
|
|
64
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
65
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tm)("milestones"), (milestone, index) => {
|
|
66
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
67
|
+
key: index,
|
|
68
|
+
class: "timeline-item br-white-transp-10 br-1px br-solid pd-big radius-small"
|
|
69
|
+
}, [
|
|
70
|
+
vue.createElementVNode("div", _hoisted_4, [
|
|
71
|
+
milestone.finished ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_5, _cache[0] || (_cache[0] = [
|
|
72
|
+
vue.createElementVNode("g", { id: "24 / basic / check-mark" }, [
|
|
73
|
+
vue.createElementVNode("path", {
|
|
74
|
+
id: "icon",
|
|
75
|
+
"fill-rule": "evenodd",
|
|
76
|
+
"clip-rule": "evenodd",
|
|
77
|
+
d: "M7.28033 10.7197L14.25 3.75L15.3107 4.81066L7.28033 12.841L3 8.56066L4.06066 7.5L7.28033 10.7197Z",
|
|
78
|
+
fill: "rgb(var(--main))"
|
|
79
|
+
})
|
|
80
|
+
], -1)
|
|
81
|
+
]))) : vue.createCommentVNode("", true)
|
|
82
|
+
]),
|
|
83
|
+
vue.createElementVNode("div", _hoisted_6, [
|
|
84
|
+
vue.createElementVNode("h3", _hoisted_7, vue.toDisplayString(vue.unref(t)(milestone.title)), 1),
|
|
85
|
+
vue.createElementVNode("p", _hoisted_8, vue.toDisplayString(milestone.date), 1),
|
|
86
|
+
vue.createElementVNode("p", _hoisted_9, vue.toDisplayString(vue.unref(t)(milestone.description)), 1)
|
|
87
|
+
])
|
|
88
|
+
]);
|
|
89
|
+
}), 128))
|
|
90
|
+
])
|
|
91
|
+
]);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const SectionRoadmap = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-148fd4a9"]]);
|
|
96
|
+
exports.default = SectionRoadmap;
|
|
97
|
+
//# sourceMappingURL=SectionRoadmap.vue.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionRoadmap.vue.cjs","sources":["../../../../../../../src/modules/landing/components/sections/SectionRoadmap.vue"],"sourcesContent":["<script setup>\nimport { ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nconst props = defineProps({\n textData: {\n type: Object,\n default: () => ({\n messages: {\n en: {\n title: 'Weeder Roadmap',\n milestones: [{\n title: 'MVP in Thailand',\n description: 'The Weeder platform was tested as a minimum viable product (MVP) in Thailand to validate its basic features and gather user feedback. This helped the company make improvements before launching on a larger scale.',\n date: '2023-02-01',\n finished: 'true'\n },{\n date: '2023-05-01',\n title: 'Weeder Platform Soft Launch',\n description: 'A soft version of the Weeder platform will be launched for users to explore and provide feedback. This allows the company to identify any issues and make improvements before the official release.',\n },{\n date: '2023-07-01',\n title: 'IDO',\n description: 'The Initial DEX Offering (IDO) will launch the Weeder token on a our decentralized platform. It allows the public to purchase Weeder tokens and get involved in the project at an early stage. It can also help establish the initial token price.',\n },{\n date: '2023-09-01',\n title: 'Weeder Platform Official Release',\n description: 'The Weeder platform will be officially released with dividend features, cashback, and full blockchain integration. This marks the full launch of the platform and allows users to access all its features.',\n },{\n date: '2023-11-01',\n title: 'Weeder Ecosystem Expansion',\n description: 'The Weeder ecosystem will be expanded by adding support for new countries and enhancing its functionalities. This helps to increase the platforms user base and improve its overall capabilities.',\n }]\n }\n }\n })\n }\n});\n\nconst { t,tm } = useI18n(props.textData);\n</script>\n\n<template>\n <div class=\"o-hidden bg-black t-white t-left pd-big radius-medium\">\n <h2 class=\"mn-b-big t-center w-100\">{{ t('title') }}</h2>\n \n <div class=\"gap-thin flex-nowrap flex o-scrolled timeline custom-scroll\">\n <div\n v-for=\"(milestone, index) in tm('milestones')\"\n :key=\"index\"\n class=\"timeline-item br-white-transp-10 br-1px br-solid pd-big radius-small\"\n >\n \n <div class=\"mn-b-semi bg-white-transp-5 timeline-icon\">\n <svg v-if=\"milestone.finished\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"24 / basic / check-mark\">\n <path id=\"icon\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.28033 10.7197L14.25 3.75L15.3107 4.81066L7.28033 12.841L3 8.56066L4.06066 7.5L7.28033 10.7197Z\" fill=\"rgb(var(--main))\"/>\n </g>\n </svg>\n </div>\n\n <div class=\"w-100 timeline-content\">\n <h3 class=\"mn-b-small\">{{ t(milestone.title) }}</h3>\n <p class=\"uppercase mn-b-semi t-main t-semi date\">{{ milestone.date }}</p>\n <p class=\"t-transp w-100\">{{ t(milestone.description) }}</p>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n .timeline {\n .timeline-item {\n min-width: 32rem;\n }\n\n .timeline-icon {\n border-radius: 100%;\n width: 3rem;\n height: 3rem;\n display: flex;\n align-items: center;\n justify-content: center;\n \n\n img {\n width: 1.5rem;\n height: 1.5rem;\n }\n }\n }\n\n .custom-scroll {\n overflow-x: scroll;\n scrollbar-width: none; /* Hide scrollbar for Firefox */\n -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */\n display: -webkit-box; /* Fix for Safari */\n display: -webkit-flex; /* Fix for Safari */\n display: -ms-flexbox;\n display: flex;\n }\n\n .custom-scroll::-webkit-scrollbar {\n width: 0px; /* Hide scrollbar for Chrome and Safari */\n height: 0px;\n }\n</style>"],"names":["useI18n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,UAAM,QAAQ;AAmCd,UAAM,EAAE,GAAE,GAAE,IAAKA,QAAAA,QAAQ,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { createElementBlock, openBlock, createElementVNode, toDisplayString, unref, Fragment, renderList, createCommentVNode } from "vue";
|
|
2
|
+
import { useI18n } from "vue-i18n";
|
|
3
|
+
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const _hoisted_1 = { class: "o-hidden bg-black t-white t-left pd-big radius-medium" };
|
|
5
|
+
const _hoisted_2 = { class: "mn-b-big t-center w-100" };
|
|
6
|
+
const _hoisted_3 = { class: "gap-thin flex-nowrap flex o-scrolled timeline custom-scroll" };
|
|
7
|
+
const _hoisted_4 = { class: "mn-b-semi bg-white-transp-5 timeline-icon" };
|
|
8
|
+
const _hoisted_5 = {
|
|
9
|
+
key: 0,
|
|
10
|
+
width: "18",
|
|
11
|
+
height: "18",
|
|
12
|
+
viewBox: "0 0 18 18",
|
|
13
|
+
fill: "none",
|
|
14
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
15
|
+
};
|
|
16
|
+
const _hoisted_6 = { class: "w-100 timeline-content" };
|
|
17
|
+
const _hoisted_7 = { class: "mn-b-small" };
|
|
18
|
+
const _hoisted_8 = { class: "uppercase mn-b-semi t-main t-semi date" };
|
|
19
|
+
const _hoisted_9 = { class: "t-transp w-100" };
|
|
20
|
+
const _sfc_main = {
|
|
21
|
+
__name: "SectionRoadmap",
|
|
22
|
+
props: {
|
|
23
|
+
textData: {
|
|
24
|
+
type: Object,
|
|
25
|
+
default: () => ({
|
|
26
|
+
messages: {
|
|
27
|
+
en: {
|
|
28
|
+
title: "Weeder Roadmap",
|
|
29
|
+
milestones: [{
|
|
30
|
+
title: "MVP in Thailand",
|
|
31
|
+
description: "The Weeder platform was tested as a minimum viable product (MVP) in Thailand to validate its basic features and gather user feedback. This helped the company make improvements before launching on a larger scale.",
|
|
32
|
+
date: "2023-02-01",
|
|
33
|
+
finished: "true"
|
|
34
|
+
}, {
|
|
35
|
+
date: "2023-05-01",
|
|
36
|
+
title: "Weeder Platform Soft Launch",
|
|
37
|
+
description: "A soft version of the Weeder platform will be launched for users to explore and provide feedback. This allows the company to identify any issues and make improvements before the official release."
|
|
38
|
+
}, {
|
|
39
|
+
date: "2023-07-01",
|
|
40
|
+
title: "IDO",
|
|
41
|
+
description: "The Initial DEX Offering (IDO) will launch the Weeder token on a our decentralized platform. It allows the public to purchase Weeder tokens and get involved in the project at an early stage. It can also help establish the initial token price."
|
|
42
|
+
}, {
|
|
43
|
+
date: "2023-09-01",
|
|
44
|
+
title: "Weeder Platform Official Release",
|
|
45
|
+
description: "The Weeder platform will be officially released with dividend features, cashback, and full blockchain integration. This marks the full launch of the platform and allows users to access all its features."
|
|
46
|
+
}, {
|
|
47
|
+
date: "2023-11-01",
|
|
48
|
+
title: "Weeder Ecosystem Expansion",
|
|
49
|
+
description: "The Weeder ecosystem will be expanded by adding support for new countries and enhancing its functionalities. This helps to increase the platforms user base and improve its overall capabilities."
|
|
50
|
+
}]
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
setup(__props) {
|
|
57
|
+
const props = __props;
|
|
58
|
+
const { t, tm } = useI18n(props.textData);
|
|
59
|
+
return (_ctx, _cache) => {
|
|
60
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
61
|
+
createElementVNode("h2", _hoisted_2, toDisplayString(unref(t)("title")), 1),
|
|
62
|
+
createElementVNode("div", _hoisted_3, [
|
|
63
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(tm)("milestones"), (milestone, index) => {
|
|
64
|
+
return openBlock(), createElementBlock("div", {
|
|
65
|
+
key: index,
|
|
66
|
+
class: "timeline-item br-white-transp-10 br-1px br-solid pd-big radius-small"
|
|
67
|
+
}, [
|
|
68
|
+
createElementVNode("div", _hoisted_4, [
|
|
69
|
+
milestone.finished ? (openBlock(), createElementBlock("svg", _hoisted_5, _cache[0] || (_cache[0] = [
|
|
70
|
+
createElementVNode("g", { id: "24 / basic / check-mark" }, [
|
|
71
|
+
createElementVNode("path", {
|
|
72
|
+
id: "icon",
|
|
73
|
+
"fill-rule": "evenodd",
|
|
74
|
+
"clip-rule": "evenodd",
|
|
75
|
+
d: "M7.28033 10.7197L14.25 3.75L15.3107 4.81066L7.28033 12.841L3 8.56066L4.06066 7.5L7.28033 10.7197Z",
|
|
76
|
+
fill: "rgb(var(--main))"
|
|
77
|
+
})
|
|
78
|
+
], -1)
|
|
79
|
+
]))) : createCommentVNode("", true)
|
|
80
|
+
]),
|
|
81
|
+
createElementVNode("div", _hoisted_6, [
|
|
82
|
+
createElementVNode("h3", _hoisted_7, toDisplayString(unref(t)(milestone.title)), 1),
|
|
83
|
+
createElementVNode("p", _hoisted_8, toDisplayString(milestone.date), 1),
|
|
84
|
+
createElementVNode("p", _hoisted_9, toDisplayString(unref(t)(milestone.description)), 1)
|
|
85
|
+
])
|
|
86
|
+
]);
|
|
87
|
+
}), 128))
|
|
88
|
+
])
|
|
89
|
+
]);
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
const SectionRoadmap = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-148fd4a9"]]);
|
|
94
|
+
export {
|
|
95
|
+
SectionRoadmap as default
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=SectionRoadmap.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionRoadmap.vue.js","sources":["../../../../../../../src/modules/landing/components/sections/SectionRoadmap.vue"],"sourcesContent":["<script setup>\nimport { ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nconst props = defineProps({\n textData: {\n type: Object,\n default: () => ({\n messages: {\n en: {\n title: 'Weeder Roadmap',\n milestones: [{\n title: 'MVP in Thailand',\n description: 'The Weeder platform was tested as a minimum viable product (MVP) in Thailand to validate its basic features and gather user feedback. This helped the company make improvements before launching on a larger scale.',\n date: '2023-02-01',\n finished: 'true'\n },{\n date: '2023-05-01',\n title: 'Weeder Platform Soft Launch',\n description: 'A soft version of the Weeder platform will be launched for users to explore and provide feedback. This allows the company to identify any issues and make improvements before the official release.',\n },{\n date: '2023-07-01',\n title: 'IDO',\n description: 'The Initial DEX Offering (IDO) will launch the Weeder token on a our decentralized platform. It allows the public to purchase Weeder tokens and get involved in the project at an early stage. It can also help establish the initial token price.',\n },{\n date: '2023-09-01',\n title: 'Weeder Platform Official Release',\n description: 'The Weeder platform will be officially released with dividend features, cashback, and full blockchain integration. This marks the full launch of the platform and allows users to access all its features.',\n },{\n date: '2023-11-01',\n title: 'Weeder Ecosystem Expansion',\n description: 'The Weeder ecosystem will be expanded by adding support for new countries and enhancing its functionalities. This helps to increase the platforms user base and improve its overall capabilities.',\n }]\n }\n }\n })\n }\n});\n\nconst { t,tm } = useI18n(props.textData);\n</script>\n\n<template>\n <div class=\"o-hidden bg-black t-white t-left pd-big radius-medium\">\n <h2 class=\"mn-b-big t-center w-100\">{{ t('title') }}</h2>\n \n <div class=\"gap-thin flex-nowrap flex o-scrolled timeline custom-scroll\">\n <div\n v-for=\"(milestone, index) in tm('milestones')\"\n :key=\"index\"\n class=\"timeline-item br-white-transp-10 br-1px br-solid pd-big radius-small\"\n >\n \n <div class=\"mn-b-semi bg-white-transp-5 timeline-icon\">\n <svg v-if=\"milestone.finished\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"24 / basic / check-mark\">\n <path id=\"icon\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.28033 10.7197L14.25 3.75L15.3107 4.81066L7.28033 12.841L3 8.56066L4.06066 7.5L7.28033 10.7197Z\" fill=\"rgb(var(--main))\"/>\n </g>\n </svg>\n </div>\n\n <div class=\"w-100 timeline-content\">\n <h3 class=\"mn-b-small\">{{ t(milestone.title) }}</h3>\n <p class=\"uppercase mn-b-semi t-main t-semi date\">{{ milestone.date }}</p>\n <p class=\"t-transp w-100\">{{ t(milestone.description) }}</p>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n .timeline {\n .timeline-item {\n min-width: 32rem;\n }\n\n .timeline-icon {\n border-radius: 100%;\n width: 3rem;\n height: 3rem;\n display: flex;\n align-items: center;\n justify-content: center;\n \n\n img {\n width: 1.5rem;\n height: 1.5rem;\n }\n }\n }\n\n .custom-scroll {\n overflow-x: scroll;\n scrollbar-width: none; /* Hide scrollbar for Firefox */\n -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */\n display: -webkit-box; /* Fix for Safari */\n display: -webkit-flex; /* Fix for Safari */\n display: -ms-flexbox;\n display: flex;\n }\n\n .custom-scroll::-webkit-scrollbar {\n width: 0px; /* Hide scrollbar for Chrome and Safari */\n height: 0px;\n }\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,UAAM,QAAQ;AAmCd,UAAM,EAAE,GAAE,GAAE,IAAK,QAAQ,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -9,6 +9,9 @@ const SectionGuide = require("./components/sections/SectionGuide.vue.cjs");
|
|
|
9
9
|
const SectionOverview = require("./components/sections/SectionOverview.vue.cjs");
|
|
10
10
|
const FloatingImages = require("./components/elements/FloatingImages.vue.cjs");
|
|
11
11
|
const AnimatedGrid = require("./components/elements/AnimatedGrid.vue.cjs");
|
|
12
|
+
const SectionHeroToken = require("./components/sections/SectionHeroToken.vue.cjs");
|
|
13
|
+
const SectionFeaturesImages = require("./components/sections/SectionFeaturesImages.vue.cjs");
|
|
14
|
+
const SectionRoadmap = require("./components/sections/SectionRoadmap.vue.cjs");
|
|
12
15
|
exports.SectionFeatures = SectionFeatures.default;
|
|
13
16
|
exports.SectionMobileApp = SectionMobileApp.default;
|
|
14
17
|
exports.SectionJoinUs = SectionJoinUs.default;
|
|
@@ -18,4 +21,7 @@ exports.SectionGuide = SectionGuide.default;
|
|
|
18
21
|
exports.SectionOverview = SectionOverview.default;
|
|
19
22
|
exports.FloatingImages = FloatingImages.default;
|
|
20
23
|
exports.AnimatedGrid = AnimatedGrid.default;
|
|
24
|
+
exports.SectionHeroToken = SectionHeroToken.default;
|
|
25
|
+
exports.SectionFeaturesImages = SectionFeaturesImages.default;
|
|
26
|
+
exports.SectionRoadmap = SectionRoadmap.default;
|
|
21
27
|
//# sourceMappingURL=landing.client.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"landing.client.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"landing.client.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -7,15 +7,21 @@ import { default as default7 } from "./components/sections/SectionGuide.vue.js";
|
|
|
7
7
|
import { default as default8 } from "./components/sections/SectionOverview.vue.js";
|
|
8
8
|
import { default as default9 } from "./components/elements/FloatingImages.vue.js";
|
|
9
9
|
import { default as default10 } from "./components/elements/AnimatedGrid.vue.js";
|
|
10
|
+
import { default as default11 } from "./components/sections/SectionHeroToken.vue.js";
|
|
11
|
+
import { default as default12 } from "./components/sections/SectionFeaturesImages.vue.js";
|
|
12
|
+
import { default as default13 } from "./components/sections/SectionRoadmap.vue.js";
|
|
10
13
|
export {
|
|
11
14
|
default10 as AnimatedGrid,
|
|
12
15
|
default9 as FloatingImages,
|
|
13
16
|
default6 as SectionEarn,
|
|
14
17
|
default2 as SectionFeatures,
|
|
18
|
+
default12 as SectionFeaturesImages,
|
|
15
19
|
default7 as SectionGuide,
|
|
20
|
+
default11 as SectionHeroToken,
|
|
16
21
|
default4 as SectionJoinUs,
|
|
17
22
|
default3 as SectionMobileApp,
|
|
18
23
|
default8 as SectionOverview,
|
|
24
|
+
default13 as SectionRoadmap,
|
|
19
25
|
default5 as SubscribeNewsletter
|
|
20
26
|
};
|
|
21
27
|
//# sourceMappingURL=landing.client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"landing.client.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"landing.client.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs
CHANGED
|
@@ -52,12 +52,6 @@ const _sfc_main = {
|
|
|
52
52
|
});
|
|
53
53
|
const toggleNotifications = () => {
|
|
54
54
|
isOpen.value = !isOpen.value;
|
|
55
|
-
if (isOpen.value) {
|
|
56
|
-
const userId = auth.state.user._id;
|
|
57
|
-
if (userId) {
|
|
58
|
-
getNotifications(userId);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
55
|
};
|
|
62
56
|
const handleNotificationClick = (notification) => {
|
|
63
57
|
isOpen.value = false;
|
|
@@ -76,11 +70,9 @@ const _sfc_main = {
|
|
|
76
70
|
};
|
|
77
71
|
vue.onMounted(() => {
|
|
78
72
|
document.addEventListener("click", handleClickOutside);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
getNotifications(userId);
|
|
83
|
-
}
|
|
73
|
+
const userId = auth.state.user._id;
|
|
74
|
+
if (userId) {
|
|
75
|
+
getNotifications(userId);
|
|
84
76
|
}
|
|
85
77
|
});
|
|
86
78
|
vue.onUnmounted(() => {
|
|
@@ -134,6 +126,6 @@ const _sfc_main = {
|
|
|
134
126
|
};
|
|
135
127
|
}
|
|
136
128
|
};
|
|
137
|
-
const NotificationBadge = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
129
|
+
const NotificationBadge = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-23980e50"]]);
|
|
138
130
|
exports.default = NotificationBadge;
|
|
139
131
|
//# sourceMappingURL=NotificationBadge.vue.cjs.map
|
package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationBadge.vue.cjs","sources":["../../../../../../../src/modules/notifications/components/elements/NotificationBadge.vue"],"sourcesContent":["<template>\n <div class=\"notification-badge-container\">\n <button \n class=\"i-semi notification-button\"\n @click=\"toggleNotifications\"\n :aria-label=\"unreadCount > 0 ? `${unreadCount} unread notifications` : 'No unread notifications'\"\n >\n <IconBell class=\"notification-icon i-medium\" :fill=\"fill\"/>\n <span \n v-if=\"unreadCount > 0\" \n class=\"button-counter\"\n >\n {{ unreadCount > 99 ? '99+' : unreadCount }}\n </span>\n </button>\n <div v-if=\"isOpen\" class=\"notifications-dropdown\">\n <div class=\"notifications-header\">\n <h3>Notifications</h3>\n <button \n v-if=\"unreadCount > 0\" \n class=\"mark-all-read-btn\" \n @click=\"markAllAsRead\"\n >\n Mark all read\n </button>\n </div>\n <div v-if=\"loading\" class=\"notifications-loading\">\n Loading...\n </div>\n <div v-else-if=\"notifications.length === 0\" class=\"notifications-empty\">\n No notifications\n </div>\n <div v-else class=\"notifications-list\">\n <notification-item \n v-for=\"notification in recentNotifications\" \n :key=\"notification._id\" \n :notification=\"notification\"\n @click=\"handleNotificationClick(notification)\"\n />\n </div>\n <div class=\"notifications-footer\">\n <router-link to=\"/notifications\" @click=\"isOpen = false\">\n View all notifications\n </router-link>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, onUnmounted, inject } from 'vue';\nimport { useRouter } from 'vue-router';\nimport NotificationItem from '../blocks/NotificationItem.vue';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\nimport IconBell from '@martyrs/src/modules/icons/entities/IconBell.vue';\n\nconst props = defineProps({\n maxNotifications: {\n type: Number,\n default: 5\n },\n fill: {\n type: String,\n default: 'rgb(var(--white))'\n }\n});\n\n// Get router and notification functionality\nconst router = useRouter();\nconst { notifications, unreadCount, loading, markAllAsRead, getNotifications } = inject('useNotifications')();\n\n// Local state\nconst isOpen = ref(false);\n\n// Computed properties\nconst recentNotifications = computed(() => {\n return notifications.value\n .slice()\n .sort((a, b) => new Date(b.createdAt) - new Date(a.createdAt))\n .slice(0, props.maxNotifications);\n});\n\n// Methods\nconst toggleNotifications = () => {\n isOpen.value = !isOpen.value;\n
|
|
1
|
+
{"version":3,"file":"NotificationBadge.vue.cjs","sources":["../../../../../../../src/modules/notifications/components/elements/NotificationBadge.vue"],"sourcesContent":["<template>\n <div class=\"notification-badge-container\">\n <button \n class=\"i-semi notification-button\"\n @click=\"toggleNotifications\"\n :aria-label=\"unreadCount > 0 ? `${unreadCount} unread notifications` : 'No unread notifications'\"\n >\n <IconBell class=\"notification-icon i-medium\" :fill=\"fill\"/>\n <span \n v-if=\"unreadCount > 0\" \n class=\"button-counter\"\n >\n {{ unreadCount > 99 ? '99+' : unreadCount }}\n </span>\n </button>\n <div v-if=\"isOpen\" class=\"notifications-dropdown\">\n <div class=\"notifications-header\">\n <h3>Notifications</h3>\n <button \n v-if=\"unreadCount > 0\" \n class=\"mark-all-read-btn\" \n @click=\"markAllAsRead\"\n >\n Mark all read\n </button>\n </div>\n <div v-if=\"loading\" class=\"notifications-loading\">\n Loading...\n </div>\n <div v-else-if=\"notifications.length === 0\" class=\"notifications-empty\">\n No notifications\n </div>\n <div v-else class=\"notifications-list\">\n <notification-item \n v-for=\"notification in recentNotifications\" \n :key=\"notification._id\" \n :notification=\"notification\"\n @click=\"handleNotificationClick(notification)\"\n />\n </div>\n <div class=\"notifications-footer\">\n <router-link to=\"/notifications\" @click=\"isOpen = false\">\n View all notifications\n </router-link>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, onUnmounted, inject } from 'vue';\nimport { useRouter } from 'vue-router';\nimport NotificationItem from '../blocks/NotificationItem.vue';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\nimport IconBell from '@martyrs/src/modules/icons/entities/IconBell.vue';\n\nconst props = defineProps({\n maxNotifications: {\n type: Number,\n default: 5\n },\n fill: {\n type: String,\n default: 'rgb(var(--white))'\n }\n});\n\n// Get router and notification functionality\nconst router = useRouter();\nconst { notifications, unreadCount, loading, markAllAsRead, getNotifications } = inject('useNotifications')();\n\n// Local state\nconst isOpen = ref(false);\n\n// Computed properties\nconst recentNotifications = computed(() => {\n return notifications.value\n .slice()\n .sort((a, b) => new Date(b.createdAt) - new Date(a.createdAt))\n .slice(0, props.maxNotifications);\n});\n\n// Methods\nconst toggleNotifications = () => {\n isOpen.value = !isOpen.value;\n};\n\nconst handleNotificationClick = (notification) => {\n isOpen.value = false;\n \n if (notification._id) {\n // Handle in store\n actions.handleNotificationAction({\n notificationId: notification._id,\n ...notification.metadata\n });\n }\n};\n\n// Close dropdown when clicking outside\nconst handleClickOutside = (event) => {\n const container = document.querySelector('.notification-badge-container');\n if (container && !container.contains(event.target)) {\n isOpen.value = false;\n }\n};\n\n// Lifecycle hooks\nonMounted(() => {\n document.addEventListener('click', handleClickOutside);\n\n // Load notifications when component mounts\n const userId = auth.state.user._id;\n if (userId) {\n getNotifications(userId);\n }\n});\n\nonUnmounted(() => {\n document.removeEventListener('click', handleClickOutside);\n});\n</script>\n\n<style scoped>\n.notification-badge-container {\n position: relative;\n display: inline-block;\n}\n\n.notification-button {\n background: none;\n border: none;\n cursor: pointer;\n position: relative;\n font-size: 1.2rem;\n}\n\n.notification-icon {\n font-size: 1.4rem;\n}\n.button-counter {\n position: absolute;\n right: -8px;\n bottom: -8px;\n background: rgb(var(--fourth));\n color: rgb(var(--white));\n height: 16px;\n border-radius: 16px;\n width: 16px;\n font-weight: 500;\n text-align: center;\n line-height: 16px;\n font-size: 10px;\n}\n.notifications-dropdown {\n position: absolute;\n top: 100%;\n right: 0;\n width: 320px;\n max-height: 400px;\n overflow-y: auto;\n background-color: white;\n border-radius: 4px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n}\n\n.notifications-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid #eee;\n}\n\n.notifications-header h3 {\n margin: 0;\n font-size: 1rem;\n}\n\n.mark-all-read-btn {\n background: none;\n border: none;\n color: #2196f3;\n font-size: 0.8rem;\n cursor: pointer;\n}\n\n.notifications-loading,\n.notifications-empty {\n padding: 24px;\n text-align: center;\n color: #666;\n}\n\n.notifications-list {\n max-height: 300px;\n overflow-y: auto;\n}\n\n.notifications-footer {\n padding: 12px 16px;\n text-align: center;\n border-top: 1px solid #eee;\n}\n\n.notifications-footer a {\n color: #2196f3;\n text-decoration: none;\n font-size: 0.9rem;\n}\n</style>"],"names":["useRouter","inject","ref","computed","onMounted","auth.state","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA,UAAM,QAAQ;AAYCA,cAAS,UAAA;AACxB,UAAM,EAAE,eAAe,aAAa,SAAS,eAAe,qBAAqBC,IAAAA,OAAO,kBAAkB,EAAG;AAG7G,UAAM,SAASC,IAAG,IAAC,KAAK;AAGxB,UAAM,sBAAsBC,IAAQ,SAAC,MAAM;AACzC,aAAO,cAAc,MAClB,MAAK,EACL,KAAK,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,SAAS,IAAI,IAAI,KAAK,EAAE,SAAS,CAAC,EAC5D,MAAM,GAAG,MAAM,gBAAgB;AAAA,IACpC,CAAC;AAGD,UAAM,sBAAsB,MAAM;AAChC,aAAO,QAAQ,CAAC,OAAO;AAAA,IACzB;AAEA,UAAM,0BAA0B,CAAC,iBAAiB;AAChD,aAAO,QAAQ;AAEf,UAAI,aAAa,KAAK;AAEpB,gBAAQ,yBAAyB;AAAA,UAC/B,gBAAgB,aAAa;AAAA,UAC7B,GAAG,aAAa;AAAA,QACtB,CAAK;AAAA,MACL;AAAA,IACA;AAGA,UAAM,qBAAqB,CAAC,UAAU;AACpC,YAAM,YAAY,SAAS,cAAc,+BAA+B;AACxE,UAAI,aAAa,CAAC,UAAU,SAAS,MAAM,MAAM,GAAG;AAClD,eAAO,QAAQ;AAAA,MACnB;AAAA,IACA;AAGAC,QAAAA,UAAU,MAAM;AACd,eAAS,iBAAiB,SAAS,kBAAkB;AAGrD,YAAM,SAASC,WAAW,KAAK;AAC/B,UAAI,QAAQ;AACV,yBAAiB,MAAM;AAAA,MAC3B;AAAA,IACA,CAAC;AAEDC,QAAAA,YAAY,MAAM;AAChB,eAAS,oBAAoB,SAAS,kBAAkB;AAAA,IAC1D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -50,12 +50,6 @@ const _sfc_main = {
|
|
|
50
50
|
});
|
|
51
51
|
const toggleNotifications = () => {
|
|
52
52
|
isOpen.value = !isOpen.value;
|
|
53
|
-
if (isOpen.value) {
|
|
54
|
-
const userId = state.user._id;
|
|
55
|
-
if (userId) {
|
|
56
|
-
getNotifications(userId);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
53
|
};
|
|
60
54
|
const handleNotificationClick = (notification) => {
|
|
61
55
|
isOpen.value = false;
|
|
@@ -74,11 +68,9 @@ const _sfc_main = {
|
|
|
74
68
|
};
|
|
75
69
|
onMounted(() => {
|
|
76
70
|
document.addEventListener("click", handleClickOutside);
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
getNotifications(userId);
|
|
81
|
-
}
|
|
71
|
+
const userId = state.user._id;
|
|
72
|
+
if (userId) {
|
|
73
|
+
getNotifications(userId);
|
|
82
74
|
}
|
|
83
75
|
});
|
|
84
76
|
onUnmounted(() => {
|
|
@@ -132,7 +124,7 @@ const _sfc_main = {
|
|
|
132
124
|
};
|
|
133
125
|
}
|
|
134
126
|
};
|
|
135
|
-
const NotificationBadge = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
127
|
+
const NotificationBadge = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-23980e50"]]);
|
|
136
128
|
export {
|
|
137
129
|
NotificationBadge as default
|
|
138
130
|
};
|
package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationBadge.vue.js","sources":["../../../../../../../src/modules/notifications/components/elements/NotificationBadge.vue"],"sourcesContent":["<template>\n <div class=\"notification-badge-container\">\n <button \n class=\"i-semi notification-button\"\n @click=\"toggleNotifications\"\n :aria-label=\"unreadCount > 0 ? `${unreadCount} unread notifications` : 'No unread notifications'\"\n >\n <IconBell class=\"notification-icon i-medium\" :fill=\"fill\"/>\n <span \n v-if=\"unreadCount > 0\" \n class=\"button-counter\"\n >\n {{ unreadCount > 99 ? '99+' : unreadCount }}\n </span>\n </button>\n <div v-if=\"isOpen\" class=\"notifications-dropdown\">\n <div class=\"notifications-header\">\n <h3>Notifications</h3>\n <button \n v-if=\"unreadCount > 0\" \n class=\"mark-all-read-btn\" \n @click=\"markAllAsRead\"\n >\n Mark all read\n </button>\n </div>\n <div v-if=\"loading\" class=\"notifications-loading\">\n Loading...\n </div>\n <div v-else-if=\"notifications.length === 0\" class=\"notifications-empty\">\n No notifications\n </div>\n <div v-else class=\"notifications-list\">\n <notification-item \n v-for=\"notification in recentNotifications\" \n :key=\"notification._id\" \n :notification=\"notification\"\n @click=\"handleNotificationClick(notification)\"\n />\n </div>\n <div class=\"notifications-footer\">\n <router-link to=\"/notifications\" @click=\"isOpen = false\">\n View all notifications\n </router-link>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, onUnmounted, inject } from 'vue';\nimport { useRouter } from 'vue-router';\nimport NotificationItem from '../blocks/NotificationItem.vue';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\nimport IconBell from '@martyrs/src/modules/icons/entities/IconBell.vue';\n\nconst props = defineProps({\n maxNotifications: {\n type: Number,\n default: 5\n },\n fill: {\n type: String,\n default: 'rgb(var(--white))'\n }\n});\n\n// Get router and notification functionality\nconst router = useRouter();\nconst { notifications, unreadCount, loading, markAllAsRead, getNotifications } = inject('useNotifications')();\n\n// Local state\nconst isOpen = ref(false);\n\n// Computed properties\nconst recentNotifications = computed(() => {\n return notifications.value\n .slice()\n .sort((a, b) => new Date(b.createdAt) - new Date(a.createdAt))\n .slice(0, props.maxNotifications);\n});\n\n// Methods\nconst toggleNotifications = () => {\n isOpen.value = !isOpen.value;\n
|
|
1
|
+
{"version":3,"file":"NotificationBadge.vue.js","sources":["../../../../../../../src/modules/notifications/components/elements/NotificationBadge.vue"],"sourcesContent":["<template>\n <div class=\"notification-badge-container\">\n <button \n class=\"i-semi notification-button\"\n @click=\"toggleNotifications\"\n :aria-label=\"unreadCount > 0 ? `${unreadCount} unread notifications` : 'No unread notifications'\"\n >\n <IconBell class=\"notification-icon i-medium\" :fill=\"fill\"/>\n <span \n v-if=\"unreadCount > 0\" \n class=\"button-counter\"\n >\n {{ unreadCount > 99 ? '99+' : unreadCount }}\n </span>\n </button>\n <div v-if=\"isOpen\" class=\"notifications-dropdown\">\n <div class=\"notifications-header\">\n <h3>Notifications</h3>\n <button \n v-if=\"unreadCount > 0\" \n class=\"mark-all-read-btn\" \n @click=\"markAllAsRead\"\n >\n Mark all read\n </button>\n </div>\n <div v-if=\"loading\" class=\"notifications-loading\">\n Loading...\n </div>\n <div v-else-if=\"notifications.length === 0\" class=\"notifications-empty\">\n No notifications\n </div>\n <div v-else class=\"notifications-list\">\n <notification-item \n v-for=\"notification in recentNotifications\" \n :key=\"notification._id\" \n :notification=\"notification\"\n @click=\"handleNotificationClick(notification)\"\n />\n </div>\n <div class=\"notifications-footer\">\n <router-link to=\"/notifications\" @click=\"isOpen = false\">\n View all notifications\n </router-link>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, onUnmounted, inject } from 'vue';\nimport { useRouter } from 'vue-router';\nimport NotificationItem from '../blocks/NotificationItem.vue';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\nimport IconBell from '@martyrs/src/modules/icons/entities/IconBell.vue';\n\nconst props = defineProps({\n maxNotifications: {\n type: Number,\n default: 5\n },\n fill: {\n type: String,\n default: 'rgb(var(--white))'\n }\n});\n\n// Get router and notification functionality\nconst router = useRouter();\nconst { notifications, unreadCount, loading, markAllAsRead, getNotifications } = inject('useNotifications')();\n\n// Local state\nconst isOpen = ref(false);\n\n// Computed properties\nconst recentNotifications = computed(() => {\n return notifications.value\n .slice()\n .sort((a, b) => new Date(b.createdAt) - new Date(a.createdAt))\n .slice(0, props.maxNotifications);\n});\n\n// Methods\nconst toggleNotifications = () => {\n isOpen.value = !isOpen.value;\n};\n\nconst handleNotificationClick = (notification) => {\n isOpen.value = false;\n \n if (notification._id) {\n // Handle in store\n actions.handleNotificationAction({\n notificationId: notification._id,\n ...notification.metadata\n });\n }\n};\n\n// Close dropdown when clicking outside\nconst handleClickOutside = (event) => {\n const container = document.querySelector('.notification-badge-container');\n if (container && !container.contains(event.target)) {\n isOpen.value = false;\n }\n};\n\n// Lifecycle hooks\nonMounted(() => {\n document.addEventListener('click', handleClickOutside);\n\n // Load notifications when component mounts\n const userId = auth.state.user._id;\n if (userId) {\n getNotifications(userId);\n }\n});\n\nonUnmounted(() => {\n document.removeEventListener('click', handleClickOutside);\n});\n</script>\n\n<style scoped>\n.notification-badge-container {\n position: relative;\n display: inline-block;\n}\n\n.notification-button {\n background: none;\n border: none;\n cursor: pointer;\n position: relative;\n font-size: 1.2rem;\n}\n\n.notification-icon {\n font-size: 1.4rem;\n}\n.button-counter {\n position: absolute;\n right: -8px;\n bottom: -8px;\n background: rgb(var(--fourth));\n color: rgb(var(--white));\n height: 16px;\n border-radius: 16px;\n width: 16px;\n font-weight: 500;\n text-align: center;\n line-height: 16px;\n font-size: 10px;\n}\n.notifications-dropdown {\n position: absolute;\n top: 100%;\n right: 0;\n width: 320px;\n max-height: 400px;\n overflow-y: auto;\n background-color: white;\n border-radius: 4px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n}\n\n.notifications-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid #eee;\n}\n\n.notifications-header h3 {\n margin: 0;\n font-size: 1rem;\n}\n\n.mark-all-read-btn {\n background: none;\n border: none;\n color: #2196f3;\n font-size: 0.8rem;\n cursor: pointer;\n}\n\n.notifications-loading,\n.notifications-empty {\n padding: 24px;\n text-align: center;\n color: #666;\n}\n\n.notifications-list {\n max-height: 300px;\n overflow-y: auto;\n}\n\n.notifications-footer {\n padding: 12px 16px;\n text-align: center;\n border-top: 1px solid #eee;\n}\n\n.notifications-footer a {\n color: #2196f3;\n text-decoration: none;\n font-size: 0.9rem;\n}\n</style>"],"names":["auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA,UAAM,QAAQ;AAYC,cAAS;AACxB,UAAM,EAAE,eAAe,aAAa,SAAS,eAAe,qBAAqB,OAAO,kBAAkB,EAAG;AAG7G,UAAM,SAAS,IAAI,KAAK;AAGxB,UAAM,sBAAsB,SAAS,MAAM;AACzC,aAAO,cAAc,MAClB,MAAK,EACL,KAAK,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,SAAS,IAAI,IAAI,KAAK,EAAE,SAAS,CAAC,EAC5D,MAAM,GAAG,MAAM,gBAAgB;AAAA,IACpC,CAAC;AAGD,UAAM,sBAAsB,MAAM;AAChC,aAAO,QAAQ,CAAC,OAAO;AAAA,IACzB;AAEA,UAAM,0BAA0B,CAAC,iBAAiB;AAChD,aAAO,QAAQ;AAEf,UAAI,aAAa,KAAK;AAEpB,gBAAQ,yBAAyB;AAAA,UAC/B,gBAAgB,aAAa;AAAA,UAC7B,GAAG,aAAa;AAAA,QACtB,CAAK;AAAA,MACL;AAAA,IACA;AAGA,UAAM,qBAAqB,CAAC,UAAU;AACpC,YAAM,YAAY,SAAS,cAAc,+BAA+B;AACxE,UAAI,aAAa,CAAC,UAAU,SAAS,MAAM,MAAM,GAAG;AAClD,eAAO,QAAQ;AAAA,MACnB;AAAA,IACA;AAGA,cAAU,MAAM;AACd,eAAS,iBAAiB,SAAS,kBAAkB;AAGrD,YAAM,SAASA,MAAW,KAAK;AAC/B,UAAI,QAAQ;AACV,yBAAiB,MAAM;AAAA,MAC3B;AAAA,IACA,CAAC;AAED,gBAAY,MAAM;AAChB,eAAS,oBAAoB,SAAS,kBAAkB;AAAA,IAC1D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|