diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte
index 23b0f57..5e9fdc3 100644
--- a/frontend/src/App.svelte
+++ b/frontend/src/App.svelte
@@ -9,9 +9,10 @@
import Show from './components/Show/Show.svelte';
import GeneralConsole from './components/Console/GeneralConsole.svelte';
import RoundIconButton from './components/General/RoundIconButton.svelte';
- import { currentProject, needProjectSave } from './stores';
+ import { generateToast, currentProject, needProjectSave } from './stores';
import { SaveProject } from '../wailsjs/go/main/App.js';
import { construct_svelte_component } from 'svelte/internal';
+ import ToastNotification from './components/General/ToastNotification.svelte';
let selectedMenu = "settings"
// When the navigation menu changed, update the selected menu
@@ -26,8 +27,10 @@
$currentProject.SaveFile = saveFile
needProjectSave.set(false)
console.log("Project has been saved")
+ generateToast('info', 'bxs-save', 'The project has been saved')
}).catch((error) => {
console.error(`Unable to save the project: ${error}`)
+ generateToast('danger', 'bx-error', 'Unable to save the project: ' + error)
})
}
@@ -73,6 +76,7 @@
{:else if selectedMenu === "console"}
{/if}
+
\ No newline at end of file
diff --git a/frontend/src/components/Settings/Settings.svelte b/frontend/src/components/Settings/Settings.svelte
index 06ba603..20f4da9 100644
--- a/frontend/src/components/Settings/Settings.svelte
+++ b/frontend/src/components/Settings/Settings.svelte
@@ -7,7 +7,7 @@
import Tab from "../General/Tab.svelte";
import { GetProjects, GetProjectInfo } from "../../../wailsjs/go/main/App";
import { _ } from 'svelte-i18n'
- import {colors} from '../../stores.js';
+ import {generateToast, colors} from '../../stores.js';
const tabs = [
{ title: $_("projectPropertiesTab"), icon: 'bxs-info-circle', tooltip: $_("projectPropertiesTooltip"), component: ProjectPropertiesContent },
@@ -21,9 +21,9 @@
GetProjects().then((projects) => {
choices = new Map(projects.map(item => [item.ShowInfo.SaveFile, item.ShowInfo.Name]));
$projectsList = projects
- console.log(projectsList)
}).catch((error) => {
console.error(`Unable to get the projects list: ${error}`)
+ generateToast('danger', 'bx-error', 'Unable to get the projects list')
})
}
@@ -34,8 +34,10 @@
console.log("Project opened")
$currentProject = projectInfo
needProjectSave.set(false)
+ generateToast('info', 'bx-folder-open', 'The project ' + projectInfo.Name + ' was opened')
}).catch((error) => {
console.error(`Unable to open the project: ${error}`)
+ generateToast('danger', 'bx-error', 'Unable to open the project')
})
}
@@ -48,6 +50,7 @@
Comments: "Write your comments here",
SaveFile: "",
});
+ generateToast('info', 'bxs-folder-plus', 'The project was created')
}
function formatDate(date) {
diff --git a/frontend/src/stores.js b/frontend/src/stores.js
index 2979d0f..47fa055 100644
--- a/frontend/src/stores.js
+++ b/frontend/src/stores.js
@@ -7,6 +7,16 @@ export let projectsList = writable([])
export let currentProject = writable({});
export let needProjectSave = writable(false)
+// Toasts notifications
+export let messages = writable([])
+export function generateToast(type, icon, text){
+ messages.update((value) => {
+ value.push( { id: Date.now(), type: type, icon: icon, text: text } )
+ return value.slice(-5)
+ })
+}
+
+
// Application colors
export const colors = writable({
first: "#1B262C",