Skip to content
Extraits de code Groupes Projets
message.svelte 905 octets
Newer Older
  • Learn to ignore specific revisions
  • Brieuc Dubois's avatar
    Brieuc Dubois a validé
    <script lang="ts">
    	import JWTSession from '$lib/stores/JWTSession';
    	import type Message from '$lib/types/message';
    
    	import { displayTime } from '$lib/utils/date';
    
    Brieuc Dubois's avatar
    Brieuc Dubois a validé
    
    	export let message: Message;
    
    
    	let timer: number;
    	$: displayedTime = displayTime(message.created_at);
    	$: {
    		clearInterval(timer);
    		timer = setInterval(() => {
    			displayedTime = displayTime(message.created_at);
    		}, 1000);
    	}
    
    
    Brieuc Dubois's avatar
    Brieuc Dubois a validé
    	const isSender = message.user == JWTSession.user();
    </script>
    
    <div class="w-full flex" class:justify-end={isSender}>
    	<div
    
    		class="rounded-b-xl my-2 p-4 w-fit"
    
    Brieuc Dubois's avatar
    Brieuc Dubois a validé
    		class:bg-blue-200={isSender}
    
    		class:bg-gray-200={!isSender}
    
    Brieuc Dubois's avatar
    Brieuc Dubois a validé
    		class:rounded-tl-xl={isSender}
    		class:rounded-tr-xl={!isSender}
    	>
    		<div class="font-bold mb-1 capitalize">
    
    			{message.user.nickname}
    
    Brieuc Dubois's avatar
    Brieuc Dubois a validé
    		</div>
    		<div class="max-w-3xl">{message.content}</div>
    
    		<div class="text-right text-gray-500">
    			{displayedTime}
    		</div>
    
    Brieuc Dubois's avatar
    Brieuc Dubois a validé
    	</div>
    </div>