From 50d64df7d8339d0faff0d52b9c6f18824c0b296d Mon Sep 17 00:00:00 2001 From: "Mr. Stallion" <mrstallion@nobody.nowhere.fauxdomain.ext> Date: Thu, 18 Jun 2020 15:17:00 -0500 Subject: [PATCH] Minor fixes --- chat/ConversationView.vue | 11 ++++++++++- chat/character/CharacterChannelList.vue | 1 - chat/interfaces.ts | 2 ++ site/character_page/character_page.vue | 2 +- site/character_page/kink.vue | 22 ++++++++++++++++------ site/character_page/kinks.vue | 10 ++++++---- site/character_page/match-report.vue | 24 +++++++++++++++++------- site/character_page/sidebar.vue | 8 ++++---- 8 files changed, 56 insertions(+), 24 deletions(-) diff --git a/chat/ConversationView.vue b/chat/ConversationView.vue index b0fb5de..c7d1bb7 100644 --- a/chat/ConversationView.vue +++ b/chat/ConversationView.vue @@ -245,6 +245,13 @@ isPrivate = Conversation.isPrivate; showNonMatchingAds = true; + + @Hook('beforeMount') + async onBeforeMount(): Promise<void> { + this.showNonMatchingAds = !await core.settingsStore.get('hideNonMatchingAds'); + } + + @Hook('mounted') mounted(): void { this.extraButtons = [{ @@ -432,8 +439,10 @@ } - toggleNonMatchingAds(): void { + async toggleNonMatchingAds(): Promise<void> { this.showNonMatchingAds = !this.showNonMatchingAds; + + await core.settingsStore.set('hideNonMatchingAds', !this.showNonMatchingAds); } diff --git a/chat/character/CharacterChannelList.vue b/chat/character/CharacterChannelList.vue index bae3fac..a7c95b5 100644 --- a/chat/character/CharacterChannelList.vue +++ b/chat/character/CharacterChannelList.vue @@ -68,7 +68,6 @@ export default class CharacterChannelList extends CustomDialog { jumpToChannel(channel: ChannelConversation): void { channel.show(); } - } </script> diff --git a/chat/interfaces.ts b/chat/interfaces.ts index 695897a..a82e34a 100644 --- a/chat/interfaces.ts +++ b/chat/interfaces.ts @@ -171,6 +171,8 @@ export namespace Settings { hiddenUsers: string[] statusHistory: string[] searchHistory: (ExtendedSearchData | SearchData)[] + hideNonMatchingAds: boolean + hideProfileComparisonSummary: boolean }; export interface Store { diff --git a/site/character_page/character_page.vue b/site/character_page/character_page.vue index 152f1b0..ed3c835 100644 --- a/site/character_page/character_page.vue +++ b/site/character_page/character_page.vue @@ -36,7 +36,7 @@ <div class="card-body"> <div class="tab-content"> <div role="tabpanel" v-show="tab === '0'" id="overview"> - <match-report :characterMatch="characterMatch" :minimized="character.is_self" v-if="shouldShowMatch()"></match-report> + <match-report :characterMatch="characterMatch" v-if="shouldShowMatch()"></match-report> <div style="margin-bottom:10px"> <bbcode :text="character.character.description"></bbcode> diff --git a/site/character_page/kink.vue b/site/character_page/kink.vue index df4505c..5d5512d 100644 --- a/site/character_page/kink.vue +++ b/site/character_page/kink.vue @@ -20,13 +20,11 @@ </template> <script lang="ts"> - import {Component, Prop} from '@f-list/vue-ts'; + import { Component, Prop, Watch } from '@f-list/vue-ts'; import Vue from 'vue'; - import {DisplayKink} from './interfaces'; + import { DisplayKink } from './interfaces'; - @Component({ - name: 'kink' - }) + @Component({ name: 'kink' }) export default class KinkView extends Vue { @Prop({required: true}) readonly kink!: DisplayKink; @@ -40,8 +38,18 @@ expandedCustom = false; listClosed = true; + initialListClosedState = true; showTooltip = false; + @Watch('expandedCustom') + onExpandedCustomChange(): void { + if (this.expandedCustom) { + this.initialListClosedState = this.listClosed; + this.listClosed = false; + } else { + this.listClosed = this.initialListClosedState; + } + } toggleExpandedCustoms(): void { this.expandedCustom = !this.expandedCustom; @@ -50,7 +58,9 @@ toggleSubkinks(): void { if(!this.kink.hasSubkinks) return; + this.listClosed = !this.listClosed; + this.initialListClosedState = this.listClosed; } get kinkClasses(): {[key: string]: boolean} { @@ -76,4 +86,4 @@ return this.kink.isCustom ? this.kink.id : undefined; } } -</script> \ No newline at end of file +</script> diff --git a/site/character_page/kinks.vue b/site/character_page/kinks.vue index 10e61bd..488c821 100644 --- a/site/character_page/kinks.vue +++ b/site/character_page/kinks.vue @@ -147,8 +147,8 @@ ) as CharacterKink[]; } - async compareKinks(overridingCharacter?: Character): Promise<void> { - if(this.comparing) { + async compareKinks(overridingCharacter?: Character, forced: boolean = false): Promise<void> { + if ((this.comparing) && (!forced)) { this.comparison = {}; this.comparing = false; this.loading = false; @@ -194,7 +194,7 @@ return; if (core.state.settings.risingAutoCompareKinks) { - await this.compareKinks(core.characters.ownProfile); + await this.compareKinks(core.characters.ownProfile, true); } } @@ -203,7 +203,9 @@ if ((this.character) && (this.character.is_self)) return; - await this.compareKinks(core.characters.ownProfile); + if (core.state.settings.risingAutoCompareKinks) { + await this.compareKinks(core.characters.ownProfile, true); + } } get kinkGroups(): KinkGroup[] { diff --git a/site/character_page/match-report.vue b/site/character_page/match-report.vue index aefcc51..06a6360 100644 --- a/site/character_page/match-report.vue +++ b/site/character_page/match-report.vue @@ -31,11 +31,12 @@ </template> <script lang="ts"> - import { Component, Prop, Watch } from '@f-list/vue-ts'; + import { Component, Hook, Prop } from '@f-list/vue-ts'; import * as _ from 'lodash'; import Vue from 'vue'; import * as Utils from '../utils'; import { MatchReport, MatchResult, Score, Scoring } from '../../learn/matcher'; + import core from '../../chat/core'; export interface CssClassMap { [key: string]: boolean; @@ -47,18 +48,25 @@ @Prop({required: true}) readonly characterMatch!: MatchReport; - @Prop({required: true}) - readonly minimized = false; + // @Prop({required: true}) + // readonly minimized = false; readonly avatarUrl = Utils.avatarURL; isMinimized = false; - @Watch('minimized') - onMinimizedChange(): void { - this.isMinimized = this.minimized; + + @Hook('beforeMount') + async beforeMount(): Promise<void> { + this.isMinimized = !!await core.settingsStore.get('hideProfileComparisonSummary'); } + + // @Watch('minimized') + // onMinimizedChange(): void { + // this.isMinimized = this.minimized; + // } + getScoreClass(score: Score): CssClassMap { const classes: CssClassMap = {}; @@ -83,8 +91,10 @@ return _.map(result.scores, (s: Score) => (s)); } - toggleMinimize(): void { + async toggleMinimize(): Promise<void> { this.isMinimized = !this.isMinimized; + + await core.settingsStore.set('hideProfileComparisonSummary', this.isMinimized); } } </script> diff --git a/site/character_page/sidebar.vue b/site/character_page/sidebar.vue index d01a2f3..4fed9c6 100644 --- a/site/character_page/sidebar.vue +++ b/site/character_page/sidebar.vue @@ -43,10 +43,10 @@ <infotag-item v-for="id in quickInfoIds" v-if="character.character.infotags[id]" :infotag="getInfotag(id)" :data="character.character.infotags[id]" :key="id" :characterMatch="characterMatch"></infotag-item> - <div class="contact-block"> - <contact-method v-for="method in contactMethods" :infotag="method" :key="method.id" - :data="character.character.infotags[method.id]"></contact-method> - </div> +<!-- <div class="contact-block">--> +<!-- <contact-method v-for="method in contactMethods" :infotag="method" :key="method.id"--> +<!-- :data="character.character.infotags[method.id]"></contact-method>--> +<!-- </div>--> <div class="quick-info"> <span class="quick-info-label">Created</span>