This commit is contained in:
Mr. Stallion 2020-03-14 16:24:49 -05:00
parent 837a2d6467
commit 4806a36d74
16 changed files with 767 additions and 769 deletions

View File

@ -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';

View File

@ -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';

View File

@ -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';

View File

@ -106,4 +106,8 @@
margin-left: 0;
margin-right: 0;
}
</style>
.modal-body:focus {
outline: none !important;
}
</style>

View File

@ -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) => {

View File

@ -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);

View File

@ -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';

View File

@ -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;
}

View File

@ -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);

View File

@ -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>;

View File

@ -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 (

View File

@ -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;`};
}
}
}

View File

@ -207,7 +207,7 @@
}
get kinkGroups(): KinkGroup[] {
const groups = Store.kinks.kink_groups;
const groups = Store.shared.kinkGroups;
return _.sortBy(
_.filter(

View File

@ -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>

View File

@ -136,7 +136,7 @@
"never"
],
"strict-boolean-expressions": false,
"strict-comparisons": true,
"strict-comparisons": false,
"switch-default": false,
"switch-final-break": false,
"trailing-comma": [

1458
yarn.lock

File diff suppressed because it is too large Load Diff