From 8ba1b68a217e97a9966ddc8bd76eda08585277f2 Mon Sep 17 00:00:00 2001 From: Craig Date: Wed, 22 Jan 2020 17:16:40 +0000 Subject: [PATCH] refactor progress --- README.md | 2 +- client/.eslintrc | 1 + client/package.json | 16 +- client/src/App.vue | 571 ----------- client/src/app.vue | 190 ++++ client/src/assets/styles/_variables.scss | 33 +- .../src/assets/styles/fonts/whitney-300.woff | Bin 0 -> 79856 bytes .../src/assets/styles/fonts/whitney-400.woff | Bin 0 -> 77784 bytes .../src/assets/styles/fonts/whitney-500.woff | Bin 0 -> 76744 bytes .../src/assets/styles/fonts/whitney-600.woff | Bin 0 -> 82688 bytes .../src/assets/styles/fonts/whitney-700.woff | Bin 0 -> 80000 bytes client/src/assets/styles/main.scss | 16 +- client/src/assets/styles/vendor/_bulma.scss | 245 +++++ .../assets/styles/vendor/_font-whitney.scss | 29 + client/src/assets/styles/vendor/_github.scss | 957 ++++++++++++++++++ client/src/assets/styles/vendor/_swal.scss | 188 ++++ client/src/assets/styles/vendor/_tooltip.scss | 109 ++ client/src/client/base.ts | 22 +- client/src/client/events.ts | 33 +- client/src/client/index.ts | 328 +++++- client/src/client/messages.ts | 55 +- client/src/client/types.ts | 2 + client/src/components/about.vue | 170 ++++ client/src/components/chat.vue | 416 ++++++++ client/src/components/connect.vue | 163 +++ client/src/components/controls.vue | 163 +++ client/src/components/emoji.vue | 48 + client/src/components/markdown.ts | 282 ++++++ client/src/components/members.vue | 354 +++++++ client/src/components/menu.vue | 46 + client/src/components/settings.vue | 12 + client/src/components/side.vue | 97 ++ client/src/components/video.vue | 364 +++++++ client/src/main.ts | 14 +- client/src/plugins/anime.ts | 46 + client/src/plugins/axios.ts | 16 + client/src/plugins/neko.ts | 19 +- client/src/plugins/swal.ts | 58 ++ client/src/router/index.ts | 27 + client/src/store/chat.ts | 26 +- client/src/store/client.ts | 46 + client/src/store/index.ts | 26 +- client/src/store/remote.ts | 68 +- client/src/store/settings.ts | 30 + client/src/store/user.ts | 91 +- client/src/store/video.ts | 107 +- .../{eventemitter.d.ts => eventemitter3.d.ts} | 0 client/src/types/vue.d.ts | 9 - client/tsconfig.json | 6 +- server/internal/event/events.go | 4 +- server/internal/message/messages.go | 8 +- server/internal/session/session.go | 2 +- server/internal/websocket/admin.go | 127 ++- server/internal/websocket/chat.go | 8 + server/internal/websocket/messages.go | 10 +- 55 files changed, 4899 insertions(+), 761 deletions(-) delete mode 100644 client/src/App.vue create mode 100644 client/src/app.vue create mode 100644 client/src/assets/styles/fonts/whitney-300.woff create mode 100644 client/src/assets/styles/fonts/whitney-400.woff create mode 100644 client/src/assets/styles/fonts/whitney-500.woff create mode 100644 client/src/assets/styles/fonts/whitney-600.woff create mode 100644 client/src/assets/styles/fonts/whitney-700.woff create mode 100644 client/src/assets/styles/vendor/_bulma.scss create mode 100644 client/src/assets/styles/vendor/_font-whitney.scss create mode 100644 client/src/assets/styles/vendor/_github.scss create mode 100644 client/src/assets/styles/vendor/_swal.scss create mode 100644 client/src/assets/styles/vendor/_tooltip.scss create mode 100644 client/src/components/about.vue create mode 100644 client/src/components/chat.vue create mode 100644 client/src/components/connect.vue create mode 100644 client/src/components/controls.vue create mode 100644 client/src/components/emoji.vue create mode 100644 client/src/components/markdown.ts create mode 100644 client/src/components/members.vue create mode 100644 client/src/components/menu.vue create mode 100644 client/src/components/settings.vue create mode 100644 client/src/components/side.vue create mode 100644 client/src/components/video.vue create mode 100644 client/src/plugins/anime.ts create mode 100644 client/src/plugins/axios.ts create mode 100644 client/src/plugins/swal.ts create mode 100644 client/src/router/index.ts create mode 100644 client/src/store/client.ts create mode 100644 client/src/store/settings.ts rename client/src/types/{eventemitter.d.ts => eventemitter3.d.ts} (100%) delete mode 100644 client/src/types/vue.d.ts diff --git a/README.md b/README.md index dd1933a3..89137acc 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ I like cats (Neko is the Japanese word for cat), I'm a weeb/nerd, I own the doma ### Super easy mode setup 1. Deploy a Server/VPS - *Recomended Specs:* + *Recomended Specs:* (Note: these may not be correct, I did a small round testing, 4c/4gb worked fine with small hickups here and there) | Resolution | Cores | Ram | Recommendation | |------------|-------|-------|------------------| diff --git a/client/.eslintrc b/client/.eslintrc index a52d45af..3bb64d6a 100644 --- a/client/.eslintrc +++ b/client/.eslintrc @@ -8,6 +8,7 @@ "parser": "@typescript-eslint/parser" }, "rules": { + "vue/valid-v-for": "off", "no-case-declarations": "off", "no-dupe-class-members": "off", "no-console": "off", diff --git a/client/package.json b/client/package.json index dd96b97e..3a81623e 100644 --- a/client/package.json +++ b/client/package.json @@ -19,21 +19,35 @@ }, "dependencies": { "@fortawesome/fontawesome-free": "^5.12.0", + "animejs": "^3.1.0", + "axios": "^0.19.1", + "bulma": "^0.8.0", + "date-fns": "^2.9.0", "eventemitter3": "^4.0.0", + "resize-observer-polyfill": "^1.5.1", + "simple-markdown": "^0.7.2", + "sweetalert2": "^9.6.1", + "typed-vuex": "^0.1.15", + "v-tooltip": "^2.0.3", "vue": "^2.6.10", "vue-class-component": "^7.0.2", + "vue-context": "^5.0.0", "vue-notification": "^1.3.20", "vue-property-decorator": "^8.3.0", - "typed-vuex": "^0.1.15", + "vue-router": "^3.1.5", "vuex": "^3.1.2" }, "devDependencies": { + "@types/animejs": "^3.1.0", + "@types/vue": "^2.0.0", + "@types/w3c-image-capture": "^1.0.2", "@vue/cli-plugin-eslint": "^4.1.0", "@vue/cli-plugin-typescript": "^4.1.0", "@vue/cli-plugin-vuex": "^4.1.0", "@vue/cli-service": "^4.1.0", "@vue/eslint-config-prettier": "^5.0.0", "@vue/eslint-config-typescript": "^4.0.0", + "autoprefixer": "^9.7.4", "eslint": "^5.16.0", "eslint-plugin-prettier": "^3.1.1", "eslint-plugin-vue": "^5.0.0", diff --git a/client/src/App.vue b/client/src/App.vue deleted file mode 100644 index cc28c999..00000000 --- a/client/src/App.vue +++ /dev/null @@ -1,571 +0,0 @@ - - - - - diff --git a/client/src/app.vue b/client/src/app.vue new file mode 100644 index 00000000..47f23fc7 --- /dev/null +++ b/client/src/app.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/client/src/assets/styles/_variables.scss b/client/src/assets/styles/_variables.scss index 82490f3c..d22add50 100644 --- a/client/src/assets/styles/_variables.scss +++ b/client/src/assets/styles/_variables.scss @@ -1,10 +1,31 @@ +$text-family: Whitney, Helvetica Neue, Helvetica, Arial, sans-serif;; +$text-size: 14px; +$text-normal: #dcddde; +$text-muted: #72767d; +$text-link: #00b0f4; +$interactive-normal: #b9bbbe; +$interactive-hover: #dcddde; +$interactive-active: #fff; +$interactive-muted: #4f545c; + +$background-primary: #36393f; +$background-secondary: #2f3136; +$background-tertiary: #202225; +$background-accent: #4f545c; +$background-floating: #18191c; +$background-modifier-hover: rgba(79, 84, 92, 0.16); +$background-modifier-active: rgba(79, 84, 92, 0.24); +$background-modifier-selected: rgba(79, 84, 92, 0.32); +$background-modifier-accent: hsla(0, 0%, 100%, 0.06); + +$elevation-low: 0 1px 0 rgba(4, 4, 5, 0.2), 0 1.5px 0 rgba(6, 6, 7, 0.05), 0 2px 0 rgba(4, 4, 5, 0.05); +$elevation-high: 0 8px 16px rgba(0, 0, 0, 0.24); -$style-dark: #2c2c2c; -$style-darker: #1a1a1a; -$style-light: #fafafa; $style-primary: #19bd9c; +$style-error: #d32f2f; + +$menu-height: 40px; +$controls-height: 125px; +$side-width: 300px; -$style-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; -$style-font-color: $style-dark; -$style-font-size: 14px; diff --git a/client/src/assets/styles/fonts/whitney-300.woff b/client/src/assets/styles/fonts/whitney-300.woff new file mode 100644 index 0000000000000000000000000000000000000000..dc914270c373bde791244dc47b0ab7f4480916ae GIT binary patch literal 79856 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�T#mKf$A9O39qmkvlD3sgv&= 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 QbhyDFLdg)qAc$)I7od4$e*gdg literal 0 HcmV?d00001 diff --git a/client/src/assets/styles/fonts/whitney-400.woff b/client/src/assets/styles/fonts/whitney-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..2b3308154b56e5e8b22e7a5ab4ab2b72610693c4 GIT binary patch literal 77784 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