From 50ea2225a613922a58c294888a47a00303f1d410 Mon Sep 17 00:00:00 2001 From: bingus_violet Date: Sat, 29 Jun 2024 16:08:25 -0500 Subject: [PATCH 1/8] Optimize slightly by removing js file --- randomThemer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/randomThemer.js b/randomThemer.js index d701aac..d81a231 100644 --- a/randomThemer.js +++ b/randomThemer.js @@ -114,7 +114,7 @@ function purpleMagic() { } function code() { - return ' ' + return '' // ' } var events = [ From dcf99afbe6058fb0a9a7c1952b44670b3474ebc0 Mon Sep 17 00:00:00 2001 From: bingus_violet Date: Sat, 29 Jun 2024 16:13:49 -0500 Subject: [PATCH 2/8] Spin Counter fixes --- pageUpdater.js | 4 +--- static/main.js | 3 ++- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pageUpdater.js b/pageUpdater.js index 1e6a7a6..b29d104 100644 --- a/pageUpdater.js +++ b/pageUpdater.js @@ -15,8 +15,6 @@ var highlightedWords = constants.highlightedWords var quotes = constants.quotes var titles = constants.titles -var globalSpins = 0 - var commitCount = "600+" var uptime = Date.now() @@ -267,7 +265,7 @@ function converter(html, dynamic = true) { var realtimeReplacers = { "API_CONNECTED": api.connected.toString(), "ACTIVITIES": activityToHTML.activitiesToHTML(api.lanyard), - "SPINCOUNT": globalSpins, + "SPINCOUNT": api.spins.toString(), "UPTIME": timeFormatter((Date.now() - uptime) / 1000), "LAST_LANYARD": timeFormatter((Date.now() - api.lastLanyardUpdate) / 1000), "RANDOM_TITLE": titles[Math.floor(Math.random() * titles.length)], diff --git a/static/main.js b/static/main.js index 9b1708f..7fa6466 100644 --- a/static/main.js +++ b/static/main.js @@ -78,7 +78,8 @@ function spinLoop() { } spins += 1/spinSpeed / spinFactor if (Math.floor(spins) != lastSent && sock && sock.OPEN) { - $(".globalSpins").innerHTML = globalSpins + 1 + console.log("RAH") + $(".globalSpins").text(globalSpins + 1) lastSent = Math.floor(spins) // resetPFP() sock.send(`{"op": 4}`) From 498c7ae1d9ca20ce5ba4d10734caf5df530db3a7 Mon Sep 17 00:00:00 2001 From: bingus_violet Date: Sat, 29 Jun 2024 16:19:02 -0500 Subject: [PATCH 3/8] git commit count properly --- package-lock.json | 308 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + pageUpdater.js | 11 +- 3 files changed, 316 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9522d31..86c401b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@node-minify/core": "^8.0.6", "@node-minify/uglify-js": "^8.0.6", "express": "^4.18.2", + "git-commit-count": "^1.1.3", "glob": "^10.4.2", "himalaya": "^1.1.0", "minify-html": "^0.0.2", @@ -431,6 +432,84 @@ "node": ">= 0.6" } }, + "node_modules/execa": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.6.3.tgz", + "integrity": "sha512-/teX3MDLFBdYUhRk8WCBYboIMUmqeizu0m9Z3YF3JWrbEh/SlZg00vLJSaAGWw3wrZ9tE0buNw79eaAPYhUuvg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/execa/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/express": { "version": "4.19.2", "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", @@ -553,6 +632,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/git-commit-count": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/git-commit-count/-/git-commit-count-1.1.3.tgz", + "integrity": "sha512-w8BUANhsOvvEYUFmTBLL5vsSIwJ4/gnWouumdH1hljr9dTYoNGF80cyb5Dag22PF+v0yQSCBuQ24iMYs/gzrZQ==", + "license": "MIT", + "dependencies": { + "execa": "^0.6.1", + "is-git-repository": "^1.0.1", + "path-is-absolute": "^1.0.1" + } + }, "node_modules/glob": { "version": "10.4.2", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", @@ -700,6 +799,25 @@ "node": ">=8" } }, + "node_modules/is-git-repository": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-git-repository/-/is-git-repository-1.1.1.tgz", + "integrity": "sha512-hxLpJytJnIZ5Og5QsxSkzmb8Qx8rGau9bio1JN/QtXcGEFuSsQYau0IiqlsCwftsfVYjF1mOq6uLdmwNSspgpA==", + "license": "MIT", + "dependencies": { + "execa": "^0.6.1", + "path-is-absolute": "^1.0.1" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -853,6 +971,27 @@ "node": ">= 0.6" } }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -872,6 +1011,15 @@ "node": ">= 0.8" } }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/package-json-from-dist": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", @@ -886,6 +1034,15 @@ "node": ">= 0.8" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -928,6 +1085,12 @@ "node": ">= 0.10" } }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "license": "ISC" + }, "node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -1213,6 +1376,15 @@ "node": ">=8" } }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", @@ -1433,6 +1605,12 @@ } } }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "license": "ISC" + }, "node_modules/youtubei.js": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/youtubei.js/-/youtubei.js-9.0.2.tgz", @@ -1733,6 +1911,67 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, + "execa": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.6.3.tgz", + "integrity": "sha512-/teX3MDLFBdYUhRk8WCBYboIMUmqeizu0m9Z3YF3JWrbEh/SlZg00vLJSaAGWw3wrZ9tE0buNw79eaAPYhUuvg==", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "express": { "version": "4.19.2", "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", @@ -1826,6 +2065,21 @@ "hasown": "^2.0.0" } }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" + }, + "git-commit-count": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/git-commit-count/-/git-commit-count-1.1.3.tgz", + "integrity": "sha512-w8BUANhsOvvEYUFmTBLL5vsSIwJ4/gnWouumdH1hljr9dTYoNGF80cyb5Dag22PF+v0yQSCBuQ24iMYs/gzrZQ==", + "requires": { + "execa": "^0.6.1", + "is-git-repository": "^1.0.1", + "path-is-absolute": "^1.0.1" + } + }, "glob": { "version": "10.4.2", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", @@ -1921,6 +2175,20 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, + "is-git-repository": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-git-repository/-/is-git-repository-1.1.1.tgz", + "integrity": "sha512-hxLpJytJnIZ5Og5QsxSkzmb8Qx8rGau9bio1JN/QtXcGEFuSsQYau0IiqlsCwftsfVYjF1mOq6uLdmwNSspgpA==", + "requires": { + "execa": "^0.6.1", + "path-is-absolute": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2018,6 +2286,21 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" + } + } + }, "object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -2031,6 +2314,11 @@ "ee-first": "1.1.1" } }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + }, "package-json-from-dist": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", @@ -2041,6 +2329,11 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -2069,6 +2362,11 @@ "ipaddr.js": "1.9.1" } }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, "qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -2261,6 +2559,11 @@ } } }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" + }, "toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", @@ -2396,6 +2699,11 @@ "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "requires": {} }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + }, "youtubei.js": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/youtubei.js/-/youtubei.js-9.0.2.tgz", diff --git a/package.json b/package.json index 887168d..023cbff 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@node-minify/core": "^8.0.6", "@node-minify/uglify-js": "^8.0.6", "express": "^4.18.2", + "git-commit-count": "^1.1.3", "glob": "^10.4.2", "himalaya": "^1.1.0", "minify-html": "^0.0.2", diff --git a/pageUpdater.js b/pageUpdater.js index b29d104..d0b2505 100644 --- a/pageUpdater.js +++ b/pageUpdater.js @@ -7,7 +7,8 @@ const path = require('path'), randomThemer = require("./randomThemer.js"), himalaya = require("himalaya"), glob = require("glob"), - api = require("./api.js") + api = require("./api.js"), + gitCommitCount = require("git-commit-count") var constants = JSON.parse(fs.readFileSync(path.join(__dirname, 'constants.json'))) @@ -369,10 +370,12 @@ module.exports = { } async function updateCommits() { - var siteResponse = await (await fetch(`https://git.violets-purgatory.dev/bingus_violet/violets-purgatory/src/branch/${process.env.BRANCH || "origin"}`)).text() - var commits = siteResponse.substring(0, siteResponse.indexOf("Commits")) + var commits = gitCommitCount() - commits = commits.substring(commits.lastIndexOf("") + 3, commits.lastIndexOf("")) + // var siteResponse = await (await fetch(`https://git.violets-purgatory.dev/bingus_violet/violets-purgatory/src/branch/${process.env.BRANCH || "origin"}`)).text() + // var commits = siteResponse.substring(0, siteResponse.indexOf("Commits")) + + // commits = commits.substring(commits.lastIndexOf("") + 3, commits.lastIndexOf("")) // ^ this works for Forgejo (basically everything i use that isnt Github, E.G. Codeberg) // commits = commits.substring(commits.lastIndexOf(">") + 1) From 97c2fc6c9f60a1a4c3c6cddb11bfdd1b3e1392a2 Mon Sep 17 00:00:00 2001 From: bingus_violet Date: Sat, 29 Jun 2024 17:34:54 -0500 Subject: [PATCH 4/8] New activity UI --- index.js | 14 ++-- overcomplicatedStatuses.js | 132 +++++++++++++------------------------ static/main.js | 42 +++++++++++- static/style.css | 5 +- 4 files changed, 95 insertions(+), 98 deletions(-) diff --git a/index.js b/index.js index df08653..50569ee 100644 --- a/index.js +++ b/index.js @@ -52,10 +52,10 @@ if (!fs.existsSync(path.join(cachePath, "emojis"))) { app.use(pageUpdater.middleWare) -process.on('uncaughtException', (err, origin) => { - fs.writeSync( - process.stderr.fd, - `Caught exception: ${err}\n` + - `Exception origin: ${origin}`, - ); - }); \ No newline at end of file +// process.on('uncaughtException', (err, origin) => { +// fs.writeSync( +// process.stderr.fd, +// `Caught exception: ${err}\n` + +// `Exception origin: ${origin}`, +// ); +// }); \ No newline at end of file diff --git a/overcomplicatedStatuses.js b/overcomplicatedStatuses.js index a429db7..bc7c6b8 100644 --- a/overcomplicatedStatuses.js +++ b/overcomplicatedStatuses.js @@ -1,5 +1,5 @@ const path = require("path"), -fs = require("fs") + fs = require("fs") var constants = JSON.parse(fs.readFileSync(path.join(__dirname, 'constants.json'))) @@ -33,7 +33,7 @@ function makeCompat(string) { } function timeFormatter(seconds) { - seconds = Math.ceil(seconds) + seconds = Math.ceil(seconds / 1000) var minutes = Math.floor(seconds / 60) if (seconds % 60 < 10) { @@ -44,7 +44,7 @@ function timeFormatter(seconds) { } function gameTimeFormatter(seconds) { - seconds = Math.ceil(seconds) + seconds = Math.ceil(seconds / 1000) var minutes = Math.ceil(seconds / 60) var hours = Math.floor(minutes / 60) if (seconds <= 60) { @@ -87,63 +87,47 @@ module.exports = { continue } - function get_img(activity, size = "large_image") { return "https://cache.violets-purgatory.dev/cached/" + get_img_url(activity, size) } - function songStats() { - var html = `` - - if (activity.assets && activity.assets.large_text != activity.details && activity.details.length + activity.state.length + activity.assets.large_text.length < 100) { - html += ` -
Album: ${makeCompat(activity.assets.large_text || " ")} -
Artist: ${makeCompat(activity.state || " ")} - ` - } else { - html += "
" - if (activity.state.includes(";")) - { html += "Artists: " } - else { html += "Artist: " } - html += `${makeCompat(activity.state || " ")}` - } - - return html - } - if (activity.type == 2) { - var timeLeft = Math.round((activity.timestamps.end - Date.now()) / 1000) - var currentPercent = (Date.now() - activity.timestamps.start) / (activity.timestamps.end - activity.timestamps.start) * 100 - addedHTML += ` -
- -

- Listening to ${activity.name} -
Song: ${makeCompat(activity.details || " ")} - ${songStats()} + function activityTime() { + if (activity.timestamps) { + if (activity.timestamps.start) { + if (activity.timestamps.end) { + var timeLeft = Math.round((activity.timestamps.end - Date.now()) / 1000) + var currentPercent = (Date.now() - activity.timestamps.start) / (activity.timestamps.end - activity.timestamps.start) * 100 + return `
- - ${timeFormatter((activity.timestamps.end - activity.timestamps.start) / 1000)} -

-
- + ` + } else { + return ` + ${gameTimeFormatter((Date.now() - activity.timestamps.start))} + ` + } } } - - ` - } else if (activity.type == 0 && activity.assets) { + } + + if (activity.type != 4 && activity.assets) { + var time = activity.created_at if (activity.timestamps) { time = activity.timestamps.start @@ -152,43 +136,19 @@ module.exports = { activity.assets = { "large_text": " ", "small_text": " " } } - function smch() { - if (get_img_url(activity, "small_image")) { - return `` - } - return "" - } - - - addedHTML += ` -
- - ${smch()} -

- Playing ${activity.name} - ${onlyIfExists("
" + (activity.details || activity.assets.large_text), activity.details || activity.assets.large_text)} - ${onlyIfExists("
" + (activity.state || activity.assets.small_text), activity.state || activity.assets.small_text)} -
${gameTimeFormatter((Date.now() - time) / 1000)} -

-
- ` - } else if (activity.type != 4 && activity.assets) { - var time = activity.created_at - if (activity.timestamps) { - time = activity.timestamps.start - } - if (!activity.assets) { - activity.assets = { "large_text": " ", "small_text": " " } - } + var text1 = onlyIfExists("
" + activity.song + "", activity.song) || activity.details || activity.assets.large_text + var text2 = onlyIfExists("By: " + activity.artist, activity.artist) || activity.state || activity.assets.small_text + var text3 = onlyIfExists("On: " + activity.album, activity.album) addedHTML += `
-

- ${activity.name} -
${(activity.details || activity.assets.large_text || " ")} -
${(activity.state || activity.assets.small_text || " ")} -
${gameTimeFormatter((Date.now() - time) / 1000)} +

+ ${activity.name} + ${onlyIfExists("
" + text1, text1)} + ${onlyIfExists("
" + text2, text2)} + ${onlyIfExists("
" + text3, text3)} + ${onlyIfExists("
" + activityTime(), activityTime())}

` diff --git a/static/main.js b/static/main.js index 7fa6466..04d8eb1 100644 --- a/static/main.js +++ b/static/main.js @@ -61,7 +61,32 @@ function lerp(a, b, t) { return a * (1 - t) + b * t } -function spinLoop() { +function gameTimeFormatter(seconds) { + seconds = Math.ceil(seconds / 1000) + var minutes = Math.ceil(seconds / 60) + var hours = Math.floor(minutes / 60) + if (seconds <= 60) { + return 'about ' + seconds + ' seconds' + } else if (minutes < 60) { + return `${minutes} Minutes` + } + + return `${hours} hours and ${minutes % 60} minutes` + +} + +function timeFormatter(seconds) { + seconds = Math.ceil(seconds / 1000) + var minutes = Math.floor(seconds / 60) + + if (seconds % 60 < 10) { + return `${minutes}:0${seconds % 60}` + } else { + return `${minutes}:${seconds % 60}` + } +} + +function loop() { spinWaiting = true setTimeout(() => { spinWaiting = false @@ -100,7 +125,18 @@ function spinLoop() { spins = lerp(spins, Math.round(spins), 1 / spinSpeed * 3) } $(".pfp").css("rotate", (spins * 360) + "deg") - spinLoop() + + $(".durationBarFormatter").each((_, item) => { + item = $(item) + item.text(`${timeFormatter((Date.now() - item.attr("data-start")))}/${timeFormatter((item.attr("data-end") - item.attr("data-start")))}`) + }) + + $(".timeEstimate").each((_, item) => { + item = $(item) + item.text(gameTimeFormatter(Date.now() - item.attr("data-start"))) + }) + + loop() }, 1/spinSpeed * 1000); } @@ -113,7 +149,7 @@ window.onload = function () { pfp = $(".pfp") - spinLoop() + loop() pfp.on("mousedown", () => { // if (!spinWaiting) { diff --git a/static/style.css b/static/style.css index ef86bed..e13d160 100644 --- a/static/style.css +++ b/static/style.css @@ -182,7 +182,7 @@ br { margin: 3px 0; } -@media screen and (min-width: 850px) { +@media screen and (min-width: 1000px) { .activity-container { display: flex; flex-wrap: wrap; @@ -268,7 +268,8 @@ li { .lengthBar { background-color: rgb(50, 40, 60); display: inline-block; - width: 80%; + margin: auto; + width: 65%; height: 10px; padding: 0; overflow: hidden; From 53acf3a9e4a9c1cd474def653ab5500f02cf0e7c Mon Sep 17 00:00:00 2001 From: bingus_violet Date: Sat, 29 Jun 2024 18:23:21 -0500 Subject: [PATCH 5/8] OOPS --- index.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/index.js b/index.js index 50569ee..df08653 100644 --- a/index.js +++ b/index.js @@ -52,10 +52,10 @@ if (!fs.existsSync(path.join(cachePath, "emojis"))) { app.use(pageUpdater.middleWare) -// process.on('uncaughtException', (err, origin) => { -// fs.writeSync( -// process.stderr.fd, -// `Caught exception: ${err}\n` + -// `Exception origin: ${origin}`, -// ); -// }); \ No newline at end of file +process.on('uncaughtException', (err, origin) => { + fs.writeSync( + process.stderr.fd, + `Caught exception: ${err}\n` + + `Exception origin: ${origin}`, + ); + }); \ No newline at end of file From de40bbc1790853bb3e8e0d1b9128e6dddcf52e78 Mon Sep 17 00:00:00 2001 From: bingus_violet Date: Sat, 29 Jun 2024 18:36:27 -0500 Subject: [PATCH 6/8] End only support --- overcomplicatedStatuses.js | 4 ++++ static/main.js | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/overcomplicatedStatuses.js b/overcomplicatedStatuses.js index bc7c6b8..44045aa 100644 --- a/overcomplicatedStatuses.js +++ b/overcomplicatedStatuses.js @@ -122,6 +122,10 @@ module.exports = { ${gameTimeFormatter((Date.now() - activity.timestamps.start))} ` } + } else if (activity.timestamps.end) { + return ` + ${timeFormatter((activity.timestamps.end - Date.now()))} left + ` } } } diff --git a/static/main.js b/static/main.js index 04d8eb1..1b48300 100644 --- a/static/main.js +++ b/static/main.js @@ -136,6 +136,11 @@ function loop() { item.text(gameTimeFormatter(Date.now() - item.attr("data-start"))) }) + $(".endEstimate").each((_, item) => { + item = $(item) + item.text(timeFormatter((item.attr("data-end") - Date.now()))) + }) + loop() }, 1/spinSpeed * 1000); } From 22031c270b9580c71385240bd4d9fde82123e5cc Mon Sep 17 00:00:00 2001 From: bingus_violet Date: Sat, 29 Jun 2024 18:36:59 -0500 Subject: [PATCH 7/8] Fix Youtube Highlight --- constants.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/constants.json b/constants.json index 9cc3409..acb8f3c 100644 --- a/constants.json +++ b/constants.json @@ -73,9 +73,10 @@ "name": "bingus_violet@floofy.city", "url": "https://floofy.city/@bingus_violet" }, - "Youtube": { + "YouTube": { "name": "Violet's Fiasco", - "url": "https://www.youtube.com/channel/UChcrBJNJLZucy3TPyGyAY2g" + "url": "https://www.youtube.com/channel/UChcrBJNJLZucy3TPyGyAY2g", + "caseInsensitive": true }, "Liberapay": { "name": "bingus_violet", From 0692b176eace8bf4d4a6e83aaf59694fa946f13d Mon Sep 17 00:00:00 2001 From: bingus_violet Date: Sat, 29 Jun 2024 18:38:02 -0500 Subject: [PATCH 8/8] oops --- constants.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/constants.json b/constants.json index acb8f3c..6a75428 100644 --- a/constants.json +++ b/constants.json @@ -75,8 +75,7 @@ }, "YouTube": { "name": "Violet's Fiasco", - "url": "https://www.youtube.com/channel/UChcrBJNJLZucy3TPyGyAY2g", - "caseInsensitive": true + "url": "https://www.youtube.com/channel/UChcrBJNJLZucy3TPyGyAY2g" }, "Liberapay": { "name": "bingus_violet", @@ -178,8 +177,9 @@ "enby": { "color": "rgb(252, 244, 52)" }, - "Youtube": { - "color": "rgb(255, 0, 0)" + "YouTube": { + "color": "rgb(255, 0, 0)", + "caseInsensitive": true }, "Fedi": { "color": "rgb(175, 125, 200)"