aboutsummaryrefslogtreecommitdiff
path: root/src/utils-common.ts
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2026-08-03 14:31:25 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2026-08-03 14:31:25 +0200
commit6839831af54cd9302119bcc3bffafe10475958d4 (patch)
tree12a1c1fbd864e9579cb9c3a09d4bf4686a280b73 /src/utils-common.ts
parentfccb70cbd876785f6833dfe6efc10ec9e445556d (diff)
downloadbycs-sol-6839831af54cd9302119bcc3bffafe10475958d4.tar.gz
bycs-sol-6839831af54cd9302119bcc3bffafe10475958d4.zip
refactor project structure
* merge sites into single project root * fix name of mass-graduation site * enable typescript support
Diffstat (limited to 'src/utils-common.ts')
-rw-r--r--src/utils-common.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/utils-common.ts b/src/utils-common.ts
new file mode 100644
index 0000000..89a8ddd
--- /dev/null
+++ b/src/utils-common.ts
@@ -0,0 +1,25 @@
+"use strict";
+
+export const DATE_FMT = new Intl.DateTimeFormat("de-DE", { month: "numeric", day: "numeric", year: "numeric"});
+
+export const DATETIME_FMT = new Intl.DateTimeFormat("de-DE", { month: "numeric", day: "numeric", year: "numeric", hour: "numeric", minute: "numeric" });
+
+export function dateStringNow() {
+ return DATE_FMT.format(new Date());
+}
+
+export function datetimeStringNow() {
+ return DATETIME_FMT.format(new Date());
+}
+
+// TODO(muhq): Cache the retrieved URL
+export async function getUserIconUrl(userId: number) {
+ const userRes = await fetch(`https://lernplattform.bycs.de/user/profile.php?id=${userId}`)
+ const userDoc = new DOMParser().parseFromString(await userRes.text(), 'text/html')
+ const userpicture = userDoc.querySelector(".userpicture");
+ if (userpicture === null) {
+ return "";
+ }
+
+ return (userpicture as HTMLImageElement).src;
+}