diff --git a/README.md b/README.md index 3f3b450..5b4c203 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,11 @@ Colubrina is a simple chatting platform written in Vue, and Vuetify for the fron - [x] Messaging - [x] Authentication - [x] Admin panel -- [x] CLI (cli) +- [x] CLI - [ ] Message history - [x] User profile cards - [x] Group creation and modification +- [x] Direct message groups - [x] Friending - [x] Searching @@ -46,11 +47,10 @@ Failed to check for updates, ensure you are connected to the internet, and servi Build frontend for production Exit ``` -Select setup, and go through the steps. After completing the initial setup, you may run `yarn build` in the frontend folder, or select "Build frontend for production" in the CLI.
-The CLI will populate the database with some default data which are essential for operation.
+Select setup, and go through the steps.
After completing the initial setup, you may run `yarn build` in the frontend folder, or select "Build frontend for production" in the CLI.
The backend service can now be started with `node .` in the `backend` folder which will run on port `23998`. -A systemd service example config file can be found at `colubrina.service` +A systemd service example config file can be found at `colubrina.service`, and an `nginx.conf` example. ## Frontend setup Rename .env.example to .env and fill it out with your own information. diff --git a/backend/routes/communications.js b/backend/routes/communications.js index f6ab2d4..da59021 100644 --- a/backend/routes/communications.js +++ b/backend/routes/communications.js @@ -762,7 +762,10 @@ router.get("/users", auth, async (req, res, next) => { "updatedAt", "status", "admin" - ] + ], + where: { + banned: false + } }) res.json(users) } catch (err) { diff --git a/backend/seeders/20220403061544-themes.js b/backend/seeders/20220403061544-themes.js index bc69560..f7b8a59 100644 --- a/backend/seeders/20220403061544-themes.js +++ b/backend/seeders/20220403061544-themes.js @@ -27,12 +27,7 @@ module.exports = { sheet: "#181818", text: "#000000", dark: "#151515", - bg: "#151515", - calendarNormalActivity: "#3f51b5", - calendarActivityType7: "#f44336", - calendarActivityType8: "#4caf50", - calendarActivityType10: "#ff9800", - calendarExternalActivity: "#2196f3" + bg: "#151515" }, light: { primary: "#0190ea", @@ -47,12 +42,7 @@ module.exports = { sheet: "#f8f8f8", text: "#000000", dark: "#f8f8f8", - bg: "#f8f8f8", - calendarNormalActivity: "#3f51b5", - calendarActivityType7: "#f44336", - calendarActivityType8: "#4caf50", - calendarActivityType10: "#ff9800", - calendarExternalActivity: "#2196f3" + bg: "#f8f8f8" } }, createdAt: "2022-03-26 23:23:29", @@ -83,12 +73,7 @@ module.exports = { sheet: "#262626", text: "#000000", dark: "#262626", - bg: "#191919", - calendarNormalActivity: "#3f51b5", - calendarActivityType7: "#f44336", - calendarActivityType8: "#4caf50", - calendarActivityType10: "#ff9800", - calendarExternalActivity: "#2196f3" + bg: "#191919" }, light: { primary: "#0190ea", @@ -103,12 +88,7 @@ module.exports = { sheet: "#dedede", text: "#000000", dark: "#dedede", - bg: "#e7e7e7", - calendarNormalActivity: "#3f51b5", - calendarActivityType7: "#f44336", - calendarActivityType8: "#4caf50", - calendarActivityType10: "#ff9800", - calendarExternalActivity: "#2196f3" + bg: "#e7e7e7" } }, createdAt: "2022-03-26 23:25:12", @@ -136,12 +116,7 @@ module.exports = { sheet: "#000000", text: "#000000", dark: "#000000", - bg: "#000000", - calendarNormalActivity: "#3f51b5", - calendarActivityType7: "#f44336", - calendarActivityType8: "#4caf50", - calendarActivityType10: "#ff9800", - calendarExternalActivity: "#2196f3" + bg: "#000000" }, light: { primary: "#0190ea", @@ -155,12 +130,7 @@ module.exports = { toolbar: "#f8f8f8", sheet: "#f8f8f8", text: "#000000", - dark: "#f8f8f8", - calendarNormalActivity: "#3f51b5", - calendarActivityType7: "#f44336", - calendarActivityType8: "#4caf50", - calendarActivityType10: "#ff9800", - calendarExternalActivity: "#2196f3" + dark: "#f8f8f8" } }, createdAt: "2022-03-26 23:25:12", @@ -188,12 +158,7 @@ module.exports = { sheet: "#181818", text: "#000000", dark: "#151515", - bg: "#151515", - calendarNormalActivity: "#565656", - calendarActivityType7: "#767676", - calendarActivityType8: "#868686", - calendarActivityType10: "#A6A6A6", - calendarExternalActivity: "#7D7D7D" + bg: "#151515" }, light: { primary: "#6E6E6E", @@ -208,12 +173,7 @@ module.exports = { sheet: "#f8f8f8", text: "#000000", dark: "#f8f8f8", - bg: "#f8f8f8", - calendarNormalActivity: "#565656", - calendarActivityType7: "#767676", - calendarActivityType8: "#868686", - calendarActivityType10: "#A6A6A6", - calendarExternalActivity: "#7D7D7D" + bg: "#f8f8f8" } }, createdAt: "2022-03-26 23:25:12", @@ -241,12 +201,7 @@ module.exports = { sheet: "#181818", text: "#000000", dark: "#151515", - bg: "#151515", - calendarNormalActivity: "#0057E9", - calendarActivityType7: "#E11845", - calendarActivityType8: "#87E911", - calendarActivityType10: "#F2CA19", - calendarExternalActivity: "#0057E9" + bg: "#151515" }, light: { primary: "#0057E9", @@ -261,12 +216,7 @@ module.exports = { sheet: "#f8f8f8", text: "#000000", dark: "#f8f8f8", - bg: "#f8f8f8", - calendarNormalActivity: "#0057E9", - calendarActivityType7: "#E11845", - calendarActivityType8: "#87E911", - calendarActivityType10: "#F2CA19", - calendarExternalActivity: "#0057E9" + bg: "#f8f8f8" } }, createdAt: "2022-03-26 23:25:12", diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico index 09ab22d..df36fcf 100644 Binary files a/frontend/public/favicon.ico and b/frontend/public/favicon.ico differ diff --git a/frontend/public/img/icons/android-chrome-192x192.png b/frontend/public/img/icons/android-chrome-192x192.png index eafed75..b02aa64 100644 Binary files a/frontend/public/img/icons/android-chrome-192x192.png and b/frontend/public/img/icons/android-chrome-192x192.png differ diff --git a/frontend/public/img/icons/android-chrome-512x512.png b/frontend/public/img/icons/android-chrome-512x512.png new file mode 100644 index 0000000..06088b0 Binary files /dev/null and b/frontend/public/img/icons/android-chrome-512x512.png differ diff --git a/frontend/public/img/icons/android-chrome-maskable-192x192.png b/frontend/public/img/icons/android-chrome-maskable-192x192.png index eafed75..791e9c8 100644 Binary files a/frontend/public/img/icons/android-chrome-maskable-192x192.png and b/frontend/public/img/icons/android-chrome-maskable-192x192.png differ diff --git a/frontend/public/img/icons/android-chrome-maskable-512x512.png b/frontend/public/img/icons/android-chrome-maskable-512x512.png index 1bd23f3..5f2098e 100644 Binary files a/frontend/public/img/icons/android-chrome-maskable-512x512.png and b/frontend/public/img/icons/android-chrome-maskable-512x512.png differ diff --git a/frontend/public/img/icons/apple-touch-icon-120x120.png b/frontend/public/img/icons/apple-touch-icon-120x120.png index a277192..1427cf6 100644 Binary files a/frontend/public/img/icons/apple-touch-icon-120x120.png and b/frontend/public/img/icons/apple-touch-icon-120x120.png differ diff --git a/frontend/public/img/icons/apple-touch-icon-152x152.png b/frontend/public/img/icons/apple-touch-icon-152x152.png index d932d28..f24d454 100644 Binary files a/frontend/public/img/icons/apple-touch-icon-152x152.png and b/frontend/public/img/icons/apple-touch-icon-152x152.png differ diff --git a/frontend/public/img/icons/apple-touch-icon-180x180.png b/frontend/public/img/icons/apple-touch-icon-180x180.png index 9d53c61..404e192 100644 Binary files a/frontend/public/img/icons/apple-touch-icon-180x180.png and b/frontend/public/img/icons/apple-touch-icon-180x180.png differ diff --git a/frontend/public/img/icons/apple-touch-icon-60x60.png b/frontend/public/img/icons/apple-touch-icon-60x60.png index 9a4ab6b..cf10a56 100644 Binary files a/frontend/public/img/icons/apple-touch-icon-60x60.png and b/frontend/public/img/icons/apple-touch-icon-60x60.png differ diff --git a/frontend/public/img/icons/apple-touch-icon-76x76.png b/frontend/public/img/icons/apple-touch-icon-76x76.png index ad614d7..c500769 100644 Binary files a/frontend/public/img/icons/apple-touch-icon-76x76.png and b/frontend/public/img/icons/apple-touch-icon-76x76.png differ diff --git a/frontend/public/img/icons/apple-touch-icon.png b/frontend/public/img/icons/apple-touch-icon.png index 9d53c61..03c0c5d 100644 Binary files a/frontend/public/img/icons/apple-touch-icon.png and b/frontend/public/img/icons/apple-touch-icon.png differ diff --git a/frontend/public/img/icons/favicon-16x16.png b/frontend/public/img/icons/favicon-16x16.png index 9511941..42af009 100644 Binary files a/frontend/public/img/icons/favicon-16x16.png and b/frontend/public/img/icons/favicon-16x16.png differ diff --git a/frontend/public/img/icons/favicon-32x32.png b/frontend/public/img/icons/favicon-32x32.png index a7b0cba..46ca04d 100644 Binary files a/frontend/public/img/icons/favicon-32x32.png and b/frontend/public/img/icons/favicon-32x32.png differ diff --git a/frontend/public/img/icons/msapplication-icon-144x144.png b/frontend/public/img/icons/msapplication-icon-144x144.png index bdde0bb..7808237 100644 Binary files a/frontend/public/img/icons/msapplication-icon-144x144.png and b/frontend/public/img/icons/msapplication-icon-144x144.png differ diff --git a/frontend/public/img/icons/mstile-150x150.png b/frontend/public/img/icons/mstile-150x150.png index f90d503..3b37a43 100644 Binary files a/frontend/public/img/icons/mstile-150x150.png and b/frontend/public/img/icons/mstile-150x150.png differ diff --git a/frontend/public/img/icons/safari-pinned-tab.svg b/frontend/public/img/icons/safari-pinned-tab.svg index eef4036..e44c0d5 100644 --- a/frontend/public/img/icons/safari-pinned-tab.svg +++ b/frontend/public/img/icons/safari-pinned-tab.svg @@ -1,3 +1,3 @@ - - - \ No newline at end of file + + + diff --git a/frontend/src/components/NicknameDialog.vue b/frontend/src/components/NicknameDialog.vue index 8f825b5..a173cbc 100644 --- a/frontend/src/components/NicknameDialog.vue +++ b/frontend/src/components/NicknameDialog.vue @@ -8,7 +8,7 @@ Friend nicknames only show to you. diff --git a/frontend/src/components/UserDialog.vue b/frontend/src/components/UserDialog.vue index 9b83f19..2740cc8 100644 --- a/frontend/src/components/UserDialog.vue +++ b/frontend/src/components/UserDialog.vue @@ -156,40 +156,42 @@ export default { } }, mounted() { - this.mutualGroups = [] - this.mutualFriends = [] - this.loading = { - mutualGroups: true, - mutualFriends: true + if(this.user?.item?.id) { + this.mutualGroups = [] + this.mutualFriends = [] + this.loading = { + mutualGroups: true, + mutualFriends: true + } + this.axios + .get( + process.env.VUE_APP_BASE_URL + + "/api/v1/communications/mutual/" + + this.user.item.id + + "/groups" + ) + .then((res) => { + this.mutualGroups = res.data + this.loading.mutualGroups = false + }) + .catch((e) => { + AjaxErrorHandler(this.$store)(e) + }) + this.axios + .get( + process.env.VUE_APP_BASE_URL + + "/api/v1/communications/mutual/" + + this.user.item.id + + "/friends" + ) + .then((res) => { + this.mutualFriends = res.data + this.loading.mutualFriends = false + }) + .catch((e) => { + AjaxErrorHandler(this.$store)(e) + }) } - this.axios - .get( - process.env.VUE_APP_BASE_URL + - "/api/v1/communications/mutual/" + - this.user.item.id + - "/groups" - ) - .then((res) => { - this.mutualGroups = res.data - this.loading.mutualGroups = false - }) - .catch((e) => { - AjaxErrorHandler(this.$store)(e) - }) - this.axios - .get( - process.env.VUE_APP_BASE_URL + - "/api/v1/communications/mutual/" + - this.user.item.id + - "/friends" - ) - .then((res) => { - this.mutualFriends = res.data - this.loading.mutualFriends = false - }) - .catch((e) => { - AjaxErrorHandler(this.$store)(e) - }) } } diff --git a/frontend/src/main.js b/frontend/src/main.js index d689135..6c1df4c 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -74,7 +74,8 @@ Vue.use(VueNativeNotification, { Vue.use({ install(Vue) { - Vue.prototype.$socket = SocketIO(process.env.VUE_APP_SOCKET_URL, { + Vue.prototype.$socket = SocketIO("", { + transports: ["websocket", "polling"], headers: { Authorization: localStorage.getItem("session") } diff --git a/frontend/src/views/Communications/CommunicationsChat.vue b/frontend/src/views/Communications/CommunicationsChat.vue index 4c330a3..eb63a55 100644 --- a/frontend/src/views/Communications/CommunicationsChat.vue +++ b/frontend/src/views/Communications/CommunicationsChat.vue @@ -37,7 +37,7 @@ :user="context.userPopout" :key="context.userPopout.item?.id || 0" > - +