model-manager 0.0.3-1.0 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,38 +9,38 @@
9
9
  // console.log("1 document inserted");
10
10
  // client.db.close();
11
11
  // });
12
- // // });
12
+ // });
13
13
 
14
- // const { MongoClient, ServerApiVersion } = require('mongodb');
15
- // const uri = "mongodb+srv://adminmn:eQJ62Cszrvi7VgD@mnmodeldatabase.zsxqn.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
16
- // const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
14
+ const { MongoClient, ServerApiVersion } = require('mongodb');
15
+ const uri = "mongodb+srv://adminmn:eQJ62Cszrvi7VgD@mnmodeldatabase.zsxqn.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
16
+ const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
17
17
 
18
- // const database = client.db("modeldatabase");
19
- // const models = database.collection("models");
18
+ const database = client.db("modeldatabase");
19
+ const models = database.collection("models");
20
20
 
21
- // client.connect(err => {
22
- // if (err) throw err;
21
+ client.connect(err => {
22
+ if (err) throw err;
23
23
 
24
- // models.deleteMany();
24
+ models.deleteMany();
25
25
 
26
- // var modelobj1 = {released: true, model_name: "Diamond Pickaxe", model_creator: "Prisemut", model_path: "./models/bird.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
27
- // var modelobj2 = {released: true, model_name: "Diamond Sword", model_creator: "Prisemut", model_path: "./models/jellyfish.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
28
- // var modelobj3 = {released: true, model_name: "Airplane", model_creator: "Prisemut", model_path: "./models/stone_golem.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
29
- // var modelobj4 = {released: true, model_name: "Jet", model_creator: "Prisemut", model_path: "./models/stone_golem.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
30
- // var modelobj5 = {released: true, model_name: "Jeep", model_creator: "Prisemut", model_path: "./models/stone_golem.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
31
- // var modelobj6 = {released: true, model_name: "Guy", model_creator: "Prisemut", model_path: "./models/stone_golem.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
32
- // var modelobj7 = {released: true, model_name: "Woman", model_creator: "Prisemut", model_path: "./models/stone_golem.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
33
- // models.insertOne(modelobj1);
34
- // models.insertOne(modelobj2);
35
- // models.insertOne(modelobj3);
36
- // models.insertOne(modelobj4);
37
- // models.insertOne(modelobj5);
38
- // models.insertOne(modelobj6);
39
- // models.insertOne(modelobj7);
26
+ var modelobj1 = {released: true, model_name: "Diamond Pickaxe", model_creator: "Prisemut", model_path: "./models/bird.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
27
+ var modelobj2 = {released: true, model_name: "Diamond Sword", model_creator: "Prisemut", model_path: "./models/jellyfish.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
28
+ var modelobj3 = {released: true, model_name: "Airplane", model_creator: "Prisemut", model_path: "./models/stone_golem.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
29
+ var modelobj4 = {released: true, model_name: "Jet", model_creator: "Prisemut", model_path: "./models/stone_golem.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
30
+ var modelobj5 = {released: true, model_name: "Jeep", model_creator: "Prisemut", model_path: "./models/stone_golem.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
31
+ var modelobj6 = {released: true, model_name: "Guy", model_creator: "Prisemut", model_path: "./models/stone_golem.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
32
+ var modelobj7 = {released: true, model_name: "Woman", model_creator: "Prisemut", model_path: "./models/stone_golem.geo.gltf", thumbnail: "./imgs/testing.png", has_anims: true, has_behavior: true, has_textures: true, animations: ["idle","walk"], behavior: ["hostile mob", "aggressive mob"], textures: ["red", "blue", "green", "orange", "yellow"], tags: ["test", "template"]}
33
+ models.insertOne(modelobj1);
34
+ models.insertOne(modelobj2);
35
+ models.insertOne(modelobj3);
36
+ models.insertOne(modelobj4);
37
+ models.insertOne(modelobj5);
38
+ models.insertOne(modelobj6);
39
+ models.insertOne(modelobj7);
40
40
 
41
- // models.find().forEach( function(item) {
42
- // item.animations.forEach(function (item,index) {
43
- // console.log(item)
44
- // });
45
- // });
46
- // });
41
+ models.find().forEach( function(item) {
42
+ item.animations.forEach(function (item,index) {
43
+ console.log(item)
44
+ });
45
+ });
46
+ });
@@ -4,16 +4,14 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
6
6
  <link href="./assets/css/basic.css" rel="stylesheet">
7
- <link href="./assets/css/dialog_admin.css" rel="stylesheet">
8
7
  <link href="./assets/css/admin.css" rel="stylesheet">
9
- <title>Administration</title>
10
8
  </head>
11
9
  <body>
12
10
 
13
11
 
14
12
  <section id="head">
15
13
  <div class="drag-field-head">
16
- <p class="drag-field-text">ModelManager</p>
14
+ <p class="drag-field-text">MN-Modelstore</p>
17
15
  </div>
18
16
  <div class="win-btn">
19
17
  <a class="btn-win" id="close-button">
@@ -54,35 +52,15 @@
54
52
  <section id="main-content">
55
53
  <div class="admin-content">
56
54
  <div class="div2">
57
- <div class="order_list">
58
- <h2>Current orders:</h2>
59
- <ul id="order-listing">
60
- <div id="loading">
61
- <h3 id="loading-text">loading...</h3>
62
- <img id="loading-image" src="assets/spinner_2.gif" alt="Loading..." width="70px"/>
63
- </div>
64
-
65
- </ul>
66
- </div>
55
+ <button>Create</button>
56
+ </div>
57
+ <div class="div3">
58
+ <button>Create</button>
67
59
  </div>
68
60
  </div>
69
-
70
61
  </section>
71
-
72
- <!--Popup renderer-->
73
- <div id="body-overlay"></div>
74
- <div class="dialog" id="dialog">
75
- <a href="#" role="button" class="dialog-close-button" id="dialog-close-button">
76
- <image src="assets/white/close_white_24dp.svg"> </image>
77
- </a>
78
- <pre id="item-listing">
79
- <h1>Items:</h1>
80
- </pre>
81
- </div>
82
-
83
-
62
+
84
63
  <script>
85
-
86
64
  document.getElementById("close-button").addEventListener('click', event => {
87
65
  window.api.send("toMain", "closeWindow");
88
66
  });
@@ -92,58 +70,7 @@
92
70
  document.getElementById("home-side").onclick = function () {
93
71
  location.href = "./index_admin.html";
94
72
  };
95
-
96
- var ul = document.getElementById('order-listing');
97
- ul.addEventListener('click', function(e) {
98
- if (e.target.tagName === 'LI'){
99
- var target = e.target; // Clicked element
100
- document.getElementById("dialog").classList.add("visable");
101
- document.getElementById("body-overlay").classList.add("visable");
102
-
103
- var items = document.createElement('code')
104
- var splitted_text = target.dataset.item_obj.split(",")
105
-
106
- for (item in splitted_text) {
107
- items.innerHTML = items.innerHTML + "\n" + splitted_text[item]
108
- }
109
-
110
-
111
- var h1 = document.createElement('h1')
112
- h1.innerHTML = "Items ordered:"
113
- document.getElementById("item-listing").innerHTML = ""
114
- document.getElementById("item-listing").appendChild(h1)
115
- document.getElementById("item-listing").appendChild(items)
116
- }
117
- });
118
-
119
- document.getElementById('body-overlay').addEventListener('click', function(e) {
120
- document.getElementById("dialog").classList.remove("visable");
121
- document.getElementById("body-overlay").classList.remove("visable");
122
- });
123
-
124
-
125
- document.getElementById('dialog-close-button').addEventListener('click', function(e) {
126
- document.getElementById("dialog").classList.remove("visable");
127
- document.getElementById("body-overlay").classList.remove("visable");
128
- });
129
-
130
- document.onkeydown = function(evt) {
131
- evt = evt || window.event;
132
- var isEscape = false;
133
- if ("key" in evt) {
134
- isEscape = (evt.key === "Escape" || evt.key === "Esc");
135
- } else {
136
- isEscape = (evt.keyCode === 27);
137
- }
138
- if (isEscape) {
139
- document.getElementById("dialog").classList.remove("visable");
140
- document.getElementById("body-overlay").classList.remove("visable");
141
- }
142
- };
143
-
144
-
145
73
  </script>
146
- <script src="js/load_admin.js"></script>
147
74
 
148
75
  </body>
149
76
  </html>
package/app-update.yml ADDED
File without changes
@@ -3,7 +3,7 @@
3
3
  -webkit-backdrop-filter: blur(25px) saturate(0%);
4
4
  background-color: #2C2F33;
5
5
  border-radius: 12px;
6
- border: 1px solid #ffffff20;
6
+ border: 1px solid rgba(255, 255, 255, 0.125);
7
7
  width: 20%;
8
8
  height: 17%;
9
9
  position: relative;
@@ -51,13 +51,13 @@
51
51
  position:relative;
52
52
  }
53
53
  .div2 {
54
- grid-area: 1 / 1 / 6 / 7;
54
+ grid-area: 1 / 1 / 6 / 4;
55
55
  background-color: #2C2F33;
56
56
  position: relative;
57
57
  border-radius: 15px;
58
58
  }
59
59
  .div3 {
60
- grid-area: 1 / 4 / 3 / 6;
60
+ grid-area: 1 / 4 / 5 / 6;
61
61
  background-color: #2C2F33;
62
62
  position: relative;
63
63
  border-radius: 15px;
@@ -69,179 +69,11 @@ button {
69
69
  font-size: 15px;
70
70
  background: linear-gradient(348deg, #5353e6 0%, #5199b6 48%, #0ebcdf 85%);
71
71
  border-radius: 25px;
72
- height: 10%;
73
- width: 20%;
72
+ height: 5%;
73
+ width: 15%;
74
74
  border: 0px;
75
75
  filter: drop-shadow(0 0 20px #121212);
76
76
  position: absolute;
77
77
  bottom: 1%;
78
78
  right: 1%;
79
- }
80
-
81
- .order_list {
82
- width: 90%;
83
- height: 90%;
84
- margin: 0 auto;
85
- padding: 10px;
86
- position: relative;
87
- }
88
-
89
- ul {
90
- list-style-type: none;
91
- overflow:hidden; overflow-y:scroll;
92
- width: 100%;
93
- height: 95%;
94
- }
95
- li {
96
- border-bottom: #5353e6 1px solid;
97
- background: #2C2F33;
98
- padding: 15px;
99
- margin: 15px;
100
- font-style: normal;
101
- word-spacing: 38px;
102
- border-radius: 25px;
103
- filter: drop-shadow(0 0 4px #181818);
104
- }
105
-
106
- li:hover {
107
- animation-name: hoverfadeli;
108
- animation-duration: 0.3s;
109
- animation-fill-mode: forwards;
110
- border-radius: 25px;
111
- }
112
-
113
- @keyframes hoverfadeli {
114
- from {
115
- background: #2C2F33;
116
- }
117
- to {
118
- background: #5a5d5e41;
119
- }
120
- }
121
-
122
-
123
-
124
- ::-webkit-scrollbar {
125
- width: 7px;
126
- height: 10px;
127
- }
128
-
129
- ::-webkit-scrollbar-track {
130
- background-color: #2C2F33;
131
- }
132
-
133
- ::-webkit-scrollbar-thumb {
134
- background: linear-gradient(348deg, #5353e6 0%, #5199b6 48%, #0ebcdf 85%);
135
- }
136
-
137
- ::-webkit-scrollbar-thumb {
138
- background-color: #d6dee1;
139
- border-radius: 20px;
140
- }
141
- ::-webkit-scrollbar-thumb:hover {
142
- background-color: #a8bbbf;
143
- }
144
-
145
- li a {
146
- position: relative;
147
- float: right;
148
- border-radius: 55px;
149
- transform: translateY(-20%);
150
- width: 6%;
151
- }
152
- li a img {
153
- transform: translateX(10%);
154
- height: 80%;
155
- width: 80%;
156
- }
157
-
158
- li a:hover {
159
- animation-name: hoverfade;
160
- animation-duration: 0.2s;
161
- animation-fill-mode: forwards;
162
- }
163
- @keyframes hoverfade {
164
- from {
165
- opacity: 100%;
166
- }
167
- to{
168
- opacity: 10%;
169
- }
170
- }
171
-
172
- /* For large screens */
173
- @media only screen and (max-width: 1500px) {
174
- li {
175
- border-bottom: #5353e6 1px solid;
176
- background: #2C2F33;
177
- padding: 15px;
178
- margin: 15px;
179
- font-style: normal;
180
- word-spacing: 22px;
181
- border-radius: 25px;
182
- filter: drop-shadow(0 0 4px #181818);
183
- }
184
- li a img {
185
- transform: translateX(10%);
186
- height: 80%;
187
- width: 80%;
188
- }
189
- }
190
-
191
- @media only screen and (min-width: 1501px) {
192
- li {
193
- border-bottom: #5353e6 1px solid;
194
- background: #2C2F33;
195
- padding: 15px;
196
- margin: 15px;
197
- font-style: normal;
198
- word-spacing: 38px;
199
- border-radius: 25px;
200
- filter: drop-shadow(0 0 4px #181818);
201
- }
202
- li a img {
203
- transform: translateX(10%);
204
- height: 50%;
205
- width: 50%;
206
- }
207
- }
208
-
209
-
210
- input {
211
- padding: 15px;
212
- margin: 15px;
213
- font-style: normal;
214
- word-spacing: 38px;
215
- border-radius: 25px;
216
- font-size: 15px;
217
- appearance: none;
218
- display: inline-block;
219
- background: #4e4f50;
220
- border: 1px solid #4e4f50;
221
- border-top: 1px solid #4e4f50;
222
- box-sizing: border-box;
223
- border-radius: 25px;
224
- width: 80%;
225
- color: #c2c2c2;
226
- outline: none;
227
- }
228
-
229
- #loading {
230
- pointer-events: none;
231
- position: fixed;
232
- display: block;
233
- width: 100%;
234
- height: 80%;
235
- top: 0;
236
- left: 0;
237
- text-align: center;
238
- opacity: 0.7;
239
- z-index: 99;
240
- }
241
-
242
- p {
243
- font-size: 20px;
244
- font-style: italic;
245
- margin: 14px;
246
- margin-left: 20px;
247
79
  }
@@ -22,7 +22,7 @@ ul {
22
22
  }
23
23
 
24
24
  li {
25
- border-bottom: #5353e6 1px solid;
25
+ border-bottom: #242629 1px solid;
26
26
  padding: 15px;
27
27
  margin: 15px;
28
28
  }
@@ -19,7 +19,7 @@
19
19
  padding: 10px;
20
20
  border-radius: 5px;
21
21
  width: 60%;
22
- background-color: #2d3034;
22
+ background-color: rgb(45, 48, 52);
23
23
  z-index: 1000001;
24
24
  opacity: 0;
25
25
  pointer-events: none;
@@ -153,25 +153,4 @@
153
153
  }
154
154
  .control-checkbox input:checked + .control_indicator::before {
155
155
  animation-name: s-ripple-dup;
156
- }
157
-
158
- ::-webkit-scrollbar {
159
- width: 7px;
160
- height: 10px;
161
- }
162
-
163
- ::-webkit-scrollbar-track {
164
- background-color: #2d3034;
165
- }
166
-
167
- ::-webkit-scrollbar-thumb {
168
- background: linear-gradient(348deg, #5353e6 0%, #5199b6 48%, #0ebcdf 85%);
169
- }
170
-
171
- ::-webkit-scrollbar-thumb {
172
- background-color: #d6dee1;
173
- border-radius: 20px;
174
- }
175
- ::-webkit-scrollbar-thumb:hover {
176
- background-color: #a8bbbf;
177
156
  }
package/checkout.html CHANGED
@@ -5,14 +5,13 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
6
6
  <link href="assets/css/checkout.css" rel="stylesheet">
7
7
  <link href="assets/css/dialog_checkout.css" rel="stylesheet">
8
- <title>Checkout</title>
9
8
  </head>
10
9
  <body>
11
10
 
12
11
 
13
12
  <section id="head">
14
13
  <div class="drag-field-head">
15
- <p class="drag-field-text">ModelManager</p>
14
+ <p class="drag-field-text">MN-Modelstore [a0.1]</p>
16
15
  </div>
17
16
  <div class="win-btn">
18
17
  <a class="btn-win" id="close-button">
@@ -5,14 +5,13 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
6
6
  <link href="assets/css/checkout.css" rel="stylesheet">
7
7
  <link href="assets/css/dialog_checkout.css" rel="stylesheet">
8
- <title>Checkout</title>
9
8
  </head>
10
9
  <body>
11
10
 
12
11
 
13
12
  <section id="head">
14
13
  <div class="drag-field-head">
15
- <p class="drag-field-text">ModelManager</p>
14
+ <p class="drag-field-text">MN-Modelstore [a0.1]</p>
16
15
  </div>
17
16
  <div class="win-btn">
18
17
  <a class="btn-win" id="close-button">
package/index.html CHANGED
@@ -5,14 +5,13 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
6
6
  <link href="./assets/css/basic.css" rel="stylesheet">
7
7
  <link href="./assets/css/dialog.css" rel="stylesheet">
8
- <title>Browse</title>
9
8
  </head>
10
9
  <body>
11
10
 
12
11
 
13
12
  <section id="head">
14
13
  <div class="drag-field-head">
15
- <p class="drag-field-text">ModelManager</p>
14
+ <p class="drag-field-text">MN-Modelstore</p>
16
15
  </div>
17
16
  <div class="win-btn">
18
17
  <a class="btn-win" id="close-button">
package/index_admin.html CHANGED
@@ -5,14 +5,13 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
6
6
  <link href="./assets/css/basic.css" rel="stylesheet">
7
7
  <link href="./assets/css/dialog.css" rel="stylesheet">
8
- <title>Browse</title>
9
8
  </head>
10
9
  <body>
11
10
 
12
11
 
13
12
  <section id="head">
14
13
  <div class="drag-field-head">
15
- <p class="drag-field-text">ModelManager</p>
14
+ <p class="drag-field-text">MN-Modelstore</p>
16
15
  </div>
17
16
  <div class="win-btn">
18
17
  <a class="btn-win" id="close-button">
package/js/load_items.js CHANGED
@@ -248,7 +248,20 @@ window.api.receive('item_channel', function (data, evt) {
248
248
  const controls = new OrbitControls(camera,renderer.domElement);
249
249
 
250
250
 
251
-
251
+ function resizeCanvasToDisplaySize() {
252
+ const canvas = renderer.domElement;
253
+ const width = canvas.clientWidth;
254
+ const height = canvas.clientHeight;
255
+ if (canvas.width !== width ||canvas.height !== height) {
256
+ // you must pass false here or three.js sadly fights the browser
257
+ renderer.setSize(width, height, false);
258
+ camera.aspect = width / height;
259
+ camera.updateProjectionMatrix();
260
+
261
+ // set render target sizes here
262
+ }
263
+ }
264
+
252
265
 
253
266
  camera.position.y = 1;
254
267
  camera.position.x = 3;
package/login.html CHANGED
@@ -1,10 +1,12 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
3
  <head>
4
+ <!-- Design by foolishdeveloper.com -->
5
+ <title>Glassmorphism login Form Tutorial in html css</title>
6
+
4
7
  <link rel="preconnect" href="https://fonts.gstatic.com">
5
8
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
6
9
  <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;500;600&display=swap" rel="stylesheet">
7
- <title>Login</title>
8
10
  <!--Stylesheet-->
9
11
  <style media="screen">
10
12
  *,
@@ -259,10 +261,10 @@ button > span {
259
261
  window.api.receive('login_response', function (data, evt) {
260
262
  if (data == "n") {
261
263
  document.getElementById("alert").classList.remove("invis")
262
- } else if (data == "y-0") {
264
+ } else if (data = "y-0") {
263
265
  location.href = "./index_admin.html";
264
266
  window.api.send("change_window", input)
265
- } else if (data == "y-1") {
267
+ } else if (data = "y-1") {
266
268
  location.href = "./index.html";
267
269
  window.api.send("change_window", input)
268
270
  }
package/main.js CHANGED
@@ -1,18 +1,10 @@
1
1
  const path = require('path')
2
- // todo: need to remove this before compiling the software
2
+ // // todo: need to remove this before compiling the software
3
3
  // require('electron-reload')(__dirname, {
4
4
  // electron: path.join(__dirname, 'node_modules', '.bin', 'electron')
5
5
  // });
6
6
  const { app, BrowserWindow, ipcMain, dialog } = require('electron');
7
- // const { autoUpdater } = require('electron-updater')
8
-
9
- const { autoUpdater } = require('electron-github-autoupdater')
10
-
11
- autoUpdater({
12
- owner: "Mine-North",
13
- repo: "Mine-North-Model-Tool",
14
- accessToken: "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"
15
- })
7
+ const { autoUpdater } = require('electron-updater')
16
8
 
17
9
  var cart = [];
18
10
  var logged_user;
@@ -36,7 +28,7 @@ const loginWindow = () => {
36
28
  preload: path.join(__dirname, 'preload.js')
37
29
  }
38
30
  })
39
- win.webContents.openDevTools(true)
31
+ // win.webContents.openDevTools(true)
40
32
  win.loadURL(`file://${__dirname}/login.html`)
41
33
 
42
34
  ipcMain.on("change_window", (event, args) => {
@@ -44,7 +36,7 @@ const loginWindow = () => {
44
36
  createWindow();
45
37
  });
46
38
 
47
- // autoUpdater.checkForUpdates();
39
+ autoUpdater.checkForUpdates();
48
40
  }
49
41
 
50
42
 
@@ -93,24 +85,12 @@ ipcMain.on("toMain", (event, args) => {
93
85
  const database = client.db("modeldatabase");
94
86
  const orders = database.collection("orders");
95
87
 
96
- // lets clean the order array first
97
- var final_cart = cart.filter(function(item, pos, self) {
98
- return self.indexOf(item) == pos;
99
- })
100
-
101
88
  client.connect(err => {
102
89
  if (err) {
103
90
  event.sender.send('order_response', "error")
104
91
  throw err
105
92
  }
106
-
107
- var existing_order = 0;
108
- // count existing orders
109
- orders.find().forEach( function(item) {
110
- existing_order++;
111
- });
112
-
113
- var modelobj1 = {order_by: logged_user, orders: final_cart, order_number: existing_order+1}
93
+ var modelobj1 = {order_by: logged_user, orders: cart}
114
94
  orders.insertOne(modelobj1);
115
95
  cart = [];
116
96
  event.sender.send('order_response', "success")
@@ -157,7 +137,6 @@ ipcMain.on("database_request", (event, args) => {
157
137
  const database = client.db("modeldatabase");
158
138
  const models = database.collection("models");
159
139
  const users = database.collection("users");
160
- const orders = database.collection("orders");
161
140
 
162
141
  if(args == "rqID") {
163
142
  client.connect(err => {
@@ -244,42 +223,6 @@ ipcMain.on("database_request", (event, args) => {
244
223
  });
245
224
  });
246
225
  }
247
-
248
- if (args == "rq_orderdata") {
249
- client.connect(err => {
250
- var data = []
251
- var count = 0;
252
- orders.find().forEach( function(item) {
253
- data = []
254
- var order_number = item.order_number
255
- var orderer = item.order_by
256
- var orders = item.orders
257
- count = count+1;
258
- data.push({
259
- order_number,
260
- orderer,
261
- orders
262
- })
263
- event.sender.send('admin_channel', data)
264
- if (count == 1) {
265
- event.sender.send('renderer', "stop-spinner")
266
- }
267
- client.close();
268
- });
269
- });
270
- }
271
-
272
- if (args.includes("delete_order")) {
273
- var splitted_data = args.split(":")
274
- var order_id = splitted_data[1];
275
-
276
- client.connect(err => {
277
- console.log("looking to delete order number " + order_id);
278
- orders.deleteOne({ order_number: parseInt(order_id) });
279
-
280
- event.sender.send('renderer', "reload_side")
281
- });
282
- }
283
226
  });
284
227
 
285
228
 
@@ -303,4 +246,32 @@ ipcMain.on("storage_request", (event, args) => {
303
246
 
304
247
  ipcMain.on("cart_request", (event, args) => {
305
248
  event.sender.send("cart_answer", cart)
249
+ });
250
+
251
+
252
+
253
+ // auto updater
254
+ autoUpdater.on("update-available", (_event, releaseNotes, releaseName) => {
255
+ const dialogOpts = {
256
+ type: 'info',
257
+ buttons: ['Ok'],
258
+ title: 'Application Update',
259
+ message: process.platform === "win32" ? releaseNotes : releaseName,
260
+ detail: 'A new version is being downloaded.'
261
+ }
262
+ dialog.showMessageBox(dialogOpts, (response) => {
263
+ });
264
+ });
265
+
266
+ autoUpdater.on("update-downloaded", (_event, releaseNotes, releaseName) => {
267
+ const dialogOpts = {
268
+ type: 'info',
269
+ buttons: ['Restart'],
270
+ title: 'Application Update',
271
+ message: process.platform === "win32" ? releaseNotes : releaseName,
272
+ detail: 'A new version has been downloaded. You need to restart the tool!'
273
+ }
274
+ dialog.showMessageBox(dialogOpts).then((returnValue) => {
275
+ if (returnValue.response === 0) autoUpdater.quitAndInstall()
276
+ });
306
277
  });
package/package.json CHANGED
@@ -1,18 +1,23 @@
1
1
  {
2
2
  "name": "model-manager",
3
- "version": "0.0.31.0",
3
+ "version": "0.0.5",
4
4
  "main": "main.js",
5
- "license": "ISC",
5
+ "license": null,
6
6
  "scripts": {
7
7
  "start": "electron .",
8
8
  "publish": "electron-builder --win --publish always"
9
9
  },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/Mine-North/Mine-North-Model-Tool"
13
+ },
10
14
  "keywords": [],
11
15
  "author": "Tristan H.",
12
16
  "description": "A Tool for managing all model assets of Mine-North.",
13
17
  "dependencies": {
14
- "electron-builder": "17.3.1",
15
- "electron-is-dev": "^2.0.0",
18
+ "electron-json-storage": "^4.5.0",
19
+ "electron-storage": "^1.0.7",
20
+ "electron-store": "^8.0.1",
16
21
  "electron-updater": "^5.0.5",
17
22
  "mongodb": "^4.5.0",
18
23
  "swup": "^2.0.14",
@@ -21,20 +26,20 @@
21
26
  },
22
27
  "devDependencies": {
23
28
  "electron": "^19.0.8",
24
- "electron-github-autoupdater": "^2.0.0",
29
+ "electron-builder": "^23.1.0",
25
30
  "electron-reload": "^2.0.0-alpha.1"
26
31
  },
27
32
  "build": {
28
- "appId": "com.mine-north.model-manager",
33
+ "appId": "model-manager",
29
34
  "productName": "ModelManager",
30
35
  "win": {
31
36
  "publish": [
32
37
  {
33
- "provider": "github",
34
- "private": true,
35
- "owner": "Mine-North",
36
- "repo": "Mine-North-Model-Tool",
37
- "token": "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"
38
+ "provider": "github",
39
+ "private": true,
40
+ "owner": " Mine-North",
41
+ "repo": "Mine-North-Model-Tool",
42
+ "token": "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"
38
43
  }
39
44
  ]
40
45
  }
package/preload.js CHANGED
@@ -16,7 +16,7 @@ contextBridge.exposeInMainWorld(
16
16
  }
17
17
  },
18
18
  receive: (channel, func) => {
19
- let validChannels = ["fromMain", "item_channel", "item_channel2", "data_usage", "renderer", "login_response", "storage_answer", "cart_answer", "start_app", "order_response", "admin_channel"];
19
+ let validChannels = ["fromMain", "item_channel", "item_channel2", "data_usage", "renderer", "login_response", "storage_answer", "cart_answer", "start_app", "order_response"];
20
20
  if (validChannels.includes(channel)) {
21
21
  // Deliberately strip event as it includes `sender`
22
22
  ipcRenderer.on(channel, (event, ...args) => func(...args));
package/update.html ADDED
@@ -0,0 +1,48 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <link rel="preconnect" href="https://fonts.gstatic.com">
5
+ <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;500;600&display=swap" rel="stylesheet">
6
+ <!--Stylesheet-->
7
+ <style media="screen">
8
+ body {
9
+ background: #1a1a1a;
10
+ color: whitesmoke;
11
+ }
12
+ #control {
13
+ -webkit-app-region: drag;
14
+ width: 100%;
15
+ height: 100vh;
16
+ z-index: 99;
17
+ top: 0;
18
+ left: 0;
19
+ position: absolute;
20
+ background: transparent;
21
+ }
22
+ #download {
23
+ position: absolute;
24
+ bottom: 15px;
25
+ width: 80%;
26
+ left: 10%;
27
+ height: 25px;
28
+ }
29
+ #download-label {
30
+ position: absolute;
31
+ top: 10vh;
32
+ width: 97%;
33
+ text-align: center;
34
+ font-size: 48px;
35
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
36
+ font-weight: 300;
37
+ }
38
+ </style>
39
+ </head>
40
+ <body>
41
+
42
+ <div id="control"></div>
43
+ <label for="download" id="download-label"></label>
44
+ <progress id="download" max="100" value="20"></progress>
45
+ <script src="./js/update.js"></script>
46
+ <!-- start_app -> channel to send data -->
47
+ </body>
48
+ </html>
@@ -1,73 +0,0 @@
1
- #body-overlay {
2
- position: fixed;
3
- top: 0;
4
- right: 0;
5
- bottom: 0;
6
- left: 0;
7
- background-color: rgb(24, 24, 24, 0.8);
8
- z-index: 100000;
9
- opacity: 0;
10
- pointer-events: none;
11
- }
12
-
13
- .dialog {
14
- height: 60%;
15
- position: fixed;
16
- left: 50%;
17
- top: 50%;
18
- transform: translate(-50%, -50%);
19
- padding: 10px;
20
- width: 50%;
21
- background-color: #2C2F33;
22
- z-index: 1000001;
23
- opacity: 0;
24
- pointer-events: none;
25
- border-radius: 25px;
26
- }
27
-
28
- #body-overlay.visable, .dialog.visable {
29
- opacity: 1;
30
- pointer-events: auto;
31
- }
32
-
33
- #item-dialog {
34
- width: 45%;
35
- }
36
- .dialog-close-button {
37
- position: absolute;
38
- top: 6px;
39
- right: 8px;
40
- font-size: 32px;
41
- line-height: 32px;
42
- text-decoration: none;
43
- }
44
-
45
- pre {
46
- width: 80%;
47
- height: 80%;
48
- margin-top: 5%;
49
- border-radius: 25px;
50
- margin-left: 10%;
51
- }
52
-
53
- code {
54
- font-size: 20px;
55
- position: relative;
56
- transform: translateX(-50%);
57
- }
58
- @media only screen and (max-width: 1500px) {
59
- code {
60
- font-size: 16px;
61
- position: relative;
62
- transform: translateX(-50%);
63
- }
64
- }
65
-
66
- @media only screen and (min-width: 1501px) {
67
- code {
68
- font-size: 20px;
69
- position: relative;
70
- transform: translateX(-50%);
71
- }
72
- }
73
-
Binary file
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="48" width="48" fill="#ECECEC"><path d="M18.9 35.7 7.7 24.5l2.15-2.15 9.05 9.05 19.2-19.2 2.15 2.15Z"/></svg>
package/js/load_admin.js DELETED
@@ -1,32 +0,0 @@
1
- window.api.send("database_request", "rq_orderdata");
2
-
3
- window.api.receive('admin_channel', function (data, evt) {
4
- var list = document.getElementById("order-listing")
5
- var a = document.createElement('a')
6
- a.id = "finish_order"
7
- var img_in_a = document.createElement('img')
8
- img_in_a.src = "./assets/white/admin/check.svg"
9
- a.appendChild(img_in_a);
10
- var newLI = document.createElement('li')
11
- newLI.id = "order-item"
12
- newLI.dataset.order_id = data[0].order_number
13
- a.dataset.order_id = data[0].order_number
14
- newLI.dataset.item_obj = data[0].orders
15
- newLI.innerHTML = "Ordercode: #" + data[0].order_number + " | Orderer: " + data[0].orderer + " | Items: " + data[0].orders.length
16
- newLI.appendChild(a);
17
- list.appendChild(newLI);
18
- document.querySelectorAll("#finish_order").forEach(function (item) {
19
- item.addEventListener('click', function() {
20
- window.api.send("database_request", "delete_order:" + item.dataset.order_id);
21
- });
22
- });
23
- });
24
-
25
- window.api.receive('renderer', function (data, evt) {
26
- if(data == "stop-spinner") {
27
- document.getElementById("loading").remove();
28
- } else if (data == "reload_side") {
29
-
30
- location.reload()
31
- }
32
- });