Update eslint-plugin-vue

This commit is contained in:
Pavel Djundik 2018-07-29 20:57:14 +03:00 committed by Pavel Djundik
parent bd57c6d620
commit 6877199515
35 changed files with 148 additions and 185 deletions

View File

@ -90,6 +90,7 @@ rules:
yoda: error yoda: error
vue/html-indent: [error, tab] vue/html-indent: [error, tab]
vue/require-default-prop: off vue/require-default-prop: off
vue/no-v-html: off
plugins: plugins:
- vue - vue

View File

@ -16,7 +16,7 @@
</div> </div>
<NetworkList <NetworkList
:networks="networks" :networks="networks"
:active-channel="activeChannel"/> :active-channel="activeChannel" />
</div> </div>
<footer id="footer"> <footer id="footer">
<span <span
@ -27,7 +27,7 @@
aria-label="Sign in" aria-label="Sign in"
role="tab" role="tab"
aria-controls="sign-in" aria-controls="sign-in"
aria-selected="false"/></span> aria-selected="false" /></span>
<span <span
class="tooltipped tooltipped-n tooltipped-no-touch" class="tooltipped tooltipped-n tooltipped-no-touch"
aria-label="Connect to network"><button aria-label="Connect to network"><button
@ -36,7 +36,7 @@
aria-label="Connect to network" aria-label="Connect to network"
role="tab" role="tab"
aria-controls="connect" aria-controls="connect"
aria-selected="false"/></span> aria-selected="false" /></span>
<span <span
class="tooltipped tooltipped-n tooltipped-no-touch" class="tooltipped tooltipped-n tooltipped-no-touch"
aria-label="Settings"><button aria-label="Settings"><button
@ -45,7 +45,7 @@
aria-label="Settings" aria-label="Settings"
role="tab" role="tab"
aria-controls="settings" aria-controls="settings"
aria-selected="false"/></span> aria-selected="false" /></span>
<span <span
class="tooltipped tooltipped-n tooltipped-no-touch" class="tooltipped tooltipped-n tooltipped-no-touch"
aria-label="Help"><button aria-label="Help"><button
@ -54,40 +54,40 @@
aria-label="Help" aria-label="Help"
role="tab" role="tab"
aria-controls="help" aria-controls="help"
aria-selected="false"/></span> aria-selected="false" /></span>
</footer> </footer>
</aside> </aside>
<div id="sidebar-overlay"/> <div id="sidebar-overlay" />
<article id="windows"> <article id="windows">
<Chat <Chat
v-if="activeChannel" v-if="activeChannel"
:settings="settings" :settings="settings"
:network="activeChannel.network" :network="activeChannel.network"
:channel="activeChannel.channel"/> :channel="activeChannel.channel" />
<div <div
id="sign-in" id="sign-in"
class="window" class="window"
role="tabpanel" role="tabpanel"
aria-label="Sign-in"/> aria-label="Sign-in" />
<div <div
id="connect" id="connect"
class="window" class="window"
role="tabpanel" role="tabpanel"
aria-label="Connect"/> aria-label="Connect" />
<div <div
id="settings" id="settings"
class="window" class="window"
role="tabpanel" role="tabpanel"
aria-label="Settings"/> aria-label="Settings" />
<div <div
id="help" id="help"
class="window" class="window"
role="tabpanel" role="tabpanel"
aria-label="Help"/> aria-label="Help" />
<div <div
id="changelog" id="changelog"
class="window" class="window"
aria-label="Changelog"/> aria-label="Changelog" />
</article> </article>
</div> </div>
</template> </template>

View File

@ -17,7 +17,7 @@
aria-label="Leave"> aria-label="Leave">
<button <button
class="close" class="close"
aria-label="Leave"/> aria-label="Leave" />
</span> </span>
</template> </template>
<template v-else> <template v-else>
@ -26,7 +26,7 @@
aria-label="Close"> aria-label="Close">
<button <button
class="close" class="close"
aria-label="Close"/> aria-label="Close" />
</span> </span>
</template> </template>
</ChannelWrapper> </ChannelWrapper>

View File

@ -9,12 +9,11 @@
:aria-controls="'#chan-' + channel.id" :aria-controls="'#chan-' + channel.id"
:aria-selected="activeChannel && channel === activeChannel.channel" :aria-selected="activeChannel && channel === activeChannel.channel"
class="chan" class="chan"
role="tab" role="tab">
>
<slot <slot
:network="network" :network="network"
:channel="channel" :channel="channel"
:activeChannel="activeChannel"/> :activeChannel="activeChannel" />
</div> </div>
</template> </template>

View File

@ -9,38 +9,35 @@
'hide-motd': !settings.motd, 'hide-motd': !settings.motd,
'colored-nicks': settings.coloredNicks, 'colored-nicks': settings.coloredNicks,
'show-seconds': settings.showSeconds, 'show-seconds': settings.showSeconds,
}" }">
>
<div <div
:id="'chan-' + channel.id" :id="'chan-' + channel.id"
:class="[channel.type, 'chan', 'active']" :class="[channel.type, 'chan', 'active']"
:data-id="channel.id" :data-id="channel.id"
:data-type="channel.type" :data-type="channel.type"
:aria-label="channel.name" :aria-label="channel.name"
role="tabpanel" role="tabpanel">
>
<div class="header"> <div class="header">
<button <button
class="lt" class="lt"
aria-label="Toggle channel list"/> aria-label="Toggle channel list" />
<span class="title">{{ channel.name }}</span> <span class="title">{{ channel.name }}</span>
<span <span
:title="channel.topic" :title="channel.topic"
class="topic"><ParsedMessage class="topic"><ParsedMessage
v-if="channel.topic" v-if="channel.topic"
:network="network" :network="network"
:text="channel.topic"/></span> :text="channel.topic" /></span>
<button <button
class="menu" class="menu"
aria-label="Open the context menu" aria-label="Open the context menu" />
/>
<span <span
v-if="channel.type === 'channel'" v-if="channel.type === 'channel'"
class="rt-tooltip tooltipped tooltipped-w" class="rt-tooltip tooltipped tooltipped-w"
aria-label="Toggle user list"> aria-label="Toggle user list">
<button <button
class="rt" class="rt"
aria-label="Toggle user list"/> aria-label="Toggle user list" />
</span> </span>
</div> </div>
<div <div
@ -52,7 +49,7 @@
<component <component
:is="specialComponent" :is="specialComponent"
:network="network" :network="network"
:channel="channel"/> :channel="channel" />
</div> </div>
</div> </div>
</div> </div>
@ -63,17 +60,17 @@
<MessageList <MessageList
:network="network" :network="network"
:channel="channel" :channel="channel"
:settings="settings"/> :settings="settings" />
<ChatUserList <ChatUserList
v-if="channel.type === 'channel'" v-if="channel.type === 'channel'"
:channel="channel"/> :channel="channel" />
</div> </div>
</div> </div>
</div> </div>
<div id="connection-error"/> <div id="connection-error" />
<ChatInput <ChatInput
:network="network" :network="network"
:channel="channel"/> :channel="channel" />
</div> </div>
</template> </template>

View File

@ -13,8 +13,7 @@
:aria-label="getInputPlaceholder(channel)" :aria-label="getInputPlaceholder(channel)"
:disabled="!$root.connected" :disabled="!$root.connected"
class="mousetrap" class="mousetrap"
@keypress.enter.exact.prevent="onSubmit" @keypress.enter.exact.prevent="onSubmit" />
/>
<span <span
v-if="$root.connected" v-if="$root.connected"
id="submit-tooltip" id="submit-tooltip"
@ -23,7 +22,7 @@
<button <button
id="submit" id="submit"
type="submit" type="submit"
aria-label="Send message"/> aria-label="Send message" />
</span> </span>
</form> </form>
</template> </template>

View File

@ -1,13 +1,12 @@
<template> <template>
<aside <aside
ref="userlist" ref="userlist"
class="userlist" class="userlist">
>
<div class="count"> <div class="count">
<input <input
ref="input" ref="input"
:placeholder="channel.users.length + ' user' + (channel.users.length === 1 ? '' : 's')"
v-model="userSearchInput" v-model="userSearchInput"
:placeholder="channel.users.length + ' user' + (channel.users.length === 1 ? '' : 's')"
type="search" type="search"
class="search" class="search"
aria-label="Search among the user list" aria-label="Search among the user list"
@ -16,30 +15,28 @@
@keydown.down="navigateUserList(1)" @keydown.down="navigateUserList(1)"
@keydown.page-up="navigateUserList(-10)" @keydown.page-up="navigateUserList(-10)"
@keydown.page-down="navigateUserList(10)" @keydown.page-down="navigateUserList(10)"
@keydown.enter="selectUser" @keydown.enter="selectUser">
>
</div> </div>
<div class="names"> <div class="names">
<div <div
v-for="(users, mode) in groupedUsers" v-for="(users, mode) in groupedUsers"
:key="mode" :key="mode"
:class="['user-mode', getModeClass(mode)]" :class="['user-mode', getModeClass(mode)]">
>
<template v-if="userSearchInput.length > 0"> <template v-if="userSearchInput.length > 0">
<UsernameFiltered <UsernameFiltered
v-for="user in users" v-for="user in users"
:on-hover="hoverUser"
:key="user.original.nick" :key="user.original.nick"
:on-hover="hoverUser"
:active="user.original === activeUser" :active="user.original === activeUser"
:user="user"/> :user="user" />
</template> </template>
<template v-else> <template v-else>
<Username <Username
v-for="user in users" v-for="user in users"
:on-hover="hoverUser"
:key="user.nick" :key="user.nick"
:on-hover="hoverUser"
:active="user === activeUser" :active="user === activeUser"
:user="user"/> :user="user" />
</template> </template>
</div> </div>
</div> </div>

View File

@ -6,11 +6,10 @@
action="" action=""
autocomplete="off" autocomplete="off"
@keydown.esc.prevent="$emit('toggleJoinChannel')" @keydown.esc.prevent="$emit('toggleJoinChannel')"
@submit.prevent="onSubmit" @submit.prevent="onSubmit">
>
<input <input
v-focus
v-model="inputChannel" v-model="inputChannel"
v-focus
type="text" type="text"
class="input" class="input"
name="channel" name="channel"
@ -18,8 +17,7 @@
pattern="[^\s]+" pattern="[^\s]+"
maxlength="200" maxlength="200"
title="The channel name may not contain spaces" title="The channel name may not contain spaces"
required required>
>
<input <input
v-model="inputPassword" v-model="inputPassword"
type="password" type="password"
@ -29,8 +27,7 @@
pattern="[^\s]+" pattern="[^\s]+"
maxlength="200" maxlength="200"
title="The channel password may not contain spaces" title="The channel password may not contain spaces"
autocomplete="new-password" autocomplete="new-password">
>
<button <button
type="submit" type="submit"
class="btn btn-small">Join</button> class="btn btn-small">Join</button>

View File

@ -38,8 +38,7 @@
:aria-expanded="isContentShown" :aria-expanded="isContentShown"
:aria-label="moreButtonLabel" :aria-label="moreButtonLabel"
class="more" class="more"
@click="onMoreClick" @click="onMoreClick"><span class="more-caret" /></button>
><span class="more-caret"/></button>
</div> </div>
<div class="body overflowable"> <div class="body overflowable">
@ -112,8 +111,7 @@
:aria-expanded="isContentShown" :aria-expanded="isContentShown"
:aria-label="moreButtonLabel" :aria-label="moreButtonLabel"
class="more" class="more"
@click="onMoreClick" @click="onMoreClick"><span class="more-caret" /></button>
><span class="more-caret"/></button>
</template> </template>
</template> </template>
</div> </div>

View File

@ -2,7 +2,7 @@
<button <button
v-if="link.canDisplay" v-if="link.canDisplay"
:class="['toggle-button', 'toggle-preview', { opened: link.shown }]" :class="['toggle-button', 'toggle-preview', { opened: link.shown }]"
@click="onClick"/> @click="onClick" />
</template> </template>
<script> <script>

View File

@ -2,8 +2,7 @@
<div <div
:id="'msg-' + message.id" :id="'msg-' + message.id"
:class="['msg', message.type, {self: message.self, highlight: message.highlight}]" :class="['msg', message.type, {self: message.self, highlight: message.highlight}]"
:data-from="message.from && message.from.nick" :data-from="message.from && message.from.nick">
>
<span <span
:aria-label="message.time | localetime" :aria-label="message.time | localetime"
class="time tooltipped tooltipped-e">{{ message.time | tz }}</span> class="time tooltipped tooltipped-e">{{ message.time | tz }}</span>
@ -16,40 +15,40 @@
</span> </span>
</template> </template>
<template v-else-if="isAction()"> <template v-else-if="isAction()">
<span class="from"/> <span class="from" />
<component <component
:is="messageComponent" :is="messageComponent"
:network="network" :network="network"
:message="message"/> :message="message" />
</template> </template>
<template v-else-if="message.type === 'action'"> <template v-else-if="message.type === 'action'">
<span class="from"/> <span class="from" />
<span class="content"> <span class="content">
<span class="text"><Username :user="message.from"/> <ParsedMessage <span class="text"><Username :user="message.from" /> <ParsedMessage
:network="network" :network="network"
:message="message"/></span> :message="message" /></span>
<LinkPreview <LinkPreview
v-for="preview in message.previews" v-for="preview in message.previews"
:keep-scroll-position="keepScrollPosition"
:key="preview.link" :key="preview.link"
:link="preview"/> :keep-scroll-position="keepScrollPosition"
:link="preview" />
</span> </span>
</template> </template>
<template v-else> <template v-else>
<span class="from"> <span class="from">
<template v-if="message.from && message.from.nick"> <template v-if="message.from && message.from.nick">
<Username :user="message.from"/> <Username :user="message.from" />
</template> </template>
</span> </span>
<span class="content"> <span class="content">
<span class="text"><ParsedMessage <span class="text"><ParsedMessage
:network="network" :network="network"
:message="message"/></span> :message="message" /></span>
<LinkPreview <LinkPreview
v-for="preview in message.previews" v-for="preview in message.previews"
:keep-scroll-position="keepScrollPosition"
:key="preview.link" :key="preview.link"
:link="preview"/> :keep-scroll-position="keepScrollPosition"
:link="preview" />
</span> </span>
</template> </template>
</div> </div>

View File

@ -1,19 +1,19 @@
<template> <template>
<div :class="[ 'msg', 'condensed', { closed: isCollapsed } ]"> <div :class="[ 'msg', 'condensed', { closed: isCollapsed } ]">
<div class="condensed-summary"> <div class="condensed-summary">
<span class="time"/> <span class="time" />
<span class="from"/> <span class="from" />
<span <span
class="content" class="content"
@click="isCollapsed = !isCollapsed">{{ condensedText }}<button @click="isCollapsed = !isCollapsed">{{ condensedText }}<button
class="toggle-button" class="toggle-button"
aria-label="Toggle status messages"/></span> aria-label="Toggle status messages" /></span>
</div> </div>
<Message <Message
v-for="message in messages" v-for="message in messages"
:key="message.id"
:network="network" :network="network"
:message="message" :message="message" />
:key="message.id"/>
</div> </div>
</template> </template>

View File

@ -1,15 +1,13 @@
<template> <template>
<div <div
ref="chat" ref="chat"
class="chat" class="chat">
>
<div :class="['show-more', { show: channel.moreHistoryAvailable }]"> <div :class="['show-more', { show: channel.moreHistoryAvailable }]">
<button <button
ref="loadMoreButton" ref="loadMoreButton"
:disabled="channel.historyLoading || !$root.connected" :disabled="channel.historyLoading || !$root.connected"
class="btn" class="btn"
@click="onShowMoreClick" @click="onShowMoreClick">
>
<span v-if="channel.historyLoading">Loading</span> <span v-if="channel.historyLoading">Loading</span>
<span v-else>Show older messages</span> <span v-else>Show older messages</span>
</button> </button>
@ -19,42 +17,40 @@
role="log" role="log"
aria-live="polite" aria-live="polite"
aria-relevant="additions" aria-relevant="additions"
@copy="onCopy" @copy="onCopy">
>
<template v-for="(message, id) in condensedMessages"> <template v-for="(message, id) in condensedMessages">
<div <div
v-if="shouldDisplayDateMarker(message, id)" v-if="shouldDisplayDateMarker(message, id)"
:key="message.id + '-date'" :key="message.id + '-date'"
:data-time="message.time" :data-time="message.time"
:aria-label="message.time | localedate" :aria-label="message.time | localedate"
class="date-marker-container tooltipped tooltipped-s" class="date-marker-container tooltipped tooltipped-s">
>
<div class="date-marker"> <div class="date-marker">
<span <span
:data-label="message.time | friendlydate" :data-label="message.time | friendlydate"
class="date-marker-text"/> class="date-marker-text" />
</div> </div>
</div> </div>
<div <div
v-if="shouldDisplayUnreadMarker(id)" v-if="shouldDisplayUnreadMarker(id)"
:key="message.id + '-unread'" :key="message.id + '-unread'"
class="unread-marker" class="unread-marker">
> <span class="unread-marker-text" />
<span class="unread-marker-text"/>
</div> </div>
<MessageCondensed <MessageCondensed
v-if="message.type === 'condensed'" v-if="message.type === 'condensed'"
:key="message.id" :key="message.id"
:network="network" :network="network"
:messages="message.messages"/> :keep-scroll-position="keepScrollPosition"
:messages="message.messages" />
<Message <Message
v-else v-else
:key="message.id"
:network="network" :network="network"
:message="message" :message="message"
:key="message.id"
:keep-scroll-position="keepScrollPosition" :keep-scroll-position="keepScrollPosition"
@linkPreviewToggle="onLinkPreviewToggle"/> @linkPreviewToggle="onLinkPreviewToggle" />
</template> </template>
</div> </div>
@ -63,7 +59,7 @@
v-if="!channel.scrolledToBottom" v-if="!channel.scrolledToBottom"
class="scroll-down" class="scroll-down"
@click="jumpToBottom()"> @click="jumpToBottom()">
<div class="scroll-down-arrow"/> <div class="scroll-down-arrow" />
<div <div
v-if="channel.unread > 0" v-if="channel.unread > 0"
class="scroll-down-number">{{ channel.unread }}</div> class="scroll-down-number">{{ channel.unread }}</div>

View File

@ -3,13 +3,13 @@
<ParsedMessage <ParsedMessage
v-if="message.self" v-if="message.self"
:network="network" :network="network"
:message="message"/> :message="message" />
<template v-else> <template v-else>
<Username :user="message.from"/> <Username :user="message.from" />
is away is away
<i class="away-message">(<ParsedMessage <i class="away-message">(<ParsedMessage
:network="network" :network="network"
:message="message"/>)</i> :message="message" />)</i>
</template> </template>
</span> </span>
</template> </template>

View File

@ -3,9 +3,9 @@
<ParsedMessage <ParsedMessage
v-if="message.self" v-if="message.self"
:network="network" :network="network"
:message="message"/> :message="message" />
<template v-else> <template v-else>
<Username :user="message.from"/> <Username :user="message.from" />
is back is back
</template> </template>
</span> </span>

View File

@ -1,6 +1,6 @@
<template> <template>
<span class="content"> <span class="content">
<Username :user="message.from"/> <Username :user="message.from" />
has changed has changed
<span v-if="message.new_ident">username to <b>{{ message.new_ident }}</b></span> <span v-if="message.new_ident">username to <b>{{ message.new_ident }}</b></span>
<span v-if="message.new_host">hostname to <i class="hostmask">{{ message.new_host }}</i></span> <span v-if="message.new_host">hostname to <i class="hostmask">{{ message.new_host }}</i></span>

View File

@ -1,7 +1,7 @@
<template> <template>
<span class="content"> <span class="content">
<Username :user="message.from"/> <Username :user="message.from" />
<span class="ctcp-message"><ParsedMessage :text="message.ctcpMessage"/></span> <span class="ctcp-message"><ParsedMessage :text="message.ctcpMessage" /></span>
</span> </span>
</template> </template>

View File

@ -1,8 +1,8 @@
<template> <template>
<span class="content"> <span class="content">
<Username :user="message.from"/> <Username :user="message.from" />
sent a <abbr title="Client-to-client protocol">CTCP</abbr> request: sent a <abbr title="Client-to-client protocol">CTCP</abbr> request:
<span class="ctcp-message"><ParsedMessage :text="message.ctcpMessage"/></span> <span class="ctcp-message"><ParsedMessage :text="message.ctcpMessage" /></span>
</span> </span>
</template> </template>

View File

@ -1,14 +1,14 @@
<template> <template>
<span class="content"> <span class="content">
<Username :user="message.from"/> <Username :user="message.from" />
invited invited
<span v-if="message.invitedYou">you</span> <span v-if="message.invitedYou">you</span>
<Username <Username
v-else v-else
:user="message.target"/> :user="message.target" />
to <ParsedMessage to <ParsedMessage
:network="network" :network="network"
:text="message.channel"/> :text="message.channel" />
</span> </span>
</template> </template>

View File

@ -1,6 +1,6 @@
<template> <template>
<span class="content"> <span class="content">
<Username :user="message.from"/> <Username :user="message.from" />
<i class="hostmask">({{ message.hostmask }})</i> <i class="hostmask">({{ message.hostmask }})</i>
has joined the channel has joined the channel
</span> </span>

View File

@ -1,13 +1,13 @@
<template> <template>
<span class="content"> <span class="content">
<Username :user="message.from"/> <Username :user="message.from" />
has kicked has kicked
<Username :user="message.target"/> <Username :user="message.target" />
<i <i
v-if="message.text" v-if="message.text"
class="part-reason">(<ParsedMessage class="part-reason">(<ParsedMessage
:network="network" :network="network"
:message="message"/>)</i> :message="message" />)</i>
</span> </span>
</template> </template>

View File

@ -1,8 +1,8 @@
<template> <template>
<span class="content"> <span class="content">
<Username :user="message.from"/> <Username :user="message.from" />
sets mode sets mode
<ParsedMessage :message="message"/> <ParsedMessage :message="message" />
</span> </span>
</template> </template>

View File

@ -2,7 +2,7 @@
<span class="content"> <span class="content">
<span class="text"><ParsedMessage <span class="text"><ParsedMessage
:network="network" :network="network"
:text="cleanText"/></span> :text="cleanText" /></span>
</span> </span>
</template> </template>

View File

@ -1,8 +1,8 @@
<template> <template>
<span class="content"> <span class="content">
<Username :user="message.from"/> <Username :user="message.from" />
is now known as is now known as
<Username :user="{nick: message.new_nick, mode: message.from.mode}"/> <Username :user="{nick: message.new_nick, mode: message.from.mode}" />
</span> </span>
</template> </template>

View File

@ -1,13 +1,13 @@
<template> <template>
<span class="content"> <span class="content">
<Username :user="message.from"/> <Username :user="message.from" />
<i class="hostmask">({{ message.hostmask }})</i> <i class="hostmask">({{ message.hostmask }})</i>
has left the channel has left the channel
<i <i
v-if="message.text" v-if="message.text"
class="part-reason">(<ParsedMessage class="part-reason">(<ParsedMessage
:network="network" :network="network"
:message="message"/>)</i> :message="message" />)</i>
</span> </span>
</template> </template>

View File

@ -1,13 +1,13 @@
<template> <template>
<span class="content"> <span class="content">
<Username :user="message.from"/> <Username :user="message.from" />
<i class="hostmask">({{ message.hostmask }})</i> <i class="hostmask">({{ message.hostmask }})</i>
has quit has quit
<i <i
v-if="message.text" v-if="message.text"
class="quit-reason">(<ParsedMessage class="quit-reason">(<ParsedMessage
:network="network" :network="network"
:message="message"/>)</i> :message="message" />)</i>
</span> </span>
</template> </template>

View File

@ -1,7 +1,7 @@
<template> <template>
<span class="content"> <span class="content">
<template v-if="message.from && message.from.nick"> <template v-if="message.from && message.from.nick">
<Username :user="message.from"/> <Username :user="message.from" />
has changed the topic to: has changed the topic to:
</template> </template>
<template v-else> <template v-else>
@ -11,7 +11,7 @@
v-if="message.text" v-if="message.text"
class="new-topic"><ParsedMessage class="new-topic"><ParsedMessage
:network="network" :network="network"
:message="message"/></span> :message="message" /></span>
</span> </span>
</template> </template>

View File

@ -1,7 +1,7 @@
<template> <template>
<span class="content"> <span class="content">
Topic set by Topic set by
<Username :user="message.from"/> <Username :user="message.from" />
on {{ message.when | localetime }} on {{ message.when | localetime }}
</span> </span>
</template> </template>

View File

@ -1,7 +1,7 @@
<template> <template>
<span class="content"> <span class="content">
<p> <p>
<Username :user="{nick: message.whois.nick}"/> <Username :user="{nick: message.whois.nick}" />
<span v-if="message.whois.whowas"> is offline, last information:</span> <span v-if="message.whois.whowas"> is offline, last information:</span>
</p> </p>
@ -29,7 +29,7 @@
<dt>Real name:</dt> <dt>Real name:</dt>
<dd><ParsedMessage <dd><ParsedMessage
:network="network" :network="network"
:text="message.whois.real_name"/></dd> :text="message.whois.real_name" /></dd>
</template> </template>
<template v-if="message.whois.registered_nick"> <template v-if="message.whois.registered_nick">
@ -41,7 +41,7 @@
<dt>Channels:</dt> <dt>Channels:</dt>
<dd><ParsedMessage <dd><ParsedMessage
:network="network" :network="network"
:text="message.whois.channels"/></dd> :text="message.whois.channels" /></dd>
</template> </template>
<template v-if="message.whois.modes"> <template v-if="message.whois.modes">
@ -73,7 +73,7 @@
<dt>Away:</dt> <dt>Away:</dt>
<dd><ParsedMessage <dd><ParsedMessage
:network="network" :network="network"
:text="message.whois.away"/></dd> :text="message.whois.away" /></dd>
</template> </template>
<template v-if="message.whois.secure"> <template v-if="message.whois.secure">

View File

@ -15,30 +15,27 @@
> >
<div <div
v-for="network in networks" v-for="network in networks"
:id="'network-' + network.uuid"
:key="network.uuid" :key="network.uuid"
:class="{ :class="{
collapsed: network.isCollapsed, collapsed: network.isCollapsed,
'not-connected': !network.status.connected, 'not-connected': !network.status.connected,
'not-secure': !network.status.secure, 'not-secure': !network.status.secure,
}" }"
:id="'network-' + network.uuid"
:data-uuid="network.uuid" :data-uuid="network.uuid"
:data-nick="network.nick" :data-nick="network.nick"
class="network" class="network"
role="region" role="region">
>
<NetworkLobby <NetworkLobby
:network="network" :network="network"
:active-channel="activeChannel" :active-channel="activeChannel"
:is-join-channel-shown="network.isJoinChannelShown" :is-join-channel-shown="network.isJoinChannelShown"
@toggleJoinChannel="network.isJoinChannelShown = !network.isJoinChannelShown" @toggleJoinChannel="network.isJoinChannelShown = !network.isJoinChannelShown" />
/>
<JoinChannel <JoinChannel
v-if="network.isJoinChannelShown" v-if="network.isJoinChannelShown"
:network="network" :network="network"
:channel="network.channels[0]" :channel="network.channels[0]"
@toggleJoinChannel="network.isJoinChannelShown = !network.isJoinChannelShown" @toggleJoinChannel="network.isJoinChannelShown = !network.isJoinChannelShown" />
/>
<Draggable <Draggable
:options="{ draggable: '.chan', ghostClass: 'chan-placeholder' }" :options="{ draggable: '.chan', ghostClass: 'chan-placeholder' }"
@ -49,13 +46,11 @@
@end="onDragEnd" @end="onDragEnd"
> >
<Channel <Channel
v-for="(channel, index) in network.channels" v-for="channel in getChannelsWithoutLobby(network)"
v-if="index > 0"
:key="channel.id" :key="channel.id"
:channel="channel" :channel="channel"
:network="network" :network="network"
:active-channel="activeChannel" :active-channel="activeChannel" />
/>
</Draggable> </Draggable>
</div> </div>
</Draggable> </Draggable>

View File

@ -9,11 +9,10 @@
:aria-label="getExpandLabel(network)" :aria-label="getExpandLabel(network)"
:aria-expanded="!network.isCollapsed" :aria-expanded="!network.isCollapsed"
class="collapse-network" class="collapse-network"
@click.stop="onCollapseClick" @click.stop="onCollapseClick"><span class="collapse-network-icon" /></button>
><span class="collapse-network-icon"/></button>
<span <span
v-else v-else
class="collapse-network"/> class="collapse-network" />
<div class="lobby-wrap"> <div class="lobby-wrap">
<span <span
:title="channel.name" :title="channel.name"
@ -21,12 +20,12 @@
<span <span
class="not-secure-tooltip tooltipped tooltipped-w" class="not-secure-tooltip tooltipped tooltipped-w"
aria-label="Insecure connection"> aria-label="Insecure connection">
<span class="not-secure-icon"/> <span class="not-secure-icon" />
</span> </span>
<span <span
class="not-connected-tooltip tooltipped tooltipped-w" class="not-connected-tooltip tooltipped tooltipped-w"
aria-label="Disconnected"> aria-label="Disconnected">
<span class="not-connected-icon"/> <span class="not-connected-icon" />
</span> </span>
<span <span
v-if="channel.unread" v-if="channel.unread"
@ -40,7 +39,7 @@
:class="['add-channel', { opened: isJoinChannelShown }]" :class="['add-channel', { opened: isJoinChannelShown }]"
:aria-controls="'join-channel-' + channel.id" :aria-controls="'join-channel-' + channel.id"
:aria-label="joinChannelLabel" :aria-label="joinChannelLabel"
@click.stop="$emit('toggleJoinChannel')"/> @click.stop="$emit('toggleJoinChannel')" />
</span> </span>
</ChannelWrapper> </ChannelWrapper>
</template> </template>

View File

@ -16,11 +16,11 @@
:key="chan.channel"> :key="chan.channel">
<td class="channel"><ParsedMessage <td class="channel"><ParsedMessage
:network="network" :network="network"
:text="chan.channel"/></td> :text="chan.channel" /></td>
<td class="users">{{ chan.num_users }}</td> <td class="users">{{ chan.num_users }}</td>
<td class="topic"><ParsedMessage <td class="topic"><ParsedMessage
:network="network" :network="network"
:text="chan.topic"/></td> :text="chan.topic" /></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -4,7 +4,7 @@
:data-name="user.original.nick" :data-name="user.original.nick"
role="button" role="button"
@mouseover="hover" @mouseover="hover"
v-html="user.original.mode + user.string"/> v-html="user.original.mode + user.string" />
</template> </template>
<script> <script>

View File

@ -80,8 +80,7 @@
"css.escape": "1.5.1", "css.escape": "1.5.1",
"emoji-regex": "7.0.3", "emoji-regex": "7.0.3",
"eslint": "5.13.0", "eslint": "5.13.0",
"eslint-plugin-vue": "4.5.0", "eslint-plugin-vue": "5.0.0",
"eslint-plugin-vue": "4.7.1",
"fuzzy": "0.1.3", "fuzzy": "0.1.3",
"graphql-request": "1.8.2", "graphql-request": "1.8.2",
"handlebars": "4.1.0", "handlebars": "4.1.0",

View File

@ -760,25 +760,15 @@ acorn-dynamic-import@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948"
acorn-jsx@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
dependencies:
acorn "^3.0.4"
acorn-jsx@^5.0.0: acorn-jsx@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.0.tgz#958584ddb60990c02c97c1bd9d521fce433bb101" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.0.tgz#958584ddb60990c02c97c1bd9d521fce433bb101"
acorn@^3.0.4: acorn@^6.0.2:
version "3.3.0" version "6.0.2"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.2.tgz#6a459041c320ab17592c6317abbfdf4bbaa98ca4"
acorn@^5.5.0: acorn@^6.0.5:
version "5.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
acorn@^6.0.2, acorn@^6.0.5:
version "6.0.5" version "6.0.5"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.5.tgz#81730c0815f3f3b34d8efa95cb7430965f4d887a" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.5.tgz#81730c0815f3f3b34d8efa95cb7430965f4d887a"
@ -2586,18 +2576,12 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1
version "1.0.5" version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
eslint-plugin-vue@4.7.1: eslint-plugin-vue@5.0.0:
version "4.7.1" version "5.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-4.7.1.tgz#c829b9fc62582c1897b5a0b94afd44ecca511e63" resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-5.0.0.tgz#4a2cc1c0e71ea45e1bd9c1a60f925bfe68bb5710"
integrity sha512-mSv2Ebz3RaPP+XJO/mu7F+SdR9lrMyGISSExnarLFqqf3pF5wTmwWNrhHW1o9zKzKI811UVTIIkWJJvgO6SsUQ==
dependencies: dependencies:
vue-eslint-parser "^2.0.3" vue-eslint-parser "^4.0.2"
eslint-scope@^3.7.1:
version "3.7.3"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535"
dependencies:
esrecurse "^4.1.0"
estraverse "^4.1.1"
eslint-scope@^4.0.0: eslint-scope@^4.0.0:
version "4.0.0" version "4.0.0"
@ -2655,12 +2639,14 @@ eslint@5.13.0:
table "^5.0.2" table "^5.0.2"
text-table "^0.2.0" text-table "^0.2.0"
espree@^3.5.2: espree@^4.1.0:
version "3.5.4" version "4.1.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f"
integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==
dependencies: dependencies:
acorn "^5.5.0" acorn "^6.0.2"
acorn-jsx "^3.0.0" acorn-jsx "^5.0.0"
eslint-visitor-keys "^1.0.0"
espree@^5.0.0: espree@^5.0.0:
version "5.0.0" version "5.0.0"
@ -2678,7 +2664,7 @@ esprima@^4.0.0:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
esquery@^1.0.0, esquery@^1.0.1: esquery@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
dependencies: dependencies:
@ -7641,16 +7627,17 @@ vm-browserify@0.0.4:
dependencies: dependencies:
indexof "0.0.1" indexof "0.0.1"
vue-eslint-parser@^2.0.3: vue-eslint-parser@^4.0.2:
version "2.0.3" version "4.0.3"
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz#c268c96c6d94cfe3d938a5f7593959b0ca3360d1" resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-4.0.3.tgz#80cf162e484387b2640371ad21ba1f86e0c10a61"
integrity sha512-AUeQsYdO6+7QXCems+WvGlrXd37PHv/zcRQSQdY1xdOMwdFAPEnMBsv7zPvk0TPGulXkK/5p/ITgrjiYB7k3ag==
dependencies: dependencies:
debug "^3.1.0" debug "^4.1.0"
eslint-scope "^3.7.1" eslint-scope "^4.0.0"
eslint-visitor-keys "^1.0.0" eslint-visitor-keys "^1.0.0"
espree "^3.5.2" espree "^4.1.0"
esquery "^1.0.0" esquery "^1.0.1"
lodash "^4.17.4" lodash "^4.17.11"
vue-hot-reload-api@^2.3.0: vue-hot-reload-api@^2.3.0:
version "2.3.0" version "2.3.0"