mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-05 17:33:08 +02:00
enhance(frontend): 広告が同一ドメインの場合はRouterで遷移するように (#13510)
* enhance(frontend): 広告が同一ドメインの場合はRouterで遷移するように * Update Changelog * Update CHANGELOG.md --------- Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
This commit is contained in:
parent
412e9f284d
commit
c680e35aa0
2 changed files with 18 additions and 4 deletions
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
### Client
|
### Client
|
||||||
- Enhance: 自分のノートの添付ファイルから直接ファイルの詳細ページに飛べるように
|
- Enhance: 自分のノートの添付ファイルから直接ファイルの詳細ページに飛べるように
|
||||||
|
- Enhance: 広告がMisskeyと同一ドメインの場合はRouterで遷移するように
|
||||||
- Enhance: リアクション・いいねの総数を表示するように
|
- Enhance: リアクション・いいねの総数を表示するように
|
||||||
- Enhance: リアクション受け入れが「いいねのみ」の場合はリアクション絵文字一覧を表示しないように
|
- Enhance: リアクション受け入れが「いいねのみ」の場合はリアクション絵文字一覧を表示しないように
|
||||||
- Fix: 一部のページ内リンクが正しく動作しない問題を修正
|
- Fix: 一部のページ内リンクが正しく動作しない問題を修正
|
||||||
|
|
|
@ -14,10 +14,20 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
[$style.form_vertical]: chosen.place === 'vertical',
|
[$style.form_vertical]: chosen.place === 'vertical',
|
||||||
}]"
|
}]"
|
||||||
>
|
>
|
||||||
<a :href="chosen.url" target="_blank" :class="$style.link">
|
<component
|
||||||
|
:is="self ? 'MkA' : 'a'"
|
||||||
|
:class="$style.link"
|
||||||
|
v-bind="self ? {
|
||||||
|
to: chosen.url.substring(local.length),
|
||||||
|
} : {
|
||||||
|
href: chosen.url,
|
||||||
|
rel: 'nofollow noopener',
|
||||||
|
target: '_blank',
|
||||||
|
}"
|
||||||
|
>
|
||||||
<img :src="chosen.imageUrl" :class="$style.img">
|
<img :src="chosen.imageUrl" :class="$style.img">
|
||||||
<button class="_button" :class="$style.i" @click.prevent.stop="toggleMenu"><i :class="$style.iIcon" class="ti ti-info-circle"></i></button>
|
<button class="_button" :class="$style.i" @click.prevent.stop="toggleMenu"><i :class="$style.iIcon" class="ti ti-info-circle"></i></button>
|
||||||
</a>
|
</component>
|
||||||
</div>
|
</div>
|
||||||
<div v-else :class="$style.menu">
|
<div v-else :class="$style.menu">
|
||||||
<div :class="$style.menuContainer">
|
<div :class="$style.menuContainer">
|
||||||
|
@ -32,10 +42,10 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue';
|
import { ref, computed } from 'vue';
|
||||||
import { i18n } from '@/i18n.js';
|
import { i18n } from '@/i18n.js';
|
||||||
import { instance } from '@/instance.js';
|
import { instance } from '@/instance.js';
|
||||||
import { host } from '@/config.js';
|
import { url as local, host } from '@/config.js';
|
||||||
import MkButton from '@/components/MkButton.vue';
|
import MkButton from '@/components/MkButton.vue';
|
||||||
import { defaultStore } from '@/store.js';
|
import { defaultStore } from '@/store.js';
|
||||||
import * as os from '@/os.js';
|
import * as os from '@/os.js';
|
||||||
|
@ -96,6 +106,9 @@ const choseAd = (): Ad | null => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const chosen = ref(choseAd());
|
const chosen = ref(choseAd());
|
||||||
|
|
||||||
|
const self = computed(() => chosen.value?.url.startsWith(local));
|
||||||
|
|
||||||
const shouldHide = ref(!defaultStore.state.forceShowAds && $i && $i.policies.canHideAds && (props.specify == null));
|
const shouldHide = ref(!defaultStore.state.forceShowAds && $i && $i.policies.canHideAds && (props.specify == null));
|
||||||
|
|
||||||
function reduceFrequency(): void {
|
function reduceFrequency(): void {
|
||||||
|
|
Loading…
Reference in a new issue