mirror of
https://github.com/revoltchat/revite.git
synced 2024-11-22 07:00:58 -05:00
fix: open last opened server channel instead of first
This commit is contained in:
parent
e2d9e41a58
commit
12b9716043
1 changed files with 11 additions and 3 deletions
|
@ -23,9 +23,8 @@ import MessageBox from "../../components/common/messaging/MessageBox";
|
||||||
import JumpToBottom from "../../components/common/messaging/bars/JumpToBottom";
|
import JumpToBottom from "../../components/common/messaging/bars/JumpToBottom";
|
||||||
import NewMessages from "../../components/common/messaging/bars/NewMessages";
|
import NewMessages from "../../components/common/messaging/bars/NewMessages";
|
||||||
import TypingIndicator from "../../components/common/messaging/bars/TypingIndicator";
|
import TypingIndicator from "../../components/common/messaging/bars/TypingIndicator";
|
||||||
import { PageHeader } from "../../components/ui/Header";
|
|
||||||
|
|
||||||
import RightSidebar from "../../components/navigation/RightSidebar";
|
import RightSidebar from "../../components/navigation/RightSidebar";
|
||||||
|
import { PageHeader } from "../../components/ui/Header";
|
||||||
import ChannelHeader from "./ChannelHeader";
|
import ChannelHeader from "./ChannelHeader";
|
||||||
import { MessageArea } from "./messaging/MessageArea";
|
import { MessageArea } from "./messaging/MessageArea";
|
||||||
import VoiceHeader from "./voice/VoiceHeader";
|
import VoiceHeader from "./voice/VoiceHeader";
|
||||||
|
@ -100,14 +99,23 @@ const PlaceholderBase = styled.div`
|
||||||
export const Channel = observer(
|
export const Channel = observer(
|
||||||
({ id, server_id }: { id: string; server_id: string }) => {
|
({ id, server_id }: { id: string; server_id: string }) => {
|
||||||
const client = useClient();
|
const client = useClient();
|
||||||
|
const state = useApplicationState();
|
||||||
|
|
||||||
if (!client.channels.exists(id)) {
|
if (!client.channels.exists(id)) {
|
||||||
if (server_id) {
|
if (server_id) {
|
||||||
const server = client.servers.get(server_id);
|
const server = client.servers.get(server_id);
|
||||||
if (server && server.channel_ids.length > 0) {
|
if (server && server.channel_ids.length > 0) {
|
||||||
|
let target_id = server.channel_ids[0];
|
||||||
|
const last_id = state.layout.getLastOpened(server_id);
|
||||||
|
if (last_id) {
|
||||||
|
if (client.channels.has(last_id)) {
|
||||||
|
target_id = last_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Redirect
|
<Redirect
|
||||||
to={`/server/${server_id}/channel/${server.channel_ids[0]}`}
|
to={`/server/${server_id}/channel/${target_id}`}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue