diff --git a/app-gale.js b/app-gale.js new file mode 100644 index 0000000..bc18864 --- /dev/null +++ b/app-gale.js @@ -0,0 +1,65 @@ +/** @import * as TYPES from "./graph/types.ts" */ +import * as FSHandle from "./store-directory-handle.js"; + +const {Div, DOM} = Gale({ + Title:{ + padding:"2rem", + background: "blue", + color:"white" + }, + Plain:{} +}) + +/** @type {Van.State>} */ +const rooms = van.state({}); + +async function EvaluateHandle() +{ + try + { + const module = await import("./data/room.js"+"?rand="+Math.random()); + /** @type {Record} */ + const read = module.default(); + console.log("rooms found:", read); + rooms.val = read; + } + catch(e) + { + console.log("rooms read error:", e); + rooms.val = {}; + } +} +let handle = await FSHandle.getDirectoryHandle(); +EvaluateHandle(); + +/** @type {(pass:TYPES.Pass)=>HTMLElement} */ +function Pass(pass) +{ + return Div.Plain( + Div.Title( + DOM.span.Plain(pass.name), + DOM.span.Plain(pass.path), + ) + ) +} + + +function App() +{ + return Div.Plain( + DOM.button({ + async onclick(){ + handle = await showDirectoryPicker(); + await FSHandle.setDirectoryHandle(handle); + EvaluateHandle(); + } + }, "Pick Directory"), + Object.entries(rooms.val).map(([room_id, graphParts])=> + Object.entries(graphParts.Pass).map(([pass_id, pass])=>{ + return Pass(pass) + }) + ) + ) +} + +van.add(document.body, App); diff --git a/app.js b/app-original.js similarity index 97% rename from app.js rename to app-original.js index 8f171bb..43db91a 100644 --- a/app.js +++ b/app-original.js @@ -1,7 +1,8 @@ -/** @import * as TYPES from "./types.ts" */ +/** @import * as TYPES from "./graph/types.ts" */ import * as FSHandle from "./store-directory-handle.js"; + /** @type {(type:string, attributes?:Record, ...children:Array)=>HTMLElement} */ const H =(type, attributes={}, ...children)=> { const el =document.createElement(type); diff --git a/deno.json b/deno.json index 8d15f5d..f4e4dc1 100644 --- a/deno.json +++ b/deno.json @@ -1,8 +1,8 @@ { - "compilerOptions": { + "compilerOptions": + { "checkJs": true, - "lib":[ - "deno.window", "dom" - ] + "lib": ["deno.window", "DOM"], + "types": ["https://treetopflyer.github.io/gale/types.d.ts"] } } \ No newline at end of file diff --git a/graph.js b/graph/graph.js similarity index 100% rename from graph.js rename to graph/graph.js diff --git a/types.ts b/graph/types.ts similarity index 100% rename from types.ts rename to graph/types.ts diff --git a/index.html b/index.html index 0f543f1..df2129b 100644 --- a/index.html +++ b/index.html @@ -6,15 +6,12 @@ - + \ No newline at end of file diff --git a/data/room.js b/mock-user-folder/data/room.js similarity index 92% rename from data/room.js rename to mock-user-folder/data/room.js index 5aef6bd..819a2e5 100644 --- a/data/room.js +++ b/mock-user-folder/data/room.js @@ -1,4 +1,4 @@ -import Graph from "../graph.js"; +import Graph from "../../graph/graph.js"; import User from "./user.js"; export default Graph( diff --git a/data/user.js b/mock-user-folder/data/user.js similarity index 100% rename from data/user.js rename to mock-user-folder/data/user.js diff --git a/room/room_01/pass_01/u1.json b/mock-user-folder/room/room_01/pass_01/u1.json similarity index 100% rename from room/room_01/pass_01/u1.json rename to mock-user-folder/room/room_01/pass_01/u1.json diff --git a/room/room_01/pass_01/u2.json b/mock-user-folder/room/room_01/pass_01/u2.json similarity index 100% rename from room/room_01/pass_01/u2.json rename to mock-user-folder/room/room_01/pass_01/u2.json diff --git a/room/room_01/pass_02/u3.json b/mock-user-folder/room/room_01/pass_02/u3.json similarity index 100% rename from room/room_01/pass_02/u3.json rename to mock-user-folder/room/room_01/pass_02/u3.json