+
(null);
const reactionRef = ref(null);
+const hideFollowButton = defaultStore.state.hideFollowButtons;
const showEmojiReactions =
defaultStore.state.enableEmojiReactions ||
defaultStore.state.showEmojisInReactionNotifications;
diff --git a/packages/client/src/pages/settings/general.vue b/packages/client/src/pages/settings/general.vue
index fe32809ac..1015fe967 100644
--- a/packages/client/src/pages/settings/general.vue
+++ b/packages/client/src/pages/settings/general.vue
@@ -228,6 +228,16 @@
+
+ {{ i18n.ts.preventMisclick }}
+ {{ i18n.ts.hideFollowButtons
+ }}{{
+ i18n.ts.originalFeature
+ }}
+
+
{
defaultStore.set("swipeOnMobile", true);
diff --git a/packages/client/src/pages/user/home.vue b/packages/client/src/pages/user/home.vue
index 76a8dbd7d..a3a886e7e 100644
--- a/packages/client/src/pages/user/home.vue
+++ b/packages/client/src/pages/user/home.vue
@@ -223,6 +223,7 @@
:inline="true"
:transparent="false"
:full="true"
+ :hideFollowButton="hideFollowButton"
class="koudoku"
/>
@@ -410,6 +411,8 @@ import { host } from "@/config";
const XPhotos = defineAsyncComponent(() => import("./index.photos.vue"));
const XActivity = defineAsyncComponent(() => import("./index.activity.vue"));
+const hideFollowButton = defaultStore.state.hideFollowButtons;
+
const emit = defineEmits(["refresh"]);
const props = withDefaults(
defineProps<{
diff --git a/packages/client/src/store.ts b/packages/client/src/store.ts
index 9bd683191..89709e4ff 100644
--- a/packages/client/src/store.ts
+++ b/packages/client/src/store.ts
@@ -346,6 +346,10 @@ export const defaultStore = markRaw(
where: "deviceAccount",
default: true,
},
+ hideFollowButtons: {
+ where: "device",
+ default: true,
+ },
}),
);