2017-12-05 02:02:41 -08:00
|
|
|
<template>
|
2018-01-26 06:11:34 -08:00
|
|
|
<div class="chat-panel">
|
2018-03-31 11:14:36 -07:00
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading timeline-heading">
|
2018-01-26 06:11:34 -08:00
|
|
|
<div class="title">
|
|
|
|
{{$t('chat.title')}}
|
|
|
|
</div>
|
2017-12-05 02:02:41 -08:00
|
|
|
</div>
|
2018-01-26 06:11:34 -08:00
|
|
|
<div class="chat-window" v-chat-scroll>
|
2017-12-05 05:20:34 -08:00
|
|
|
<div class="chat-message" v-for="message in messages" :key="message.id">
|
2017-12-05 02:02:41 -08:00
|
|
|
<span class="chat-avatar">
|
|
|
|
<img :src="message.author.avatar" />
|
|
|
|
{{message.author.username}}:
|
|
|
|
</span>
|
|
|
|
<span class="chat-text">
|
|
|
|
{{message.text}}
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="chat-input">
|
2017-12-05 03:09:54 -08:00
|
|
|
<form @submit.prevent="submit(currentMessage)">
|
|
|
|
<input v-model="currentMessage" type="text" >
|
|
|
|
</form>
|
2017-12-05 02:02:41 -08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
2018-01-26 06:11:34 -08:00
|
|
|
<script src="./chat_panel.js"></script>
|
2017-12-05 02:02:41 -08:00
|
|
|
|
|
|
|
<style lang="scss">
|
2017-12-07 09:03:26 -08:00
|
|
|
.chat-window {
|
2018-01-26 06:11:34 -08:00
|
|
|
max-height: 200px;
|
2017-12-07 09:03:26 -08:00
|
|
|
overflow-y: auto;
|
|
|
|
overflow-x: hidden;
|
|
|
|
}
|
2017-12-05 02:02:41 -08:00
|
|
|
.chat-message {
|
|
|
|
padding: 0.2em 0.5em
|
|
|
|
}
|
|
|
|
.chat-avatar {
|
|
|
|
img {
|
|
|
|
height: 32px;
|
|
|
|
width: 32px;
|
|
|
|
border-radius: 5px;
|
|
|
|
margin-right: 0.5em;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.chat-input {
|
|
|
|
display: flex;
|
2017-12-05 03:09:54 -08:00
|
|
|
form {
|
2017-12-05 02:02:41 -08:00
|
|
|
flex: auto;
|
2017-12-05 03:09:54 -08:00
|
|
|
input {
|
|
|
|
margin: 0.5em;
|
2017-12-07 09:03:26 -08:00
|
|
|
width: fill-available;
|
2017-12-05 03:09:54 -08:00
|
|
|
}
|
2017-12-05 02:02:41 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|