diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 43daf76..abd9b9b 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -36,7 +36,7 @@ export default async function RootLayout({
}>) {
const cookieStore = await cookies();
- const settings = parseClientSettings(cookieStore.get("settings")?.value);
+ const settings = parseClientSettings(cookieStore.get("settings")?.value || 'black');
return (
diff --git a/src/app/server/[ip]/page.tsx b/src/app/server/[ip]/page.tsx
index 135e204..971f9ab 100644
--- a/src/app/server/[ip]/page.tsx
+++ b/src/app/server/[ip]/page.tsx
@@ -9,6 +9,7 @@ import auth from "@/lib/auth";
import { useServerMessages } from "@/hooks/use-messages";
import useApp from "@/hooks/use-app";
import { useEffectOnceWhenReady } from "@/hooks/use-once";
+import ChannelView from "@/components/ChannelView";
export default function Server() {
const { ip } = useParams<{ ip: string }>();
@@ -50,30 +51,12 @@ export default function Server() {
return (
- {app.currentChannel ? (
- m.channel_id === app.currentChannel?.id
- ) || []
- }
- sendMessage={(message) => {
- serverRef.current?.send(
- JSON.stringify({
- type: "send_message",
- params: {
- channel_id: app.currentChannel?.id,
- contents: message,
- },
- })
- );
- }}
- />
- ) : (
-
- )}
+
);
}
diff --git a/src/components/ChannelView.tsx b/src/components/ChannelView.tsx
new file mode 100644
index 0000000..9f193db
--- /dev/null
+++ b/src/components/ChannelView.tsx
@@ -0,0 +1,52 @@
+import { Channel, Message, Server } from "@/types/types";
+import MessageBox from "./MessageBox";
+import App from "@/types/app";
+import React, { Ref } from "react";
+
+export default function ChannelView({
+ app,
+ messages,
+ ip,
+ serverRef,
+}: {
+ app: App;
+ messages: Record;
+ ip: string;
+ serverRef: React.RefObject;
+}) {
+ if (!app.currentChannel)
+ return (
+
+ );
+ switch (app.currentChannel.kind) {
+ case "text":
+ return (
+ m.channel_id === app.currentChannel?.id
+ ) || []
+ }
+ sendMessage={(message) => {
+ serverRef.current?.send(
+ JSON.stringify({
+ type: "send_message",
+ params: {
+ channel_id: app.currentChannel?.id,
+ contents: message,
+ },
+ })
+ );
+ }}
+ />
+ );
+
+ case "voice":
+ return null;
+
+ default:
+ return ;
+ }
+}