users/cleanup
This commit is contained in:
parent
8a58cfcba4
commit
6005e6566e
72
app.js
72
app.js
@ -44,34 +44,62 @@ const rooms = van.state({});
|
||||
let handle = await FSHandle.getDirectoryHandle();
|
||||
await LoadHandleFiles();
|
||||
|
||||
/** @type {Van.State<TYPES.User|false>} */
|
||||
const loggedIn = van.state(false);
|
||||
|
||||
/** @type {(room_id:string, graphParts:TYPES.GraphParts)=>HTMLElement} */
|
||||
function Room(room_id, graphParts)
|
||||
{
|
||||
const rerender = van.state(0);
|
||||
|
||||
return Div.Plain(
|
||||
|
||||
Div.Plain("Users:"),
|
||||
Div.PartGroup(
|
||||
Object.entries(graphParts.User).map(([user_id, user])=>{
|
||||
return ()=>{
|
||||
|
||||
rerender.val;
|
||||
|
||||
return Div.Part(
|
||||
DOM.div.Plain(user.name),
|
||||
()=>{
|
||||
return DOM.button.Plain(
|
||||
{onclick(){
|
||||
rerender.val++
|
||||
loggedIn.val = user;
|
||||
}},
|
||||
loggedIn.val == user ? "this is me" : "impersonate"
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
})
|
||||
),
|
||||
|
||||
Div.Plain("Passes:"),
|
||||
Object.entries(graphParts.Pass).map(([pass_id, pass])=>{
|
||||
return ()=>{
|
||||
console.log("rerendering...", rerender.rawVal);
|
||||
return Div.Plain(
|
||||
Div.Title(
|
||||
Div.PartGroup(
|
||||
Object.entries(graphParts.Pass).map(([pass_id, pass])=>{
|
||||
return ()=>{
|
||||
console.log("rerendering...", rerender.rawVal);
|
||||
|
||||
rerender.val;
|
||||
|
||||
return Div.Part(
|
||||
DOM.div.Plain(pass.name),
|
||||
DOM.span.Plain(pass.path),
|
||||
),
|
||||
()=>{
|
||||
return DOM.button.Plain(
|
||||
{async onclick(){
|
||||
await pass[pass.live ? "dump" : "load"]();
|
||||
rerender.val++
|
||||
}},
|
||||
pass.live ? "Dump" : "Load"
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
}),
|
||||
()=>{
|
||||
return DOM.button.Plain(
|
||||
{async onclick(){
|
||||
await pass[pass.live ? "dump" : "load"]();
|
||||
rerender.val++
|
||||
}},
|
||||
pass.live ? "Dump" : "Load"
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
})
|
||||
),
|
||||
|
||||
Div.Plain("Parts"),
|
||||
Div.PartGroup(
|
||||
@ -86,7 +114,7 @@ function Room(room_id, graphParts)
|
||||
{
|
||||
|
||||
work.push(Div.Part(
|
||||
DOM.h5("Pass:", pass.name),
|
||||
DOM.h5(pass.name),
|
||||
DOM.p(data.time),
|
||||
data.work.map(([time, data, user])=>Div.Plain(
|
||||
DOM.span(time),
|
||||
@ -94,8 +122,8 @@ function Room(room_id, graphParts)
|
||||
DOM.strong(data),
|
||||
)),
|
||||
Div.Plain(
|
||||
DOM.button({onclick(){
|
||||
data.make({}, "NEW");
|
||||
loggedIn.val && DOM.button({onclick(){
|
||||
data.make(loggedIn.val, "NEW");
|
||||
rerender.val++
|
||||
}}, "Add work!")
|
||||
)
|
||||
|
||||
@ -18,8 +18,8 @@ export default Rooms({
|
||||
d2:["Build Page preview", ["dev"], "all", {p1:1, p2:1}, "p3"]
|
||||
},
|
||||
pass:{
|
||||
pass_01:["pass 01"],
|
||||
pass_02:["pass 02"]
|
||||
pass_01:["January"],
|
||||
pass_02:["February"]
|
||||
}
|
||||
})
|
||||
});
|
||||
Loading…
Reference in New Issue
Block a user