+ {showExplanationBox &&
}
action={dismissExplanationBox}
@@ -86,12 +87,13 @@ const CommunityTimeline = () => {
}
}
- divideType='space'
+ divideType={theme === 'black' ? 'border' : 'space'}
/>
diff --git a/src/features/quotes/index.tsx b/src/features/quotes/index.tsx
index 7b0d057fe..60ea8a550 100644
--- a/src/features/quotes/index.tsx
+++ b/src/features/quotes/index.tsx
@@ -7,7 +7,7 @@ import { useParams } from 'react-router-dom';
import { expandStatusQuotes, fetchStatusQuotes } from 'soapbox/actions/status-quotes';
import StatusList from 'soapbox/components/status-list';
import { Column } from 'soapbox/components/ui';
-import { useAppDispatch, useAppSelector } from 'soapbox/hooks';
+import { useAppDispatch, useAppSelector, useTheme } from 'soapbox/hooks';
const messages = defineMessages({
heading: { id: 'column.quotes', defaultMessage: 'Post quotes' },
@@ -20,6 +20,7 @@ const Quotes: React.FC = () => {
const dispatch = useAppDispatch();
const intl = useIntl();
const { statusId } = useParams<{ statusId: string }>();
+ const theme = useTheme();
const statusIds = useAppSelector((state) => state.status_lists.getIn([`quotes:${statusId}`, 'items'], ImmutableOrderedSet
()));
const isLoading = useAppSelector((state) => state.status_lists.getIn([`quotes:${statusId}`, 'isLoading'], true));
@@ -38,6 +39,7 @@ const Quotes: React.FC = () => {
return (
}
scrollKey={`quotes:${statusId}`}
hasMore={hasMore}
@@ -45,7 +47,7 @@ const Quotes: React.FC = () => {
onLoadMore={() => handleLoadMore(statusId, dispatch)}
onRefresh={handleRefresh}
emptyMessage={emptyMessage}
- divideType='space'
+ divideType={theme === 'black' ? 'border' : 'space'}
/>
);
diff --git a/src/features/remote-timeline/index.tsx b/src/features/remote-timeline/index.tsx
index 4d5a65ffb..a50875531 100644
--- a/src/features/remote-timeline/index.tsx
+++ b/src/features/remote-timeline/index.tsx
@@ -6,7 +6,7 @@ import { expandRemoteTimeline } from 'soapbox/actions/timelines';
import { useRemoteStream } from 'soapbox/api/hooks';
import IconButton from 'soapbox/components/icon-button';
import { Column, HStack, Text } from 'soapbox/components/ui';
-import { useAppSelector, useAppDispatch, useSettings } from 'soapbox/hooks';
+import { useAppSelector, useAppDispatch, useSettings, useTheme } from 'soapbox/hooks';
import Timeline from '../ui/components/timeline';
@@ -22,6 +22,7 @@ interface IRemoteTimeline {
const RemoteTimeline: React.FC = ({ params }) => {
const history = useHistory();
const dispatch = useAppDispatch();
+ const theme = useTheme();
const instance = params?.instance as string;
const settings = useSettings();
@@ -64,6 +65,7 @@ const RemoteTimeline: React.FC = ({ params }) => {
)}
= ({ params }) => {
values={{ instance }}
/>
}
- divideType='space'
+ divideType={theme === 'black' ? 'border' : 'space'}
/>
);
diff --git a/src/features/soapbox-config/components/site-preview.tsx b/src/features/soapbox-config/components/site-preview.tsx
index c757e6f7e..617dc3121 100644
--- a/src/features/soapbox-config/components/site-preview.tsx
+++ b/src/features/soapbox-config/components/site-preview.tsx
@@ -22,7 +22,7 @@ const SitePreview: React.FC = ({ soapbox }) => {
const userTheme = settings.get('themeMode');
const systemTheme = useSystemTheme();
- const dark = userTheme === 'dark' || (userTheme === 'system' && systemTheme === 'dark');
+ const dark = ['dark', 'black'].includes(userTheme as string) || (userTheme === 'system' && systemTheme === 'dark');
const bodyClass = clsx(
'site-preview',
diff --git a/src/features/test-timeline/index.tsx b/src/features/test-timeline/index.tsx
index 1601dc165..623ef9d33 100644
--- a/src/features/test-timeline/index.tsx
+++ b/src/features/test-timeline/index.tsx
@@ -3,7 +3,7 @@ import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
import { importFetchedStatuses } from 'soapbox/actions/importer';
import { expandTimelineSuccess } from 'soapbox/actions/timelines';
-import { useAppDispatch } from 'soapbox/hooks';
+import { useAppDispatch, useTheme } from 'soapbox/hooks';
import { Column } from '../../components/ui';
import Timeline from '../ui/components/timeline';
@@ -31,6 +31,7 @@ const onlyMedia = false;
const TestTimeline: React.FC = () => {
const intl = useIntl();
const dispatch = useAppDispatch();
+ const theme = useTheme();
React.useEffect(() => {
dispatch(importFetchedStatuses(MOCK_STATUSES));
@@ -43,7 +44,7 @@ const TestTimeline: React.FC = () => {
scrollKey={`${timelineId}_timeline`}
timelineId={`${timelineId}${onlyMedia ? ':media' : ''}`}
emptyMessage={}
- divideType='space'
+ divideType={theme === 'black' ? 'border' : 'space'}
/>
);
diff --git a/src/features/ui/components/background-shapes.tsx b/src/features/ui/components/background-shapes.tsx
index 63df83ead..f256ad987 100644
--- a/src/features/ui/components/background-shapes.tsx
+++ b/src/features/ui/components/background-shapes.tsx
@@ -8,7 +8,7 @@ interface IBackgroundShapes {
/** Gradient that appears in the background of the UI. */
const BackgroundShapes: React.FC = ({ position = 'fixed' }) => (
-
+
);
diff --git a/src/features/ui/components/navbar.tsx b/src/features/ui/components/navbar.tsx
index 0be4e3948..79d478404 100644
--- a/src/features/ui/components/navbar.tsx
+++ b/src/features/ui/components/navbar.tsx
@@ -70,7 +70,7 @@ const Navbar = () => {
if (mfaToken) return
;
return (
-