diff --git a/index.js b/index.js
index c7acd5f..477a70e 100644
--- a/index.js
+++ b/index.js
@@ -140,7 +140,7 @@ app.post("/sid_log",(req,res) =>{
func.check_sid(cook,(include,id) => {
if (include){
if(req.headers.referer.split("http://n0rsrv2:3002/")[1] == "login") console.log("good boy "+ id["uuid"]+" logged in by sid logs from " + id["sid"]);
- res.send({out:"goto",url:"/main"});
+ res.send({out:"good",url:"/main"});
}
else if (!include){
if(req.headers.referer.split("http://n0rsrv2:3002/")[1] == "login") console.log("bad boy "+ id["uuid"]+" tried to login by sid but sid expired from " + id["sid"]);
@@ -219,8 +219,8 @@ app.post("/save_proj", (req,res) => {
console.log(`${udata["uuid"]} saved project ${projin["name"]} from ${cook["sid"]}`);
// console.log("proj in");
}
+ res.send({out:"good"});
})
-
})
})
diff --git a/public/lib/fn.js b/public/lib/fn.js
index 9c8c9c4..9bf3940 100644
--- a/public/lib/fn.js
+++ b/public/lib/fn.js
@@ -66,7 +66,7 @@ function log_by_sid() {
$.post( "/sid_log")
.done(function( res ) {
console.log("ping");
- if(res["out"] == "goto"){
+ if(res["out"] == "good"){
goto(res["url"]);
}
else if (res["out"] == "bad"){
diff --git a/public/lib/inter.js b/public/lib/inter.js
index ef5138c..581c65f 100644
--- a/public/lib/inter.js
+++ b/public/lib/inter.js
@@ -1,36 +1,45 @@
-window.dragMoveListener = dragMoveListener
+window.dragMoveListener = dragMoveListener;
let root = document.getElementById("drags");
-var objs = {};
+let objs = {};
-function add(obj){
- if (objs[obj] == null) objs[obj] = {};
- if ((objs[obj]["count"] == null)){(objs[obj]["count"] = 0)}
- let count = Object.keys(objs[obj]).length -1;
- // console.log(obj,objs[obj+"_count"],objs[obj+"_s"]);
- root.innerHTML += "
"+obj+"
";
- objs[obj][obj+"_"+count] = {};
- // objs[obj]["count"]+=1;
- console.log(objs);
+function get_count(clas){
+ if (objs[clas] == null) objs[clas] = {};
+ let count = Object.keys(objs[clas]).length;
+ return count;
}
-function create(clas,obj,x,y,inside){
- if (inside == null || inside == "") inside = "[]";
- root.innerHTML += ""+inside+"
";
- let obj_doc = document.getElementById(obj);
- console.log(obj_doc.classList);
- set_pos(obj_doc,x,y);
+function create(clas,x,y,body,id){
+ // console.log(clas,x,y,body,parent);
+ // console.log(id);
+ if (body == null || body == "") body = "[]";
+ // root.innerHTML += ""+body+"
";
+ let obj = document.createElement("div");
+ obj.id = id;
+ clas= clas.split(" ");
+ clas.forEach(cl => {
+ obj.classList.add(cl);
+ });
+ obj.innerHTML = body;
+ // parent.append(obj);
+ root.append(obj);
+ set_pos(obj,x,y);
+ // let obj_doc = document.getElementById(obj);
+ // console.log(obj_doc.classList);
}
-function load_local(objs){
+function load_local(objss){
// objs = JSON.parse($.cookie("objs"));
- console.log(objs);
- globalThis.objs = objs;
+ // console.log(objs);
+ objs = objss;
Object.entries(objs).forEach(([keys, values]) => {
// console.log(keys,values);
Object.entries(values).forEach(([key, value]) => {
- if(key != "count"){
- // console.log(key,value);
- create(keys,key,value["x"],value["y"],value["body"]);
+ if(key != "class"){
+ // console.log(key,keys);
+ // console.log(keys,value["x"],value["y"],value["body"]);
+ // let count = Object.keys(objs[keys]).length;
+ // console.log(count);
+ create(keys+" drag",value["x"],value["y"],value["body"],key);
}
})
});
@@ -40,20 +49,18 @@ function load_proj(){
$.post( "/load_proj",{name:proj_name})
.done(function( res ) {
if(res["out"] == "good"){
- console.log("good");
+ // console.log("good");
// console.log(JSON.parse(`'${res["body"]}'`));
// console.log(JSON.parse(res["body"]));
// $.cookie("objs",res["body"]);
load_local(JSON.parse(res["body"]));
+ drag_start();
}
})
}
function save(){
- // let proj_name = document.getElementById("proj_name").value;
- // $.cookie("objs",JSON.stringify(objs));
- console.log(objs);
- // // console.log(objs);
+ // console.log(objs);
$.post( "/save_proj", {proj:JSON.stringify(objs),name:proj_name})
.done(function( res ) {
if(res["out"] == "good"){
@@ -91,10 +98,11 @@ interact('.trash').dropzone({
ondragenter: function (event) {var drag = event.relatedTarget;var zone = event.target; zone.classList.add('drop-target');drag.classList.add('can-drop');},
ondragleave: function (event) {var drag = event.relatedTarget;var zone = event.target;zone.classList.remove('drop-target');drag.classList.remove('in_zone');drag.classList.remove('can-drop');},
ondrop: function (event) {
- var drag = event.relatedTarget
+ var drag = event.relatedTarget;
+ // console.log(drag.id);
delete objs[drag.classList[0]][drag.id];
drag.remove();
- console.log(objs);
+ // console.log(objs);
drag.classList.add('in_zone')
drag.classList.remove('can-drop')
},
@@ -105,14 +113,63 @@ interact('.dropzone').dropzone({
accept: '.drag',
overlap: 0.5,
- ondragenter: function (event) {var drag = event.relatedTarget;var zone = event.target;zone.classList.add('drop-target');drag.classList.add('can-drop');},
+ ondragenter: function (event) {
+ var drag = event.relatedTarget;
+ var zone = event.target;
+ if(drag.id == "none") drag.id = get_id(drag.classList[0]);
+ zone.classList.add('drop-target');
+ drag.classList.add('can-drop');
+ },
ondragleave: function (event) {var drag = event.relatedTarget;var zone = event.target;zone.classList.remove('drop-target');drag.classList.remove('in_zone');drag.classList.remove('can-drop');},
ondrop: function (event) {
var drag = event.relatedTarget
+ // console.log(drag.classList[0]);
+ if (objs[drag.classList[0]] == null) objs[drag.classList[0]] = {};
objs[drag.classList[0]][drag.id] = {y:drag.getAttribute('data-y'),x:drag.getAttribute('data-x'),body:drag.innerHTML};
+ // console.log(objs);
// $.cookie("objs",JSON.stringify(objs));
drag.classList.add('in_zone')
drag.classList.remove('can-drop')
},
ondropdeactivate: function (event) {var zone = event.target;zone.classList.remove('drop-active');zone.classList.remove('drop-target');}
-})
\ No newline at end of file
+})
+
+interact('.createzone').dropzone({
+ accept: '.spawn',
+ overlap: 0.2,
+
+ ondragenter: function (event) {
+ var drag = event.relatedTarget;
+ var zone = event.target;zone.classList.add('drop-target');
+ drag.classList.add('can-drop');
+ },
+ ondragleave: function (event) {
+ var drag = event.relatedTarget;
+ var zone = event.target;
+ zone.classList.remove('drop-target');
+ drag.classList.remove('spawn');
+ let x = zone.getBoundingClientRect().left + window.scrollX - 15;
+ let y = zone.getBoundingClientRect().top + window.scrollY - 20;
+ create(`${zone.classList[0]} drag spawn`,x,y,`${zone.classList[0]}`,`none`);
+ },
+ ondrop: function (event) {var drag = event.relatedTargetdrag.classList.remove('in_zone');drag.classList.remove('can-drop');},
+ ondropdeactivate: function (event) {var zone = event.target;zone.classList.remove('drop-active');zone.classList.remove('drop-target');}
+})
+
+function drag_start() {
+ let zones = document.getElementsByClassName("createzone");
+ Object.entries(zones).forEach(([key, zone]) => {
+ let x = zone.getBoundingClientRect().left - 15;
+ let y = zone.getBoundingClientRect().top - 20;
+ // console.log(x,y);
+ create(`${zone.classList[0]} drag spawn`,x,y,`${zone.classList[0]}`,`none`);
+ });
+}
+
+function get_id(clas){
+ if(objs[clas] == null){ return `${clas}_0`}
+ else{
+ let count = Object.keys(objs[clas]).length;
+ return `${clas}_${count}`;
+ }
+}
\ No newline at end of file
diff --git a/views/admin.ejs b/views/admin.ejs
index 1b5e6fe..d8130f3 100644
--- a/views/admin.ejs
+++ b/views/admin.ejs
@@ -1,13 +1,11 @@
-
-
<%- include('./static/start.ejs',{name:"admin",async: true}) %>
<%- include('./header.ejs') %>
- hello admin
-
+
+
+<%- include('./reg.ejs') %>
<%- include('./static/end.ejs') %>
\ No newline at end of file
diff --git a/views/main.ejs b/views/main.ejs
index f7b69e8..a10f674 100644
--- a/views/main.ejs
+++ b/views/main.ejs
@@ -44,9 +44,10 @@
<%- include('./header.ejs') %>
-
-
-
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<%- include('./static/end.ejs') %>
\ No newline at end of file
diff --git a/views/reg.ejs b/views/reg.ejs
index 93d1665..dee5d31 100644
--- a/views/reg.ejs
+++ b/views/reg.ejs
@@ -1,11 +1,26 @@
+
+
<%- include('./static/start.ejs',{name:"reg",async: true}) %>
-