@articles-media/articles-dev-box 1.0.31 → 1.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +11 -3
  2. package/dist/Ad-BsG4C_lR.js +668 -0
  3. package/dist/Ad.js +2 -2
  4. package/dist/AdConfirmExitModal-heFPJNdX.js +55 -0
  5. package/dist/AdDetailsModal-D2-4lh9e.js +107 -0
  6. package/dist/ArticlesAd.js +15 -10
  7. package/dist/Button-DvEZjsVV.js +32 -0
  8. package/dist/CreditsModal.js +51 -35
  9. package/dist/DarkModeHandler.js +21 -13
  10. package/dist/FriendsList.js +49 -47
  11. package/dist/GameMenu-BD1HSDJ-.js +84 -0
  12. package/dist/GameMenu.js +2 -0
  13. package/dist/GameScoreboard-DVoXXDnM.js +174 -0
  14. package/dist/GameScoreboard.js +2 -2
  15. package/dist/GlobalBody.js +58 -23
  16. package/dist/GlobalHead.js +5 -5
  17. package/dist/Link-CguWJy6y.js +16 -0
  18. package/dist/ReturnToLauncherButton.js +26 -22
  19. package/dist/SessionButton.js +62 -38
  20. package/dist/SettingsModal-yU_TsVYh.js +430 -0
  21. package/dist/SettingsModal.js +2 -2
  22. package/dist/SignInButton.js +21 -17
  23. package/dist/SocketServerUrlHandler.js +14 -10
  24. package/dist/StatusModal-BXRbJQ10.js +84 -0
  25. package/dist/ToontownModeHandler.js +13 -10
  26. package/dist/ViewUserModal-Dgo1C4sR.js +1798 -0
  27. package/dist/ViewUserModal.js +2 -2
  28. package/dist/articles-dev-box.css +498 -2
  29. package/dist/classnames-No-mjhw1.js +66 -0
  30. package/dist/index.js +23 -22
  31. package/dist/numberWithCommas-B0B9bjWC.js +2198 -0
  32. package/dist/typicalZustandStoreExcludes.js +4 -3
  33. package/dist/typicalZustandStoreStateSlice.js +53 -49
  34. package/dist/useAuthSiteStatus-ZK1GbPBV.js +34 -0
  35. package/dist/useFullscreen.js +38 -18
  36. package/dist/useUserDetails.js +17 -16
  37. package/dist/useUserFriends.js +23 -21
  38. package/dist/useUserToken.js +12 -11
  39. package/package.json +2 -1
  40. package/dist/Ad-CFuDgQYL.js +0 -504
  41. package/dist/AdConfirmExitModal-skW9lp88.js +0 -55
  42. package/dist/AdDetailsModal-CdTR2Y9l.js +0 -107
  43. package/dist/Button-sSB4xpOw.js +0 -31
  44. package/dist/GameScoreboard-9GYlLx72.js +0 -165
  45. package/dist/Link-8nSDV4sI.js +0 -16
  46. package/dist/SettingsModal-CiLvMoLW.js +0 -303
  47. package/dist/StatusModal-PG3i9NKf.js +0 -75
  48. package/dist/ViewUserModal-C5gjfuJ5.js +0 -1549
  49. package/dist/classnames-DCsil9eG.js +0 -39
  50. package/dist/numberWithCommas-DSRplpBy.js +0 -1170
  51. package/dist/useAuthSiteStatus-Cj9IjMj7.js +0 -29
@@ -1,5 +1,5 @@
1
1
  //#region src/constants/typicalZustandStoreExcludes.js
2
- var e = [
2
+ var typicalZustandStoreExcludes = [
3
3
  "_hasHydrated",
4
4
  "showSettingsModal",
5
5
  "showInfoModal",
@@ -7,7 +7,8 @@ var e = [
7
7
  "showGameOverModal",
8
8
  "showMenu",
9
9
  "lobbyDetails",
10
- "sceneKey"
10
+ "sceneKey",
11
+ "showFriendsModal"
11
12
  ];
12
13
  //#endregion
13
- export { e as default };
14
+ export { typicalZustandStoreExcludes as default };
@@ -1,79 +1,83 @@
1
1
  //#region src/constants/typicalZustandStoreStateSlice.js
2
- var e = (e, t, n) => ({
3
- _hasHydrated: !1,
4
- setHasHydrated: (t) => {
5
- e({ _hasHydrated: t });
2
+ var typicalZustandStoreStateSlice = (set, get, generateRandomNickname) => ({
3
+ _hasHydrated: false,
4
+ setHasHydrated: (state) => {
5
+ set({ _hasHydrated: state });
6
6
  },
7
7
  darkMode: null,
8
- toggleDarkMode: () => e({ darkMode: !t().darkMode }),
9
- setDarkMode: (t) => {
10
- e((e) => ({ darkMode: t }));
8
+ toggleDarkMode: () => set({ darkMode: !get().darkMode }),
9
+ setDarkMode: (newValue) => {
10
+ set((prev) => ({ darkMode: newValue }));
11
11
  },
12
- nickname: n(),
13
- setNickname: (t) => {
14
- e((e) => ({ nickname: t }));
12
+ nickname: generateRandomNickname(),
13
+ setNickname: (newValue) => {
14
+ set((prev) => ({ nickname: newValue }));
15
15
  },
16
16
  randomNickname: () => {
17
- let t = n();
18
- e((e) => ({ nickname: t }));
17
+ const newNickname = generateRandomNickname();
18
+ set((prev) => ({ nickname: newNickname }));
19
19
  },
20
- nicknameKeyboard: !1,
21
- setNicknameKeyboard: (t) => {
22
- e((e) => ({ nicknameKeyboard: t }));
20
+ nicknameKeyboard: false,
21
+ setNicknameKeyboard: (newValue) => {
22
+ set((prev) => ({ nicknameKeyboard: newValue }));
23
23
  },
24
- debug: !1,
25
- setDebug: (t) => {
26
- e((e) => ({ debug: t }));
24
+ debug: false,
25
+ setDebug: (newValue) => {
26
+ set((prev) => ({ debug: newValue }));
27
27
  },
28
- sidebar: !0,
28
+ sidebar: true,
29
29
  toggleSidebar: () => {
30
- e((e) => ({ sidebar: !e.sidebar }));
30
+ set((prev) => ({ sidebar: !prev.sidebar }));
31
31
  },
32
- setSidebar: (t) => {
33
- e((e) => ({ sidebar: t }));
32
+ setSidebar: (newValue) => {
33
+ set((prev) => ({ sidebar: newValue }));
34
34
  },
35
- showMenu: !1,
36
- setShowMenu: (t) => e({ showMenu: t }),
37
- showSettingsModal: !1,
38
- setShowSettingsModal: (t) => {
39
- e((e) => ({ showSettingsModal: t }));
35
+ showMenu: false,
36
+ setShowMenu: (value) => set({ showMenu: value }),
37
+ showSettingsModal: false,
38
+ setShowSettingsModal: (newValue) => {
39
+ set((prev) => ({ showSettingsModal: newValue }));
40
40
  },
41
- showInfoModal: !1,
42
- setShowInfoModal: (t) => {
43
- e((e) => ({ showInfoModal: t }));
41
+ showInfoModal: false,
42
+ setShowInfoModal: (newValue) => {
43
+ set((prev) => ({ showInfoModal: newValue }));
44
44
  },
45
- showCreditsModal: !1,
46
- setShowCreditsModal: (t) => {
47
- e((e) => ({ showCreditsModal: t }));
45
+ showCreditsModal: false,
46
+ setShowCreditsModal: (newValue) => {
47
+ set((prev) => ({ showCreditsModal: newValue }));
48
+ },
49
+ showFriendsModal: false,
50
+ setShowFriendsModal: (newValue) => {
51
+ set((prev) => ({ showFriendsModal: newValue }));
48
52
  },
49
53
  graphicsQuality: "High",
50
- setGraphicsQuality: (t) => e({ graphicsQuality: t }),
54
+ setGraphicsQuality: (value) => set({ graphicsQuality: value }),
51
55
  lobbyDetails: {
52
56
  players: [],
53
57
  games: []
54
58
  },
55
- setLobbyDetails: (t) => e({ lobbyDetails: t }),
56
- landingAnimation: !0,
57
- setLandingAnimation: (t) => e({ landingAnimation: t }),
58
- toggleLandingAnimation: () => e({ landingAnimation: !t().landingAnimation }),
59
- toontownMode: !1,
59
+ setLobbyDetails: (lobbyDetails) => set({ lobbyDetails }),
60
+ landingAnimation: true,
61
+ setLandingAnimation: (value) => set({ landingAnimation: value }),
62
+ toggleLandingAnimation: () => set({ landingAnimation: !get().landingAnimation }),
63
+ toontownMode: false,
60
64
  toggleToontownMode: () => {
61
- e((e) => ({ toontownMode: !e.toontownMode }));
65
+ set((prev) => ({ toontownMode: !prev.toontownMode }));
62
66
  },
63
- setToontownMode: (t) => {
64
- e((e) => ({ toontownMode: t }));
67
+ setToontownMode: (newValue) => {
68
+ set((prev) => ({ toontownMode: newValue }));
65
69
  },
66
- showGameOverModal: !1,
67
- setShowGameOverModal: (t) => {
68
- e((e) => ({ showGameOverModal: t }));
70
+ showGameOverModal: false,
71
+ setShowGameOverModal: (newValue) => {
72
+ set((prev) => ({ showGameOverModal: newValue }));
69
73
  },
70
74
  sceneKey: 0,
71
- setSceneKey: (t) => {
72
- e((e) => ({ sceneKey: t }));
75
+ setSceneKey: (newValue) => {
76
+ set((prev) => ({ sceneKey: newValue }));
73
77
  },
74
78
  reloadScene: () => {
75
- e((e) => ({ sceneKey: e.sceneKey + 1 }));
79
+ set((prev) => ({ sceneKey: prev.sceneKey + 1 }));
76
80
  }
77
81
  });
78
82
  //#endregion
79
- export { e as default };
83
+ export { typicalZustandStoreStateSlice as default };
@@ -0,0 +1,34 @@
1
+ import useSWR from "swr";
2
+ //#region src/hooks/useMainSiteStatus.js
3
+ var fetcher$1 = (url) => fetch(url).then((res) => res.json());
4
+ var useMainSiteStatus = (params) => {
5
+ const { data, error, isLoading, mutate } = useSWR(process.env.NODE_ENV === "development" && !params?.disable ? `http://localhost:3001/api/config` : null, fetcher$1, {
6
+ revalidateOnFocus: false,
7
+ revalidateOnReconnect: false,
8
+ shouldRetryOnError: false
9
+ });
10
+ return {
11
+ data,
12
+ error,
13
+ isLoading,
14
+ mutate
15
+ };
16
+ };
17
+ //#endregion
18
+ //#region src/hooks/useAuthSiteStatus.js
19
+ var fetcher = (url) => fetch(url).then((res) => res.json());
20
+ var useAuthSiteStatus = (params) => {
21
+ const { data, error, isLoading, mutate } = useSWR(process.env.NODE_ENV === "development" && !params?.disable ? `http://localhost:3012/api/status` : null, fetcher, {
22
+ revalidateOnFocus: false,
23
+ revalidateOnReconnect: false,
24
+ shouldRetryOnError: false
25
+ });
26
+ return {
27
+ data,
28
+ error,
29
+ isLoading,
30
+ mutate
31
+ };
32
+ };
33
+ //#endregion
34
+ export { useMainSiteStatus as n, useAuthSiteStatus as t };
@@ -1,24 +1,44 @@
1
- import { useEffect as e, useState as t } from "react";
1
+ import { useEffect, useState } from "react";
2
2
  //#region src/hooks/useFullscreen.js
3
- var n = () => {
4
- let [n, r] = t(!1);
5
- return e(() => {
6
- let e = () => {
7
- r(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement);
3
+ var useFullscreen = () => {
4
+ const [isFullscreen, setIsFullscreen] = useState(false);
5
+ const requestFullscreen = (elementId) => {
6
+ const element = elementId ? document.getElementById(elementId) : document.documentElement;
7
+ if (element) {
8
+ if (element.requestFullscreen) element.requestFullscreen();
9
+ else if (element.mozRequestFullScreen) element.mozRequestFullScreen();
10
+ else if (element.webkitRequestFullscreen) element.webkitRequestFullscreen();
11
+ else if (element.msRequestFullscreen) element.msRequestFullscreen();
12
+ setIsFullscreen(true);
13
+ }
14
+ };
15
+ const exitFullscreen = () => {
16
+ if (document.exitFullscreen) document.exitFullscreen();
17
+ else if (document.mozCancelFullScreen) document.mozCancelFullScreen();
18
+ else if (document.webkitExitFullscreen) document.webkitExitFullscreen();
19
+ else if (document.msExitFullscreen) document.msExitFullscreen();
20
+ setIsFullscreen(false);
21
+ };
22
+ useEffect(() => {
23
+ const handleFullscreenChange = () => {
24
+ setIsFullscreen(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement);
8
25
  };
9
- return document.addEventListener("fullscreenchange", e), document.addEventListener("mozfullscreenchange", e), document.addEventListener("webkitfullscreenchange", e), document.addEventListener("MSFullscreenChange", e), () => {
10
- document.removeEventListener("fullscreenchange", e), document.removeEventListener("mozfullscreenchange", e), document.removeEventListener("webkitfullscreenchange", e), document.removeEventListener("MSFullscreenChange", e);
26
+ document.addEventListener("fullscreenchange", handleFullscreenChange);
27
+ document.addEventListener("mozfullscreenchange", handleFullscreenChange);
28
+ document.addEventListener("webkitfullscreenchange", handleFullscreenChange);
29
+ document.addEventListener("MSFullscreenChange", handleFullscreenChange);
30
+ return () => {
31
+ document.removeEventListener("fullscreenchange", handleFullscreenChange);
32
+ document.removeEventListener("mozfullscreenchange", handleFullscreenChange);
33
+ document.removeEventListener("webkitfullscreenchange", handleFullscreenChange);
34
+ document.removeEventListener("MSFullscreenChange", handleFullscreenChange);
11
35
  };
12
- }, []), {
13
- isFullscreen: n,
14
- requestFullscreen: (e) => {
15
- let t = e ? document.getElementById(e) : document.documentElement;
16
- t && (t.requestFullscreen ? t.requestFullscreen() : t.mozRequestFullScreen ? t.mozRequestFullScreen() : t.webkitRequestFullscreen ? t.webkitRequestFullscreen() : t.msRequestFullscreen && t.msRequestFullscreen(), r(!0));
17
- },
18
- exitFullscreen: () => {
19
- document.exitFullscreen ? document.exitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.msExitFullscreen && document.msExitFullscreen(), r(!1);
20
- }
36
+ }, []);
37
+ return {
38
+ isFullscreen,
39
+ requestFullscreen,
40
+ exitFullscreen
21
41
  };
22
42
  };
23
43
  //#endregion
24
- export { n as default };
44
+ export { useFullscreen as default };
@@ -1,24 +1,25 @@
1
- import e from "swr";
1
+ import useSWR from "swr";
2
2
  //#region src/hooks/User/useUserDetails.js
3
- var t = (e) => {
4
- let t = new URLSearchParams({ token: e.token }).toString();
5
- return fetch(`${e.url}?${t}`).then((e) => e.json());
6
- }, n = (n) => {
7
- let { data: r, error: i, isLoading: a, mutate: o } = e(n.token ? {
3
+ var fetcher = (params) => {
4
+ const searchParams = new URLSearchParams({ token: params.token }).toString();
5
+ return fetch(`${params.url}?${searchParams}`).then((res) => res.json());
6
+ };
7
+ var useUserDetails = (params) => {
8
+ const { data, error, isLoading, mutate } = useSWR(params.token ? {
8
9
  url: (process.env.NODE_ENV === "development" ? "http://localhost:3012" : "https://accounts.articles.media") + "/api/auth/session",
9
- token: n.token
10
- } : null, t, {
11
- revalidateOnFocus: !1,
12
- revalidateOnReconnect: !1,
13
- shouldRetryOnError: !1,
10
+ token: params.token
11
+ } : null, fetcher, {
12
+ revalidateOnFocus: false,
13
+ revalidateOnReconnect: false,
14
+ shouldRetryOnError: false,
14
15
  errorRetryInterval: 1e3 * 60 * 1
15
16
  });
16
17
  return {
17
- data: r,
18
- error: i,
19
- isLoading: a,
20
- mutate: o
18
+ data,
19
+ error,
20
+ isLoading,
21
+ mutate
21
22
  };
22
23
  };
23
24
  //#endregion
24
- export { n as default };
25
+ export { useUserDetails as default };
@@ -1,31 +1,33 @@
1
- import e from "swr";
1
+ import useSWR from "swr";
2
2
  //#region src/hooks/User/useUserFriends.js
3
- var t = async (e) => {
3
+ var fetcher = async (obj) => {
4
4
  if (process.env.NODE_ENV === "development") try {
5
- let t = new URLSearchParams({ game: e.game }).toString();
6
- return await (await fetch(`http://localhost:3001/api/user/friends?${t}`, { headers: { "x-articles-api-key": e.user_token } })).json();
7
- } catch {}
8
- let t = new URLSearchParams({ game: e.game }).toString();
9
- return fetch(`${e.url}?${t}`, { headers: { "x-articles-api-key": e.user_token } }).then((e) => e.json());
10
- }, n = {
5
+ const params = new URLSearchParams({ game: obj.game }).toString();
6
+ return await (await fetch(`http://localhost:3001/api/user/friends?${params}`, { headers: { "x-articles-api-key": obj.user_token } })).json();
7
+ } catch (err) {}
8
+ const params = new URLSearchParams({ game: obj.game }).toString();
9
+ return fetch(`${obj.url}?${params}`, { headers: { "x-articles-api-key": obj.user_token } }).then((res) => res.json());
10
+ };
11
+ var options = {
11
12
  dedupingInterval: 1e3 * 60 * 30,
12
13
  refreshInterval: 0,
13
- revalidateOnFocus: !1,
14
- revalidateIfStale: !1,
15
- shouldRetryOnError: !1,
14
+ revalidateOnFocus: false,
15
+ revalidateIfStale: false,
16
+ shouldRetryOnError: false,
16
17
  errorRetryInterval: 1e3 * 60 * 1
17
- }, r = (r) => {
18
- let { data: i, error: a, isLoading: o, isValidating: s, mutate: c } = e(r?.user_id && r?.user_token ? {
18
+ };
19
+ var useUserFriends = (params) => {
20
+ const { data, error, isLoading, isValidating, mutate } = useSWR(params?.user_id && params?.user_token ? {
19
21
  url: "https://articles.media/api/user/friends",
20
- user_token: r.user_token
21
- } : null, t, n);
22
+ user_token: params.user_token
23
+ } : null, fetcher, options);
22
24
  return {
23
- data: i,
24
- error: a,
25
- isLoading: o,
26
- isValidating: s,
27
- mutate: c
25
+ data,
26
+ error,
27
+ isLoading,
28
+ isValidating,
29
+ mutate
28
30
  };
29
31
  };
30
32
  //#endregion
31
- export { r as default };
33
+ export { useUserFriends as default };
@@ -1,18 +1,19 @@
1
- import e from "swr";
1
+ import useSWR from "swr";
2
2
  //#region src/hooks/User/useUserToken.js
3
- var t = (e) => fetch(e).then((e) => e.json()), n = (n) => {
4
- let { data: r, error: i, isLoading: a, mutate: o } = e(process.env.NODE_ENV === "development" ? `http://localhost:${n}/api/token` : "/api/token", t, {
5
- revalidateOnFocus: !1,
6
- revalidateOnReconnect: !1,
7
- shouldRetryOnError: !1,
3
+ var fetcher = (url) => fetch(url).then((res) => res.json());
4
+ var useUserToken = (port) => {
5
+ const { data, error, isLoading, mutate } = useSWR(process.env.NODE_ENV === "development" ? `http://localhost:${port}/api/token` : "/api/token", fetcher, {
6
+ revalidateOnFocus: false,
7
+ revalidateOnReconnect: false,
8
+ shouldRetryOnError: false,
8
9
  errorRetryInterval: 1e3 * 60 * 1
9
10
  });
10
11
  return {
11
- data: r,
12
- error: i,
13
- isLoading: a,
14
- mutate: o
12
+ data,
13
+ error,
14
+ isLoading,
15
+ mutate
15
16
  };
16
17
  };
17
18
  //#endregion
18
- export { n as default };
19
+ export { useUserToken as default };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@articles-media/articles-dev-box",
3
3
  "description": "Shared code, functions, and components for different Articles Media projects.",
4
- "version": "1.0.31",
4
+ "version": "1.0.32",
5
5
  "type": "module",
6
6
  "imports": {
7
7
  "#root/src/*": "./src/*"
@@ -18,6 +18,7 @@
18
18
  "exports": {
19
19
  ".": "./dist/index.js",
20
20
  "./Ad": "./dist/Ad.js",
21
+ "./GameMenu": "./dist/GameMenu.js",
21
22
  "./ArticlesAd": "./dist/ArticlesAd.js",
22
23
  "./GameScoreboard": "./dist/GameScoreboard.js",
23
24
  "./ReturnToLauncherButton": "./dist/ReturnToLauncherButton.js",