Skip to content

Commit

Permalink
Fix in call avatars
Browse files Browse the repository at this point in the history
  • Loading branch information
n9lsjr committed Dec 28, 2024
1 parent b77142f commit a21c364
Show file tree
Hide file tree
Showing 6 changed files with 92 additions and 32 deletions.
29 changes: 27 additions & 2 deletions src/lib/components/chat/InCallAvatar.svelte
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<script>
import { get_avatar } from "$lib/utils/hugin-utils"
import { audioLevel, user } from '$lib/stores/user.js'
import { audioLevel, rooms, user } from '$lib/stores/user.js'
export let call
let isTalking = false
let me = call.address === $user.myAddress
Expand All @@ -11,10 +11,27 @@ $: if ($audioLevel.call.some((a) => a.activeVoice == true && a.chat === call.add
isTalking = false
}
const check_avatar = (address) => {
const found = $rooms.avatars.find(a => a.address === address)
if (found) return found.avatar
else return false
}
</script>

<div class="img" class:talking={isTalking || (me && $audioLevel.meTalking)}>
<img class="avatar" src="data:image/png;base64,{get_avatar(call.address)}" alt="" />
{#await check_avatar(call.address)}
{:then avatar}
{#if avatar}
<img
class="custom-avatar"
src="{avatar}"
alt=""
/>
{:else}
<img class="avatar" src="data:image/png;base64,{get_avatar(call.address)}" alt="" />
{/if}
{/await}
</div>

<style lang="scss">
Expand All @@ -31,5 +48,13 @@ $: if ($audioLevel.call.some((a) => a.activeVoice == true && a.chat === call.add
margin-right: 2px;
}
.custom-avatar {
height: 40px;
width: 40px;
border-radius: 15px;
padding: 10px;
}
</style>

27 changes: 18 additions & 9 deletions src/lib/components/chat/VoiceUser.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,12 @@
</script>

<div class:talking={isTalking || (me && $audioLevel.meTalking)} in:fade class="card hugin-voice-user" on:click="{() => console.log("Click")}">
<div in:fade class="card hugin-voice-user" on:click="{() => console.log("Click")}">
{#await check_avatar(voice_user.address)}
{:then avatar}
{#if avatar}
<img

class="custom-avatar"
src="{avatar}"
alt=""
Expand Down Expand Up @@ -113,8 +114,8 @@
margin-right: 2px;
}
.talking .voice-avatar {
border: 1px solid var(--success-color);
.talking {
border: 1px solid var(--success-color) !important;
}
.connecting {
Expand All @@ -134,12 +135,20 @@
margin-left: 5px;
}
.custom-avatar {
height: 25px;
width: 25px;
border-radius: 10px;
padding: 5px;
}
.custom-avatar {
height: 35px;
width: 35px;
border-radius: 15px;
padding: 8px;
margin-left: -2px;
border: 1px solid transparent;
}
.img {
border: 1px solid transparent;
border-radius: 10px;
padding: 1px;
}
</style>
23 changes: 20 additions & 3 deletions src/lib/components/webrtc/MyVideo.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//To handle true and false, or in this case show and hide.
import { fade, fly } from 'svelte/transition'
import { createEventDispatcher, onDestroy, onMount } from 'svelte'
import { webRTC, user, swarm } from '$lib/stores/user.js'
import { webRTC, user, swarm, rooms } from '$lib/stores/user.js'
import {layoutState, videoGrid} from '$lib/stores/layout-state.js'
import VoiceUserIcon from '../icons/VoiceUserIcon.svelte'
import { get_avatar } from '$lib/utils/hugin-utils'
Expand Down Expand Up @@ -54,7 +54,11 @@ $: if ($swarm.call.length > 4) {
many = true
} else many = false
const check_avatar = (address) => {
const found = $rooms.avatars.find(a => a.address === address)
if (found) return found.avatar
else return false
}
$: window_medium
</script>
Expand All @@ -81,7 +85,20 @@ $: window_medium
</div>
{/if}
{#if !$videoSettings.screenshare && !$videoSettings.myVideo}
<img in:fly src="data:image/png;base64,{get_avatar($user.myAddress, 'png', true)}" alt="" />
{#await check_avatar($user.myAddress)}
{:then avatar}
{#if avatar}
<img

class="custom-avatar"
src="{avatar}"
alt=""
/>
{:else}

<img in:fly src="data:image/png;base64,{get_avatar($user.myAddress, 'png', true)}" alt="" />
{/if}
{/await}
{/if}
</div>

Expand Down
33 changes: 26 additions & 7 deletions src/lib/components/webrtc/PeerVideo.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//To handle true and false, or in this case show and hide.
import { fade, fly } from 'svelte/transition'
import { createEventDispatcher, onDestroy, onMount } from 'svelte'
import { audioLevel, user, swarm } from '$lib/stores/user.js'
import { audioLevel, user, swarm, rooms } from '$lib/stores/user.js'
import Minus from '../icons/Minus.svelte'
import Plus from '../icons/Plus.svelte'
import {layoutState, videoGrid} from '$lib/stores/layout-state.js'
Expand Down Expand Up @@ -81,6 +81,8 @@ $: if ($audioLevel.call.some((a) => a.activeVoice == true && a.chat === call.cha
isTalking = false
}
$: address = active ? call.chat : call.address
$: if (thisWindow && windowCheck) {
console.log('This window reactive')
if ($videoGrid.peerVideos.some(a => a.size === 2 && a.chat !== call.chat) && thisWindow.size > 0) {
Expand Down Expand Up @@ -152,6 +154,11 @@ const resize = (size) => {
many = true
} else many = false
const check_avatar = (address) => {
const found = $rooms.avatars.find(a => a.address === address)
if (found) return found.avatar
else return false
}
</script>

<div class="card" in:fly={{ x: -150}} class:many={many} class:show={showWindow} class:talking="{isTalking}" class:min={thisWindow.size === 1 && !many} class:hide={thisWindow.size === 0} class:max={thisWindow.size === 2} class:medium={thisWindow.size === 3}>
Expand All @@ -169,11 +176,24 @@ const resize = (size) => {
</div>
</div>
{/await}
{#if !active}
<img src="data:image/png;base64,{get_avatar(call.address, 'png', true)}" alt="" />
{:else}
<img src="data:image/png;base64,{get_avatar(call.chat, 'png', true)}" alt="" />
{/if}
{#await check_avatar(address)}
{:then avatar}
{#if avatar}
<img

class="custom-avatar"
src="{avatar}"
alt=""
/>
{:else}
{#if !active}
<img src="data:image/png;base64,{get_avatar(call.address, 'png', true)}" alt="" />
{:else}
<img src="data:image/png;base64,{get_avatar(call.chat, 'png', true)}" alt="" />
{/if}
{/if}
{/await}

<div in:fade class="fade">
<div class="toggles">
<Minus on:click={()=> resize('min')}/>
Expand Down Expand Up @@ -357,6 +377,5 @@ p {
position: relative;
left: 5px;
}
</style>
1 change: 1 addition & 0 deletions src/routes/rooms/components/RoomHugins.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,7 @@ p {
width: 30px;
border-radius: 10px;
padding: 5px;
margin: 1px;
}
</style>
11 changes: 0 additions & 11 deletions src/routes/rooms/components/UserOptions.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,9 @@
}
}
const sendMoney = (user) => {
$transactions.tip = true
$transactions.send = {
to: info.address,
name: info.name
}
}
</script>

<div class="menu">
{#if inRoom}
<span on:click={sendMoney} class="action">Tip</span>
{/if}
<span on:click={toggleBlock} class="action">Block</span>
{#if admin}
<span on:click={toggleBan} class="action">Ban</span>
Expand Down

0 comments on commit a21c364

Please sign in to comment.