From 25501147ae1b345d19405a7ebd97914f74c97726 Mon Sep 17 00:00:00 2001
From: JustTemmie <47639983+JustTemmie@users.noreply.github.com>
Date: Sat, 19 Jul 2025 23:39:16 +0200
Subject: [PATCH 1/5] chore: remove old icon generation
---
utils/generateDefaultIcon.ts | 38 ---------------------------
utils/isCanvasBlocked.ts | 50 ------------------------------------
2 files changed, 88 deletions(-)
delete mode 100644 utils/generateDefaultIcon.ts
delete mode 100644 utils/isCanvasBlocked.ts
diff --git a/utils/generateDefaultIcon.ts b/utils/generateDefaultIcon.ts
deleted file mode 100644
index 1cc8d43..0000000
--- a/utils/generateDefaultIcon.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-export default (name: string, seed: string): string => {
- const canvas = document.createElement("canvas");
- const ctx = canvas.getContext("2d");
- if (canvas && ctx) {
- canvas.width = 256;
- canvas.height = 256;
-
- // get the first char from every word in the guild name
- let previewName = "";
- if (name.length > 3) {
- let guildName: string[] = name.split(' ')
- for (let i = 0; i < 3; i ++) {
- if (guildName.length > i) {
- previewName += guildName[i].charAt(0)
- } else {
- break
- }
- }
- } else {
- previewName = name
- }
-
- // fill background using seeded colour
- ctx.fillStyle = generateIrcColor(seed, 50)
- ctx.fillRect(0, 0, 256, 256)
-
- ctx.fillStyle = 'white'
- ctx.textAlign = 'center'
- ctx.textBaseline = 'middle'
- ctx.font = `bold 96px Arial, Helvetica, sans-serif`
- // 136 isn't actually centered, but it *looks* centered
- ctx.fillText(previewName, 128, 136)
-
- return canvas.toDataURL("image/png");
- }
-
- return "https://tenor.com/view/dame-da-ne-guy-kiryukazuma-kiryu-yakuza-yakuza-0-gif-14355451116903905918"
-}
\ No newline at end of file
diff --git a/utils/isCanvasBlocked.ts b/utils/isCanvasBlocked.ts
deleted file mode 100644
index 3bd191e..0000000
--- a/utils/isCanvasBlocked.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// Canvas Blocker &
-// Firefox privacy.resistFingerprinting Detector.
-// (c) 2018 // JOHN OZBAY // CRYPT.EE
-// MIT License
-//
-export default () => {
- // create a 1px image data
- var blocked = false;
- var canvas = document.createElement("canvas");
- var ctx = canvas.getContext("2d");
-
- // some blockers just return an undefined ctx. So let's check that first.
- if (ctx) {
- var imageData = ctx.createImageData(1,1);
- var originalImageData = imageData.data;
-
- // set pixels to RGB 128
- originalImageData[0]=128;
- originalImageData[1]=128;
- originalImageData[2]=128;
- originalImageData[3]=255;
-
- // set this to canvas
- ctx.putImageData(imageData,1,1);
-
- try {
- // now get the data back from canvas.
- var checkData = ctx.getImageData(1, 1, 1, 1).data;
-
- // If this is firefox, and privacy.resistFingerprinting is enabled,
- // OR a browser extension blocking the canvas,
- // This will return RGB all white (255,255,255) instead of the (128,128,128) we put.
-
- // so let's check the R and G to see if they're 255 or 128 (matching what we've initially set)
- if (originalImageData[0] !== checkData[0] && originalImageData[1] !== checkData[1]) {
- blocked = true;
- console.log("Canvas is blocked. Will display warning.");
- }
- } catch (error) {
- // some extensions will return getImageData null. this is to account for that.
- blocked = true;
- console.log("Canvas is blocked. Will display warning.");
- }
- } else {
- blocked = true;
- console.log("Canvas is blocked. Will display warning.");
- }
- return blocked;
-}
\ No newline at end of file
From ed38340249f77bc44f5670c05e942973ab907f8c Mon Sep 17 00:00:00 2001
From: JustTemmie <47639983+JustTemmie@users.noreply.github.com>
Date: Sat, 19 Jul 2025 23:39:39 +0200
Subject: [PATCH 2/5] feat: implement new guild icons
---
components/Avatar.vue | 9 +++-----
components/DefaultIcon.vue | 45 ++++++++++++++++++++++++++++++++++++++
layouts/client.vue | 19 ++++++++--------
3 files changed, 57 insertions(+), 16 deletions(-)
create mode 100644 components/DefaultIcon.vue
diff --git a/components/Avatar.vue b/components/Avatar.vue
index ddfe1dc..eafd81b 100644
--- a/components/Avatar.vue
+++ b/components/Avatar.vue
@@ -3,8 +3,9 @@
class="display-avatar"
:src="displayAvatar"
:alt="displayName" />
-