From 5149ed13426776f3ac56be1498ee861931087e4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Thu, 12 May 2022 19:16:59 +0200 Subject: [PATCH 1/2] Fix external links in sidebar/sidenav MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- app/soapbox/components/sidebar-navigation.tsx | 3 ++- app/soapbox/components/sidebar_menu.tsx | 27 ++++++++++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/app/soapbox/components/sidebar-navigation.tsx b/app/soapbox/components/sidebar-navigation.tsx index 6839ba8a3..39eea4ec4 100644 --- a/app/soapbox/components/sidebar-navigation.tsx +++ b/app/soapbox/components/sidebar-navigation.tsx @@ -57,9 +57,10 @@ const SidebarNavigation = () => { if (instance.invites_enabled) { menu.push({ - to: `${baseURL}/invites`, + href: `${baseURL}/invites`, icon: require('@tabler/icons/icons/mailbox.svg'), text: , + newTab: true, }); } diff --git a/app/soapbox/components/sidebar_menu.tsx b/app/soapbox/components/sidebar_menu.tsx index 2a0946e6e..15661c017 100644 --- a/app/soapbox/components/sidebar_menu.tsx +++ b/app/soapbox/components/sidebar_menu.tsx @@ -42,14 +42,15 @@ const messages = defineMessages({ }); interface ISidebarLink { - to: string, + href?: string, + to?: string, icon: string, text: string | JSX.Element, onClick: React.EventHandler, } -const SidebarLink: React.FC = ({ to, icon, text, onClick }) => ( - +const SidebarLink: React.FC = ({ href, to, icon, text, onClick }) => { + const body = (
@@ -57,8 +58,22 @@ const SidebarLink: React.FC = ({ to, icon, text, onClick }) => ( {text} - -); + ); + + if (to) { + return ( + + {body} + + ); + } + + return ( + + {body} + + ); +}; const getOtherAccounts = makeGetOtherAccounts(); @@ -228,7 +243,7 @@ const SidebarMenu: React.FC = (): JSX.Element | null => { {instance.invites_enabled && ( Date: Sun, 22 May 2022 21:26:53 +0200 Subject: [PATCH 2/2] Remove Invites link from sidebar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- app/soapbox/components/sidebar-navigation.tsx | 11 ----------- app/soapbox/components/sidebar_menu.tsx | 12 ------------ 2 files changed, 23 deletions(-) diff --git a/app/soapbox/components/sidebar-navigation.tsx b/app/soapbox/components/sidebar-navigation.tsx index 39eea4ec4..b123b9c55 100644 --- a/app/soapbox/components/sidebar-navigation.tsx +++ b/app/soapbox/components/sidebar-navigation.tsx @@ -6,7 +6,6 @@ import { getSettings } from 'soapbox/actions/settings'; import DropdownMenu from 'soapbox/containers/dropdown_menu_container'; import ComposeButton from 'soapbox/features/ui/components/compose-button'; import { useAppSelector, useOwnAccount } from 'soapbox/hooks'; -import { getBaseURL } from 'soapbox/utils/accounts'; import { getFeatures } from 'soapbox/utils/features'; import SidebarNavigationLink from './sidebar-navigation-link'; @@ -23,7 +22,6 @@ const SidebarNavigation = () => { const followRequestsCount = useAppSelector((state) => state.user_lists.getIn(['follow_requests', 'items'], ImmutableOrderedSet()).count()); const dashboardCount = useAppSelector((state) => state.admin.openReports.count() + state.admin.awaitingApproval.count()); - const baseURL = account ? getBaseURL(account) : ''; const features = getFeatures(instance); const makeMenu = (): Menu => { @@ -55,15 +53,6 @@ const SidebarNavigation = () => { }); } - if (instance.invites_enabled) { - menu.push({ - href: `${baseURL}/invites`, - icon: require('@tabler/icons/icons/mailbox.svg'), - text: , - newTab: true, - }); - } - if (settings.get('isDeveloper')) { menu.push({ to: '/developers', diff --git a/app/soapbox/components/sidebar_menu.tsx b/app/soapbox/components/sidebar_menu.tsx index 15661c017..bf5fc26f4 100644 --- a/app/soapbox/components/sidebar_menu.tsx +++ b/app/soapbox/components/sidebar_menu.tsx @@ -13,7 +13,6 @@ import { Stack } from 'soapbox/components/ui'; import ProfileStats from 'soapbox/features/ui/components/profile_stats'; import { useAppSelector, useSoapboxConfig, useFeatures } from 'soapbox/hooks'; import { makeGetAccount, makeGetOtherAccounts } from 'soapbox/selectors'; -import { getBaseURL } from 'soapbox/utils/accounts'; import { HStack, Icon, IconButton, Text } from './ui'; @@ -91,8 +90,6 @@ const SidebarMenu: React.FC = (): JSX.Element | null => { const sidebarOpen = useAppSelector((state) => state.sidebar.sidebarOpen); const settings = useAppSelector((state) => getSettings(state)); - const baseURL = account ? getBaseURL(account) : ''; - const closeButtonRef = React.useRef(null); const [switcher, setSwitcher] = React.useState(false); @@ -241,15 +238,6 @@ const SidebarMenu: React.FC = (): JSX.Element | null => { /> )} - {instance.invites_enabled && ( - - )} - {settings.get('isDeveloper') && (