Skip to content

Commit

Permalink
Skalop URL via root data loader
Browse files Browse the repository at this point in the history
  • Loading branch information
Sendouc committed Sep 24, 2023
1 parent 9ee63f2 commit 501b858
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 12 deletions.
7 changes: 4 additions & 3 deletions app/components/Chat.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import type { User } from "~/db/types";
import { useUser } from "~/modules/auth";
import { nanoid } from "nanoid";
import clsx from "clsx";
import { SKALOP_BASE_URL } from "~/utils/urls";
import { Button } from "./Button";
import ReconnectingWebSocket from "reconnecting-websocket";
import invariant from "tiny-invariant";
import { useRootLoaderData } from "~/hooks/useRootLoaderData";

type ChatUser = Pick<User, "discordName" | "discordId" | "discordAvatar"> & {
chatNameColor: string | null;
Expand Down Expand Up @@ -187,6 +187,7 @@ export function useChat({
rooms: ChatProps["rooms"];
onNewMessage?: (message: ChatMessage) => void;
}) {
const rootLoaderData = useRootLoaderData();
const user = useUser();

const [messages, setMessages] = React.useState<ChatMessage[]>([]);
Expand All @@ -202,7 +203,7 @@ export function useChat({
React.useEffect(() => {
if (rooms.length === 0) return;

const url = `${SKALOP_BASE_URL}?${rooms
const url = `${rootLoaderData.skalopUrl}?${rooms
.map((room) => `room=${room.code}`)
.join("&")}`;
ws.current = new ReconnectingWebSocket(url, [], {
Expand Down Expand Up @@ -241,7 +242,7 @@ export function useChat({
wsCurrent?.close();
setMessages([]);
};
}, [rooms, onNewMessage]);
}, [rooms, onNewMessage, rootLoaderData.skalopUrl]);

const send = React.useCallback(
(contents: string) => {
Expand Down
7 changes: 3 additions & 4 deletions app/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ import { Theme, ThemeHead, useTheme, ThemeProvider } from "./modules/theme";
import { getThemeSession } from "./modules/theme/session.server";
import { isTheme } from "./modules/theme/provider";
import { useIsMounted } from "./hooks/useIsMounted";
import invariant from "tiny-invariant";
import { CUSTOMIZED_CSS_VARS_NAME } from "./constants";
import NProgress from "nprogress";
import nProgressStyles from "nprogress/nprogress.css";
Expand Down Expand Up @@ -83,6 +82,7 @@ export interface RootLoaderData {
theme: Theme | null;
patrons: FindAllPatrons;
baseUrl: string;
skalopUrl: string;
user?: Pick<
UserWithPlusTier,
| "id"
Expand All @@ -104,16 +104,15 @@ export const loader: LoaderFunction = async ({ request }) => {
const locale = await i18next.getLocale(request);
const themeSession = await getThemeSession(request);

invariant(process.env["BASE_URL"], "BASE_URL env var is not set");

if (user?.banned) throw new Response(null, { status: 403 });

return json<RootLoaderData>(
{
locale,
theme: themeSession.getTheme(),
patrons: db.users.findAllPatrons(),
baseUrl: process.env["BASE_URL"],
baseUrl: process.env["BASE_URL"]!,
skalopUrl: process.env["SKALOP_WS_URL"]!,
publisherId: process.env["PLAYWIRE_PUBLISHER_ID"],
websiteId: process.env["PLAYWIRE_WEBSITE_ID"],
loginDisabled: process.env["LOGIN_DISABLED"] === "true",
Expand Down
5 changes: 0 additions & 5 deletions app/utils/urls.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,6 @@ const staticAssetsUrl = ({
}) =>
`https://raw.githubusercontent.com/Sendouc/sendou-ink-assets/main/${folder}/${fileName}`;

export const SKALOP_BASE_URL =
process.env.NODE_ENV === "production"
? "ws://skalop.sendou.ink"
: "ws://localhost:5900";

export const SENDOU_INK_BASE_URL = "https://sendou.ink";

const USER_SUBMITTED_IMAGE_ROOT = "https://sendou.nyc3.digitaloceanspaces.com";
Expand Down

0 comments on commit 501b858

Please sign in to comment.