diff --git a/src-tauri/src/models/friends.rs b/src-tauri/src/models/friends.rs index 5bf911b..9f91dc9 100644 --- a/src-tauri/src/models/friends.rs +++ b/src-tauri/src/models/friends.rs @@ -18,7 +18,7 @@ pub struct UserBasicDto { #[ts(export)] pub struct FriendshipResponseDto { pub id: String, - pub friend: UserBasicDto, + pub friend: Option, pub created_at: String, } @@ -39,4 +39,4 @@ pub struct FriendRequestResponseDto { pub status: String, pub created_at: String, pub updated_at: String, -} \ No newline at end of file +} diff --git a/src/routes/app-menu/tabs/friends.svelte b/src/routes/app-menu/tabs/friends.svelte index 3e141d4..14a691f 100644 --- a/src/routes/app-menu/tabs/friends.svelte +++ b/src/routes/app-menu/tabs/friends.svelte @@ -303,23 +303,29 @@ {:else}
{#each friends as friend (friend.id)} -
-
-
-
{friend.friend.name}
-
- @{friend.friend.username ?? "unknown"} + {#if friend.friend} +
+
+
+
{friend.friend.name}
+
+ @{friend.friend.username ?? "unknown"} +
+
-
-
+ {/if} {/each}
{/if} diff --git a/src/routes/scene/+page.svelte b/src/routes/scene/+page.svelte index 55df7ab..77dbc74 100644 --- a/src/routes/scene/+page.svelte +++ b/src/routes/scene/+page.svelte @@ -23,8 +23,8 @@ let isInteractive = $derived($sceneInteractive); function getFriendById(userId: string) { - const friend = $appData?.friends?.find((f) => f.friend.id === userId); - return friend!.friend; + const friend = $appData?.friends?.find((f) => f.friend?.id === userId); + return friend?.friend; } function getFriendDoll(userId: string) { @@ -32,8 +32,8 @@ return $friendsActiveDolls[userId]; } - const friend = $appData?.friends?.find((f) => f.friend.id === userId); - return friend?.friend.activeDoll; + const friend = $appData?.friends?.find((f) => f.friend?.id === userId); + return friend?.friend?.activeDoll; } function getFriendStatus(userId: string) { @@ -109,7 +109,7 @@ {#each Object.entries($friendsCursorPositions) as [userId, position]} {@const status = getFriendStatus(userId)}
- {getFriendById(userId).name} + {getFriendById(userId)?.name}
({position.mapped.x.toFixed(3)}, {position.mapped.y.toFixed( @@ -143,12 +143,13 @@ {#if Object.keys($friendsCursorPositions).length > 0} {#each Object.entries($friendsCursorPositions) as [userId, position]} {@const doll = getFriendDoll(userId)} - {#if doll} + {@const friend = getFriendById(userId)} + {#if doll && friend}