.message {
white-space: normal;
overflow: hidden;
border-radius: 0.75rem;
border-width: 1px;
border-style: solid;
word-wrap: break-word;
position: relative;
display: inline-block;
max-width: calc(100% - 6rem - 0.25rem - 0.25rem);
border-color: #F2F2F2;
background-color: #F2F2F2;
color: #171717;
}
.has-avatar-spacer .message {
max-width: calc(100% - 3rem - 0.25rem - 0.25rem);
}
.by-me .message {
border-color: #171717;
background-color: #171717;
color: #fff;
margin-right: 0.50rem;
}
@auth
<script>
// Set up and synchronize user data
(async function () {
await Talk.ready;
const user = @json(Auth::user());
const talkUser = new Talk.User({
id: user.id.toString(),
name: user.name,
email: user.email,
photoUrl: user.photo_url,
welcomeMessage: "Hi there, how can I help?"
});
const session = new Talk.Session({
appId: @json($app_id),
me: talkUser,
});
// Create a messaging inbox
const inbox = session.createInbox();
inbox.mount(document.getElementById('talkjs-container'));
})();
</script>
@endauth
We were able to offload all messaging to TalkJS — hugely simplifying our development of an otherwise complex stack.