diff --git a/mix-manifest.json b/mix-manifest.json
index 4ed0b80..79b4870 100644
--- a/mix-manifest.json
+++ b/mix-manifest.json
@@ -1,16 +1,5 @@
{
"/public/js/spritemap.js": "/public/js/spritemap.js?id=2dda73ecee3bb668b395026efda6524c",
- "/public/js/app.js": "/public/js/app.js?id=3af721e60a47e6147d71c98308c2b6e1",
- "/public/css/styles.css": "/public/css/styles.css?id=d8096bd2ff84ae29cb0ecf810064b218",
- "/public/css/demo.html": "/public/css/demo.html?id=a54a5d205e3152fb64b33dda63ffa555",
- "/public/css/IBMPlexMono-Bold.eot": "/public/css/IBMPlexMono-Bold.eot?id=ef1fadf711db80a00542b202ab14f7ee",
- "/public/css/IBMPlexMono-Bold.ttf": "/public/css/IBMPlexMono-Bold.ttf?id=e46cace25a93f48a2ec32800717827cb",
- "/public/css/IBMPlexMono-Bold.woff": "/public/css/IBMPlexMono-Bold.woff?id=8864bd7cb954c4646045e3fc0bdec90c",
- "/public/css/IBMPlexMono-Bold.woff2": "/public/css/IBMPlexMono-Bold.woff2?id=c6d3f08fe7a9fecab40d748b98c87cc5",
- "/public/css/IBMPlexMono.eot": "/public/css/IBMPlexMono.eot?id=d68f064d6b86ff47b38ad486a3362d82",
- "/public/css/IBMPlexMono.ttf": "/public/css/IBMPlexMono.ttf?id=60d8ae961dba3289c1d2d54e0b85c9b7",
- "/public/css/IBMPlexMono.woff": "/public/css/IBMPlexMono.woff?id=18a7a5a76b4176759e2e1b3e674a7f82",
- "/public/css/IBMPlexMono.woff2": "/public/css/IBMPlexMono.woff2?id=428bd06c5eb0362494016994c26188b4",
- "/public/css/OFL.txt": "/public/css/OFL.txt?id=5c7bb1d9d37e52d30b53224261c955b2",
- "/public/css/stylesheet.css": "/public/css/stylesheet.css?id=a3e561da46246c3c582cddec544ad25f"
+ "/public/js/app.js": "/public/js/app.js?id=1c9307a192e1817119e543e388f2a43b",
+ "/public/css/styles.css": "/public/css/styles.css?id=72a43d98017bdbcb83928c41f6289210"
}
diff --git a/package-lock.json b/package-lock.json
index da6b69e..ed876e4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2054,7 +2054,8 @@
"@tiny-components/plain-ui": "^0.5.0",
"@tiny-components/validator": "^0.1.0",
"got": "^12.0.1",
- "riot": "^6.1.2"
+ "riot": "^6.1.2",
+ "uuid": "^8.3.2"
},
"devDependencies": {
"@riotjs/webpack-loader": "^6.0.0",
@@ -12125,8 +12126,6 @@
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "dev": true,
- "license": "MIT",
"bin": {
"uuid": "dist/bin/uuid"
}
@@ -14423,7 +14422,7 @@
"frontend": {
"version": "file:packages/frontend",
"requires": {
- "@riotjs/observable": "*",
+ "@riotjs/observable": "^4.1.1",
"@riotjs/webpack-loader": "^6.0.0",
"@tiny-components/plain-ui": "^0.5.0",
"@tiny-components/validator": "^0.1.0",
@@ -14433,7 +14432,8 @@
"riot": "^6.1.2",
"sass": "^1.49.9",
"sass-loader": "^12.6.0",
- "svg-spritemap-webpack-plugin": "^4.4.0"
+ "svg-spritemap-webpack-plugin": "^4.4.0",
+ "uuid": "^8.3.2"
},
"dependencies": {
"@ampproject/remapping": {
@@ -21489,8 +21489,7 @@
"uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "dev": true
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
},
"vary": {
"version": "1.1.2",
diff --git a/package.json b/package.json
index 3593205..d4eed0e 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,7 @@
"packages/*"
],
"scripts": {
- "start": "yarn workspace runner run start"
+ "start": "yarn workspace server start",
+ "build": "yarn workspace frontend build"
}
}
diff --git a/packages/frontend/js/app.js b/packages/frontend/js/app.js
index e8db547..ed9ef11 100644
--- a/packages/frontend/js/app.js
+++ b/packages/frontend/js/app.js
@@ -6,14 +6,20 @@ import AppTasks from './components/tasks.riot'
import AppTaskButton from './components/task-new.riot'
import AppTaskForm from './components/task-form.riot'
+import AppNotification from './components/notification.riot'
+
// register components
riot.register('app-sidebar', AppSidebar)
riot.register('app-tasks', AppTasks)
riot.register('app-task-button', AppTaskButton)
riot.register('app-task-form', AppTaskForm)
+riot.register('app-notification', AppNotification)
+
// mount components
riot.mount('app-sidebar')
riot.mount('app-tasks')
riot.mount('app-task-button')
-riot.mount('app-task-form')
\ No newline at end of file
+riot.mount('app-task-form')
+
+riot.mount('app-notification')
\ No newline at end of file
diff --git a/packages/frontend/js/components/loading.riot b/packages/frontend/js/components/loading.riot
new file mode 100644
index 0000000..62b5ff2
--- /dev/null
+++ b/packages/frontend/js/components/loading.riot
@@ -0,0 +1,15 @@
+