@@ -112,6 +133,7 @@ export const ColumnsArea = forwardRef<
+
{children}
diff --git a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
index f485119d92..bdc6837dd0 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
@@ -24,7 +24,15 @@ const getRegex = createSelector([
const makeGetStatusIds = (pending = false) => createSelector([
(state, { type }) => state.getIn(['settings', type], ImmutableMap()),
- (state, { type }) => state.getIn(['timelines', type, pending ? 'pendingItems' : 'items'], ImmutableList()),
+ (state, { type, maxItems }) => {
+ const items = state.getIn(['timelines', type, pending ? 'pendingItems' : 'items'], ImmutableList());
+
+ if (maxItems) {
+ return items.take(maxItems);
+ }
+
+ return items;
+ },
(state) => state.get('statuses'),
getRegex,
], (columnSettings, statusIds, statuses, regex) => {
@@ -64,8 +72,17 @@ const makeMapStateToProps = () => {
const getStatusIds = makeGetStatusIds();
const getPendingStatusIds = makeGetStatusIds(true);
- const mapStateToProps = (state, { timelineId, regex, initialLoadingState = true }) => ({
- statusIds: getStatusIds(state, { type: timelineId, regex }),
+ /**
+ * @param {import('flavours/glitch/store').RootState} state
+ * @param {Object} props
+ * @param {string} props.timelineId
+ * @param {boolean} [props.initialLoadingState]
+ * @param {number} [props.maxItems]
+ * @param {RegExp} [props.regex]
+ */
+ const mapStateToProps = (state, { timelineId, regex, initialLoadingState = true, maxItems }) => ({
+ statusIds: getStatusIds(state, { type: timelineId, regex, maxItems }),
+
lastId: state.getIn(['timelines', timelineId, 'items'])?.last(),
isLoading: state.getIn(['timelines', timelineId, 'isLoading'], initialLoadingState),
isPartial: state.getIn(['timelines', timelineId, 'isPartial'], false),
diff --git a/app/javascript/flavours/glitch/features/ui/index.jsx b/app/javascript/flavours/glitch/features/ui/index.jsx
index e2953d879e..41329d3196 100644
--- a/app/javascript/flavours/glitch/features/ui/index.jsx
+++ b/app/javascript/flavours/glitch/features/ui/index.jsx
@@ -32,7 +32,7 @@ import { uploadCompose, resetCompose, changeComposeSpoilerness } from '../../act
import { clearHeight } from '../../actions/height_cache';
import { fetchServer, fetchServerTranslationLanguages } from '../../actions/server';
import { expandHomeTimeline } from '../../actions/timelines';
-import { initialState, me, owner, singleUserMode, trendsEnabled, landingPage, localLiveFeedAccess, disableHoverCards } from '../../initial_state';
+import { initialState, me, owner, singleUserMode, trendsEnabled, landingPage, localLiveFeedAccess, disableHoverCards, domain } from '../../initial_state';
import BundleColumnError from './components/bundle_column_error';
import { NavigationBar } from './components/navigation_bar';
@@ -91,6 +91,7 @@ import {
import { ColumnsContextProvider } from './util/columns_context';
import { focusColumn, getFocusedItemIndex, focusItemSibling, focusFirstItem } from './util/focusUtils';
import { WrappedSwitch, WrappedRoute } from './util/react_router_helpers';
+import { CustomHomepage } from 'flavours/glitch/features/custom_homepage';
// Dummy import, to make sure that
ends up in the application bundle.
// Without this it ends up in ~8 very commonly used bundles.
@@ -185,13 +186,15 @@ class SwitchingColumnsArea extends PureComponent {
rootRedirect = '/explore';
} else if (localLiveFeedAccess === 'public' && landingPage === 'local_feed') {
rootRedirect = '/public/local';
+ } else if (landingPage === 'overview') {
+ rootRedirect = '/overview';
} else {
rootRedirect = '/about';
}
return (
-
+
@@ -270,6 +273,8 @@ class SwitchingColumnsArea extends PureComponent {
+
+
@@ -686,13 +691,18 @@ class UI extends PureComponent {
cheat: this.handleDonate,
};
+ const minimalShell = !this.props.identity.signedIn && landingPage === 'overview';
+
return (
-
+ {!minimalShell && (
+
+ )}
+
{moved && (
-
+ {!minimalShell && }
{layout !== 'mobile' && }
{!disableHoverCards && }