diff --git a/src/components/ICONS.jsx b/src/components/ICONS.jsx
index dfbb164c..4ab8b8d3 100644
--- a/src/components/ICONS.jsx
+++ b/src/components/ICONS.jsx
@@ -107,4 +107,5 @@ export const ICONS = {
quote: () => import('@iconify-icons/mingcute/quote-left-line'),
settings: () => import('@iconify-icons/mingcute/settings-6-line'),
'heart-break': () => import('@iconify-icons/mingcute/heart-crack-line'),
+ 'user-x': () => import('@iconify-icons/mingcute/user-x-line'),
};
diff --git a/src/components/account-info.jsx b/src/components/account-info.jsx
index 7fc31559..1f6cc824 100644
--- a/src/components/account-info.jsx
+++ b/src/components/account-info.jsx
@@ -670,6 +670,7 @@ function AccountInfo({
// states.showAccount = false;
setTimeout(() => {
states.showGenericAccounts = {
+ id: 'followers',
heading: 'Followers',
fetchAccounts: fetchFollowers,
instance,
@@ -1339,6 +1340,43 @@ function RelatedActions({
)}
+ {followedBy && (
+
+
+ Remove @{username} from followers?
+ >
+ }
+ onClick={() => {
+ setRelationshipUIState('loading');
+ (async () => {
+ try {
+ const newRelationship = await currentMasto.v1.accounts
+ .$select(currentInfo?.id || id)
+ .removeFromFollowers();
+ console.log(
+ 'removing from followers',
+ newRelationship,
+ );
+ setRelationship(newRelationship);
+ setRelationshipUIState('default');
+ showToast(`@${username} removed from followers`);
+ states.reloadGenericAccounts.id = 'followers';
+ states.reloadGenericAccounts.counter++;
+ } catch (e) {
+ console.error(e);
+ setRelationshipUIState('error');
+ }
+ })();
+ }}
+ >
+
+ Remove follower…
+
+ )}