revite/src/pages/developer/Developer.tsx

84 lines
2.5 KiB
TypeScript
Raw Normal View History

2021-07-05 06:23:23 -04:00
import { Wrench } from "@styled-icons/boxicons-solid";
2021-07-14 09:42:22 -04:00
import { Channels } from "revolt.js/dist/api/objects";
2021-07-05 06:23:23 -04:00
2021-06-19 15:24:11 -04:00
import { useContext } from "preact/hooks";
2021-07-05 06:23:23 -04:00
2021-06-19 15:24:11 -04:00
import PaintCounter from "../../lib/PaintCounter";
2021-07-05 06:23:23 -04:00
import { TextReact } from "../../lib/i18n";
2021-06-19 15:24:11 -04:00
import { AppContext } from "../../context/revoltjs/RevoltClient";
2021-07-14 09:42:22 -04:00
import { useData, useUserPermission } from "../../context/revoltjs/hooks";
2021-07-05 06:23:23 -04:00
import Header from "../../components/ui/Header";
2021-06-19 15:24:11 -04:00
export default function Developer() {
2021-07-05 06:25:20 -04:00
// const voice = useContext(VoiceContext);
const client = useContext(AppContext);
const userPermission = useUserPermission(client.user!._id);
2021-06-19 15:24:11 -04:00
2021-07-05 06:25:20 -04:00
return (
<div>
<Header placement="primary">
<Wrench size="24" />
Developer Tab
</Header>
<div style={{ padding: "16px" }}>
<PaintCounter always />
</div>
<div style={{ padding: "16px" }}>
<b>User ID:</b> {client.user!._id} <br />
<b>Permission against self:</b> {userPermission} <br />
</div>
<div style={{ padding: "16px" }}>
<TextReact
id="login.open_mail_provider"
fields={{ provider: <b>GAMING!</b> }}
/>
</div>
2021-07-14 09:42:22 -04:00
<DataTest />
2021-07-05 06:25:20 -04:00
<div style={{ padding: "16px" }}>
{/*<span>
2021-06-19 15:24:11 -04:00
<b>Voice Status:</b> {VoiceStatus[voice.status]}
</span>
<br />
<span>
<b>Voice Room ID:</b> {voice.roomId || "undefined"}
</span>
<br />
<span>
<b>Voice Participants:</b> [
{Array.from(voice.participants.keys()).join(", ")}]
</span>
<br />*/}
2021-07-05 06:25:20 -04:00
</div>
</div>
);
2021-06-19 15:24:11 -04:00
}
2021-07-14 09:42:22 -04:00
function DataTest() {
const channel_id = (
useContext(AppContext)
.channels.toArray()
.find((x) => x.channel_type === "Group") as Channels.GroupChannel
)._id;
const data = useData(
(client) => {
return {
name: (client.channels.get(channel_id) as Channels.GroupChannel)
.name,
};
},
[{ key: "channels", id: channel_id }],
);
return (
<div style={{ padding: "16px" }}>
Channel name: {data.name}
<div style={{ width: "24px" }}>
<PaintCounter small />
</div>
</div>
);
}