diff --git a/src/components/views/LceOnlineView.tsx b/src/components/views/LceOnlineView.tsx index fe6e313..f76764a 100644 --- a/src/components/views/LceOnlineView.tsx +++ b/src/components/views/LceOnlineView.tsx @@ -7,7 +7,7 @@ import { TauriService } from "../../services/TauriService"; interface LceOnlineViewProps { addFriendTarget?: string | null; onClearAddFriendTarget?: () => void; - invites?: Array<{ from: string; sessionid: string }>; + invites?: Array<{ inviteid: string; from: { uuid: string; username: string; }; sessionid: string; }>; } const LceOnlineView = memo(function LceOnlineView({ addFriendTarget, @@ -198,16 +198,16 @@ const LceOnlineView = memo(function LceOnlineView({ } else if (currentTab === "invites") { invites.forEach((inv) => { items.push({ - id: `invite_${inv.from}`, + id: `invite_${inv.inviteid}`, type: "invite", - label: inv.from, + label: inv.from.username, onClick: () => handleAction(async () => { - const sessionId = await lceOnlineService.acceptInvite(inv.from); - setJoinTarget({ sessionId, hostName: inv.from }); + const sessionId = await lceOnlineService.acceptInvite(inv.from.username); + setJoinTarget({ sessionId, hostName: inv.from.username }); }), onClickSecondary: () => - handleAction(() => lceOnlineService.declineInvite(inv.from)), + handleAction(() => lceOnlineService.declineInvite(inv.from.username)), }); }); } diff --git a/src/hooks/useLceOnlineNotifications.ts b/src/hooks/useLceOnlineNotifications.ts index 0549009..2562992 100644 --- a/src/hooks/useLceOnlineNotifications.ts +++ b/src/hooks/useLceOnlineNotifications.ts @@ -2,7 +2,7 @@ import { useState, useEffect, useRef } from "react"; import { lceOnlineService } from "../services/LceOnlineService"; export function useLceOnlineNotifications() { const [friendRequestMessage, setFriendRequestMessage] = useState(null); - const [invites, setInvites] = useState>([]); + const [invites, setInvites] = useState>([]); const seenRequests = useRef>(new Set()); useEffect(() => { let pollInterval: ReturnType; diff --git a/src/services/LceOnlineService.ts b/src/services/LceOnlineService.ts index ef9595b..96fb2a9 100644 --- a/src/services/LceOnlineService.ts +++ b/src/services/LceOnlineService.ts @@ -233,15 +233,9 @@ export class LceOnlineService { } } - async getInvites(): Promise> { + async getInvites(): Promise> { const res = await this.request("GET", "/getinvites", null); - if (typeof res !== "string") return []; - try { - const parsed = JSON.parse(res); - return Array.isArray(parsed) ? parsed : []; - } catch { - return []; - } + return Array.isArray(res) ? res : []; } }