From a797a10ad0e1a364a56290aa7ebbdd8f541b4aa9 Mon Sep 17 00:00:00 2001 From: Julien Lengrand-Lambert Date: Sun, 26 Sep 2021 10:34:47 +0200 Subject: [PATCH] First version working --- .editorconfig | 10 + .gitignore | 3 + .vscode/settings.json | 7 + app/client.imba | 38 ++++ app/index.html | 13 ++ app/logo.svg | 9 + app/todos.imba | 15 ++ error-json.png | Bin 0 -> 110289 bytes errors.png | Bin 0 -> 89627 bytes package-lock.json | 498 ++++++++++++++++++++++++++++++++++++++++++ package.json | 11 + readme.md | 19 ++ server.imba | 26 +++ 13 files changed, 649 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 app/client.imba create mode 100644 app/index.html create mode 100644 app/logo.svg create mode 100644 app/todos.imba create mode 100644 error-json.png create mode 100644 errors.png create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 readme.md create mode 100644 server.imba diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..1180833 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true + +[*.imba] +charset = utf-8 +indent_style = tab +indent_size = 4 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a44058c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +node_modules +dist \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..df32b72 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "[imba]": { + "editor.insertSpaces": false, + "editor.tabSize": 4, + "editor.autoIndent": "advanced" + } +} \ No newline at end of file diff --git a/app/client.imba b/app/client.imba new file mode 100644 index 0000000..b24c448 --- /dev/null +++ b/app/client.imba @@ -0,0 +1,38 @@ +import {TodoForm, TodoApp} from "./todos" + +global css html + ff:sans + +let data = [] + +tag app + def sendAndClear event + let data = {"todo":event.detail} + + await window.fetch('/todos', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(data), + }) + message = "" + fetch() + + def fetch + const dataFetch = await window.fetch("/todos") + data = await dataFetch.json() + console.log(data) + + def mount + fetch() + + +
+ +

"Edit { "app/client.imba"} and save to reload" + "Learn Imba" + + + +imba.mount \ No newline at end of file diff --git a/app/index.html b/app/index.html new file mode 100644 index 0000000..67d3cac --- /dev/null +++ b/app/index.html @@ -0,0 +1,13 @@ + + + + + Simple Imba App + + + + + + + + diff --git a/app/logo.svg b/app/logo.svg new file mode 100644 index 0000000..3682933 --- /dev/null +++ b/app/logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/todos.imba b/app/todos.imba new file mode 100644 index 0000000..2c31636 --- /dev/null +++ b/app/todos.imba @@ -0,0 +1,15 @@ +tag todo-item + prop data + +

data + +export tag TodoApp + prop todos + for todo in todos + + +export tag TodoForm + prop message + + +