Skip to content

Commit

Permalink
Replace $bvToast by vuetify snackbar completely #248
Browse files Browse the repository at this point in the history
  • Loading branch information
robertfausk committed Dec 26, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 40183fd commit efbd532
Showing 21 changed files with 102 additions and 365 deletions.
28 changes: 6 additions & 22 deletions web/assets/js/Swapp.vue
Original file line number Diff line number Diff line change
@@ -50,9 +50,7 @@ import Navigation from './components/Navigation.vue';
import FrameError from './components/FrameError';
import ReloadPrompt from "./components/ReloadPrompt.vue"
import dayjs from 'dayjs';
import { useChangelogStore } from './stores/changelog';
import { useAlertStore } from './stores/alert';
import { useAuthStore } from './stores/auth';
import { useAlertStore, useAuthStore, useChangelogStore } from './stores';
import apiClient from './api';
export default {
@@ -87,6 +85,7 @@ export default {
this.changelogStore.updateLastVisitedAt(lastVisitedAtOfUserLogin);
},
created() {
const that = this;
apiClient.interceptors.response.use(undefined, (err) => {
if (this.$route.name === 'Logout') {
return Promise.reject(err);
@@ -97,14 +96,7 @@ export default {
if (err.response && err.response.status && err.response.data) {
if (403 === err.response.status && 'Your token is invalid, please login again to get a new one' === err.response.data.message && this.$route.name !== 'Logout'
|| 401 === err.response.status && 'Expired JWT Token' === err.response.data.message) {
let options = {
title: 'Du wurdest automatisch abgemeldet.',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
appendToast: false,
variant: 'info',
};
this.$bvToast.toast('Dies ist passiert, da deine letzte Anmeldung zu lange her ist. Bitte melde dich erneut an.', options);
that.alertStore.info('Dies ist passiert, da deine letzte Anmeldung zu lange her ist. Bitte melde dich erneut an.', 'Du wurdest automatisch abgemeldet.');
this.$router.push({ name: 'Logout' });
return;
}
@@ -123,6 +115,7 @@ export default {
return;
}
let message = '';
let title = '';
let isProd = process.env.NODE_ENV === 'production';
if (isProd) {
message = `Das hätte nicht passieren dürfen. Wende dich bitte mit einer Beschreibung zur Reproduktion des Fehlers an [email protected]`;
@@ -133,17 +126,8 @@ export default {
`;
}
if (message !== this.oldToasterValue) {
let options = {
title: 'Upps! Es ist ein unerwarteter Fehler aufgetreten!',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
appendToast: false,
variant: 'danger',
};
if (isProd) {
options.href = 'mailto:[email protected]';
}
this.$bvToast.toast(message, options);
title = 'Upps! Es ist ein unerwarteter Fehler aufgetreten!'
this.alertStore.error(message, title);
}
this.oldToasterValue = message;
},
5 changes: 1 addition & 4 deletions web/assets/js/components/Clients/ClientCreate.vue
Original file line number Diff line number Diff line change
@@ -11,8 +11,7 @@
'use strict';
import ClientForm from './ClientForm.vue';
import { useAlertStore } from '../../stores/alert';
import { useClientStore } from '../../stores/client';
import { useAlertStore, useClientStore } from '../../stores';
export default {
name: 'ClientCreate',
@@ -40,8 +39,6 @@ export default {
this.$refs.clientForm.resetForm();
} else {
this.alertStore.error(`Klient erstellen fehlgeschlagen`, `Upps! :-(`);
}
},
},
24 changes: 4 additions & 20 deletions web/assets/js/components/Clients/ClientList.vue
Original file line number Diff line number Diff line change
@@ -97,8 +97,7 @@
'use strict';
import dayjs from 'dayjs';
import ClientForm from './ClientForm.vue';
import { useClientStore } from '../../stores/client';
import { useUserStore } from '../../stores/user';
import {useAlertStore, useClientStore, useUserStore} from '../../stores';
export default {
name: 'ClientList',
@@ -107,6 +106,7 @@ export default {
},
data: function () {
return {
alertStore: useAlertStore(),
clientStore: useClientStore(),
userStore: useUserStore(),
fields: [
@@ -199,26 +199,10 @@ async created() {
payload.client = this.editModalClient.selectedClient['@id'];
const client = await this.clientStore.changeClient(payload);
if (client) {
const message = `Der Klient "${client.name}" wurde erfolgreich geändert.`;
this.$bvToast.toast(message, {
title: 'Klient geändert',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
variant: 'info',
appendToast: true,
solid: true,
});
this.alertStore.success(`Der Klient "${client.name}" wurde erfolgreich geändert.`, 'Klient geändert');
this.resetEditModalClient();
} else {
this.$bvToast.toast('Upps! :-(', {
title: 'Klient ändern fehlgeschlagen',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
variant: 'danger',
appendToast: true,
solid: true,
});
this.alertStore.error('Klient ändern fehlgeschlagen', 'Upps! :-(');
}
},
},
11 changes: 3 additions & 8 deletions web/assets/js/components/Demo/DemoInfo.vue
Original file line number Diff line number Diff line change
@@ -154,10 +154,12 @@

<script>
"use strict";
import {useAlertStore} from '../../stores';
export default {
name: "DemoInfo",
data: () => ({
alertStore: useAlertStore(),
isCopiedAdelheid: false,
isCopiedBenno: false,
isCopiedTessa: false,
@@ -195,14 +197,7 @@ export default {
this.$emit('credentials-select', {username: copyText, password: copyText});
this.$copyText(copyText).then(() => {
this.$bvToast.toast(`"${copyText}" ist nun in deiner Zwischenablage sowie in den Anmeldefeldern.`, {
title: 'Zugangsdaten in die Zwischenablage kopiert',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
appendToast: true,
variant: 'info',
solid: true,
});
this.alertStore.info(`"${copyText}" ist nun in deiner Zwischenablage sowie in den Anmeldefeldern.`, 'Zugangsdaten in die Zwischenablage kopiert');
}, function (e) {
console.log(e);
});
Original file line number Diff line number Diff line change
@@ -11,15 +11,16 @@
'use strict';
import SystemicQuestionForm from './SystemicQuestionForm.vue';
import { useAuthStore } from '../../stores/auth';
import { useSystemicQuestionStore } from '../../stores/systemic-question';
import {useAlertStore, useAuthStore, useSystemicQuestionStore} from '../../stores';
export default {
name: 'SystemicQuestionCreate',
components: {
SystemicQuestionForm,
},
data: function () {
return {
alertStore: useAlertStore(),
authStore: useAuthStore(),
systemicQuestionStore: useSystemicQuestionStore(),
};
@@ -39,25 +40,10 @@ export default {
const systemicQuestion = await this.systemicQuestionStore.create(payload);
if (systemicQuestion) {
this.$refs.systemicQuestionForm.resetForm();
const message = `Die systemische Frage "${systemicQuestion.question}" wurde erfolgreich erstellt.`;
this.$bvToast.toast(message, {
title: 'Systemische Frage erstellt',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
appendToast: true,
solid: true,
});
this.alertStore.success(`Die systemische Frage "${systemicQuestion.question}" wurde erfolgreich erstellt.`, 'Systemische Frage erstellt');
this.initialQuestion = null;
} else {
this.$bvToast.toast('Upps! :-(', {
title: 'Systemische Frage erstellen fehlgeschlagen',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
variant: 'danger',
appendToast: true,
solid: true,
});
this.alertStore.error('Systemische Frage erstellen fehlgeschlagen', 'Upps! :-(');
}
},
},
22 changes: 4 additions & 18 deletions web/assets/js/components/Tags/TagCreate.vue
Original file line number Diff line number Diff line change
@@ -120,9 +120,7 @@
import ColorBadge from './ColorBadge.vue';
import { html } from 'color_library';
import FormError from '../Common/FormError.vue';
import { useClientStore } from '../../stores/client';
import { useTagStore } from '../../stores/tag';
import { useAuthStore } from '../../stores/auth';
import {useAlertStore, useAuthStore, useClientStore, useTagStore} from '../../stores';
export default {
name: 'TagCreate',
@@ -132,6 +130,7 @@ export default {
},
data: function () {
return {
alertStore: useAlertStore(),
authStore: useAuthStore(),
tagStore: useTagStore(),
clientStore: useClientStore(),
@@ -244,26 +243,13 @@ export default {
const tag = await this.tagStore.create(payload);
if (tag) {
this.resetForm();
const message = `Der Tag ${tag.name} (${tag.color}) wurde erfolgreich erstellt.`;
this.$bvToast.toast(message, {
title: 'Tag erstellt',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
appendToast: true,
});
this.alertStore.success(`Der Tag ${tag.name} (${tag.color}) wurde erfolgreich erstellt.`, 'Tag erstellt');
this.tagStore.fetchTags();
this.name = null;
this.color = null;
} else {
this.$bvToast.toast('Upps! :-(', {
title: 'Tag erstellen fehlgeschlagen',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
variant: 'danger',
appendToast: true,
});
this.alertStore.error('Tag erstellen fehlgeschlagen', 'Upps! :-(');
}
},
resetForm() {
23 changes: 4 additions & 19 deletions web/assets/js/components/Tags/TagList.vue
Original file line number Diff line number Diff line change
@@ -145,15 +145,14 @@
import ColorBadge from './ColorBadge.vue';
import ContentLoadingSpinner from '../ContentLoadingSpinner.vue';
import MyInputGroupAppend from '../../components/Common/MyInputGroupAppend.vue';
import { useClientStore } from '../../stores/client';
import { useTagStore } from '../../stores/tag';
import { useAuthStore } from '../../stores/auth';
import {useAlertStore, useAuthStore, useClientStore, useTagStore} from '../../stores';
export default {
name: 'TagList',
components: { ContentLoadingSpinner, ColorBadge, MyInputGroupAppend },
data: function () {
return {
alertStore: useAlertStore(),
authStore: useAuthStore(),
clientStore: useClientStore(),
tagStore: useTagStore(),
@@ -252,23 +251,9 @@ export default {
title = `Tag aktiviert`;
}
if (changedTag) {
this.$bvToast.toast(message, {
title: title,
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
appendToast: true,
variant: 'info',
solid: true,
});
this.alertStore.success(message, title);
} else {
this.$bvToast.toast('Upps! :-(', {
title: `Tag ${ isEnabled ? 'deaktivieren' : 'aktivieren'} fehlgeschlagen`,
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
appendToast: true,
variant: 'danger',
solid: true,
});
this.alertStore.error(`Tag ${ isEnabled ? 'deaktivieren' : 'aktivieren'} fehlgeschlagen`, 'Upps! :-(');
}
},
},
20 changes: 4 additions & 16 deletions web/assets/js/components/Teams.vue
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@
import TeamList from './Teams/TeamList.vue';
import TeamForm from './Teams/TeamForm.vue';
import ContentCollapse from './ContentCollapse.vue';
import { useTeamStore } from '../stores/team';
import { useAlertStore, useTeamStore } from '../stores';
export default {
name: "Teams",
@@ -37,6 +37,7 @@
},
data: () => {
return {
alertStore: useAlertStore(),
teamStore: useTeamStore()
};
},
@@ -65,23 +66,10 @@
if (createdTeam) {
this.$refs.teamForm.resetForm();
const message = `Das Team ${createdTeam.name} wurde erfolgreich erstellt.`;
this.$bvToast.toast(message, {
title: 'Team erstellt',
toaster: 'b-toaster-top-right',
variant: 'success',
autoHideDelay: 10000,
appendToast: true,
});
this.alertStore.success(`Das Team ${createdTeam.name} wurde erfolgreich erstellt.`);
this.$root.$emit('bv::hide::modal', 'edit-modal-team');
} else {
this.$bvToast.toast('Upps! :-(', {
title: 'Team erstellen fehlgeschlagen',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
variant: 'danger',
appendToast: true,
});
this.alertStore.error(`Team erstellen fehlgeschlagen`, `Upps! :-(`);
}
},
},
23 changes: 4 additions & 19 deletions web/assets/js/components/Teams/TeamList.vue
Original file line number Diff line number Diff line change
@@ -93,16 +93,14 @@
<script>
"use strict";
import TeamForm from './TeamForm.vue';
import { useClientStore } from '../../stores/client';
import { useTeamStore } from '../../stores/team';
import { useUserStore } from '../../stores/user';
import { useAuthStore } from '../../stores/auth';
import { useAlertStore, useAuthStore, useClientStore, useTeamStore, useUserStore } from '../../stores';
export default {
name: "TeamList",
components: { TeamForm },
data: function () {
return {
alertStore: useAlertStore(),
authStore: useAuthStore(),
clientStore: useClientStore(),
teamStore: useTeamStore(),
@@ -361,23 +359,10 @@
});
if (changedTeam) {
const message = `Das Team ${changedTeam.name} wurde erfolgreich geändert.`;
this.$bvToast.toast(message, {
title: 'Team geändert',
toaster: 'b-toaster-top-right',
variant: 'success',
autoHideDelay: 10000,
appendToast: true,
});
this.alertStore.success(`Das Team ${changedTeam.name} wurde erfolgreich geändert.`, 'Team geändert');
this.$root.$emit('bv::hide::modal', 'edit-modal-team');
} else {
this.$bvToast.toast('Upps! :-(', {
title: 'Team ändern fehlgeschlagen',
toaster: 'b-toaster-top-right',
autoHideDelay: 10000,
variant: 'danger',
appendToast: true,
});
this.alertStore.error('Team ändern fehlgeschlagen', 'Upps! :-(');
}
},
}
Loading

0 comments on commit efbd532

Please sign in to comment.