Compare commits

..

No commits in common. "0954b098a4864b560bbe7229488493fb094dad2c" and "2b7abfb8d7adc361da809bdfdcf28715645da005" have entirely different histories.

7 changed files with 24 additions and 30 deletions

View file

@ -1,15 +0,0 @@
export class RelationshipsPrivateByDefault1731198456912 {
name = 'RelationshipsPrivateByDefault1731198456912'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "publicReactions" SET DEFAULT false`);
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "followingVisibility" SET DEFAULT 'private'`);
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "followersVisibility" SET DEFAULT 'private'`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "followersVisibility" SET DEFAULT 'public'`);
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "followingVisibility" SET DEFAULT 'public'`);
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "publicReactions" SET DEFAULT true`);
}
}

View file

@ -104,19 +104,19 @@ export class MiUserProfile {
public emailNotificationTypes: string[]; public emailNotificationTypes: string[];
@Column('boolean', { @Column('boolean', {
default: false, default: true,
}) })
public publicReactions: boolean; public publicReactions: boolean;
@Column('enum', { @Column('enum', {
enum: followingVisibilities, enum: followingVisibilities,
default: 'private', default: 'public',
}) })
public followingVisibility: typeof followingVisibilities[number]; public followingVisibility: typeof followingVisibilities[number];
@Column('enum', { @Column('enum', {
enum: followersVisibilities, enum: followersVisibilities,
default: 'private', default: 'public',
}) })
public followersVisibility: typeof followersVisibilities[number]; public followersVisibility: typeof followersVisibilities[number];

View file

@ -153,6 +153,9 @@ SPDX-License-Identifier: AGPL-3.0-only
> >
<i class="ph-quotes ph-bold ph-lg"></i> <i class="ph-quotes ph-bold ph-lg"></i>
</button> </button>
<button v-if="appearNote.myReaction == null && appearNote.reactionAcceptance !== 'likeOnly'" ref="likeButton" :class="$style.footerButton" class="_button" @click.stop @click="like()">
<i class="ph-heart ph-bold ph-lg"></i>
</button>
<button ref="reactButton" :class="$style.footerButton" class="_button" @click="toggleReact()" @click.stop> <button ref="reactButton" :class="$style.footerButton" class="_button" @click="toggleReact()" @click.stop>
<i v-if="appearNote.reactionAcceptance === 'likeOnly' && appearNote.myReaction != null" class="ti ti-heart-filled" style="color: var(--love);"></i> <i v-if="appearNote.reactionAcceptance === 'likeOnly' && appearNote.myReaction != null" class="ti ti-heart-filled" style="color: var(--love);"></i>
<i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--accent);"></i> <i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--accent);"></i>

View file

@ -161,6 +161,9 @@ SPDX-License-Identifier: AGPL-3.0-only
> >
<i class="ph-quotes ph-bold ph-lg"></i> <i class="ph-quotes ph-bold ph-lg"></i>
</button> </button>
<button v-if="appearNote.myReaction == null && appearNote.reactionAcceptance !== 'likeOnly'" ref="likeButton" :class="$style.noteFooterButton" class="_button" @mousedown="like()">
<i class="ph-heart ph-bold ph-lg"></i>
</button>
<button ref="reactButton" :class="$style.noteFooterButton" class="_button" @click="toggleReact()"> <button ref="reactButton" :class="$style.noteFooterButton" class="_button" @click="toggleReact()">
<i v-if="appearNote.reactionAcceptance === 'likeOnly' && appearNote.myReaction != null" class="ti ti-heart-filled" style="color: var(--love);"></i> <i v-if="appearNote.reactionAcceptance === 'likeOnly' && appearNote.myReaction != null" class="ti ti-heart-filled" style="color: var(--love);"></i>
<i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--accent);"></i> <i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--accent);"></i>

View file

@ -56,6 +56,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<button v-else class="_button" :class="$style.noteFooterButton" disabled> <button v-else class="_button" :class="$style.noteFooterButton" disabled>
<i class="ph-prohibit ph-bold ph-lg"></i> <i class="ph-prohibit ph-bold ph-lg"></i>
</button> </button>
<button v-if="note.myReaction == null && note.reactionAcceptance !== 'likeOnly'" ref="likeButton" :class="$style.noteFooterButton" class="_button" @mousedown="like()">
<i class="ph-heart ph-bold ph-lg"></i>
</button>
<button v-if="note.myReaction == null" ref="reactButton" :class="$style.noteFooterButton" class="_button" @mousedown="react()"> <button v-if="note.myReaction == null" ref="reactButton" :class="$style.noteFooterButton" class="_button" @mousedown="react()">
<i v-if="note.reactionAcceptance === 'likeOnly'" class="ph-heart ph-bold ph-lg"></i> <i v-if="note.reactionAcceptance === 'likeOnly'" class="ph-heart ph-bold ph-lg"></i>
<i v-else class="ph-smiley ph-bold ph-lg"></i> <i v-else class="ph-smiley ph-bold ph-lg"></i>

View file

@ -6,12 +6,12 @@
//store the URL and if its none of these its a custom one //store the URL and if its none of these its a custom one
export const searchEngineMap = { export const searchEngineMap = {
//The first one is the default search engine //The first one is the default search engine
'https://e621.net/posts?tags={query}': 'e621', 'https://www.google.com/search?q={query}': 'Google',
'https://www.furaffinity.net/search/?q={query}': 'FurAffinity', 'https://duckduckgo.com/?q={query}': 'Duckduckgo',
'https://www.sofurry.com/browse/search?search={query}': 'SoFurry', 'https://www.bing.com/search?q={query}': 'Bing',
'https://www.weasyl.com/search?q={query}': 'Weasyl', 'https://search.yahoo.com/search?p={query}': 'Yahoo',
'https://duckduckgo.com/?q={query}': 'Ask Jeeves', 'https://www.ecosia.org/search?q={query}': 'Ecosia',
'https://www.qwant.com/?q={query}': 'AltaVista', 'https://www.qwant.com/?q={query}': 'Qwant',
'https://wiby.me/?q={query}': 'JumpStation', 'https://search.aol.com/aol/search?q={query}': 'AOL',
'https://yandex.com/search?text={query}': 'Yandex', // because nothing's funnier than Yandex 'https://yandex.com/search?text={query}': 'Yandex',
}; };

View file

@ -146,7 +146,7 @@ export const defaultStore = markRaw(new Storage('base', {
}, },
reactionAcceptance: { reactionAcceptance: {
where: 'account', where: 'account',
default: null as 'likeOnly' | 'likeOnlyForRemote' | 'nonSensitiveOnly' | 'nonSensitiveOnlyForLocalLikeOnlyForRemote' | null, default: 'nonSensitiveOnly' as 'likeOnly' | 'likeOnlyForRemote' | 'nonSensitiveOnly' | 'nonSensitiveOnlyForLocalLikeOnlyForRemote' | null,
}, },
like: { like: {
where: 'account', where: 'account',
@ -162,11 +162,11 @@ export const defaultStore = markRaw(new Storage('base', {
}, },
showVisibilitySelectorOnBoost: { showVisibilitySelectorOnBoost: {
where: 'account', where: 'account',
default: false, default: true,
}, },
visibilityOnBoost: { visibilityOnBoost: {
where: 'account', where: 'account',
default: 'followers' as 'public' | 'home' | 'followers', default: 'public' as 'public' | 'home' | 'followers',
}, },
trustedDomains: { trustedDomains: {
where: 'account', where: 'account',
@ -277,7 +277,7 @@ export const defaultStore = markRaw(new Storage('base', {
}, },
animatedMfm: { animatedMfm: {
where: 'device', where: 'device',
default: !window.matchMedia('(prefers-reduced-motion)').matches, default: false,
}, },
advancedMfm: { advancedMfm: {
where: 'device', where: 'device',