-
From 717d6486d2411caea8b6521e0a277e76370f09de Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 8 Oct 2022 19:25:46 -0700
Subject: [PATCH 06/32] Converted wrapper components to ts
---
src/components/wrapper/FileLoader.vue | 70 ++--
.../wrapper/FileLoaderCollection.vue | 354 +++++++++---------
2 files changed, 218 insertions(+), 206 deletions(-)
diff --git a/src/components/wrapper/FileLoader.vue b/src/components/wrapper/FileLoader.vue
index 9a24ad8..05372a5 100644
--- a/src/components/wrapper/FileLoader.vue
+++ b/src/components/wrapper/FileLoader.vue
@@ -13,46 +13,50 @@
-
\ No newline at end of file
diff --git a/src/components/wrapper/FileLoaderCollection.vue b/src/components/wrapper/FileLoaderCollection.vue
index 502474d..8bfaa3e 100644
--- a/src/components/wrapper/FileLoaderCollection.vue
+++ b/src/components/wrapper/FileLoaderCollection.vue
@@ -31,9 +31,10 @@
-
From ed6c2968d8c5ef830dc22a068bf0d34377288ee9 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 8 Oct 2022 19:27:19 -0700
Subject: [PATCH 07/32] Converted more shared components to ts
---
src/components/ACNLQRGenerator.vue | 52 +++----
src/components/Banner.vue | 18 +--
src/components/IconGenerator.vue | 227 +++++++++++++++-------------
src/components/MarkdownPage.vue | 8 +-
src/components/MarkdownStyled.vue | 8 +-
src/components/PreviewGenerator.vue | 80 +++++-----
6 files changed, 209 insertions(+), 184 deletions(-)
diff --git a/src/components/ACNLQRGenerator.vue b/src/components/ACNLQRGenerator.vue
index 2303955..56c9d07 100644
--- a/src/components/ACNLQRGenerator.vue
+++ b/src/components/ACNLQRGenerator.vue
@@ -2,38 +2,36 @@
-
diff --git a/src/components/Banner.vue b/src/components/Banner.vue
index 3a84cb9..549ea7c 100644
--- a/src/components/Banner.vue
+++ b/src/components/Banner.vue
@@ -4,15 +4,15 @@
-
diff --git a/src/components/IconGenerator.vue b/src/components/IconGenerator.vue
index f1796de..61e34c6 100644
--- a/src/components/IconGenerator.vue
+++ b/src/components/IconGenerator.vue
@@ -2,118 +2,143 @@
-
diff --git a/src/components/MarkdownPage.vue b/src/components/MarkdownPage.vue
index adde10d..18022e8 100644
--- a/src/components/MarkdownPage.vue
+++ b/src/components/MarkdownPage.vue
@@ -6,12 +6,14 @@
-
diff --git a/src/components/MarkdownStyled.vue b/src/components/MarkdownStyled.vue
index 5a4c096..2df5134 100644
--- a/src/components/MarkdownStyled.vue
+++ b/src/components/MarkdownStyled.vue
@@ -4,9 +4,11 @@
-
diff --git a/src/components/PreviewGenerator.vue b/src/components/PreviewGenerator.vue
index 9c747cc..a957015 100644
--- a/src/components/PreviewGenerator.vue
+++ b/src/components/PreviewGenerator.vue
@@ -3,51 +3,49 @@
-
From cc54b843a7fe1b710846f7f332453647f9167824 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 8 Oct 2022 19:27:35 -0700
Subject: [PATCH 08/32] Converted About page components to ts
---
src/pages/About/About.vue | 279 ++++++++++++++++++-----------------
src/pages/About/InfoItem.vue | 33 +++--
src/pages/About/Passport.vue | 115 ++++++++-------
3 files changed, 228 insertions(+), 199 deletions(-)
diff --git a/src/pages/About/About.vue b/src/pages/About/About.vue
index de2e113..8490ff5 100644
--- a/src/pages/About/About.vue
+++ b/src/pages/About/About.vue
@@ -23,149 +23,162 @@
-
diff --git a/src/pages/About/InfoItem.vue b/src/pages/About/InfoItem.vue
index fe7014d..f8385b0 100644
--- a/src/pages/About/InfoItem.vue
+++ b/src/pages/About/InfoItem.vue
@@ -21,26 +21,33 @@
-
diff --git a/src/pages/About/Passport.vue b/src/pages/About/Passport.vue
index 958d62d..77030e4 100644
--- a/src/pages/About/Passport.vue
+++ b/src/pages/About/Passport.vue
@@ -73,67 +73,76 @@
-
From 13bdb449e8cce610d58c0c994ca9f0d20ab547b4 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 8 Oct 2022 19:27:59 -0700
Subject: [PATCH 09/32] Converted FAQ page components to ts
---
src/pages/FAQ/FAQ.vue | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/pages/FAQ/FAQ.vue b/src/pages/FAQ/FAQ.vue
index dccf350..89068b4 100644
--- a/src/pages/FAQ/FAQ.vue
+++ b/src/pages/FAQ/FAQ.vue
@@ -5,15 +5,17 @@
-
From 5d4bdbb6d8bb3f98b9330dea6534ca48389d2835 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 8 Oct 2022 19:28:13 -0700
Subject: [PATCH 10/32] Updated DrawingTool interface types
---
src/libs/DrawingTool.js | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/libs/DrawingTool.js b/src/libs/DrawingTool.js
index 43cb2d1..e2a834c 100644
--- a/src/libs/DrawingTool.js
+++ b/src/libs/DrawingTool.js
@@ -154,7 +154,7 @@ function toHex(n){return (n<16?"0":"")+n.toString(16);}
class DrawingTool{
/**
- * @param {string | Uint8Array} data
+ * @param {string | Uint8Array | DrawingTool} data
*/
constructor(data = null){
this.renderTargets = []; //TODO: Should this be a map, perhaps? How do maps work in JS? Can we de-duplicate..?
@@ -282,13 +282,13 @@ class DrawingTool{
get fullHash(){return this.pattern.fullHash();}
/** @type {string} */
get pixelHash(){return this.pattern.pixelHash();}
- /** @type {number} */
+ /** @type {string} The name of the pattern. */
get title(){return this.pattern.title;}
set title(n){this.pattern.title = n;}
- /** @type {string} */
+ /** @type {[string, number]} Creator name and id. */
get creator(){return this.pattern.creator;}
set creator(n){this.pattern.creator = n;}
- /** @type {string} */
+ /** @type {[string, number]} */
get town(){return this.pattern.town;}
set town(n){this.pattern.town = n;}
fixIssues(){this.pattern.fixIssues();}
From 72b4cc88f7d15845d72061def966dde22a60e2f1 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 15 Oct 2022 14:12:18 -0700
Subject: [PATCH 11/32] Converted Passport component to ts
---
src/pages/About/Passport.vue | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/pages/About/Passport.vue b/src/pages/About/Passport.vue
index 77030e4..177686c 100644
--- a/src/pages/About/Passport.vue
+++ b/src/pages/About/Passport.vue
@@ -76,7 +76,7 @@
diff --git a/src/pages/Browse/PatternEntry.vue b/src/pages/Browse/PatternEntry.vue
index e5a5f6a..253c22b 100644
--- a/src/pages/Browse/PatternEntry.vue
+++ b/src/pages/Browse/PatternEntry.vue
@@ -24,24 +24,21 @@
-
From 81bc545d7e4d7aa216bcb7d5c51388495af3b710 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 15 Oct 2022 17:44:32 -0700
Subject: [PATCH 13/32] Converted ConvertImage component to ts
---
.../Editor/ConvertImage/ConvertImage.vue | 194 ++++++++++--------
.../Editor/ConvertImage/Stages/Adjusting.vue | 164 ++++++++-------
.../Editor/ConvertImage/Stages/Cropping.vue | 113 +++++-----
.../ConvertImage/Stages/GridStencil.vue | 1 +
.../Editor/ConvertImage/Stages/Saving.vue | 173 ++++++++--------
.../Editor/ConvertImage/Stages/Uploading.vue | 73 +++----
6 files changed, 387 insertions(+), 331 deletions(-)
diff --git a/src/pages/Editor/ConvertImage/ConvertImage.vue b/src/pages/Editor/ConvertImage/ConvertImage.vue
index e91d895..08a8632 100644
--- a/src/pages/Editor/ConvertImage/ConvertImage.vue
+++ b/src/pages/Editor/ConvertImage/ConvertImage.vue
@@ -106,7 +106,8 @@
-
diff --git a/src/pages/Editor/ConvertImage/Stages/Adjusting.vue b/src/pages/Editor/ConvertImage/Stages/Adjusting.vue
index 2d9798f..396cecb 100644
--- a/src/pages/Editor/ConvertImage/Stages/Adjusting.vue
+++ b/src/pages/Editor/ConvertImage/Stages/Adjusting.vue
@@ -63,9 +63,9 @@
>
@@ -79,9 +79,9 @@
>
@@ -96,9 +96,9 @@
>
@@ -107,10 +107,12 @@
-
diff --git a/src/pages/Editor/ConvertImage/Stages/Cropping.vue b/src/pages/Editor/ConvertImage/Stages/Cropping.vue
index 38b97c3..0af1f41 100644
--- a/src/pages/Editor/ConvertImage/Stages/Cropping.vue
+++ b/src/pages/Editor/ConvertImage/Stages/Cropping.vue
@@ -93,7 +93,8 @@
-
diff --git a/src/pages/Editor/ConvertImage/Stages/GridStencil.vue b/src/pages/Editor/ConvertImage/Stages/GridStencil.vue
index 38c5075..01a6a16 100644
--- a/src/pages/Editor/ConvertImage/Stages/GridStencil.vue
+++ b/src/pages/Editor/ConvertImage/Stages/GridStencil.vue
@@ -59,6 +59,7 @@
diff --git a/src/pages/Editor/ConvertImage/Stages/Uploading.vue b/src/pages/Editor/ConvertImage/Stages/Uploading.vue
index 8309aae..1b78106 100644
--- a/src/pages/Editor/ConvertImage/Stages/Uploading.vue
+++ b/src/pages/Editor/ConvertImage/Stages/Uploading.vue
@@ -22,7 +22,8 @@
-
\ No newline at end of file
From 30aa4379f8d54a899496c0ed9c79c7c7dc3e37ec Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Tue, 25 Oct 2022 23:38:55 -0700
Subject: [PATCH 14/32] Converted Editor's ColorTools components to ts
---
src/libs/ACNHFormat.js | 14 +
src/libs/DrawingTool.js | 20 +-
.../Editor/ColorTools/ACNHColorPicker.vue | 261 +++++++++---------
.../Editor/ColorTools/ACNLColorPicker.vue | 90 +++---
src/pages/Editor/ColorTools/ColorTools.vue | 113 ++++----
src/pages/Editor/ColorTools/Palette.vue | 95 +++----
6 files changed, 311 insertions(+), 282 deletions(-)
diff --git a/src/libs/ACNHFormat.js b/src/libs/ACNHFormat.js
index 7c8be96..876af75 100644
--- a/src/libs/ACNHFormat.js
+++ b/src/libs/ACNHFormat.js
@@ -351,6 +351,13 @@ class ACNHFormat{
static bytesForType(t){
return ACNHFormat.texWidthForType(t) > 32 ? 2216 : 680;
}
+ /**
+ * Converts slider positions to a css 6 digit hex color.
+ * @param {number} hIn
+ * @param {number} sIn
+ * @param {number} vIn
+ * @returns {string}
+ */
static slidersToColor(hIn, sIn, vIn){
const s = Sinc*sIn/100.0;
const v = (Vstart+Vinc*vIn)/100.0;
@@ -379,6 +386,13 @@ class ACNHFormat{
while(hex.length<6) hex = '0'+hex;
return `#${hex.toUpperCase()}`;
}
+ /**
+ * Converts a css 6 digit hex color or numeric rgb values to slider positions.
+ * @param {string | number} r A css 6 digit hex color or numeric red rgb value.
+ * @param {number} g Numeric green rgb value.
+ * @param {number} b Numeric blue rgb value.
+ * @returns {[number, number, number]} Red, green, blue values.
+ */
static colorToSliders(r,g,b){
if (typeof r == "string" && r.length == 7 && r.substr(0, 1) == '#'){r = r.substr(1);}
if (typeof r == "string" && r.length == 6){
diff --git a/src/libs/DrawingTool.js b/src/libs/DrawingTool.js
index e2a834c..e5d52b7 100644
--- a/src/libs/DrawingTool.js
+++ b/src/libs/DrawingTool.js
@@ -560,7 +560,11 @@ class DrawingTool{
this.render();
}
- /// Returns the HTML color of the given palette index
+ /**
+ * Gets the css 6 digit hex color of the palette color at the index.
+ * @param {number} idx 0 - 14 only, #15 is the transparent ref
+ * @returns {string}
+ */
getPalette(idx){
if (idx < 0 || idx > 14){return "";}//abort for invalid indexes
if (this.pattern instanceof ACNHFormat){
@@ -815,9 +819,12 @@ class DrawingTool{
}
}
- /// When called with a function as parameter, adds an event handler for color changes.
- /// When called without parameter (or with null), calls all onColorChange event handlers in sequence.
- /// Called automatically whenever colors in the palette change, or a new pattern is loaded.
+ /**
+ * When called with a function as parameter, adds an event handler for color changes.
+ * When called without parameter (or with null), calls all onColorChange event handlers in sequence.
+ * Called automatically whenever colors in the palette change, or a new pattern is loaded.
+ * @param {null | Function} f
+ */
onColorChange(f = null){
if (f === null){
for (let i in this.handleColorChange){
@@ -828,7 +835,10 @@ class DrawingTool{
}
}
- // removes a handler
+ /**
+ * Removes a handler.
+ * @param {null | Function} f
+ */
onColorChangeRemove(f = null) {
if ((typeof f) === "function") {
const idx = this.handleColorChange.indexOf(f);
diff --git a/src/pages/Editor/ColorTools/ACNHColorPicker.vue b/src/pages/Editor/ColorTools/ACNHColorPicker.vue
index e3afec9..67b6641 100644
--- a/src/pages/Editor/ColorTools/ACNHColorPicker.vue
+++ b/src/pages/Editor/ColorTools/ACNHColorPicker.vue
@@ -174,7 +174,8 @@
-
diff --git a/src/pages/Editor/ColorTools/ACNLColorPicker.vue b/src/pages/Editor/ColorTools/ACNLColorPicker.vue
index 7f5d1d2..200aa00 100644
--- a/src/pages/Editor/ColorTools/ACNLColorPicker.vue
+++ b/src/pages/Editor/ColorTools/ACNLColorPicker.vue
@@ -43,56 +43,58 @@
-
diff --git a/src/pages/Editor/ColorTools/ColorTools.vue b/src/pages/Editor/ColorTools/ColorTools.vue
index 9ac748e..7e3aad4 100644
--- a/src/pages/Editor/ColorTools/ColorTools.vue
+++ b/src/pages/Editor/ColorTools/ColorTools.vue
@@ -62,7 +62,8 @@
-
diff --git a/src/pages/Editor/ColorTools/Palette.vue b/src/pages/Editor/ColorTools/Palette.vue
index bcc5057..1b35705 100644
--- a/src/pages/Editor/ColorTools/Palette.vue
+++ b/src/pages/Editor/ColorTools/Palette.vue
@@ -44,67 +44,68 @@
-
From 8cd1bf282e224c46145c91af3a82b90fa7e226ba Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Tue, 22 Nov 2022 23:13:31 -0800
Subject: [PATCH 15/32] Converted App component to ts
---
src/App.vue | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/App.vue b/src/App.vue
index 57a2836..514f747 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -10,7 +10,8 @@
-
From f50978bb6bc23a20aef4db8dad0f7d0d73e904e3 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Tue, 22 Nov 2022 23:14:04 -0800
Subject: [PATCH 16/32] Converted Missing component to ts
---
src/pages/Missing.vue | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/pages/Missing.vue b/src/pages/Missing.vue
index a8b452f..5c6b6a4 100644
--- a/src/pages/Missing.vue
+++ b/src/pages/Missing.vue
@@ -3,9 +3,11 @@
-
From 67954c21d35d8d9552197a27a3b82043566a7f25 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Tue, 22 Nov 2022 23:14:59 -0800
Subject: [PATCH 17/32] Converted Home component to ts
---
src/pages/Home.vue | 42 ++++++++++++++++++++++--------------------
1 file changed, 22 insertions(+), 20 deletions(-)
diff --git a/src/pages/Home.vue b/src/pages/Home.vue
index d65f99e..7c5f062 100644
--- a/src/pages/Home.vue
+++ b/src/pages/Home.vue
@@ -98,7 +98,9 @@
-
From 9257700bba5d8797672692fa59add929eba3c345 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Tue, 22 Nov 2022 23:17:00 -0800
Subject: [PATCH 18/32] Converted ImportMenuItem component to ts
---
src/pages/Editor/ImportMenuItem.vue | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/src/pages/Editor/ImportMenuItem.vue b/src/pages/Editor/ImportMenuItem.vue
index 49db633..1fe2656 100644
--- a/src/pages/Editor/ImportMenuItem.vue
+++ b/src/pages/Editor/ImportMenuItem.vue
@@ -46,26 +46,34 @@
-
From 3f514a18b146fafe0658789d8053de8b5bc4a3d8 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 7 Jan 2023 18:02:31 -0800
Subject: [PATCH 19/32] Converted Updates page components to ts
---
src/pages/Updates/Updates.vue | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/pages/Updates/Updates.vue b/src/pages/Updates/Updates.vue
index f5bd3f5..4812be3 100644
--- a/src/pages/Updates/Updates.vue
+++ b/src/pages/Updates/Updates.vue
@@ -5,15 +5,17 @@
-
\ No newline at end of file
From 2d1171981bbdff45447cd741260422faebfa39d4 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 7 Jan 2023 18:03:42 -0800
Subject: [PATCH 20/32] Converted Moderator page components to ts
---
src/pages/moderator/Dashboard.vue | 141 ++++++++++++++++++++----------
src/pages/moderator/Index.vue | 62 ++++++++-----
src/pages/moderator/Login.vue | 133 ++++++++++++++++++----------
3 files changed, 218 insertions(+), 118 deletions(-)
diff --git a/src/pages/moderator/Dashboard.vue b/src/pages/moderator/Dashboard.vue
index 740bb37..57eefb3 100644
--- a/src/pages/moderator/Dashboard.vue
+++ b/src/pages/moderator/Dashboard.vue
@@ -26,8 +26,8 @@
by {{ opt.author }}
@@ -148,65 +148,115 @@
-
diff --git a/src/pages/moderator/Index.vue b/src/pages/moderator/Index.vue
index 48fb3a7..bffa658 100644
--- a/src/pages/moderator/Index.vue
+++ b/src/pages/moderator/Index.vue
@@ -2,35 +2,49 @@
-
diff --git a/src/pages/moderator/Login.vue b/src/pages/moderator/Login.vue
index 8c9136d..de77f08 100644
--- a/src/pages/moderator/Login.vue
+++ b/src/pages/moderator/Login.vue
@@ -46,59 +46,96 @@
-
From 5913d335ca08e144e428a79bb409f173a427652e Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 7 Jan 2023 21:45:17 -0800
Subject: [PATCH 21/32] Converted IconRibbonTailLeft copmonent to ts
---
src/components/icons/IconRibbonTailLeft.vue | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/components/icons/IconRibbonTailLeft.vue b/src/components/icons/IconRibbonTailLeft.vue
index ae1ee03..dc7dba7 100644
--- a/src/components/icons/IconRibbonTailLeft.vue
+++ b/src/components/icons/IconRibbonTailLeft.vue
@@ -19,9 +19,13 @@
-
From 0609f864b5b08c14cf134f9e5c18249fb7febf73 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 7 Jan 2023 21:45:40 -0800
Subject: [PATCH 22/32] Converted Banner component to ts
---
src/components/positioned/Banner.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/positioned/Banner.vue b/src/components/positioned/Banner.vue
index e039138..17043e6 100644
--- a/src/components/positioned/Banner.vue
+++ b/src/components/positioned/Banner.vue
@@ -7,7 +7,7 @@
-
From f2082bafcd0c7da104bd5ab87286d6322d52e616 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 7 Jan 2023 23:43:07 -0800
Subject: [PATCH 25/32] Converted Preview component to ts
---
src/pages/Editor/PatternSettings.vue | 199 ++++++++++++++++-----------
src/pages/Editor/Preview.vue | 93 ++++++++-----
2 files changed, 177 insertions(+), 115 deletions(-)
diff --git a/src/pages/Editor/PatternSettings.vue b/src/pages/Editor/PatternSettings.vue
index b903d4f..198f8d2 100644
--- a/src/pages/Editor/PatternSettings.vue
+++ b/src/pages/Editor/PatternSettings.vue
@@ -124,7 +124,8 @@
-
diff --git a/src/pages/Editor/Preview.vue b/src/pages/Editor/Preview.vue
index 2519d27..463345e 100644
--- a/src/pages/Editor/Preview.vue
+++ b/src/pages/Editor/Preview.vue
@@ -71,7 +71,9 @@
-
From 516428a597dae1ea9b46aa0a1caa0b8596fc3246 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 7 Jan 2023 23:43:38 -0800
Subject: [PATCH 26/32] Converted Storage component to ts
---
src/pages/Editor/Storage.vue | 297 ++++++++++++++++++-----------------
1 file changed, 150 insertions(+), 147 deletions(-)
diff --git a/src/pages/Editor/Storage.vue b/src/pages/Editor/Storage.vue
index 7305c21..3640ece 100644
--- a/src/pages/Editor/Storage.vue
+++ b/src/pages/Editor/Storage.vue
@@ -10,14 +10,13 @@
-
From 2972441b7403f930023dbfb9ad24ef04044c4378 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 7 Jan 2023 23:45:20 -0800
Subject: [PATCH 28/32] Converted ThreeDRender component to ts
- removed optimize three plugin b/c it's
incompatible with type
- updated files affected by plugin removal
---
config/webpack.config.js | 2 -
package-lock.json | 30 +-
package.json | 5 +-
src/components/ThreeDRender.vue | 475 ++++++++++++++++++--------------
src/libs/Preview3D.js | 2 +-
5 files changed, 276 insertions(+), 238 deletions(-)
diff --git a/config/webpack.config.js b/config/webpack.config.js
index df49944..ad84b31 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -8,7 +8,6 @@ const VueLoaderPlugin = require('vue-loader/lib/plugin');
const { VuetifyLoaderPlugin } = require('vuetify-loader');
const TerserPlugin = require('terser-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
-const OptimizeThreePlugin = require('@vxna/optimize-three-webpack-plugin');
const env = require('../etc/env'); // assume already loaded, checked
const {
pathToClientSrc,
@@ -264,7 +263,6 @@ const htmlWebpackOptions = {
const plugins = [
new VueLoaderPlugin(),
new VuetifyLoaderPlugin(),
- new OptimizeThreePlugin(),
new webpack.DefinePlugin({ "env": JSON.stringify(clientEnv) }),
];
diff --git a/package-lock.json b/package-lock.json
index 7784eba..180334f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,9 +16,8 @@
"@types/lodash": "^4.14.178",
"@types/lz-string": "^1.3.34",
"@types/papaparse": "^5.3.1",
- "@types/three": "^0.137.0",
+ "@types/three": "0.137.0",
"@types/uuid": "^8.3.4",
- "@vxna/optimize-three-webpack-plugin": "^5.1.3",
"@zxing/library": "^0.17.1",
"axios": "^0.24.0",
"copy-webpack-plugin": "^11.0.0",
@@ -42,7 +41,7 @@
"stream": "^0.0.2",
"swc-loader": "^0.1.15",
"terser-webpack-plugin": "^5.2.5",
- "three": "^0.135.0",
+ "three": "0.137.0",
"uuid": "^8.3.2",
"vue": "^2.6.14",
"vue-advanced-cropper": "^1.9.0",
@@ -1028,14 +1027,6 @@
"prettier": "^1.18.2 || ^2.0.0"
}
},
- "node_modules/@vxna/optimize-three-webpack-plugin": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/@vxna/optimize-three-webpack-plugin/-/optimize-three-webpack-plugin-5.1.3.tgz",
- "integrity": "sha512-mPTJd5o+fSRb50dF1pSh4+K7iA0gFNyUSn9FdjYzch++axtq4LjlSDc8DYGFziebbpY3NRzvlF7iPRStjLv5fw==",
- "engines": {
- "node": ">=14"
- }
- },
"node_modules/@webassemblyjs/ast": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
@@ -6889,9 +6880,9 @@
}
},
"node_modules/three": {
- "version": "0.135.0",
- "resolved": "https://registry.npmjs.org/three/-/three-0.135.0.tgz",
- "integrity": "sha512-kuEpuuxRzLv0MDsXai9huCxOSQPZ4vje6y0gn80SRmQvgz6/+rI0NAvCRAw56zYaWKMGMfqKWsxF9Qa2Z9xymQ=="
+ "version": "0.137.0",
+ "resolved": "https://registry.npmjs.org/three/-/three-0.137.0.tgz",
+ "integrity": "sha512-rzSDhia6cU35UCy6y+zEEws6vSgytfHqFMSaBvUcySgzwvDO6vETyswtSNi/+aVqJw8WLMwyT1mlQQ1T/dxxOA=="
},
"node_modules/through2": {
"version": "4.0.2",
@@ -8867,11 +8858,6 @@
"vue-template-es2015-compiler": "^1.9.0"
}
},
- "@vxna/optimize-three-webpack-plugin": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/@vxna/optimize-three-webpack-plugin/-/optimize-three-webpack-plugin-5.1.3.tgz",
- "integrity": "sha512-mPTJd5o+fSRb50dF1pSh4+K7iA0gFNyUSn9FdjYzch++axtq4LjlSDc8DYGFziebbpY3NRzvlF7iPRStjLv5fw=="
- },
"@webassemblyjs/ast": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
@@ -13302,9 +13288,9 @@
}
},
"three": {
- "version": "0.135.0",
- "resolved": "https://registry.npmjs.org/three/-/three-0.135.0.tgz",
- "integrity": "sha512-kuEpuuxRzLv0MDsXai9huCxOSQPZ4vje6y0gn80SRmQvgz6/+rI0NAvCRAw56zYaWKMGMfqKWsxF9Qa2Z9xymQ=="
+ "version": "0.137.0",
+ "resolved": "https://registry.npmjs.org/three/-/three-0.137.0.tgz",
+ "integrity": "sha512-rzSDhia6cU35UCy6y+zEEws6vSgytfHqFMSaBvUcySgzwvDO6vETyswtSNi/+aVqJw8WLMwyT1mlQQ1T/dxxOA=="
},
"through2": {
"version": "4.0.2",
diff --git a/package.json b/package.json
index aef18ac..dfa986d 100644
--- a/package.json
+++ b/package.json
@@ -26,9 +26,8 @@
"@types/lodash": "^4.14.178",
"@types/lz-string": "^1.3.34",
"@types/papaparse": "^5.3.1",
- "@types/three": "^0.137.0",
+ "@types/three": "0.137.0",
"@types/uuid": "^8.3.4",
- "@vxna/optimize-three-webpack-plugin": "^5.1.3",
"@zxing/library": "^0.17.1",
"axios": "^0.24.0",
"copy-webpack-plugin": "^11.0.0",
@@ -52,7 +51,7 @@
"stream": "^0.0.2",
"swc-loader": "^0.1.15",
"terser-webpack-plugin": "^5.2.5",
- "three": "^0.135.0",
+ "three": "0.137.0",
"uuid": "^8.3.2",
"vue": "^2.6.14",
"vue-advanced-cropper": "^1.9.0",
diff --git a/src/components/ThreeDRender.vue b/src/components/ThreeDRender.vue
index 57dff1c..236f1dd 100644
--- a/src/components/ThreeDRender.vue
+++ b/src/components/ThreeDRender.vue
@@ -8,7 +8,7 @@
/>
-
diff --git a/src/libs/Preview3D.js b/src/libs/Preview3D.js
index 6189410..bb97edf 100644
--- a/src/libs/Preview3D.js
+++ b/src/libs/Preview3D.js
@@ -22,7 +22,7 @@ import {
TextureLoader,
Vector3,
} from "three";
-import { GLTFLoader } from '@three/loaders/GLTFLoader';
+import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
//Global canvas and renderer
let threeCanvas = document.createElement("canvas");
From 64eaa58c7d98167b2af4460d004ed6ca1a0cef82 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 17 Jun 2023 17:47:28 -0700
Subject: [PATCH 29/32] Update package-lock
---
package-lock.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package-lock.json b/package-lock.json
index 8086493..20214b3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,7 +6,7 @@
"packages": {
"": {
"name": "ac-pattern-tool",
- "version": "1.3.0",
+ "version": "1.4.0",
"license": "WTFPL",
"dependencies": {
"@juggle/resize-observer": "^3.2.0",
From 0447681149b69e18279ec11310eaf5e154229c24 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sat, 17 Jun 2023 17:47:57 -0700
Subject: [PATCH 30/32] Add container configs
---
.dockerignore | 3 +++
Dockerfile | 8 ++++++++
2 files changed, 11 insertions(+)
create mode 100644 .dockerignore
create mode 100644 Dockerfile
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..5570e00
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,3 @@
+build
+node_modules
+stats
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..a349f86
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,8 @@
+FROM node:16-alpine
+WORKDIR /app
+COPY . .
+ENV DEV_HOST=0.0.0.0
+ENV DEV_PORT=3000
+EXPOSE 3000
+RUN npm install
+CMD ["npm", "run", "dev"]
\ No newline at end of file
From 03213ae6f45f5a6ba1dd8ccae67e5e9c925d6f64 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sun, 18 Jun 2023 04:18:44 -0700
Subject: [PATCH 31/32] Debounced auto search browse options
---
src/pages/Browse/Browse.vue | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/pages/Browse/Browse.vue b/src/pages/Browse/Browse.vue
index 2c7debf..e2830d8 100644
--- a/src/pages/Browse/Browse.vue
+++ b/src/pages/Browse/Browse.vue
@@ -4,14 +4,13 @@
- mdi-cached
- mdi-magnify
+ mdi-magnify
@@ -26,7 +25,7 @@
:items="typeOptsList[i]"
outlined
hide-details
- @keyup.enter.prevent="onSearch"
+ @input="onSearchDebounced"
:menu-props="{
'content-class': 'browse-tag--menu',
}"
@@ -42,7 +41,7 @@
:items="styleOptsList[i]"
outlined
hide-details
- @keyup.enter.prevent="onSearch"
+ @input="onSearchDebounced"
:menu-props="{
'content-class': 'browse-tag--menu',
}"
@@ -54,7 +53,7 @@
import qs from "qs";
+import { debounce } from "lodash";
import {
Sorting,
StyleTag,
@@ -481,6 +481,8 @@ export default class Browse extends Vue {
this.nextOptions.titleFilter = this.nextOptions.titleFilter || "";
this.updateRoute(this.nextOptions, 0);
}
+
+ public onSearchDebounced = debounce(this.onSearch, 200);
};
From dafc02835b7d3c9182195cdfffd357e87a7878b8 Mon Sep 17 00:00:00 2001
From: Viet <26016342+DamSenViet@users.noreply.github.com>
Date: Sun, 18 Jun 2023 04:24:37 -0700
Subject: [PATCH 32/32] Fix standee modal loading race condition
---
src/components/ThreeDRender.vue | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/components/ThreeDRender.vue b/src/components/ThreeDRender.vue
index 236f1dd..5c8b455 100644
--- a/src/components/ThreeDRender.vue
+++ b/src/components/ThreeDRender.vue
@@ -154,8 +154,10 @@ export default class ThreeDRender extends Vue {
this.cleanUp();
//Get new model properties
const modelType = typeInfoToModelType.get(this.drawingTool.typeInfo);
- if (modelType === ModelType.Standee)
+ if (modelType === ModelType.Standee) {
+ this.loading = false;
return;
+ }
const modelUrlData = typeInfoToModelUrlData.get(this.drawingTool.typeInfo) as ModelUrlData;
const modelOffset = { x: 0, y: -6, z: 0, rough: 1.5 };
(this.controls as OrbitControls).maxZoom = 2.0;