3.0.13
This commit is contained in:
parent
837a2d6467
commit
4806a36d74
|
@ -1,5 +1,5 @@
|
|||
import Vue from 'vue';
|
||||
import { BBCodeElement } from '../chat/bbcode';
|
||||
import { BBCodeElement } from './core';
|
||||
import {InlineDisplayMode, InlineImage} from '../interfaces';
|
||||
import * as Utils from '../site/utils';
|
||||
import {analyzeUrlTag, CoreBBCodeParser} from './core';
|
||||
|
|
|
@ -2,7 +2,7 @@ import { Component, Hook, Prop } from '@f-list/vue-ts';
|
|||
import {CreateElement, default as Vue, VNode, VNodeChildrenArrayContents} from 'vue';
|
||||
import {Channel} from '../fchat';
|
||||
import { Score, Scoring } from '../learn/matcher';
|
||||
import {BBCodeView} from './bbcode/view';
|
||||
import {BBCodeView} from '../bbcode/view';
|
||||
import {formatTime} from './common';
|
||||
import core from './core';
|
||||
import {Conversation} from './interfaces';
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import Axios from 'axios';
|
||||
import Vue from 'vue';
|
||||
import Editor from '../bbcode/Editor.vue';
|
||||
import {InlineDisplayMode} from '../bbcode/interfaces';
|
||||
import { BBCodeView } from '../bbcode/view';
|
||||
import {InlineDisplayMode} from '../interfaces';
|
||||
import {StandardBBCodeParser} from '../bbcode/standard';
|
||||
import CharacterLink from '../components/character_link.vue';
|
||||
import CharacterSelect from '../components/character_select.vue';
|
||||
|
|
|
@ -106,4 +106,8 @@
|
|||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
.modal-body:focus {
|
||||
outline: none !important;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -114,7 +114,8 @@
|
|||
session!.defaultSession!.webRequest!.onBeforeSendHeaders(
|
||||
{
|
||||
urls: [
|
||||
'https?://(api|i).imgur.com/*'
|
||||
'https://(api|i).imgur.com/.*',
|
||||
'http://(api|i).imgur.com/.*'
|
||||
]
|
||||
},
|
||||
(details: any, callback: any) => {
|
||||
|
|
|
@ -196,10 +196,10 @@
|
|||
const tray = new electron.remote.Tray(trayIcon);
|
||||
tray.setToolTip(l('title'));
|
||||
tray.on('click', (_) => this.trayClicked(tab));
|
||||
const view = new electron.remote.BrowserView({webPreferences: {nodeIntegration: true}});
|
||||
const view = new electron.remote.BrowserView({webPreferences: {webviewTag: true, nodeIntegration: true}});
|
||||
|
||||
// tab devtools
|
||||
// view.webContents.openDevTools();
|
||||
view.webContents.openDevTools();
|
||||
|
||||
view.setAutoResize({width: true, height: true});
|
||||
electron.ipcRenderer.send('tab-added', view.webContents.id);
|
||||
|
|
|
@ -49,6 +49,7 @@ import Connection from '../fchat/connection';
|
|||
import {Keys} from '../keys';
|
||||
import {GeneralSettings, nativeRequire} from './common';
|
||||
import {Logs, SettingsStore} from './filesystem';
|
||||
import Notifications from './notifications';
|
||||
import * as SlimcatImporter from './importer';
|
||||
import Index from './Index.vue';
|
||||
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
import * as _ from 'lodash';
|
||||
|
||||
import core from '../chat/core';
|
||||
import {Character as ComplexCharacter, CharacterFriend, CharacterGroup, GuestbookState} from '../site/character_page/interfaces';
|
||||
import {Character as ComplexCharacter, CharacterGroup, Guestbook} from '../site/character_page/interfaces';
|
||||
import { AsyncCache } from './async-cache';
|
||||
import { Matcher, Score, Scoring } from './matcher';
|
||||
import { PermanentIndexedStore } from './store/sql-store';
|
||||
import {CharacterImage} from '../interfaces';
|
||||
import { CharacterImage, SimpleCharacter } from '../interfaces';
|
||||
|
||||
|
||||
export interface MetaRecord {
|
||||
images: CharacterImage[] | null;
|
||||
groups: CharacterGroup[] | null;
|
||||
friends: CharacterFriend[] | null;
|
||||
guestbook: GuestbookState | null;
|
||||
friends: SimpleCharacter[] | null;
|
||||
guestbook: Guestbook | null;
|
||||
lastFetched: Date | null;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import * as _ from 'lodash';
|
||||
|
||||
import {Character as ComplexCharacter, CharacterFriend, CharacterGroup, GuestbookState} from '../../site/character_page/interfaces';
|
||||
import {Character as ComplexCharacter, CharacterGroup, Guestbook} from '../../site/character_page/interfaces';
|
||||
import { CharacterAnalysis } from '../matcher';
|
||||
import { PermanentIndexedStore, ProfileRecord } from './sql-store';
|
||||
import {CharacterImage} from '../../interfaces';
|
||||
import { CharacterImage, SimpleCharacter } from '../../interfaces';
|
||||
|
||||
|
||||
async function promisifyRequest<T>(req: IDBRequest): Promise<T> {
|
||||
|
@ -152,8 +152,8 @@ export class IndexedStore implements PermanentIndexedStore {
|
|||
async updateProfileMeta(
|
||||
name: string,
|
||||
images: CharacterImage[] | null,
|
||||
guestbook: GuestbookState | null,
|
||||
friends: CharacterFriend[] | null,
|
||||
guestbook: Guestbook | null,
|
||||
friends: SimpleCharacter[] | null,
|
||||
groups: CharacterGroup[] | null
|
||||
): Promise<void> {
|
||||
const existing = await this.getProfile(name);
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// import core from '../../chat/core';
|
||||
|
||||
import { Orientation, Gender, FurryPreference, Species } from '../matcher';
|
||||
import {Character as ComplexCharacter, CharacterFriend, CharacterGroup, GuestbookState} from '../../site/character_page/interfaces';
|
||||
import {CharacterImage} from '../../interfaces';
|
||||
import {Character as ComplexCharacter, CharacterGroup, Guestbook} from '../../site/character_page/interfaces';
|
||||
import { CharacterImage, SimpleCharacter } from '../../interfaces';
|
||||
|
||||
// This design should be refactored; it's bad
|
||||
export interface ProfileRecord {
|
||||
|
@ -27,9 +27,9 @@ export interface ProfileRecord {
|
|||
// groupCount: number | null;
|
||||
|
||||
lastMetaFetched: number | null;
|
||||
guestbook: GuestbookState | null;
|
||||
guestbook: Guestbook | null;
|
||||
images: CharacterImage[] | null;
|
||||
friends: CharacterFriend[] | null;
|
||||
friends: SimpleCharacter[] | null;
|
||||
groups: CharacterGroup[] | null;
|
||||
}
|
||||
|
||||
|
@ -43,8 +43,8 @@ export interface PermanentIndexedStore {
|
|||
updateProfileMeta(
|
||||
name: string,
|
||||
images: CharacterImage[] | null,
|
||||
guestbook: GuestbookState | null,
|
||||
friends: CharacterFriend[] | null,
|
||||
guestbook: Guestbook | null,
|
||||
friends: SimpleCharacter[] | null,
|
||||
groups: CharacterGroup[] | null
|
||||
): Promise<void>;
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
import { CharacterCacheRecord } from '../../learn/profile-cache';
|
||||
import * as Utils from '../utils';
|
||||
import {methods, Store} from './data_store';
|
||||
import {Character, CharacterFriend, CharacterGroup, GuestbookState, SharedStore} from './interfaces';
|
||||
import {Character, CharacterGroup, Guestbook, SharedStore} from './interfaces';
|
||||
|
||||
import DateDisplay from '../../components/date_display.vue';
|
||||
import Tabs from '../../components/tabs';
|
||||
|
@ -92,7 +92,7 @@
|
|||
import core from '../../chat/core';
|
||||
import { Matcher, MatchReport } from '../../learn/matcher';
|
||||
import MatchReportView from './match-report.vue';
|
||||
import {CharacterImage} from '../../interfaces';
|
||||
import { CharacterImage, SimpleCharacter } from '../../interfaces';
|
||||
|
||||
const CHARACTER_CACHE_EXPIRE = 7 * 24 * 60 * 60 * 1000; // 7 days (milliseconds)
|
||||
const CHARACTER_META_CACHE_EXPIRE = 10 * 24 * 60 * 60 * 1000; // 10 days (milliseconds)
|
||||
|
@ -138,8 +138,8 @@
|
|||
friendCount: number | null = null;
|
||||
groupCount: number | null = null; */
|
||||
|
||||
guestbook: GuestbookState | null = null;
|
||||
friends: CharacterFriend[] | null = null;
|
||||
guestbook: Guestbook | null = null;
|
||||
friends: SimpleCharacter[] | null = null;
|
||||
groups: CharacterGroup[] | null = null;
|
||||
images: CharacterImage[] | null = null;
|
||||
|
||||
|
@ -210,7 +210,7 @@
|
|||
|
||||
await methods.fieldsGet();
|
||||
|
||||
if ((this.selfCharacter === undefined) && (Utils.Settings.defaultCharacter >= 0))
|
||||
if ((this.selfCharacter === undefined) && (Utils.settings.defaultCharacter >= 0))
|
||||
due.push(this.loadSelfCharacter());
|
||||
|
||||
if((mustLoad) || (this.character === undefined))
|
||||
|
@ -235,7 +235,7 @@
|
|||
return;
|
||||
}
|
||||
|
||||
this.guestbook = await methods.guestbookPageGet(this.character.character.id, 1, false);
|
||||
this.guestbook = await methods.guestbookPageGet(this.character.character.id, 1);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
this.guestbook = null;
|
||||
|
@ -363,9 +363,8 @@
|
|||
|
||||
this.character = (cache && !skipCache)
|
||||
? cache.character
|
||||
: await methods.characterData(this.name, this.characterid, false);
|
||||
: await methods.characterData(this.name, this.id, false);
|
||||
|
||||
standardParser.allowInlines = true;
|
||||
standardParser.inlines = this.character.character.inlines;
|
||||
|
||||
if (
|
||||
|
|
|
@ -26,7 +26,9 @@ export default abstract class ContextMenu extends Vue {
|
|||
|
||||
private fixPosition(e: MouseEvent | Touch): void {
|
||||
const getMenuPosition = (input: number, direction: string): number => {
|
||||
const win = (<Window & {[key: string]: number}>window)[`inner${direction}`];
|
||||
const win = (window as unknown as any)[`inner${direction}`] as number;
|
||||
// (<Window & {[key: string]: number}>window)[`inner${direction}`];
|
||||
|
||||
const menu = (<HTMLElement & {[key: string]: number}>this.$refs['menu'])[`offset${direction}`];
|
||||
let position = input;
|
||||
|
||||
|
@ -89,4 +91,4 @@ export default abstract class ContextMenu extends Vue {
|
|||
return {left: `${this.position.left}px`, top: `${this.position.top}px;`};
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -207,7 +207,7 @@
|
|||
}
|
||||
|
||||
get kinkGroups(): KinkGroup[] {
|
||||
const groups = Store.kinks.kink_groups;
|
||||
const groups = Store.shared.kinkGroups;
|
||||
|
||||
return _.sortBy(
|
||||
_.filter(
|
||||
|
|
|
@ -39,7 +39,9 @@
|
|||
<div v-if="character.character.online_chat" @click="showInChat()" class="character-page-online-chat">Online In Chat</div>
|
||||
|
||||
<div class="quick-info-block">
|
||||
<infotag-item v-for="infotag in quickInfoItems" :infotag="infotag" :key="infotag.id" :characterMatch="characterMatch"></infotag-item>
|
||||
<!-- <infotag-item v-for="infotag in quickInfoItems" :infotag="infotag" :key="infotag.id" :characterMatch="characterMatch"></infotag-item> -->
|
||||
<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" :method="method" :key="method.id"></contact-method>
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
"never"
|
||||
],
|
||||
"strict-boolean-expressions": false,
|
||||
"strict-comparisons": true,
|
||||
"strict-comparisons": false,
|
||||
"switch-default": false,
|
||||
"switch-final-break": false,
|
||||
"trailing-comma": [
|
||||
|
|
Loading…
Reference in New Issue