@icvdeveloper/common-module 0.0.33 → 0.0.36

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.
@@ -1,152 +0,0 @@
1
- <script lang="ts" setup>
2
- import { ref, computed } from "vue";
3
- import { storeToRefs } from "pinia";
4
- import { useRouter } from "vue-router";
5
- import { useDateFormat } from "../../composables/useDateFormat";
6
- import { useConferenceHelpers } from "../../composables/useConferenceHelpers";
7
- import { Conference } from "../../models/conference";
8
- import {
9
- useConferencesStore,
10
- useAuthStore,
11
- useTemplateConfigsStore,
12
- } from "../../store";
13
-
14
- const router = useRouter();
15
-
16
- // data
17
- const { upcomingEvents } = storeToRefs(useConferencesStore());
18
- const { isLoggedIn } = storeToRefs(useAuthStore());
19
- const loginModalVisible = ref<boolean>(false);
20
- const conferenceToLoginTo = ref<Conference | null>(null);
21
-
22
- // methods
23
- const { pagesConfigValue, globalConfigValue } = storeToRefs(
24
- useTemplateConfigsStore()
25
- );
26
- const { formatDate } = useDateFormat();
27
- const {
28
- isSingleDayEvent,
29
- showConferenceViewButton,
30
- getConferenceWebcastUrl,
31
- getConferenceWebcastButtonText,
32
- getConferenceRegUrl,
33
- getConferenceRegText,
34
- showConferenceRegButton,
35
- } = useConferenceHelpers();
36
- const goEventPage = (conference: Conference) => {
37
- router.push(`/upcoming-events/${conference.id}`);
38
- };
39
- const setConferenceToLoginTo = (conference: Conference) => {
40
- conferenceToLoginTo.value = conference;
41
- loginModalVisible.value = true;
42
- };
43
-
44
- // computed
45
- const buttonClass = computed(() => {
46
- return pagesConfigValue.value("main.countdown_timer")
47
- ? "mb-2 w-5/6 sm:mr-1 sm:w-auto md:mr-0 md:w-full xl:mr-1 xl:w-auto btn btn-secondary"
48
- : "mb-2 w-5/6 sm:mr-1 sm:w-auto btn btn-secondary";
49
- });
50
- </script>
51
-
52
- <template>
53
- <div class="flex w-full flex-col">
54
- <div class="container flex-1 mx-auto">
55
- <div
56
- v-for="conference in upcomingEvents"
57
- :key="conference.id"
58
- class="flex flex-col items-start md:flex-row py-8"
59
- >
60
- <div class="flex w-full md:w-1/3 pb-3 px-3 md:px-6 overflow-hidden">
61
- <img
62
- class="flex-1 self-center mx-auto w-full"
63
- :src="conference.photo"
64
- />
65
- </div>
66
-
67
- <div
68
- class="flex flex-col w-full justify-center items-center self-center text-center pt-3 md:w-2/3 md:px-6 md:text-left md:justify-start md:items-start"
69
- >
70
- <div class="w-full border-1 border-b border-color-accent-2">
71
- <nuxt-link
72
- :to="`/upcoming-events/${conference.id}`"
73
- class="no-underline"
74
- >
75
- <h2
76
- class="text-2xl lg:text-3xl font-medium mb-2 conf-name-alignment"
77
- >
78
- {{ conference.name }}
79
- </h2>
80
- </nuxt-link>
81
- <p
82
- class="text-base leading-normal tracking-wide font-light uppercase md:text-md lg:text-lg"
83
- >
84
- {{ formatDate(conference.start_date) }}
85
- <span v-if="!isSingleDayEvent(conference)">
86
- - {{ formatDate(conference.end_date) }}</span
87
- >
88
- </p>
89
- </div>
90
- <div class="flex flex-col md:flex-row w-full mt-4">
91
- <div class="mt-2 mr-0 md:mr-4 flex-col xl:flex-auto xl:flex-row">
92
- <button :class="buttonClass" @click="goEventPage(conference)">
93
- View Info
94
- </button>
95
- <a
96
- v-if="showConferenceViewButton(conference)"
97
- :href="getConferenceWebcastUrl(conference)"
98
- >
99
- <button :class="buttonClass">
100
- {{ getConferenceWebcastButtonText(conference) }}
101
- </button>
102
- </a>
103
- <button
104
- v-if="
105
- !isLoggedIn &&
106
- !globalConfigValue('townhall_registration_enabled')
107
- "
108
- :class="buttonClass"
109
- @click="setConferenceToLoginTo(conference)"
110
- >
111
- Log In
112
- </button>
113
- <a
114
- :href="getConferenceRegUrl(conference)"
115
- :target="
116
- /^http/.test(getConferenceRegUrl(conference))
117
- ? '_blank'
118
- : '_self'
119
- "
120
- >
121
- <button
122
- v-if="showConferenceRegButton(conference)"
123
- :class="buttonClass"
124
- >
125
- {{ getConferenceRegText(conference) }}
126
- </button>
127
- </a>
128
- </div>
129
- <div
130
- v-if="pagesConfigValue('main.countdown_timer')"
131
- class="text-right mt-3 md:mt-2"
132
- >
133
- <CommonCountdownTimer
134
- :date="conference.start_date"
135
- :is-compact="true"
136
- ></CommonCountdownTimer>
137
- </div>
138
- </div>
139
- </div>
140
- </div>
141
- </div>
142
-
143
- <CommonModal
144
- :visible="loginModalVisible"
145
- @trigger="loginModalVisible = false"
146
- >
147
- <template #modal-body>
148
- <CommonLoginFullWidth :conference="conferenceToLoginTo" />
149
- </template>
150
- </CommonModal>
151
- </div>
152
- </template>