From 8b0fe1aaed6d91bbb9612ed520b63f858545d477 Mon Sep 17 00:00:00 2001 From: Maya Date: Tue, 17 Sep 2019 19:14:14 +0200 Subject: [PATCH] 3.0.13 --- bbcode/Editor.vue | 15 +- bbcode/core.ts | 2 + bbcode/interfaces.ts | 1 - bbcode/parser.ts | 6 +- bbcode/standard.ts | 38 +- bbcode/view.ts | 26 + chat/CharacterSearch.vue | 4 +- chat/Chat.vue | 34 +- chat/ChatView.vue | 21 +- chat/ConversationView.vue | 18 +- chat/Logs.vue | 2 +- chat/ReportDialog.vue | 3 +- chat/Sidebar.vue | 4 +- chat/StatusSwitcher.vue | 2 +- chat/UserMenu.vue | 10 +- chat/WebSocket.ts | 2 +- chat/bbcode.ts | 28 +- chat/conversations.ts | 23 +- chat/core.ts | 24 +- chat/localize.ts | 9 +- chat/message_view.ts | 5 +- chat/profile_api.ts | 93 +- chat/slash_commands.ts | 16 +- chat/vue-raven.ts | 1 + components/Dropdown.vue | 55 +- components/FilterableSelect.vue | 19 +- components/Modal.vue | 8 +- components/character_link.vue | 7 +- components/character_select.vue | 20 +- components/character_select/character_list.ts | 14 - components/collapse.vue | 45 + components/custom_dialog.ts | 4 +- components/date_display.vue | 4 +- components/form_group.vue | 6 +- components/form_group_inputgroup.vue | 6 +- components/simple_pager.vue | 2 +- components/tabs.ts | 3 +- electron/Index.vue | 66 +- electron/Window.vue | 17 +- electron/chat.ts | 19 +- electron/common.ts | 27 +- electron/dictionaries.ts | 7 +- electron/filesystem.ts | 50 +- electron/importer.ts | 3 +- electron/main.ts | 22 +- electron/pack.js | 38 +- electron/package.json | 2 +- electron/tsconfig-renderer.json | 2 +- electron/webpack.config.js | 2 - fchat/connection.ts | 33 +- fchat/interfaces.ts | 21 +- interfaces.ts | 45 +- mobile/Index.vue | 31 +- mobile/android/.idea/misc.xml | 2 +- mobile/android/app/build.gradle | 4 +- .../kotlin/net/f_list/fchat/Background.kt | 7 +- .../kotlin/net/f_list/fchat/MainActivity.kt | 10 +- mobile/chat.ts | 8 + mobile/filesystem.ts | 6 +- mobile/ios/F-Chat/Logs.swift | 6 +- mobile/ios/F-Chat/ViewController.swift | 6 +- mobile/notifications.ts | 2 +- mobile/package.json | 2 +- mobile/webpack.config.js | 2 +- package.json | 56 +- scss/_bbcode.scss | 2 +- scss/_chat.scss | 1 + scss/_core.scss | 1 + scss/_flist_derived.scss | 8 + scss/_kink_editor.scss | 4 - scss/_notes.scss | 13 +- scss/package.json | 6 +- scss/themes/_site.scss | 1 - scss/themes/variables/_default_variables.scss | 1 + scss/yarn.lock | 471 ++- site/character_page/character_page.vue | 84 +- site/character_page/contact_method.vue | 30 +- site/character_page/contact_utils.ts | 12 +- site/character_page/copy_custom_dialog.vue | 2 +- site/character_page/data_store.ts | 2 +- site/character_page/delete_dialog.vue | 2 +- site/character_page/duplicate_dialog.vue | 7 +- site/character_page/friend_dialog.vue | 9 +- site/character_page/friends.vue | 5 +- site/character_page/guestbook.vue | 31 +- site/character_page/guestbook_post.vue | 23 +- site/character_page/images.vue | 2 +- site/character_page/infotag.vue | 45 +- site/character_page/infotags.vue | 64 +- site/character_page/interfaces.ts | 131 +- site/character_page/kink.vue | 8 +- site/character_page/kinks.vue | 32 +- site/character_page/memo_dialog.vue | 2 +- site/character_page/report_dialog.vue | 44 +- site/character_page/sidebar.vue | 55 +- site/directives/vue-select.ts | 60 - site/utils.ts | 64 +- tslint.json | 4 +- webchat/chat.ts | 6 +- webchat/logs.ts | 8 +- webchat/package.json | 2 +- webchat/webpack.config.js | 2 +- yarn.lock | 2964 +++++++++-------- 103 files changed, 2688 insertions(+), 2596 deletions(-) delete mode 100644 bbcode/interfaces.ts create mode 100644 bbcode/view.ts delete mode 100644 components/character_select/character_list.ts create mode 100644 components/collapse.vue delete mode 100644 scss/_kink_editor.scss delete mode 100644 site/directives/vue-select.ts diff --git a/bbcode/Editor.vue b/bbcode/Editor.vue index 1807ac4..90074da 100644 --- a/bbcode/Editor.vue +++ b/bbcode/Editor.vue @@ -38,26 +38,25 @@ \ No newline at end of file diff --git a/chat/ChatView.vue b/chat/ChatView.vue index 0b3f014..7e5adad 100644 --- a/chat/ChatView.vue +++ b/chat/ChatView.vue @@ -29,7 +29,8 @@
+ class="list-group-item list-group-item-action item-private" :key="conversation.key" + @click.middle.prevent="conversation.close()">
{{conversation.character.name}} @@ -39,8 +40,8 @@ :class="{'fa-comment-dots': conversation.typingStatus == 'typing', 'fa-comment': conversation.typingStatus == 'paused'}" > - +
@@ -51,7 +52,7 @@
+ @click.middle.prevent="conversation.close()"> {{conversation.name}} this.$refs['privateConversations'], { animation: 50, + fallbackTolerance: 5, onEnd: async(e) => { if(e.oldIndex === e.newIndex) return; return core.conversations.privateConversations[e.oldIndex!].sort(e.newIndex!); @@ -152,6 +154,7 @@ }); Sortable.create(this.$refs['channelConversations'], { animation: 50, + fallbackTolerance: 5, onEnd: async(e) => { if(e.oldIndex === e.newIndex) return; return core.conversations.channelConversations[e.oldIndex!].sort(e.newIndex!); @@ -256,13 +259,8 @@ overrideEl.id = 'overrideFontSize'; document.body.appendChild(overrideEl); const sheet = overrideEl.sheet; - const selectorList = ['#chatView', '.btn', '.form-control']; - for(const selector of selectorList) - sheet.insertRule(`${selector} { font-size: ${fontSize}px; }`, sheet.cssRules.length); - - const lineHeight = 1.428571429; - sheet.insertRule(`.form-control { line-height: ${lineHeight} }`, sheet.cssRules.length); - sheet.insertRule(`select.form-control { line-height: ${lineHeight} }`, sheet.cssRules.length); + sheet.insertRule(`#chatView, .btn, .form-control, .custom-select { font-size: ${fontSize}px; }`, sheet.cssRules.length); + sheet.insertRule(`.form-control, select.form-control { line-height: 1.428571429 }`, sheet.cssRules.length); } logOut(): void { @@ -419,6 +417,7 @@ #sidebar { .body a.btn { padding: 2px 0; + text-align: left; } @media (min-width: breakpoint-min(md)) { .sidebar { diff --git a/chat/ConversationView.vue b/chat/ConversationView.vue index ad26b29..d88572e 100644 --- a/chat/ConversationView.vue +++ b/chat/ConversationView.vue @@ -2,7 +2,7 @@
-
+
-
+
{{l('status.' + conversation.character.status)}}
@@ -129,9 +129,10 @@ import {Component, Hook, Prop, Watch} from '@f-list/vue-ts'; import Vue from 'vue'; import {EditorButton, EditorSelection} from '../bbcode/editor'; + import {BBCodeView} from '../bbcode/view'; import {isShowing as anyDialogsShown} from '../components/Modal.vue'; import {Keys} from '../keys'; - import {BBCodeView, Editor} from './bbcode'; + import {Editor} from './bbcode'; import CommandHelp from './CommandHelp.vue'; import {characterImage, getByteLength, getKey} from './common'; import ConversationSettings from './ConversationSettings.vue'; @@ -148,7 +149,7 @@ @Component({ components: { user: UserView, 'bbcode-editor': Editor, 'manage-channel': ManageChannel, settings: ConversationSettings, - logs: Logs, 'message-view': MessageView, bbcode: BBCodeView, 'command-help': CommandHelp + logs: Logs, 'message-view': MessageView, bbcode: BBCodeView(core.bbCodeParser), 'command-help': CommandHelp } }) export default class ConversationView extends Vue { @@ -281,8 +282,13 @@ if(this.messageView.scrollTop < 20) { if(!this.scrolledUp) { const firstMessage = this.messageView.firstElementChild; - if(this.conversation.loadMore() && firstMessage !== null) - this.$nextTick(() => setTimeout(() => this.messageView.scrollTop = (firstMessage).offsetTop, 0)); + if(this.conversation.loadMore() && firstMessage !== null) { + this.messageView.style.overflow = 'hidden'; + this.$nextTick(() => { + this.messageView.scrollTop = (firstMessage).offsetTop; + this.messageView.style.overflow = 'auto'; + }); + } } this.scrolledUp = true; } else this.scrolledUp = false; diff --git a/chat/Logs.vue b/chat/Logs.vue index 55a70cc..8b47028 100644 --- a/chat/Logs.vue +++ b/chat/Logs.vue @@ -85,7 +85,7 @@ components: {modal: Modal, 'message-view': MessageView, 'filterable-select': FilterableSelect} }) export default class Logs extends CustomDialog { - @Prop() + @Prop readonly conversation?: Conversation; conversations: LogInterface.Conversation[] = []; selectedConversation: LogInterface.Conversation | undefined; diff --git a/chat/ReportDialog.vue b/chat/ReportDialog.vue index adf3fd4..fdfe675 100644 --- a/chat/ReportDialog.vue +++ b/chat/ReportDialog.vue @@ -16,9 +16,10 @@ \ No newline at end of file diff --git a/components/FilterableSelect.vue b/components/FilterableSelect.vue index a86fcc1..054e571 100644 --- a/components/FilterableSelect.vue +++ b/components/FilterableSelect.vue @@ -1,11 +1,10 @@