Commit graph

363 commits

Author SHA1 Message Date
Pavel Djundik 830fdda91a Implement invite list 2019-04-15 14:38:11 +03:00
Pavel Djundik f9459ee1c3 Fix up sorting channel styling 2019-03-27 12:23:50 +02:00
Pavel Djundik 12cf5ed070 Abort file upload if ChatInput component is destroyed 2019-03-18 10:28:18 +02:00
Jérémie Astori f7ebff0b67
Merge pull request #3109 from thelounge/xpaw/chan-mode-is
Display current channel mode on /mode command
2019-03-16 21:48:22 -04:00
Pavel Djundik 7df26dc373 Add aria-label on link preview toggle button 2019-03-13 19:08:32 +02:00
Pavel Djundik 71332f59d9 Display current channel mode on /mode command
Fixes #885
2019-03-07 12:57:31 +02:00
Jérémie Astori f84d764822
Fix linting on a violation shipped previously... 2019-02-27 02:28:52 -05:00
Jérémie Astori f8b5983f2c
Use Vue to show/hide insecure/disconnected icons instead of CSS 2019-02-27 02:25:44 -05:00
Jérémie Astori 848186d14b
Merge pull request #3083 from thelounge/astorije/eslint-vue-closing-bracket-newline
Move closing brackets on a new line in Vue files
2019-02-27 02:07:28 -05:00
Jérémie Astori e173b84fdb
Show/Hide parted channel icon/styling using v-if instead of CSS display property 2019-02-26 01:26:45 -05:00
Jérémie Astori 0812ffc2e7
Run ESLint autofix after requiring new line on closing brackets 2019-02-25 00:57:48 -05:00
Jérémie Astori f8a39a0ea8
Display a broken link icon and red text color when not joined on a channel 2019-02-25 00:21:40 -05:00
Jérémie Astori 0c4e35b309
Merge pull request #3063 from thelounge/astorije/scroll-down-btn-ui
Improve scroll-down button UI
2019-02-18 14:12:46 -05:00
Jérémie Astori dadccb7665
Fix casing of "Upload file" tooltip 2019-02-18 02:19:44 -05:00
Jérémie Astori 8b98c2c93c
Add a tooltip on scroll-down button hover 2019-02-18 01:29:08 -05:00
Pavel Djundik c8568b5429 Redirect pageup/pagedown without manually animating the scroll 2019-02-13 16:44:15 +02:00
Pavel Djundik a26fcb45b4 Change (parted) to a class name 2019-02-13 16:44:15 +02:00
Pavel Djundik 40bf9ee8ba Reset active user when leaving user list with mouse 2019-02-13 16:44:15 +02:00
Pavel Djundik b02c3b6c17 Fix channel names in context menus 2019-02-13 16:44:15 +02:00
Pavel Djundik 19693bc9b7 Update Vue packages 2019-02-13 16:44:15 +02:00
Pavel Djundik 2b653a30d6 Tweak connection error spacing 2019-02-12 12:49:06 +02:00
Pavel Djundik 71b3acb152 Rename hotkeys array 2019-02-12 12:49:06 +02:00
Pavel Djundik c33326e25e Update client/components/MessageTypes/whois.vue 2019-02-12 12:49:06 +02:00
Pavel Djundik 89355e50c3 Put unreads and highlights in aria-label/title in the channel list 2019-02-12 12:49:06 +02:00
Pavel Djundik 759e69ed07 Handle default preview state after loading 2019-02-12 12:49:06 +02:00
Pavel Djundik 42717e3dec Enable preserveWhitespace: false, add spaces where needed, fix whitespace when copying text 2019-02-12 12:49:06 +02:00
Pavel Djundik 7ba14fe4e3 Explicitly place * on actions in DOM 2019-02-12 12:49:06 +02:00
Pavel Djundik 6d1d2e006a Remove extra .text span as its no longer needed 2019-02-12 12:49:06 +02:00
Pavel Djundik 4d400b6ace Hide scroll down button entirely with css to fix some issues 2019-02-12 12:49:06 +02:00
Pavel Djundik e5b3c518e2 Do not show toggle arrow if link data is still loading 2019-02-12 12:49:06 +02:00
Pavel Djundik 05303e4cf1 Fix link expand buttons not showing if auto-expand option is off 2019-02-12 12:49:05 +02:00
Pavel Djundik 7d7005c8af Fix keepScrollPosition on condensed messages 2019-02-12 12:49:05 +02:00
Pavel Djundik 893d59e7c4 Skip scroll event which is called after setting scrollTop 2019-02-12 12:49:05 +02:00
Pavel Djundik 3c4a9efe7e Fix lodash not being tree shaked properly 2019-02-12 12:49:05 +02:00
Pavel Djundik def494533b Use native date constructor to calculate timeout until midnight 2019-02-12 12:49:05 +02:00
Pavel Djundik f1994352bd Fix scroll button on iOS 2019-02-12 12:49:05 +02:00
Richard Lewis caf728a2a7 Instrument tests with nyc instead of istanbul-instrumenter-loader. 2019-02-12 12:49:05 +02:00
Pavel Djundik 7b3f7d1c59 Fix clicking red banner not hiding the error 2019-02-12 12:49:05 +02:00
Pavel Djundik b3e86dbab4 Fix unread markers not rendering with hidden status messages
Co-Authored-By: Richard Lewis <richrd@users.noreply.github.com>
2019-02-12 12:49:05 +02:00
Pavel Djundik 395be41728 Move message time formatting to Vue as computed 2019-02-12 12:49:05 +02:00
Richard Lewis 74edfcaa04 Limit input history to a 100 entries. 2019-02-12 12:49:05 +02:00
Pavel Djundik d1185da9eb Fade buttons when disabled 2019-02-12 12:49:05 +02:00
Richard Lewis cd76512619 Disable upload button instead of removing it from dom. 2019-02-12 12:49:05 +02:00
Pavel Djundik dd686b563d Remove tests, fix lint, update packages 2019-02-12 12:49:05 +02:00
Richard Lewis cc895e67ee Move date formatting to DateMarker and stop listening to daychange when no longer necessary. 2019-02-12 12:49:05 +02:00
Richard Lewis 7394e6b9f1 Update date markers vith vue instead of jQuery. 2019-02-12 12:49:05 +02:00
Pavel Djundik 7b15c53ed4 Rename some vue variables 2019-02-12 12:49:05 +02:00
Pavel Djundik f526aa8b8b Do not navigate history when autocompleting 2019-02-12 12:49:05 +02:00
Pavel Djundik 4c103b467b Implement input history per channel 2019-02-12 12:49:05 +02:00
Pavel Djundik c3a1c77447 Rebase image uploading to Vue 2019-02-12 12:49:05 +02:00
Richard Lewis 32776f0642 Improve more button implementation and fix lint. 2019-02-12 12:49:04 +02:00
Richard Lewis 8dff4a9478 Only show more button on link previews when needed. 2019-02-12 12:49:04 +02:00
Pavel Djundik 26dc37033c Make connection-error a vue state 2019-02-12 12:49:04 +02:00
Pavel Djundik 5d4400ef90 Revert "Remove draggable for now"
This reverts commit f4c0a68fde99471bd546902ec2b9301ff6cec73a.
2019-02-12 12:49:04 +02:00
Pavel Djundik a8cad55fda Fix input to behave better on Android 2019-02-12 12:48:45 +02:00
Pavel Djundik 140c14959c Fix user search not updating instantly on Android 2019-02-12 12:48:45 +02:00
Pavel Djundik 839b07fdc2 Do not disable input when disconnected 2019-02-12 12:48:45 +02:00
Pavel Djundik 6877199515 Update eslint-plugin-vue 2019-02-12 12:48:45 +02:00
Pavel Djundik bd57c6d620 Fix history not loading on channel switch 2019-02-12 12:48:45 +02:00
Pavel Djundik fea6fff13a Keep scroll position on preview toggle 2019-02-12 12:48:45 +02:00
Pavel Djundik e91f2aa024 Fix unread markers in condensed messages 2019-02-12 12:48:45 +02:00
Pavel Djundik 2c5549a567 Find channel in joinchannel correctly 2019-02-12 12:48:45 +02:00
Pavel Djundik a21e0e34cd Fix unread marker not showing after condensed messages 2019-02-12 12:48:45 +02:00
Pavel Djundik 853f67ab40 Synchornize channel state to the client 2019-02-12 12:48:44 +02:00
Pavel Djundik f2cbd1efed Pass PREFIX and CHANTYPES to parser 2019-02-12 12:48:44 +02:00
Pavel Djundik d55eb28aea Make special channel behaviour the same
Fixes scrolling and overflowing
2019-02-12 12:48:44 +02:00
Pavel Djundik 5452d26c17 Don't bother trying to count unreads 2019-02-12 12:48:44 +02:00
Pavel Djundik a10ac4e7da Make a single function to initialize channel variables 2019-02-12 12:48:44 +02:00
Pavel Djundik ad0f638487 Add jump-to-bottom arrow when scrolled up 2019-02-12 12:48:44 +02:00
Pavel Djundik bc69ef5f0b Actually change message output based on statusMessage setting 2019-02-12 12:48:44 +02:00
Pavel Djundik c168e15db8 Don't use trimEnd 2019-02-12 12:48:44 +02:00
Pavel Djundik 987f48ae13 Fix MOTD trimming 2019-02-12 12:48:44 +02:00
Pavel Djundik 2303a02839 Reduce throttle delay 2019-02-12 12:48:44 +02:00
Pavel Djundik d00c70f804 Fix some input issues on mobile 2019-02-12 12:48:44 +02:00
Pavel Djundik 8580592a91 Cleaner MOTD text
Co-Authored-By: Jérémie Astori <astorije@users.noreply.github.com>
2019-02-12 12:48:44 +02:00
Pavel Djundik 04d86a3550 Fix channel sort not working 2019-02-12 12:48:44 +02:00
Pavel Djundik a899b1b46d Throttle scroll event instead of debouncing 2019-02-12 12:48:44 +02:00
Pavel Djundik 36b6fdcc88 Reference scrolledToBottom variable instead of recalculating on message received 2019-02-12 12:48:44 +02:00
Pavel Djundik efdf11dcae Reset scrolledToBottom when channel changes 2019-02-12 12:48:44 +02:00
Pavel Djundik 7e5e031ea8 Reset canDisplay on previews on destroy 2019-02-12 12:48:44 +02:00
Pavel Djundik 4b5252d285 Some scroll fixes 2019-02-12 12:48:44 +02:00
Richard Lewis f4b4cfdee2 Make event listneres passive. 2019-02-12 12:48:44 +02:00
Richard Lewis c9f5e06ee4 Keep scroll to bottom when resizing window. 2019-02-12 12:48:44 +02:00
Pavel Djundik 5d8a581201 Fix input not resizing back after sending a message 2019-02-12 12:48:44 +02:00
Pavel Djundik 8133805dec Allow shift+enter to insert new lines 2019-02-12 12:48:43 +02:00
Pavel Djundik a0f42af0d8 Fix missed else-if 2019-02-12 12:48:43 +02:00
Pavel Djundik bb0450cb31 Move history logic to MessageList, fix previews not keeping scroll 2019-02-12 12:48:43 +02:00
Pavel Djundik 9926157683 Resize input when typing 2019-02-12 12:48:43 +02:00
Pavel Djundik 9249464445 Fix condensed line being clickable 2019-02-12 12:48:43 +02:00
Pavel Djundik 77947b46c8 Import ParsedMessage in back msg 2019-02-12 12:48:43 +02:00
Pavel Djundik 3d43b96d5a Make network lobby a separate component 2019-02-12 12:48:43 +02:00
Pavel Djundik 8931570c02 Port join-channel completely to Vue 2019-02-12 12:48:43 +02:00
Pavel Djundik 825e3beba6 Show previews in actions 2019-02-12 12:48:43 +02:00
Pavel Djundik 499beb0257 Keep scroll position when scrolling up 2019-02-12 12:48:43 +02:00
Pavel Djundik dbe95fcc13 Don't render preview until image is loaded 2019-02-12 12:48:43 +02:00
Pavel Djundik b982623aaa Deduplicate and optimize 'keep to bottom' 2019-02-12 12:48:43 +02:00
Pavel Djundik a138237155 Remove expensive and unnecessary button check on channel switch 2019-02-12 12:48:43 +02:00
Pavel Djundik ae692b1f2f Fix parsed message in actions 2019-02-12 12:48:43 +02:00
Pavel Djundik e3ff385ae0 Remove HTML version of parse() 2019-02-12 12:48:43 +02:00
Pavel Djundik d83dcc35e2 Port 'more' button in previews to Vue 2019-02-12 12:48:43 +02:00
Pavel Djundik 1cd28a5ccf Fix sending msg:preview:toggle to server 2019-02-12 12:48:43 +02:00
Pavel Djundik 2bb8287519 Render preview toggle in Vue 2019-02-12 12:48:43 +02:00
Pavel Djundik ebfc6fa724 Create elements instead of using raw HTML 2019-02-12 12:48:43 +02:00
Pavel Djundik ebda927bb1 Render toggle button after links 2019-02-12 12:48:43 +02:00
Pavel Djundik 5792bff49d Display previews as they come in; fix image viewer 2019-02-12 12:48:43 +02:00
Pavel Djundik c369f0fdb7 Some fixes with unread marker 2019-02-12 12:48:43 +02:00
Pavel Djundik c84eee22f2 Fix duplicate messages on channel join 2019-02-12 12:48:43 +02:00
Pavel Djundik 771739cf94 Port ignore list to Vue 2019-02-12 12:48:42 +02:00
Pavel Djundik b963fe3cf0 Use vue's conditional classes 2019-02-12 12:48:42 +02:00
Pavel Djundik d97356e65a Only bind mouseover on username if necessary 2019-02-12 12:48:42 +02:00
Richard Lewis c431ac6306 Add hover selection to user list. 2019-02-12 12:48:42 +02:00
Richard Lewis 060097c118 Implement keyboard navigation in user list. 2019-02-12 12:48:42 +02:00
Pavel Djundik 30bdfe9d3f Hide 'show more history' button if there are no more messages 2019-02-12 12:48:42 +02:00
Pavel Djundik 0654a4373f Minor fix for previews 2019-02-12 12:48:42 +02:00
Pavel Djundik 2ab3518c52 Fix history not loading on channel switch 2019-02-12 12:48:42 +02:00
Pavel Djundik 207ab28b92 Some fixes with IntersectionObserver 2019-02-12 12:48:42 +02:00
Pavel Djundik 595915fefd Render link previews in Vue 2019-02-12 12:48:42 +02:00
Pavel Djundik 5f5b5fef3d Enable .js linter 2019-02-12 12:48:42 +02:00
Pavel Djundik db803a8548 Port channel list to Vue 2019-02-12 12:48:42 +02:00
Pavel Djundik 96569e71a3 Some fixes 2019-02-12 12:48:42 +02:00
Pavel Djundik 121dd35c3b Port ban lists to Vue 2019-02-12 12:48:42 +02:00
Pavel Djundik ee0413de4b Remove invalid v-elseif 2019-02-12 12:48:42 +02:00
Pavel Djundik aa1446c19d Some fixes for unread marker 2019-02-12 12:48:42 +02:00
Pavel Djundik a54a726e93 Refactor client side commands
Co-Authored-By: Max Leiter <hello@maxleiter.com>
2019-02-12 12:48:42 +02:00
Pavel Djundik 0a774758b9 Fix double input submit 2019-02-12 12:48:42 +02:00
Pavel Djundik f9d255b678 Passthrough input ref 2019-02-12 12:48:42 +02:00
Pavel Djundik 2e3b95b9ed Fix input keybinds 2019-02-12 12:48:42 +02:00
Pavel Djundik dbe6df1ab6 Fix clipboard "fixes" 2019-02-12 12:48:42 +02:00
Pavel Djundik f0390dae63 Scroll to bottom 2019-02-12 12:48:42 +02:00
Pavel Djundik 8e64670b4e Keep condensed open when new messages arrive 2019-02-12 12:48:42 +02:00
Pavel Djundik 9ab5b9d791 Implement condensed messages in Vue 2019-02-12 12:48:42 +02:00
Pavel Djundik 0730825185 Convert message actions to Vue 2019-02-12 12:48:41 +02:00
Pavel Djundik dee76adc0c Implement network collapsing in Vue 2019-02-12 12:48:41 +02:00
Pavel Djundik 1e09ccdb90 Implement user search in vue 2019-02-12 12:48:41 +02:00
Pavel Djundik c20af6329b Use input model 2019-02-12 12:48:41 +02:00
Pavel Djundik a229138ca6 Add connected state 2019-02-12 12:48:41 +02:00
Pavel Djundik 7b209e5d31 Missed a setting 2019-02-12 12:48:41 +02:00
Pavel Djundik e28e13bd10 Make class settings work (colored nicks, etc) 2019-02-12 12:48:41 +02:00
Pavel Djundik 9290264fa5 Make user list and message list components 2019-02-12 12:48:41 +02:00
Pavel Djundik ebb63f2742 Fix sending messages 2019-02-12 12:48:41 +02:00
Pavel Djundik 09fa3e5c86 Fix autocompletion 2019-02-12 12:48:41 +02:00
Pavel Djundik 0e930c9356 Make history loading work 2019-02-12 12:48:41 +02:00
Pavel Djundik 25840dfef4 Single chat container (with buffered input), user list in vue 2019-02-12 12:48:41 +02:00
Pavel Djundik 1d2a11729f Render chat/messages in Vue (mostly broken) 2019-02-12 12:48:41 +02:00
Pavel Djundik 631fd6138c Hide collapse button if there are no channels 2019-02-12 12:48:41 +02:00
Pavel Djundik 7e332b817d Channel list rendering with Vue
Co-Authored-By: Tim Miller-Williams <timmw@users.noreply.github.com>
2019-02-12 12:48:41 +02:00
Mattias Erming d014f0cdae Use /js/libs instead of /components 2014-07-20 14:24:46 -07:00
Mattias Erming 0a3cdc1e9b Added 'Show more' functionality 2014-07-20 12:49:44 -07:00
Mattias Erming fa2ec6de3d Added tooltips 2014-07-17 06:58:43 -07:00
Mattias Erming 966b4ef28e Added badges and notifications 2014-07-08 01:15:10 +02:00
Mattias Erming 85d2ef0d39 Responsive interface 2014-07-07 23:44:49 +02:00
Mattias Erming 9c2ffee7d0 Updated chat rendering 2014-07-07 14:43:37 +02:00
Mattias Erming cb663777b4 Added window management 2014-07-07 02:44:31 +02:00
Mattias Erming a1d5f52875 Added inputhistory 2014-07-06 17:58:57 +02:00
Mattias Erming 9491de4cb1 Added stickyscroll 2014-07-05 02:31:20 +02:00
Mattias Erming f3f3858663 Render chat 2014-06-30 03:20:54 +02:00
Mattias Erming fd2011764a Client-side stuff 2014-06-26 17:47:44 -07:00
Mattias Erming 8e4cdc3e9f Add models and plugins 2014-06-26 16:06:02 -07:00
Mattias Erming 7370b10c22 Begin rewrite 2014-06-26 09:14:45 -07:00
Mattias Erming 5736422a73 Update to Socket.IO 1.0 2014-06-20 03:33:49 +02:00
Mattias Erming a8aa3f59d1 Update favico.js 2014-06-18 17:25:11 +02:00
Mattias Erming 3e153b9ebc Remove bower 2014-06-17 18:20:22 +02:00
Mattias Erming 2622ee9c62 Added bower and grunt-uglify task 2014-06-17 17:04:57 +02:00