mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
Merge branch 'master' into dependabot/npm_and_yarn/cypress-12.17.0
This commit is contained in:
commit
0d6a7daba4
@ -12,7 +12,11 @@ export default {
|
|||||||
if (resolved) {
|
if (resolved) {
|
||||||
resolved.forEach((room) => {
|
resolved.forEach((room) => {
|
||||||
if (room.users) {
|
if (room.users) {
|
||||||
|
// buggy, you must query the username for this to function correctly
|
||||||
room.roomName = room.users.filter((user) => user.id !== context.user.id)[0].name
|
room.roomName = room.users.filter((user) => user.id !== context.user.id)[0].name
|
||||||
|
room.avatar =
|
||||||
|
room.users.filter((user) => user.id !== context.user.id)[0].avatar?.url ||
|
||||||
|
'default-avatar'
|
||||||
room.users.forEach((user) => {
|
room.users.forEach((user) => {
|
||||||
user._id = user.id
|
user._id = user.id
|
||||||
})
|
})
|
||||||
|
|||||||
@ -14,6 +14,7 @@ type Room {
|
|||||||
|
|
||||||
roomId: String! @cypher(statement: "RETURN this.id")
|
roomId: String! @cypher(statement: "RETURN this.id")
|
||||||
roomName: String! ## @cypher(statement: "MATCH (this)<-[:CHATS_IN]-(user:User) WHERE NOT user.id = $cypherParams.currentUserId RETURN user[0].name")
|
roomName: String! ## @cypher(statement: "MATCH (this)<-[:CHATS_IN]-(user:User) WHERE NOT user.id = $cypherParams.currentUserId RETURN user[0].name")
|
||||||
|
avatar: String! ## @cypher match not own user in users array
|
||||||
}
|
}
|
||||||
|
|
||||||
type Mutation {
|
type Mutation {
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 02ccccd38f72d5f0135234d7e77a030a086b7e8c
|
Subproject commit 350237c62dcff1a5c34f1e8d718f89b05ce3d33f
|
||||||
@ -14,6 +14,7 @@ ARG CONFIGURATION=example
|
|||||||
# copy public constants into the Docker image to brand it
|
# copy public constants into the Docker image to brand it
|
||||||
COPY configurations/${CONFIGURATION}/branding/static/ static/
|
COPY configurations/${CONFIGURATION}/branding/static/ static/
|
||||||
COPY configurations/${CONFIGURATION}/branding/constants/ constants/
|
COPY configurations/${CONFIGURATION}/branding/constants/ constants/
|
||||||
|
RUN /bin/sh -c 'cd constants && for f in *.ts; do mv -- "$f" "${f%.ts}.js"; done'
|
||||||
|
|
||||||
# locales
|
# locales
|
||||||
COPY configurations/${CONFIGURATION}/branding/locales/*.json locales/tmp/
|
COPY configurations/${CONFIGURATION}/branding/locales/*.json locales/tmp/
|
||||||
|
|||||||
@ -14,6 +14,7 @@ ARG CONFIGURATION=example
|
|||||||
# copy public constants into the Docker image to brand it
|
# copy public constants into the Docker image to brand it
|
||||||
COPY configurations/${CONFIGURATION}/branding/static/ static/
|
COPY configurations/${CONFIGURATION}/branding/static/ static/
|
||||||
COPY configurations/${CONFIGURATION}/branding/constants/ constants/
|
COPY configurations/${CONFIGURATION}/branding/constants/ constants/
|
||||||
|
RUN /bin/sh -c 'cd constants && for f in *.ts; do mv -- "$f" "${f%.ts}.js"; done'
|
||||||
COPY configurations/${CONFIGURATION}/branding/locales/html/ locales/html/
|
COPY configurations/${CONFIGURATION}/branding/locales/html/ locales/html/
|
||||||
COPY configurations/${CONFIGURATION}/branding/assets/styles/imports/ assets/styles/imports/
|
COPY configurations/${CONFIGURATION}/branding/assets/styles/imports/ assets/styles/imports/
|
||||||
COPY configurations/${CONFIGURATION}/branding/assets/fonts/ assets/fonts/
|
COPY configurations/${CONFIGURATION}/branding/assets/fonts/ assets/fonts/
|
||||||
|
|||||||
@ -27,7 +27,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// import { roomQuery } from '~/graphql/Rooms'
|
import { roomQuery, createRoom } from '~/graphql/Rooms'
|
||||||
import { messageQuery } from '~/graphql/Messages'
|
import { messageQuery } from '~/graphql/Messages'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -36,16 +36,16 @@ export default {
|
|||||||
theme: {
|
theme: {
|
||||||
type: String,
|
type: String,
|
||||||
},
|
},
|
||||||
singleRoom: {
|
singleRoomId: {
|
||||||
type: Boolean,
|
type: String,
|
||||||
default: false,
|
default: null,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
currentUserId: '1234',
|
currentUserId: '1234',
|
||||||
menuActions: [
|
menuActions: [
|
||||||
{
|
/* {
|
||||||
name: 'inviteUser',
|
name: 'inviteUser',
|
||||||
title: 'Invite User',
|
title: 'Invite User',
|
||||||
},
|
},
|
||||||
@ -56,7 +56,7 @@ export default {
|
|||||||
{
|
{
|
||||||
name: 'deleteRoom',
|
name: 'deleteRoom',
|
||||||
title: 'Delete Room',
|
title: 'Delete Room',
|
||||||
},
|
}, */
|
||||||
],
|
],
|
||||||
messageActions: [
|
messageActions: [
|
||||||
{
|
{
|
||||||
@ -93,6 +93,7 @@ export default {
|
|||||||
CANCEL_SELECT_MESSAGE: 'Annuler Sélection',
|
CANCEL_SELECT_MESSAGE: 'Annuler Sélection',
|
||||||
},
|
},
|
||||||
roomActions: [
|
roomActions: [
|
||||||
|
/*
|
||||||
{
|
{
|
||||||
name: 'archiveRoom',
|
name: 'archiveRoom',
|
||||||
title: 'Archive Room',
|
title: 'Archive Room',
|
||||||
@ -100,35 +101,36 @@ export default {
|
|||||||
{ name: 'inviteUser', title: 'Invite User' },
|
{ name: 'inviteUser', title: 'Invite User' },
|
||||||
{ name: 'removeUser', title: 'Remove User' },
|
{ name: 'removeUser', title: 'Remove User' },
|
||||||
{ name: 'deleteRoom', title: 'Delete Room' },
|
{ name: 'deleteRoom', title: 'Delete Room' },
|
||||||
|
*/
|
||||||
],
|
],
|
||||||
rooms: [
|
rooms: [],
|
||||||
{
|
|
||||||
roomId: '1',
|
|
||||||
roomName: 'John Snow',
|
|
||||||
avatar: 'https://66.media.tumblr.com/avatar_c6a8eae4303e_512.pnj',
|
|
||||||
users: [
|
|
||||||
{ _id: '1234', username: 'John Doe' },
|
|
||||||
{ _id: '4321', username: 'John Snow' },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
roomId: '2',
|
|
||||||
roomName: 'Max J. Mustermann',
|
|
||||||
avatar:
|
|
||||||
'https://64.media.tumblr.com/8889b6e26370f4e3837584c1c59721a6/f4f76ed6b0249d08-4b/s1280x1920/810e9e5fa724366d26c10c0fa22ba97dad8778d1.pnj',
|
|
||||||
users: [
|
|
||||||
{ _id: '1234', username: 'Johnx Doe' },
|
|
||||||
{ _id: '43210', username: 'Max J. Mustermann' },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
messages: [],
|
messages: [],
|
||||||
messagesLoaded: true,
|
messagesLoaded: true,
|
||||||
showDemoOptions: true,
|
showDemoOptions: true,
|
||||||
responsiveBreakpoint: 600,
|
responsiveBreakpoint: 600,
|
||||||
|
singleRoom: !!this.singleRoomId || false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.singleRoom) {
|
||||||
|
this.$apollo
|
||||||
|
.mutate({
|
||||||
|
mutation: createRoom(),
|
||||||
|
variables: {
|
||||||
|
userId: this.singleRoomId,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$apollo.queries.Rooms.refetch()
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
this.$toast.error(error)
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
// this.loading = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
fetchMessages({ room, options = {} }) {
|
fetchMessages({ room, options = {} }) {
|
||||||
// console.log(room, options)
|
// console.log(room, options)
|
||||||
@ -212,26 +214,42 @@ export default {
|
|||||||
}, 2000)
|
}, 2000)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// apollo: {
|
apollo: {
|
||||||
// Rooms: {
|
Rooms: {
|
||||||
// query() {
|
query() {
|
||||||
// return roomQuery()
|
return roomQuery()
|
||||||
// },
|
},
|
||||||
// update({ Room }) {
|
update({ Room }) {
|
||||||
// console.log('Rooms', Room)
|
// console.log('Rooms', Room)
|
||||||
// if (!Room) {
|
if (!Room) {
|
||||||
// this.rooms = []
|
this.rooms = []
|
||||||
// return
|
return
|
||||||
// }
|
}
|
||||||
// this.rooms = Room
|
|
||||||
// },
|
// Backend result needs mapping of the following values
|
||||||
// error(error) {
|
// room[i].users[j].name -> room[i].users[j].username
|
||||||
// this.rooms = []
|
// room[i].users[j].avatar.url -> room[i].users[j].avatar
|
||||||
// this.$toast.error(error.message)
|
// also filter rooms for the single room
|
||||||
// },
|
this.rooms = Room.map((r) => {
|
||||||
// fetchPolicy: 'cache-and-network',
|
return {
|
||||||
// },
|
...r,
|
||||||
// },
|
users: r.users.map((u) => {
|
||||||
|
return { ...u, username: u.name, avatar: u.avatar?.url }
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
}).filter((r) =>
|
||||||
|
this.singleRoom ? r.users.filter((u) => u.id === this.singleRoomId).length > 0 : true,
|
||||||
|
)
|
||||||
|
|
||||||
|
// console.log(this.rooms)
|
||||||
|
},
|
||||||
|
error(error) {
|
||||||
|
this.rooms = []
|
||||||
|
this.$toast.error(error.message)
|
||||||
|
},
|
||||||
|
fetchPolicy: 'cache-and-network',
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|||||||
@ -4,9 +4,26 @@ export const roomQuery = () => gql`
|
|||||||
query {
|
query {
|
||||||
Room {
|
Room {
|
||||||
id
|
id
|
||||||
|
roomId
|
||||||
|
roomName
|
||||||
|
avatar
|
||||||
users {
|
users {
|
||||||
|
_id
|
||||||
id
|
id
|
||||||
|
name
|
||||||
|
avatar {
|
||||||
|
url
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
|
export const createRoom = () => gql`
|
||||||
|
mutation ($userId: ID!) {
|
||||||
|
CreateRoom(userId: $userId) {
|
||||||
|
id
|
||||||
|
roomId
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
x
|
x
|
||||||
</ds-button>
|
</ds-button>
|
||||||
</ds-text>
|
</ds-text>
|
||||||
<chat-module :singleRoom="true" />
|
<chat-module :singleRoomId="$store.getters['chat/showChat'].roomID" />
|
||||||
</div>
|
</div>
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user