From e2f39596f048cb240ccd33f6bef663355f8ec535 Mon Sep 17 00:00:00 2001 From: Lim Chee Aun <cheeaun@gmail.com> Date: Mon, 15 Apr 2024 19:58:59 +0800 Subject: [PATCH] Might as well add more supports --- src/components/account-info.jsx | 52 ++++++++++++++++++--------------- src/utils/supports.js | 3 +- 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/src/components/account-info.jsx b/src/components/account-info.jsx index 35ea89ea..49cb4274 100644 --- a/src/components/account-info.jsx +++ b/src/components/account-info.jsx @@ -23,6 +23,7 @@ import showToast from '../utils/show-toast'; import states, { hideAllModals } from '../utils/states'; import store from '../utils/store'; import { getCurrentAccountID, updateAccount } from '../utils/store-utils'; +import supports from '../utils/supports'; import AccountBlock from './account-block'; import Avatar from './avatar'; @@ -1091,16 +1092,18 @@ function RelatedActions({ <Icon icon="translate" /> <span>Translate bio</span> </MenuItem> - <MenuItem - onClick={() => { - setShowPrivateNoteModal(true); - }} - > - <Icon icon="pencil" /> - <span> - {privateNote ? 'Edit private note' : 'Add private note'} - </span> - </MenuItem> + {supports('@mastodon/profile-private-note') && ( + <MenuItem + onClick={() => { + setShowPrivateNoteModal(true); + }} + > + <Icon icon="pencil" /> + <span> + {privateNote ? 'Edit private note' : 'Add private note'} + </span> + </MenuItem> + )} {following && !!relationship && ( <> <MenuItem @@ -1449,19 +1452,22 @@ function RelatedActions({ </MenuItem> </> )} - {currentAuthenticated && isSelf && standalone && ( - <> - <MenuDivider /> - <MenuItem - onClick={() => { - setShowEditProfile(true); - }} - > - <Icon icon="pencil" /> - <span>Edit profile</span> - </MenuItem> - </> - )} + {currentAuthenticated && + isSelf && + standalone && + supports('@mastodon/profile-edit') && ( + <> + <MenuDivider /> + <MenuItem + onClick={() => { + setShowEditProfile(true); + }} + > + <Icon icon="pencil" /> + <span>Edit profile</span> + </MenuItem> + </> + )} {import.meta.env.DEV && currentAuthenticated && isSelf && ( <> <MenuDivider /> diff --git a/src/utils/supports.js b/src/utils/supports.js index 4733cd97..6b94126e 100644 --- a/src/utils/supports.js +++ b/src/utils/supports.js @@ -5,7 +5,6 @@ import features from '../data/features.json'; import { getCurrentInstance } from './store-utils'; // Non-semver(?) UA string detection -// Can't put this inside features.json due to regex const containPixelfed = /pixelfed/i; const notContainPixelfed = /^(?!.*pixelfed).*$/i; const platformFeatures = { @@ -16,6 +15,8 @@ const platformFeatures = { '@mastodon/trending-links': notContainPixelfed, '@mastodon/post-bookmark': notContainPixelfed, '@mastodon/post-edit': notContainPixelfed, + '@mastodon/profile-edit': notContainPixelfed, + '@mastodon/profile-private-note': notContainPixelfed, '@pixelfed/trending': containPixelfed, }; const supportsCache = {};