Fix the appearance of comments
This commit is contained in:
@@ -7,6 +7,7 @@ export default class MyUserModel
|
|||||||
{
|
{
|
||||||
id = "";
|
id = "";
|
||||||
creatorAlias = "";
|
creatorAlias = "";
|
||||||
|
alias = null;
|
||||||
firstName = "";
|
firstName = "";
|
||||||
lastName = "";
|
lastName = "";
|
||||||
userName = "";
|
userName = "";
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
export default class StoredDataUrlsModel
|
export default class StoredDataUrlsModel
|
||||||
{
|
{
|
||||||
bannerPictureUrl = "";
|
bannerPictureUrl = null;
|
||||||
profilePictureUrl = "";
|
profilePictureUrl = null;
|
||||||
websiteIconUrl = "";
|
websiteIconUrl = null;
|
||||||
|
|
||||||
static createFromApiResult(apiResult){
|
static createFromApiResult(apiResult){
|
||||||
return Object.assign(new StoredDataUrlsModel(), apiResult)
|
return Object.assign(new StoredDataUrlsModel(), apiResult)
|
||||||
|
|||||||
@@ -79,10 +79,7 @@ const props = defineProps({
|
|||||||
const messages = reactive([]);
|
const messages = reactive([]);
|
||||||
|
|
||||||
function addMessage(newMessage) {
|
function addMessage(newMessage) {
|
||||||
console.table(newMessage, 'test')
|
|
||||||
console.table(messages)
|
|
||||||
messages.unshift(newMessage)
|
messages.unshift(newMessage)
|
||||||
console.table(messages)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@@ -58,9 +58,8 @@
|
|||||||
{{ currentUser.userName }}
|
{{ currentUser.userName }}
|
||||||
</span>
|
</span>
|
||||||
<img
|
<img
|
||||||
:src="currentUser.storedDataUrls.profilePictureUrl"
|
:src="currentUser.storedDataUrls.profilePictureUrl ?? '/images/usersmedia/anonyme/profilepictures/profileAnonymeSquare.png'"
|
||||||
alt="Profile Image"
|
alt="Profile Image"
|
||||||
@error="handleProfilePictureError"
|
|
||||||
class="ml-2 rounded-full" style="width: 32px; height: 32px;">
|
class="ml-2 rounded-full" style="width: 32px; height: 32px;">
|
||||||
</v-btn>
|
</v-btn>
|
||||||
</template>
|
</template>
|
||||||
@@ -120,11 +119,6 @@ const searchQuery = ref("");
|
|||||||
const showSearch = ref(false);
|
const showSearch = ref(false);
|
||||||
let currentUser = reactive(MyUserModel.getDefaultUser());
|
let currentUser = reactive(MyUserModel.getDefaultUser());
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const backupProfilePictureUrl = "/images/usersmedia/anonyme/profilepictures/profileAnonymeSquare.png"
|
|
||||||
|
|
||||||
const handleProfilePictureError = (event) => {
|
|
||||||
event.target.src = backupProfilePictureUrl;
|
|
||||||
}
|
|
||||||
|
|
||||||
const toggleSidebar = () => {
|
const toggleSidebar = () => {
|
||||||
eventBus.value.toggleSidebar();
|
eventBus.value.toggleSidebar();
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="flex flex-column">
|
<div class="flex flex-column">
|
||||||
<div class="flex flex-row p-1 items-center">
|
<div class="flex flex-row p-1 items-center">
|
||||||
<div class="px-2 content-center">
|
<div class="px-2 content-center">
|
||||||
<img :src="message.portrait"
|
<img :src="message.profileImageUrl ?? '/images/usersmedia/anonyme/profilepictures/profileAnonymeSquare.png'"
|
||||||
alt="Profile Image"
|
alt="Profile Image"
|
||||||
class="rounded-full"
|
class="rounded-full"
|
||||||
width="32px"
|
width="32px"
|
||||||
@@ -11,9 +11,21 @@
|
|||||||
|
|
||||||
<div class="p-2 flex-1">
|
<div class="p-2 flex-1">
|
||||||
<div class="flex justify-between items-center">
|
<div class="flex justify-between items-center">
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<span class="font-semibold font-sans mr-2">{{ message.createdBy }}</span>
|
|
||||||
<span class="text-sm font-sans text-gray-700">{{ time_ago(message.createdAt) }}</span>
|
<span class="font-semibold font-sans mr-2">
|
||||||
|
{{ message.createdByName }}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<v-tooltip :text="new Date(message.createdAt).toLocaleString()">
|
||||||
|
<template v-slot:activator="{ props }">
|
||||||
|
<span v-bind="props" class="text-sm-caption text-gray-700">
|
||||||
|
{{ time_ago(message.createdAt) }}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</v-tooltip>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<v-menu>
|
<v-menu>
|
||||||
<template v-slot:activator="{ props }">
|
<template v-slot:activator="{ props }">
|
||||||
|
|||||||
@@ -6,11 +6,9 @@
|
|||||||
class="bg-gray-300 rounded-md justify-items-center">
|
class="bg-gray-300 rounded-md justify-items-center">
|
||||||
|
|
||||||
<template v-for="(message, index) in messages" :key="index">
|
<template v-for="(message, index) in messages" :key="index">
|
||||||
<Message
|
<message :message="message"
|
||||||
:message="message"
|
class="m-2 p-2 rounded-md bg-gray-100"
|
||||||
class="m-2 p-2 rounded-md bg-gray-100"
|
></message>
|
||||||
>
|
|
||||||
</Message>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-slot:load-more="{ props }">
|
<template v-slot:load-more="{ props }">
|
||||||
@@ -79,11 +77,11 @@ async function load({done, page_size}) {
|
|||||||
|
|
||||||
if (response.status >= 200 && response.status < 300) {
|
if (response.status >= 200 && response.status < 300) {
|
||||||
|
|
||||||
const messageCount = response.data.length
|
const messageCount = response.data.messages.length
|
||||||
|
|
||||||
if (messageCount > 0) {
|
if (messageCount > 0) {
|
||||||
messages.value.push(...response.data)
|
messages.value.push(...response.data.messages)
|
||||||
const [last_content] = response.data.slice(-1)
|
const [last_content] = response.data.messages.slice(-1)
|
||||||
last_id = last_content.id
|
last_id = last_content.id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,8 @@
|
|||||||
<div class="flex flex-row">
|
<div class="flex flex-row">
|
||||||
|
|
||||||
<div class="mx-2 content-center">
|
<div class="mx-2 content-center">
|
||||||
<img src="/images/usersmedia/anonyme/profilepictures/profileAnonymeSquare.png"
|
|
||||||
|
<img :src="profileUrl"
|
||||||
alt="Profile Image"
|
alt="Profile Image"
|
||||||
class="rounded-full"
|
class="rounded-full"
|
||||||
width="32px"
|
width="32px"
|
||||||
@@ -46,11 +47,12 @@ const props = defineProps({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(['message-posted']);
|
const emit = defineEmits(['message-posted'])
|
||||||
|
|
||||||
const client = useClient();
|
const client = useClient()
|
||||||
const value = ref("");
|
const value = ref("")
|
||||||
const user = useUserStore();
|
const user = useUserStore()
|
||||||
|
const profileUrl = ref(user.getCurrentUser().storedDataUrls.profilePictureUrl ?? '/images/usersmedia/anonyme/profilepictures/profileAnonymeSquare.png')
|
||||||
|
|
||||||
const publish = async () => {
|
const publish = async () => {
|
||||||
|
|
||||||
@@ -62,15 +64,21 @@ const publish = async () => {
|
|||||||
"subjectId": props.subjectId,
|
"subjectId": props.subjectId,
|
||||||
"message": value.value
|
"message": value.value
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentUser = user.getCurrentUser()
|
||||||
emit('message-posted',
|
emit('message-posted',
|
||||||
{
|
{
|
||||||
"id": messageId,
|
"id": messageId,
|
||||||
"subjectId": props.subjectId,
|
"subjectId": props.subjectId,
|
||||||
"createdBy": user.getCurrentUser().id,
|
"createdBy": currentUser.id,
|
||||||
|
"createdByName": currentUser.alias ?? `${currentUser.firstName} ${currentUser.lastName}`,
|
||||||
|
"createdByPortraitUrl": currentUser.storedDataUrls.profilePictureUrl,
|
||||||
"createdAt": new Date(Date.now()).toISOString(),
|
"createdAt": new Date(Date.now()).toISOString(),
|
||||||
"value": value.value,
|
"value": value.value,
|
||||||
parentId: null,
|
parentId: null,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
value.value = ''
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`post api/message : ${error}`)
|
console.error(`post api/message : ${error}`)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user