summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-02-22 17:25:33 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-02-22 17:25:33 +0900
commitf0cb587c8906cf20d9e04ac6550914510aacc142 (patch)
treeecbb02cd1feb16f2b1019f655b3a842a55cb158f
parentfix(server): tweak admin/show-user api (diff)
downloadmisskey-f0cb587c8906cf20d9e04ac6550914510aacc142.tar.gz
misskey-f0cb587c8906cf20d9e04ac6550914510aacc142.tar.bz2
misskey-f0cb587c8906cf20d9e04ac6550914510aacc142.zip
fix(client): ユーザーのハッシュタグ検索が機能していないのを修正
-rw-r--r--CHANGELOG.md1
-rw-r--r--packages/frontend/src/components/mfm.ts2
-rw-r--r--packages/frontend/src/pages/explore.users.vue4
-rw-r--r--packages/frontend/src/pages/user-tag.vue38
-rw-r--r--packages/frontend/src/router.ts4
5 files changed, 44 insertions, 5 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3a169284f4..6ae4c32b8a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,7 @@ You should also include the user name that made the change.
- fix(client): MkHeader及びデッキのカラムでチャンネル一覧を選択したとき、最大5個までしか表示されない
- 管理画面の広告を10個以上見えるように
- Moderation note が保存できない
+- ユーザーのハッシュタグ検索が機能していないのを修正
## 13.6.1 (2023/02/12)
diff --git a/packages/frontend/src/components/mfm.ts b/packages/frontend/src/components/mfm.ts
index 1b1d27ea2a..e84eabcbcc 100644
--- a/packages/frontend/src/components/mfm.ts
+++ b/packages/frontend/src/components/mfm.ts
@@ -278,7 +278,7 @@ export default defineComponent({
case 'hashtag': {
return [h(MkA, {
key: Math.random(),
- to: this.isNote ? `/tags/${encodeURIComponent(token.props.hashtag)}` : `/explore/tags/${encodeURIComponent(token.props.hashtag)}`,
+ to: this.isNote ? `/tags/${encodeURIComponent(token.props.hashtag)}` : `/user-tags/${encodeURIComponent(token.props.hashtag)}`,
style: 'color:var(--hashtag);',
}, `#${token.props.hashtag}`)];
}
diff --git a/packages/frontend/src/pages/explore.users.vue b/packages/frontend/src/pages/explore.users.vue
index 05a36c950a..c441407d97 100644
--- a/packages/frontend/src/pages/explore.users.vue
+++ b/packages/frontend/src/pages/explore.users.vue
@@ -29,8 +29,8 @@
<template #header><i class="ti ti-hash ti-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularTags }}</template>
<div class="vxjfqztj">
- <MkA v-for="tag in tagsLocal" :key="'local:' + tag.tag" :to="`/explore/tags/${tag.tag}`" class="local">{{ tag.tag }}</MkA>
- <MkA v-for="tag in tagsRemote" :key="'remote:' + tag.tag" :to="`/explore/tags/${tag.tag}`">{{ tag.tag }}</MkA>
+ <MkA v-for="tag in tagsLocal" :key="'local:' + tag.tag" :to="`/user-tags/${tag.tag}`" class="local">{{ tag.tag }}</MkA>
+ <MkA v-for="tag in tagsRemote" :key="'remote:' + tag.tag" :to="`/user-tags/${tag.tag}`">{{ tag.tag }}</MkA>
</div>
</MkFoldableSection>
diff --git a/packages/frontend/src/pages/user-tag.vue b/packages/frontend/src/pages/user-tag.vue
new file mode 100644
index 0000000000..fac7593e9c
--- /dev/null
+++ b/packages/frontend/src/pages/user-tag.vue
@@ -0,0 +1,38 @@
+<template>
+<MkStickyContainer>
+ <template #header><MkPageHeader/></template>
+
+ <MkSpacer :content-max="1200">
+ <div class="_gaps_s">
+ <MkUserList :pagination="tagUsers"/>
+ </div>
+ </MkSpacer>
+</MkStickyContainer>
+</template>
+
+<script lang="ts" setup>
+import { computed, watch } from 'vue';
+import * as os from '@/os';
+import MkUserList from '@/components/MkUserList.vue';
+import { definePageMetadata } from '@/scripts/page-metadata';
+
+const props = defineProps<{
+ tag: string;
+}>();
+
+const tagUsers = $computed(() => ({
+ endpoint: 'hashtags/users' as const,
+ limit: 30,
+ params: {
+ tag: props.tag,
+ origin: 'combined',
+ sort: '+follower',
+ },
+}));
+
+definePageMetadata(computed(() => ({
+ title: props.tag,
+ icon: 'ti ti-user-search',
+})));
+</script>
+
diff --git a/packages/frontend/src/router.ts b/packages/frontend/src/router.ts
index 3b7ee1486f..9521e01910 100644
--- a/packages/frontend/src/router.ts
+++ b/packages/frontend/src/router.ts
@@ -201,8 +201,8 @@ export const routes = [{
path: '/roles/:role',
component: page(() => import('./pages/role.vue')),
}, {
- path: '/explore/tags/:tag',
- component: page(() => import('./pages/explore.vue')),
+ path: '/user-tags/:tag',
+ component: page(() => import('./pages/user-tag.vue')),
}, {
path: '/explore',
component: page(() => import('./pages/explore.vue')),