This commit is contained in:
2025-05-21 18:03:22 +03:00
parent 4419151510
commit 074d6674b8
34 changed files with 99 additions and 79 deletions

View File

@@ -19,7 +19,7 @@ interface ChannelsVoiceState {
}
export const useChannelsVoiceStateStore = create<ChannelsVoiceState>()(
immer((set, get) => ({
immer((set) => ({
channels: {},
addUser: (channelId, userId, userVoiceState) =>
set((state) => {

View File

@@ -109,9 +109,9 @@ const HANDLERS = {
data: Extract<EventData, { type: EventType.REMOVE_MESSAGE }>["data"],
) => {
if (self.queryClient) {
self.queryClient.setQueryData(["messages", data.channelId], (oldData: any) => {
self.queryClient.setQueryData(["messages", data.channelId], (oldData: Message[]) => {
if (!oldData) return [];
return oldData.filter((message: any) => message.id !== data.messageId);
return oldData.filter((message: Message) => message.id !== data.messageId);
});
}
},
@@ -159,6 +159,7 @@ export const useGatewayStore = create<GatewayState>()((set, get) => {
});
for (const [type, handler] of Object.entries(HANDLERS)) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
client.onEvent(type, (data: any) => {
handler(get(), data);
});

View File

@@ -12,7 +12,7 @@ type ServerChannelsStore = {
};
export const useServerChannelsStore = create<ServerChannelsStore>()(
immer((set, get) => ({
immer((set) => ({
channels: {},
addServer: (serverId) =>
set((state) => {

View File

@@ -9,7 +9,7 @@ type TokenStore = {
export const useTokenStore = create<TokenStore>()(
persist(
(set, get) => ({
(set) => ({
token: undefined,
setToken: (token?: string) => set({ token }),
removeToken: () => set({ token: undefined }),

View File

@@ -16,7 +16,7 @@ type UsersStore = {
const usersFetcher = batshitCreate({
fetcher: async (userIds: UserId[]) => {
let users = [];
const users = [];
for (const userId of userIds) {
users.push(getUser(userId));
@@ -32,7 +32,7 @@ export const useUsersStore = create<UsersStore>()(
users: {},
currentUserId: undefined,
fetchUsersIfNotPresent: async (userIds) => {
let userPromises: Promise<PartialUser>[] = [];
const userPromises: Promise<PartialUser>[] = [];
for (const userId of userIds) {
const user = get().users[userId];
if (!user) {
@@ -68,6 +68,6 @@ export const useUsersStore = create<UsersStore>()(
state.currentUserId = userId;
}),
getCurrentUser: () => (!!get().currentUserId ? (get().users[get().currentUserId!] as FullUser) : undefined),
getCurrentUser: () => (get().currentUserId ? (get().users[get().currentUserId!] as FullUser) : undefined),
})),
);

View File

@@ -15,7 +15,7 @@ interface WebRTCState {
createOffer: (localStream: MediaStream) => Promise<void>;
}
export const useWebRTCStore = create<WebRTCState>()((set, get) => {
export const useWebRTCStore = create<WebRTCState>()((set) => {
const client = new WebRTCClient(
VOICE_GATEWAY_URL,
(state) => set({ status: state }),