diff --git a/src/main.ts b/src/main.ts index 1ac8d7143..eb77b2bb7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,7 +5,7 @@ import axios, { AxiosError } from 'axios'; import { library } from '@fortawesome/fontawesome-svg-core'; import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'; import VueTagsInput from '@sipec/vue3-tags-input'; -// eslint-disable-next-line import/default + import Datepicker from '@vuepic/vue-datepicker'; import * as Sentry from '@sentry/vue'; import { fas } from '@fortawesome/free-solid-svg-icons'; @@ -15,7 +15,7 @@ import Toast, { type PluginOptions as VueToastificationPluginOptions, } from 'vue-toastification'; import { i18n } from '@/modules/i18n'; -// eslint-disable-next-line import/default + import vSelect from 'vue-select'; import App from './App.vue'; import MaintenanceApp from './maintenance/App.vue'; @@ -64,6 +64,7 @@ library.add(far); library.add(fab); axios.defaults.withCredentials = true; +axios.defaults.baseURL = import.meta.env.VITE_APP_API_BASE_URL; axios.interceptors.response.use( (response) => response, (error) => { diff --git a/src/pages/admin/AdminDashboard.vue b/src/pages/admin/AdminDashboard.vue index a1fa2982d..59661da2d 100644 --- a/src/pages/admin/AdminDashboard.vue +++ b/src/pages/admin/AdminDashboard.vue @@ -43,7 +43,22 @@ :text="$t('~~Show God Mode')" :alt="$t('~~Show God Mode')" :action="() => $router.push('/admin/god_mode')" - > + /> + + +
diff --git a/src/pages/admin/AdminSendBulkEmail.vue b/src/pages/admin/AdminSendBulkEmail.vue new file mode 100644 index 000000000..3e3d52462 --- /dev/null +++ b/src/pages/admin/AdminSendBulkEmail.vue @@ -0,0 +1,190 @@ + + + + + + diff --git a/src/pages/admin/AdminSendBulkSms.vue b/src/pages/admin/AdminSendBulkSms.vue new file mode 100644 index 000000000..4651b6a18 --- /dev/null +++ b/src/pages/admin/AdminSendBulkSms.vue @@ -0,0 +1,152 @@ + + + + + + diff --git a/src/pages/admin/routes.ts b/src/pages/admin/routes.ts index 34e217f3c..4be8cb623 100644 --- a/src/pages/admin/routes.ts +++ b/src/pages/admin/routes.ts @@ -15,6 +15,8 @@ const AdminIncidentWizard = () => import('./AdminIncidentWizard.vue'); const AdminRAG = () => import('./AdminRAG.vue'); const AdminReportGenerator = () => import('./AdminReportGenerator.vue'); const AdminGodMode = () => import('./AdminGodMode.vue'); +const AdminSendBulkSms = () => import('./AdminSendBulkSms.vue'); +const AdminSendBulkEmail = () => import('./AdminSendBulkEmail.vue'); const routes = [ { @@ -97,6 +99,16 @@ const routes = [ name: 'nav.god_mode', component: AdminGodMode, }, + { + path: 'send_bulk_sms', + name: 'nav.send_bulk_sms', + component: AdminSendBulkSms, + }, + { + path: 'send_bulk_email', + name: 'nav.send_bulk_email', + component: AdminSendBulkEmail, + }, ], }, ];