Compare commits

..

2 Commits

Author SHA1 Message Date
c66d68572d Use fixed positioning for input 2023-11-02 14:16:46 -04:00
77ab2cb769 Clean up imports 2023-11-01 17:24:45 -04:00
2 changed files with 17 additions and 32 deletions

View File

@ -11,9 +11,6 @@ async function sendMsg(ev) {
let msg = input.value let msg = input.value
input.value = '' input.value = ''
console.log(ws)
console.log(msg)
ws.send(msg) ws.send(msg)
} }
@ -29,6 +26,7 @@ onMounted(async () => {
}; };
ws.onmessage = function (event) { ws.onmessage = function (event) {
console.log(event)
msgs.value.push(event.data) msgs.value.push(event.data)
}; };
@ -38,33 +36,24 @@ onMounted(async () => {
<template> <template>
<main> <main>
<div class="container d-flex flex-column"> <div class="overflow-auto position-relative pb-5">
<div class="overflow-auto flex-1"> <div v-for="msg in msgs" class="card m-3 text-bg-secondary">
<div v-for="msg in msgs" class="card m-3 text-bg-primary"> <div class="card-body">{{ msg }}</div>
<div class="card-body">{{ msg }}</div>
</div>
</div> </div>
<form onsubmit="event.preventDefault();" class="input-group m-3"> <!--
<input v-model="input" type="text" class="form-control" placeholder="Type message here" aria-label="Chat message" <div v-for="msg in msgs" class="input-group">
aria-describedby="button-submit"> <div class="alert alert-primary">User</div>
<button @click="sendMsg" class="btn btn-outline-secondary" id="button-submit">Send</button> <div class="alert alert-secondary">{{ msg }}</div>
</div>
-->
<form onsubmit="event.preventDefault();" class="container-fluid fixed-bottom mb-3">
<div class="input-group">
<input v-model="input" type="text" class="form-control text-bg-secondary" placeholder="Type message here"
aria-label="Chat message" aria-describedby="button-submit">
<button @click="sendMsg" class="btn btn-primary" id="button-submit">Send</button>
</div>
</form> </form>
</div> </div>
</main> </main>
</template> </template>
<style scoped>
.container {
position: fixed;
height: 100vh;
width: 100%;
display: flex;
flex-direction: column;
}
.overflow-auto {
flex: 1;
overflow-y: auto;
}
</style>

View File

@ -2,14 +2,10 @@ use futures_util::{SinkExt, StreamExt};
use poem::{ use poem::{
endpoint::StaticFilesEndpoint, endpoint::StaticFilesEndpoint,
error::ResponseError, error::ResponseError,
get, handler,
http::StatusCode, http::StatusCode,
listener::TcpListener, listener::TcpListener,
session::{CookieConfig, MemoryStorage, ServerSession, Session}, session::{CookieConfig, MemoryStorage, ServerSession, Session},
web::{ web::websocket::{BoxWebSocketUpgraded, Message, WebSocket},
websocket::{BoxWebSocketUpgraded, Message, WebSocket},
Html,
},
EndpointExt, Result, Route, Server, EndpointExt, Result, Route, Server,
}; };
use poem_openapi::{ use poem_openapi::{