1 import $ from 'jquery';
2 import {Socket} from 'socket.io-client';
3 import {Message} from '../shared/message';
5 type DiscordWidget = HTMLElement & {
6 on: (event: string, handler: any) => void;
7 emit: (event: string, data: any) => void;
13 blockedUsers: string[],
14 discriminator: string;
19 function $el(): DiscordWidget {
20 return document.getElementById('discord-widget') as DiscordWidget;
23 function loadPersistedUser(): DiscordUser {
24 let user = localStorage.getItem('discordChat');
26 return JSON.parse(user) as DiscordUser;
29 throw new Error('No discord user');
34 $el().on('signIn', (user: DiscordUser) => {
35 localStorage.setItem('discordChat', JSON.stringify(user));
37 setUserAvatarFromDiscord(user.avatar);
40 function setUserAvatarFromDiscord(url: string) {
41 $('#avatar').attr('src', url);
44 export function configureDiscordChat(socket: Socket) {
46 const user = loadPersistedUser();
47 setUserAvatarFromDiscord(user.avatar);
49 socket.on('login', (msg: Message) => {
51 console.log('ok logged in');
52 $el().emit('sendMessage', {