nicolium: use lazyRouteComponent
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
28
packages/nicolium/src/features/ui/router/util.tsx
Normal file
28
packages/nicolium/src/features/ui/router/util.tsx
Normal file
@ -0,0 +1,28 @@
|
||||
import { lazyRouteComponent, Navigate } from '@tanstack/react-router';
|
||||
import React from 'react';
|
||||
|
||||
import { WITH_LANDING_PAGE } from '@/build-config';
|
||||
import { useAppSelector } from '@/hooks/use-app-selector';
|
||||
import { useFrontendConfig } from '@/hooks/use-frontend-config';
|
||||
import { useLoggedIn } from '@/hooks/use-logged-in';
|
||||
import { isStandalone } from '@/utils/state';
|
||||
|
||||
const HomeTimeline = lazyRouteComponent(() => import('@/pages/timelines/home-timeline'));
|
||||
const LandingPage = lazyRouteComponent(() => import('@/pages/utils/landing'));
|
||||
const LandingTimeline = lazyRouteComponent(() => import('@/pages/timelines/landing-timeline'));
|
||||
|
||||
const HomeRoute = () => {
|
||||
const { redirectRootNoLogin } = useFrontendConfig();
|
||||
const standalone = useAppSelector(isStandalone);
|
||||
const { isLoggedIn } = useLoggedIn();
|
||||
|
||||
if (!isLoggedIn && redirectRootNoLogin) return <Navigate to={redirectRootNoLogin} replace />;
|
||||
if (standalone && !isLoggedIn && !WITH_LANDING_PAGE)
|
||||
return <Navigate to='/login/external' replace />;
|
||||
|
||||
if (isLoggedIn) return <HomeTimeline />;
|
||||
if (standalone && WITH_LANDING_PAGE) return <LandingPage />;
|
||||
return <LandingTimeline />;
|
||||
};
|
||||
|
||||
export { HomeRoute as default };
|
||||
@ -1,117 +1,5 @@
|
||||
import { lazy } from 'react';
|
||||
|
||||
// Pages
|
||||
export const AboutPage = lazy(() => import('@/pages/utils/about'));
|
||||
export const AccountGallery = lazy(() => import('@/pages/accounts/account-gallery'));
|
||||
export const AccountTimeline = lazy(() => import('@/pages/accounts/account-timeline'));
|
||||
export const AdminAccount = lazy(() => import('@/pages/dashboard/account'));
|
||||
export const Aliases = lazy(() => import('@/pages/settings/aliases'));
|
||||
export const Announcements = lazy(() => import('@/pages/dashboard/announcements'));
|
||||
export const Antennas = lazy(() => import('@/pages/account-lists/antennas'));
|
||||
export const AntennaTimeline = lazy(() => import('@/pages/timelines/antenna-timeline'));
|
||||
export const AuthTokenList = lazy(() => import('@/pages/settings/auth-token-list'));
|
||||
export const AwaitingApproval = lazy(() => import('@/pages/dashboard/awaiting-approval'));
|
||||
export const Backups = lazy(() => import('@/pages/settings/backups'));
|
||||
export const Blocks = lazy(() => import('@/pages/settings/blocks'));
|
||||
export const BookmarkFolders = lazy(() => import('@/pages/status-lists/bookmark-folders'));
|
||||
export const Bookmarks = lazy(() => import('@/pages/status-lists/bookmarks'));
|
||||
export const BubbleTimeline = lazy(() => import('@/pages/timelines/bubble-timeline'));
|
||||
export const ChatIndex = lazy(() => import('@/pages/chats/chats'));
|
||||
export const Circle = lazy(() => import('@/pages/fun/circle'));
|
||||
export const Circles = lazy(() => import('@/pages/account-lists/circles'));
|
||||
export const CircleTimeline = lazy(() => import('@/pages/timelines/circle-timeline'));
|
||||
export const CommunityTimeline = lazy(() => import('@/pages/timelines/community-timeline'));
|
||||
export const ComposeEvent = lazy(() => import('@/pages/statuses/compose-event'));
|
||||
export const EditEvent = lazy(() =>
|
||||
import('@/pages/statuses/compose-event').then((m) => ({ default: m.EditEventPage })),
|
||||
);
|
||||
export const Conversations = lazy(() => import('@/pages/status-lists/conversations'));
|
||||
export const CreateApp = lazy(() => import('@/pages/developers/create-app'));
|
||||
export const CryptoDonate = lazy(() => import('@/pages/utils/crypto-donate'));
|
||||
export const Dashboard = lazy(() => import('@/pages/dashboard/dashboard'));
|
||||
export const DeleteAccount = lazy(() => import('@/pages/settings/delete-account'));
|
||||
export const Developers = lazy(() => import('@/pages/developers/developers'));
|
||||
export const Directory = lazy(() => import('@/pages/account-lists/directory'));
|
||||
export const DomainBlocks = lazy(() => import('@/pages/settings/domain-blocks'));
|
||||
export const Domains = lazy(() => import('@/pages/dashboard/domains'));
|
||||
export const DraftStatuses = lazy(() => import('@/pages/status-lists/draft-statuses'));
|
||||
export const Drive = lazy(() => import('@/pages/drive/drive'));
|
||||
export const EditEmail = lazy(() => import('@/pages/settings/edit-email'));
|
||||
export const EditFilter = lazy(() => import('@/pages/settings/edit-filter'));
|
||||
export const EditGroup = lazy(() => import('@/pages/groups/edit-group'));
|
||||
export const EditPassword = lazy(() => import('@/pages/settings/edit-password'));
|
||||
export const EditProfile = lazy(() => import('@/pages/settings/edit-profile'));
|
||||
export const EventDiscussion = lazy(() => import('@/pages/statuses/event-discussion'));
|
||||
export const EventInformation = lazy(() => import('@/pages/statuses/event-information'));
|
||||
export const Events = lazy(() => import('@/pages/status-lists/events'));
|
||||
export const ExportData = lazy(() => import('@/pages/settings/export-data'));
|
||||
export const ExternalLogin = lazy(() => import('@/pages/auth/external-login'));
|
||||
export const FavouritedStatuses = lazy(() => import('@/pages/status-lists/favourited-statuses'));
|
||||
export const FederationRestrictions = lazy(() => import('@/pages/utils/federation-restrictions'));
|
||||
export const Filters = lazy(() => import('@/pages/settings/filters'));
|
||||
export const FollowedTags = lazy(() => import('@/pages/settings'));
|
||||
export const Followers = lazy(() => import('@/pages/account-lists/followers'));
|
||||
export const Following = lazy(() => import('@/pages/account-lists/following'));
|
||||
export const FollowRequests = lazy(() => import('@/pages/account-lists/follow-requests'));
|
||||
export const GenericNotFound = lazy(() => import('@/pages/utils/generic-not-found'));
|
||||
export const GroupBlockedMembers = lazy(() => import('@/pages/groups/group-blocked-members'));
|
||||
export const GroupGallery = lazy(() => import('@/pages/groups/group-gallery'));
|
||||
export const GroupMembers = lazy(() => import('@/pages/groups/group-members'));
|
||||
export const GroupMembershipRequests = lazy(
|
||||
() => import('@/pages/groups/group-membership-requests'),
|
||||
);
|
||||
export const GroupTimeline = lazy(() => import('@/pages/timelines/group-timeline'));
|
||||
export const Groups = lazy(() => import('@/pages/groups/groups'));
|
||||
export const HashtagTimeline = lazy(() => import('@/pages/timelines/hashtag-timeline'));
|
||||
export const HomeTimeline = lazy(() => import('@/pages/timelines/home-timeline'));
|
||||
export const ImportData = lazy(() => import('@/pages/settings/import-data'));
|
||||
export const IntentionalError = lazy(() => import('@/pages/utils/intentional-error'));
|
||||
export const InteractionPolicies = lazy(() => import('@/pages/settings/interaction-policies'));
|
||||
export const InteractionRequests = lazy(() => import('@/pages/status-lists/interaction-requests'));
|
||||
export const LandingPage = lazy(() => import('@/pages/utils/landing'));
|
||||
export const LandingTimeline = lazy(() => import('@/pages/timelines/landing-timeline'));
|
||||
export const LinkTimeline = lazy(() => import('@/pages/timelines/link-timeline'));
|
||||
export const Lists = lazy(() => import('@/pages/account-lists/lists'));
|
||||
export const ListTimeline = lazy(() => import('@/pages/timelines/list-timeline'));
|
||||
export const LoginPage = lazy(() => import('@/pages/auth/login'));
|
||||
export const LogoutPage = lazy(() => import('@/pages/auth/logout'));
|
||||
export const ManageGroup = lazy(() => import('@/pages/groups/manage-group'));
|
||||
export const MediaGallery = lazy(() => import('@/components/media/media-gallery'));
|
||||
export const Migration = lazy(() => import('@/pages/settings/migration'));
|
||||
export const ModerationLog = lazy(() => import('@/pages/dashboard/moderation-log'));
|
||||
export const Mutes = lazy(() => import('@/pages/settings/mutes'));
|
||||
export const NewStatus = lazy(() => import('@/pages/utils/new-status'));
|
||||
export const Notifications = lazy(() => import('@/pages/notifications/notifications'));
|
||||
export const OutgoingFollowRequests = lazy(
|
||||
() => import('@/pages/account-lists/outgoing-follow-requests'),
|
||||
);
|
||||
export const PasswordReset = lazy(() => import('@/pages/auth/password-reset'));
|
||||
export const PinnedStatuses = lazy(() => import('@/pages/status-lists/pinned-statuses'));
|
||||
export const FrontendConfig = lazy(() => import('@/pages/dashboard/frontend-config'));
|
||||
export const PublicTimeline = lazy(() => import('@/pages/timelines/public-timeline'));
|
||||
export const Quotes = lazy(() => import('@/pages/status-lists/quotes'));
|
||||
export const Report = lazy(() => import('@/pages/dashboard/report'));
|
||||
export const Reports = lazy(() => import('@/pages/dashboard/reports'));
|
||||
export const RegisterInvite = lazy(() => import('@/pages/auth/register-with-invite'));
|
||||
export const RegistrationPage = lazy(() => import('@/pages/auth/registration'));
|
||||
export const Relays = lazy(() => import('@/pages/dashboard/relays'));
|
||||
export const RemoteTimeline = lazy(() => import('@/pages/timelines/remote-timeline'));
|
||||
export const RssFeedSubscriptions = lazy(() => import('@/pages/settings/rss-feed-subscriptions'));
|
||||
export const Rules = lazy(() => import('@/pages/dashboard/rules'));
|
||||
export const ScheduledStatuses = lazy(() => import('@/pages/status-lists/scheduled-statuses'));
|
||||
export const Search = lazy(() => import('@/pages/search/search'));
|
||||
export const ServiceWorkerInfo = lazy(() => import('@/pages/developers/service-worker-info'));
|
||||
export const ServerInfo = lazy(() => import('@/pages/utils/server-info'));
|
||||
export const Settings = lazy(() => import('@/pages/settings/settings'));
|
||||
export const SettingsStore = lazy(() => import('@/pages/developers/settings-store'));
|
||||
export const Share = lazy(() => import('@/pages/utils/share'));
|
||||
export const Status = lazy(() => import('@/pages/statuses/status'));
|
||||
export const Subscribers = lazy(() => import('@/pages/account-lists/subscribers'));
|
||||
export const ThemeEditor = lazy(() => import('@/pages/dashboard/theme-editor'));
|
||||
export const Privacy = lazy(() => import('@/pages/settings/privacy'));
|
||||
export const UserIndex = lazy(() => import('@/pages/dashboard/user-index'));
|
||||
export const WrenchedTimeline = lazy(() => import('@/pages/timelines/wrenched-timeline'));
|
||||
|
||||
// Panels
|
||||
export const AccountNotePanel = lazy(
|
||||
() => import('@/features/ui/components/panels/account-note-panel'),
|
||||
@ -166,6 +54,7 @@ export const DatePicker = lazy(() => import('@/features/birthdays/date-picker'))
|
||||
export const DropdownNavigation = lazy(() => import('@/components/navigation/dropdown-navigation'));
|
||||
export const EmojiPicker = lazy(() => import('@/features/emoji/components/emoji-picker'));
|
||||
export const EventHeader = lazy(() => import('@/features/event/components/event-header'));
|
||||
export const MediaGallery = lazy(() => import('@/components/media/media-gallery'));
|
||||
export const MfaForm = lazy(() => import('@/features/security/mfa-form'));
|
||||
export const ModalRoot = lazy(() => import('@/features/ui/components/modal-root'));
|
||||
export const ProfileField = lazy(() => import('@/features/ui/components/profile-field'));
|
||||
|
||||
Reference in New Issue
Block a user