diff --git a/apps/web/core/components/ui/loader/index.ts b/apps/web/core/components/ui/loader/index.ts
deleted file mode 100644
index c36666583..000000000
--- a/apps/web/core/components/ui/loader/index.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export * from "./layouts";
-export * from "./settings";
-export * from "./pages-loader";
-export * from "./notification-loader";
-export * from "./cycle-module-board-loader";
-export * from "./cycle-module-list-loader";
-export * from "./view-list-loader";
-export * from "./projects-loader";
-export * from "./utils";
diff --git a/apps/web/core/components/ui/loader/layouts/gantt-layout-loader.tsx b/apps/web/core/components/ui/loader/layouts/gantt-layout-loader.tsx
index c658d1914..8fc6fac88 100644
--- a/apps/web/core/components/ui/loader/layouts/gantt-layout-loader.tsx
+++ b/apps/web/core/components/ui/loader/layouts/gantt-layout-loader.tsx
@@ -3,7 +3,7 @@ import { Row } from "@plane/ui";
import { BLOCK_HEIGHT } from "@/components/gantt-chart/constants";
import { getRandomLength } from "../utils";
-export const GanttLayoutLIstItem = () => (
+export const GanttLayoutListItemLoader = () => (
diff --git a/apps/web/core/components/ui/loader/layouts/index.ts b/apps/web/core/components/ui/loader/layouts/index.ts
deleted file mode 100644
index fb41fff4f..000000000
--- a/apps/web/core/components/ui/loader/layouts/index.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export * from "./list-layout-loader";
-export * from "./kanban-layout-loader";
-export * from "./calendar-layout-loader";
-export * from "./spreadsheet-layout-loader";
-export * from "./gantt-layout-loader";
-export * from "./project-inbox";
diff --git a/apps/web/core/components/ui/loader/layouts/project-inbox/index.ts b/apps/web/core/components/ui/loader/layouts/project-inbox/index.ts
deleted file mode 100644
index 4f9c40be7..000000000
--- a/apps/web/core/components/ui/loader/layouts/project-inbox/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from "./inbox-layout-loader";
-export * from "./inbox-sidebar-loader";
diff --git a/apps/web/core/components/ui/loader/settings/index.ts b/apps/web/core/components/ui/loader/settings/index.ts
deleted file mode 100644
index 8b73cd98d..000000000
--- a/apps/web/core/components/ui/loader/settings/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export * from "./activity";
-export * from "./api-token";
-export * from "./email";
-export * from "./integration";
-export * from "./members";
-export * from "./web-hook";
-export * from "./import-and-export";
diff --git a/apps/web/core/components/views/applied-filters/root.tsx b/apps/web/core/components/views/applied-filters/root.tsx
index 18e7c04fd..ec55cc979 100644
--- a/apps/web/core/components/views/applied-filters/root.tsx
+++ b/apps/web/core/components/views/applied-filters/root.tsx
@@ -1,14 +1,14 @@
import { X } from "lucide-react";
+// plane imports
import { useTranslation } from "@plane/i18n";
import { EViewAccess, TViewFilterProps } from "@plane/types";
-// components
import { Tag } from "@plane/ui";
import { replaceUnderscoreIfSnakeCase } from "@plane/utils";
-import { AppliedDateFilters, AppliedMembersFilters } from "@/components/common/applied-filters";
-// constants
-// helpers
+// components
+import { AppliedDateFilters } from "@/components/common/applied-filters/date";
+import { AppliedMembersFilters } from "@/components/common/applied-filters/members";
+// local imports
import { AppliedAccessFilters } from "./access";
-// types
type Props = {
appliedFilters: TViewFilterProps;
diff --git a/apps/web/core/components/views/delete-view-modal.tsx b/apps/web/core/components/views/delete-view-modal.tsx
index d4109eea6..35dce46e3 100644
--- a/apps/web/core/components/views/delete-view-modal.tsx
+++ b/apps/web/core/components/views/delete-view-modal.tsx
@@ -11,7 +11,7 @@ import { AlertModalCore, TOAST_TYPE, setToast } from "@plane/ui";
// helpers
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
// hooks
-import { useProjectView } from "@/hooks/store";
+import { useProjectView } from "@/hooks/store/use-project-view";
type Props = {
data: IProjectView;
diff --git a/apps/web/core/components/views/filters/filter-selection.tsx b/apps/web/core/components/views/filters/filter-selection.tsx
index 9dd7d0a4d..dbb370dd6 100644
--- a/apps/web/core/components/views/filters/filter-selection.tsx
+++ b/apps/web/core/components/views/filters/filter-selection.tsx
@@ -3,8 +3,9 @@ import { observer } from "mobx-react";
import { Search, X } from "lucide-react";
import { EViewAccess, TViewFilterProps, TViewFilters } from "@plane/types";
// components
-import { FilterCreatedBy, FilterCreatedDate } from "@/components/common/filters";
-import { FilterOption } from "@/components/issues";
+import { FilterCreatedDate } from "@/components/common/filters/created-at";
+import { FilterCreatedBy } from "@/components/common/filters/created-by";
+import { FilterOption } from "@/components/issues/issue-layouts/filters";
// constants
// hooks
import { usePlatformOS } from "@/hooks/use-platform-os";
diff --git a/apps/web/core/components/views/form.tsx b/apps/web/core/components/views/form.tsx
index 5bfa8bb2d..79ba7646a 100644
--- a/apps/web/core/components/views/form.tsx
+++ b/apps/web/core/components/views/form.tsx
@@ -26,11 +26,19 @@ import {
getTabIndex,
} from "@plane/utils";
// components
-import { Logo } from "@/components/common";
-import { AppliedFiltersList, DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
+import { Logo } from "@/components/common/logo";
+import {
+ AppliedFiltersList,
+ DisplayFiltersSelection,
+ FilterSelection,
+ FiltersDropdown,
+} from "@/components/issues/issue-layouts/filters";
// helpers
// hooks
-import { useLabel, useMember, useProject, useProjectState } from "@/hooks/store";
+import { useLabel } from "@/hooks/store/use-label"
+import { useMember } from "@/hooks/store/use-member"
+import { useProject } from "@/hooks/store/use-project"
+import { useProjectState } from "@/hooks/store/use-project-state";
import { usePlatformOS } from "@/hooks/use-platform-os";
import { AccessController } from "@/plane-web/components/views/access-controller";
@@ -171,7 +179,7 @@ export const ProjectViewForm: React.FC
= observer((props) => {
>
}
- onChange={(val: any) => {
+ onChange={(val) => {
let logoValue = {};
if (val?.type === "emoji")
diff --git a/apps/web/core/components/views/index.ts b/apps/web/core/components/views/index.ts
deleted file mode 100644
index 085a1c6b7..000000000
--- a/apps/web/core/components/views/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export * from "./delete-view-modal";
-export * from "./form";
-export * from "./modal";
-export * from "./quick-actions";
-export * from "./view-list-item";
-export * from "./views-list";
-export * from "./view-list-item-action";
-export * from "./view-list-header";
diff --git a/apps/web/core/components/views/modal.tsx b/apps/web/core/components/views/modal.tsx
index 01d3e0bc6..81df6abe0 100644
--- a/apps/web/core/components/views/modal.tsx
+++ b/apps/web/core/components/views/modal.tsx
@@ -7,13 +7,13 @@ import { PROJECT_VIEW_TRACKER_EVENTS } from "@plane/constants";
import { IProjectView } from "@plane/types";
// ui
import { EModalPosition, EModalWidth, ModalCore, TOAST_TYPE, setToast } from "@plane/ui";
-// components
-import { ProjectViewForm } from "@/components/views";
// hooks
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
-import { useProjectView } from "@/hooks/store";
+import { useProjectView } from "@/hooks/store/use-project-view";
import { useAppRouter } from "@/hooks/use-app-router";
import useKeypress from "@/hooks/use-keypress";
+// local imports
+import { ProjectViewForm } from "./form";
type Props = {
data?: IProjectView | null;
diff --git a/apps/web/core/components/views/quick-actions.tsx b/apps/web/core/components/views/quick-actions.tsx
index 8fb8cc53e..d46191a4f 100644
--- a/apps/web/core/components/views/quick-actions.tsx
+++ b/apps/web/core/components/views/quick-actions.tsx
@@ -9,13 +9,14 @@ import { IProjectView } from "@plane/types";
// ui
import { ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
import { copyUrlToClipboard, cn } from "@plane/utils";
-// components
-import { CreateUpdateProjectViewModal, DeleteProjectViewModal } from "@/components/views";
// helpers
import { captureClick } from "@/helpers/event-tracker.helper";
// hooks
-import { useUser, useUserPermissions } from "@/hooks/store";
+import { useUser, useUserPermissions } from "@/hooks/store/user";
import { PublishViewModal, useViewPublish } from "@/plane-web/components/views/publish";
+// local imports
+import { DeleteProjectViewModal } from "./delete-view-modal";
+import { CreateUpdateProjectViewModal } from "./modal";
type Props = {
parentRef: React.RefObject;
diff --git a/apps/web/core/components/views/view-list-header.tsx b/apps/web/core/components/views/view-list-header.tsx
index e28aa37d8..9abb45ba3 100644
--- a/apps/web/core/components/views/view-list-header.tsx
+++ b/apps/web/core/components/views/view-list-header.tsx
@@ -7,8 +7,9 @@ import { useOutsideClickDetector } from "@plane/hooks";
// helpers
import { cn } from "@plane/utils";
// hooks
-import { useMember, useProjectView } from "@/hooks/store";
-import { FiltersDropdown } from "../issues";
+import { useMember } from "@/hooks/store/use-member"
+import { useProjectView } from "@/hooks/store/use-project-view";
+import { FiltersDropdown } from "../issues/issue-layouts/filters";
import { ViewFiltersSelection } from "./filters/filter-selection";
import { ViewOrderByDropdown } from "./filters/order-by";
diff --git a/apps/web/core/components/views/view-list-item-action.tsx b/apps/web/core/components/views/view-list-item-action.tsx
index 8a0ec89c3..d3860c961 100644
--- a/apps/web/core/components/views/view-list-item-action.tsx
+++ b/apps/web/core/components/views/view-list-item-action.tsx
@@ -2,20 +2,23 @@ import React, { FC, useState } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
import { Earth, Lock } from "lucide-react";
-// types
+// plane imports
import { EUserPermissions, EUserPermissionsLevel, IS_FAVORITE_MENU_OPEN } from "@plane/constants";
import { useLocalStorage } from "@plane/hooks";
import { EViewAccess, IProjectView } from "@plane/types";
-// ui
import { Tooltip, FavoriteStar } from "@plane/ui";
import { calculateTotalFilters, getPublishViewLink } from "@plane/utils";
-// components
-import { DeleteProjectViewModal, CreateUpdateProjectViewModal, ViewQuickActions } from "@/components/views";
-// helpers
// hooks
-import { useMember, useProjectView, useUserPermissions } from "@/hooks/store";
+import { useMember } from "@/hooks/store/use-member"
+import { useProjectView } from "@/hooks/store/use-project-view"
+import { useUserPermissions } from "@/hooks/store/user";
+// plane web imports
import { PublishViewModal } from "@/plane-web/components/views/publish";
+// local imports
import { ButtonAvatars } from "../dropdowns/member/avatar";
+import { DeleteProjectViewModal } from "./delete-view-modal";
+import { CreateUpdateProjectViewModal } from "./modal";
+import { ViewQuickActions } from "./quick-actions";
type Props = {
parentRef: React.RefObject;
diff --git a/apps/web/core/components/views/view-list-item.tsx b/apps/web/core/components/views/view-list-item.tsx
index 1ba93fc10..cda916c16 100644
--- a/apps/web/core/components/views/view-list-item.tsx
+++ b/apps/web/core/components/views/view-list-item.tsx
@@ -7,11 +7,13 @@ import { Layers } from "lucide-react";
// types
import { IProjectView } from "@plane/types";
// components
-import { Logo } from "@/components/common";
+import { Logo } from "@/components/common/logo";
import { ListItem } from "@/components/core/list";
-import { ViewListItemAction, ViewQuickActions } from "@/components/views";
// hooks
import { usePlatformOS } from "@/hooks/use-platform-os";
+// local imports
+import { ViewQuickActions } from "./quick-actions";
+import { ViewListItemAction } from "./view-list-item-action";
type Props = {
view: IProjectView;
diff --git a/apps/web/core/components/views/views-list.tsx b/apps/web/core/components/views/views-list.tsx
index 372f61ace..f74de0e83 100644
--- a/apps/web/core/components/views/views-list.tsx
+++ b/apps/web/core/components/views/views-list.tsx
@@ -6,13 +6,18 @@ import { useTranslation } from "@plane/i18n";
import { EUserProjectRoles } from "@plane/types";
// components
import { ListLayout } from "@/components/core/list";
-import { ComicBoxButton, DetailedEmptyState, SimpleEmptyState } from "@/components/empty-state";
-import { ViewListLoader } from "@/components/ui";
-import { ProjectViewListItem } from "@/components/views";
+import { ComicBoxButton } from "@/components/empty-state/comic-box-button";
+import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root";
+import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root";
+import { ViewListLoader } from "@/components/ui/loader/view-list-loader";
// hooks
import { captureClick } from "@/helpers/event-tracker.helper";
-import { useCommandPalette, useProjectView, useUserPermissions } from "@/hooks/store";
+import { useCommandPalette } from "@/hooks/store/use-command-palette"
+import { useProjectView } from "@/hooks/store/use-project-view"
+import { useUserPermissions } from "@/hooks/store/user";
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
+// local imports
+import { ProjectViewListItem } from "./view-list-item";
export const ProjectViewsList = observer(() => {
const { projectId } = useParams();
diff --git a/apps/web/core/components/web-hooks/delete-webhook-modal.tsx b/apps/web/core/components/web-hooks/delete-webhook-modal.tsx
index 6e32d9f66..a54a25165 100644
--- a/apps/web/core/components/web-hooks/delete-webhook-modal.tsx
+++ b/apps/web/core/components/web-hooks/delete-webhook-modal.tsx
@@ -7,7 +7,7 @@ import { WORKSPACE_SETTINGS_TRACKER_EVENTS } from "@plane/constants";
import { AlertModalCore, TOAST_TYPE, setToast } from "@plane/ui";
// hooks
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
-import { useWebhook } from "@/hooks/store";
+import { useWebhook } from "@/hooks/store/use-webhook";
import { useAppRouter } from "@/hooks/use-app-router";
interface IDeleteWebhook {
diff --git a/apps/web/core/components/web-hooks/form/form.tsx b/apps/web/core/components/web-hooks/form/form.tsx
index 804b708e8..ad2265cbf 100644
--- a/apps/web/core/components/web-hooks/form/form.tsx
+++ b/apps/web/core/components/web-hooks/form/form.tsx
@@ -15,7 +15,7 @@ import {
WebhookSecretKey,
WebhookToggle,
} from "@/components/web-hooks";
-import { useWebhook } from "@/hooks/store";
+import { useWebhook } from "@/hooks/store/use-webhook";
// components
// ui
// types
diff --git a/apps/web/core/components/web-hooks/form/secret-key.tsx b/apps/web/core/components/web-hooks/form/secret-key.tsx
index e61975078..2a32c44fb 100644
--- a/apps/web/core/components/web-hooks/form/secret-key.tsx
+++ b/apps/web/core/components/web-hooks/form/secret-key.tsx
@@ -13,7 +13,8 @@ import { Button, Tooltip, TOAST_TYPE, setToast } from "@plane/ui";
import { csvDownload, copyTextToClipboard } from "@plane/utils";
// helpers
// hooks
-import { useWebhook, useWorkspace } from "@/hooks/store";
+import { useWebhook } from "@/hooks/store/use-webhook"
+import { useWorkspace } from "@/hooks/store/use-workspace";
// types
import { usePlatformOS } from "@/hooks/use-platform-os";
// utils
diff --git a/apps/web/core/components/web-hooks/webhooks-list-item.tsx b/apps/web/core/components/web-hooks/webhooks-list-item.tsx
index 5419207d8..7cdf4c00a 100644
--- a/apps/web/core/components/web-hooks/webhooks-list-item.tsx
+++ b/apps/web/core/components/web-hooks/webhooks-list-item.tsx
@@ -8,7 +8,7 @@ import { IWebhook } from "@plane/types";
// hooks
import { ToggleSwitch } from "@plane/ui";
import { captureElementAndEvent } from "@/helpers/event-tracker.helper";
-import { useWebhook } from "@/hooks/store";
+import { useWebhook } from "@/hooks/store/use-webhook";
// ui
// types
diff --git a/apps/web/core/components/web-hooks/webhooks-list.tsx b/apps/web/core/components/web-hooks/webhooks-list.tsx
index 1b99f4b39..3aab35357 100644
--- a/apps/web/core/components/web-hooks/webhooks-list.tsx
+++ b/apps/web/core/components/web-hooks/webhooks-list.tsx
@@ -1,6 +1,6 @@
import { observer } from "mobx-react";
// hooks
-import { useWebhook } from "@/hooks/store";
+import { useWebhook } from "@/hooks/store/use-webhook";
// components
import { WebhooksListItem } from "./webhooks-list-item";
diff --git a/apps/web/core/components/workspace-notifications/index.ts b/apps/web/core/components/workspace-notifications/index.ts
index 8bc361a7c..1efe34c51 100644
--- a/apps/web/core/components/workspace-notifications/index.ts
+++ b/apps/web/core/components/workspace-notifications/index.ts
@@ -1,3 +1 @@
-export * from "./notification-app-sidebar-option";
-export * from "./sidebar";
export * from "./root";
diff --git a/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx b/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx
index 3a2e9071c..d1397250e 100644
--- a/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx
+++ b/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx
@@ -8,7 +8,7 @@ import { getNumberCount } from "@plane/utils";
// components
import { CountChip } from "@/components/common/count-chip";
// hooks
-import { useWorkspaceNotifications } from "@/hooks/store";
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
type TNotificationAppSidebarOption = {
workspaceSlug: string;
diff --git a/apps/web/core/components/workspace-notifications/root.tsx b/apps/web/core/components/workspace-notifications/root.tsx
index f11db704a..ed96c2da9 100644
--- a/apps/web/core/components/workspace-notifications/root.tsx
+++ b/apps/web/core/components/workspace-notifications/root.tsx
@@ -8,14 +8,18 @@ import { ENotificationLoader, ENotificationQueryParamType } from "@plane/constan
import { useTranslation } from "@plane/i18n";
import { cn } from "@plane/utils";
// components
-import { LogoSpinner } from "@/components/common";
-import { SimpleEmptyState } from "@/components/empty-state";
-import { InboxContentRoot } from "@/components/inbox";
+import { LogoSpinner } from "@/components/common/logo-spinner";
+import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root";
// hooks
-import { useUserPermissions, useWorkspace, useWorkspaceNotifications } from "@/hooks/store";
+import { useUserPermissions } from "@/hooks/store/user"
+import { useWorkspace } from "@/hooks/store/use-workspace"
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties";
+// plane web imports
import { useNotificationPreview } from "@/plane-web/hooks/use-notification-preview";
+// local imports
+import { InboxContentRoot } from "../inbox/content";
type NotificationsRootProps = {
workspaceSlug?: string;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx b/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx
index b36bc58a5..d71660892 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx
@@ -6,7 +6,7 @@ import { observer } from "mobx-react";
import { ENotificationTab } from "@plane/constants";
// components
import { useTranslation } from "@plane/i18n";
-import { SimpleEmptyState } from "@/components/empty-state";
+import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root";
// constants
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx b/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx
index f551a25f4..ff2d36634 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx
@@ -8,7 +8,7 @@ import { ENotificationFilterType, FILTER_TYPE_OPTIONS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { Header, EHeaderVariant, Tag } from "@plane/ui";
// hooks
-import { useWorkspaceNotifications } from "@/hooks/store";
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
type TAppliedFilters = {
workspaceSlug: string;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/index.ts b/apps/web/core/components/workspace-notifications/sidebar/filters/index.ts
deleted file mode 100644
index b4d269c8a..000000000
--- a/apps/web/core/components/workspace-notifications/sidebar/filters/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from "./menu";
-export * from "./applied-filter";
diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/index.ts b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/index.ts
index 5d76f4263..1efe34c51 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/index.ts
+++ b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/index.ts
@@ -1,2 +1 @@
export * from "./root";
-export * from "./menu-option-item";
diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/menu-option-item.tsx b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/menu-option-item.tsx
index 206f4b046..a8ed60f30 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/menu-option-item.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/menu-option-item.tsx
@@ -8,7 +8,7 @@ import { ENotificationFilterType } from "@plane/constants";
// helpers
import { cn } from "@plane/utils";
// hooks
-import { useWorkspaceNotifications } from "@/hooks/store";
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
export const NotificationFilterOptionItem: FC<{ label: string; value: ENotificationFilterType }> = observer((props) => {
const { value, label } = props;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx
index e52e989a0..405eac7d9 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx
@@ -7,11 +7,10 @@ import { ListFilter } from "lucide-react";
import { ENotificationFilterType, FILTER_TYPE_OPTIONS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { PopoverMenu, Tooltip } from "@plane/ui";
-// components
-import { NotificationFilterOptionItem } from "@/components/workspace-notifications";
-// constants
// hooks
import { usePlatformOS } from "@/hooks/use-platform-os";
+// local imports
+import { NotificationFilterOptionItem } from "./menu-option-item";
export const NotificationFilter: FC = observer(() => {
// hooks
diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/index.ts b/apps/web/core/components/workspace-notifications/sidebar/header/index.ts
index eb738f5f3..1efe34c51 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/header/index.ts
+++ b/apps/web/core/components/workspace-notifications/sidebar/header/index.ts
@@ -1,2 +1 @@
export * from "./root";
-export * from "./options";
diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/index.ts b/apps/web/core/components/workspace-notifications/sidebar/header/options/index.ts
index e4d478279..1efe34c51 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/header/options/index.ts
+++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/index.ts
@@ -1,2 +1 @@
export * from "./root";
-export * from "./menu-option";
diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/index.ts b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/index.ts
index 808d90c76..1efe34c51 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/index.ts
+++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/index.ts
@@ -1,2 +1 @@
export * from "./root";
-export * from "./menu-item";
diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/menu-item.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/menu-item.tsx
index 2c1a59ce0..38a33ee52 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/menu-item.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/menu-item.tsx
@@ -4,8 +4,8 @@ import { FC } from "react";
import { observer } from "mobx-react";
// components
import { cn } from "@plane/utils";
-import type { TPopoverMenuOptions } from "@/components/workspace-notifications";
-// helpers
+// local imports
+import type { TPopoverMenuOptions } from "./root";
export const NotificationMenuOptionItem: FC = observer((props) => {
const { type, label = "", isActive, prependIcon, appendIcon, onClick } = props;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx
index 21905a54d..d7a298145 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx
@@ -1,16 +1,16 @@
"use client";
-import { FC, ReactNode } from "react";
+import { ReactNode } from "react";
import { observer } from "mobx-react";
import { Check, CheckCircle, Clock } from "lucide-react";
+// plane imports
import { useTranslation } from "@plane/i18n";
import { TNotificationFilter } from "@plane/types";
import { ArchiveIcon, PopoverMenu } from "@plane/ui";
-// components
-import { NotificationMenuOptionItem } from "@/components/workspace-notifications";
-// constants
// hooks
-import { useWorkspaceNotifications } from "@/hooks/store";
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
+// local imports
+import { NotificationMenuOptionItem } from "./menu-item";
export type TPopoverMenuOptions = {
key: string;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx
index f15520ec3..397252fe5 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx
@@ -10,13 +10,14 @@ import {
} from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { Spinner, Tooltip } from "@plane/ui";
-// components
-import { NotificationFilter, NotificationHeaderMenuOption } from "@/components/workspace-notifications";
-// constants
-// hooks
+// helpers
import { captureSuccess } from "@/helpers/event-tracker.helper";
-import { useWorkspaceNotifications } from "@/hooks/store";
+// hooks
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
import { usePlatformOS } from "@/hooks/use-platform-os";
+// local imports
+import { NotificationFilter } from "../../filters/menu";
+import { NotificationHeaderMenuOption } from "./menu-option";
type TNotificationSidebarHeaderOptions = {
workspaceSlug: string;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx
index bd935b665..fd3e8d28c 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx
@@ -3,14 +3,16 @@
import { FC } from "react";
import { observer } from "mobx-react";
import { Inbox } from "lucide-react";
+// plane imports
import { useTranslation } from "@plane/i18n";
import { Breadcrumbs, Header } from "@plane/ui";
// components
-import { BreadcrumbLink } from "@/components/common";
-import { SidebarHamburgerToggle } from "@/components/core";
-import { NotificationSidebarHeaderOptions } from "@/components/workspace-notifications";
+import { BreadcrumbLink } from "@/components/common/breadcrumb-link";
+import { SidebarHamburgerToggle } from "@/components/core/sidebar/sidebar-menu-hamburger-toggle";
// hooks
-import { useAppTheme } from "@/hooks/store";
+import { useAppTheme } from "@/hooks/store/use-app-theme";
+// local imports
+import { NotificationSidebarHeaderOptions } from "./options";
type TNotificationSidebarHeader = {
workspaceSlug: string;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/index.ts b/apps/web/core/components/workspace-notifications/sidebar/index.ts
index 4713a9b3c..1efe34c51 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/index.ts
+++ b/apps/web/core/components/workspace-notifications/sidebar/index.ts
@@ -1,10 +1 @@
-export * from "./loader";
-export * from "./empty-state";
-
-export * from "./header";
-
-export * from "./filters";
-
-export * from "./notification-card";
-
export * from "./root";
diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx
index d72ec28a0..141e9ad5b 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx
@@ -1,5 +1,6 @@
import { FC } from "react";
-import { TNotification } from "@plane/types";
+// plane imports
+import type { TNotification } from "@plane/types";
import {
convertMinutesToHoursMinutesString,
renderFormattedDate,
diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/index.ts b/apps/web/core/components/workspace-notifications/sidebar/notification-card/index.ts
deleted file mode 100644
index d46440347..000000000
--- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export * from "./item";
-export * from "./options";
-export * from "./content";
diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/item.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/item.tsx
index ab1c43a43..6c9b3d498 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/item.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/item.tsx
@@ -3,14 +3,17 @@
import { FC, useState } from "react";
import { observer } from "mobx-react";
import { Clock } from "lucide-react";
+// plane imports
import { Avatar, Row } from "@plane/ui";
import { cn, calculateTimeAgo, renderFormattedDate, renderFormattedTime, getFileURL } from "@plane/utils";
-// components
-import { NotificationOption } from "@/components/workspace-notifications";
-// helpers
// hooks
-import { useIssueDetail, useNotification, useWorkspace, useWorkspaceNotifications } from "@/hooks/store";
+import { useIssueDetail } from "@/hooks/store/use-issue-detail";
+import { useNotification } from "@/hooks/store/notifications/use-notification";
+import { useWorkspace } from "@/hooks/store/use-workspace";
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
+// local imports
import { NotificationContent } from "./content";
+import { NotificationOption } from "./options";
type TNotificationItem = {
workspaceSlug: string;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx
index 9a03bd711..0c6a8ab21 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx
@@ -3,17 +3,18 @@
import { FC } from "react";
import { observer } from "mobx-react";
import { ArchiveRestore } from "lucide-react";
+// plane imports
import { NOTIFICATION_TRACKER_ELEMENTS, NOTIFICATION_TRACKER_EVENTS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { ArchiveIcon, TOAST_TYPE, setToast } from "@plane/ui";
-// components
-import { NotificationItemOptionButton } from "@/components/workspace-notifications";
-// constants
-// hooks
+// helpers
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
-import { useWorkspaceNotifications } from "@/hooks/store";
+// hooks
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
// store
import { INotification } from "@/store/notifications/notification";
+// local imports
+import { NotificationItemOptionButton } from "./button";
type TNotificationItemArchiveOption = {
workspaceSlug: string;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/read.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/read.tsx
index 073d7eef5..34f4e4f1f 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/read.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/read.tsx
@@ -3,17 +3,18 @@
import { FC } from "react";
import { observer } from "mobx-react";
import { MessageSquare } from "lucide-react";
+// plane imports
import { NOTIFICATION_TRACKER_ELEMENTS, NOTIFICATION_TRACKER_EVENTS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { TOAST_TYPE, setToast } from "@plane/ui";
-// components
-import { NotificationItemOptionButton } from "@/components/workspace-notifications";
-// constants
-// hooks
+// helpers
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
-import { useWorkspaceNotifications } from "@/hooks/store";
+// hooks
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
// store
import { INotification } from "@/store/notifications/notification";
+// local imports
+import { NotificationItemOptionButton } from "./button";
type TNotificationItemReadOption = {
workspaceSlug: string;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/root.tsx
index 7d0284ae5..c20664d54 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/root.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/root.tsx
@@ -2,16 +2,14 @@
import { FC, Dispatch, SetStateAction } from "react";
import { observer } from "mobx-react";
-// components
+// plane imports
import { cn } from "@plane/utils";
-import {
- NotificationItemReadOption,
- NotificationItemArchiveOption,
- NotificationItemSnoozeOption,
-} from "@/components/workspace-notifications";
-// helpers
// hooks
-import { useNotification } from "@/hooks/store";
+import { useNotification } from "@/hooks/store/notifications/use-notification";
+// local imports
+import { NotificationItemArchiveOption } from "./archive";
+import { NotificationItemReadOption } from "./read";
+import { NotificationItemSnoozeOption } from "./snooze";
type TNotificationOption = {
workspaceSlug: string;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx
index cc3b274f0..389643157 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx
@@ -10,7 +10,7 @@ import { allTimeIn30MinutesInterval12HoursFormat } from "@plane/constants";
import { Button, CustomSelect } from "@plane/ui";
// components
import { getDate } from "@plane/utils";
-import { DateDropdown } from "@/components/dropdowns";
+import { DateDropdown } from "@/components/dropdowns/date";
// helpers
type TNotificationSnoozeModal = {
diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/root.tsx
index b96783b09..32eced44d 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/root.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/root.tsx
@@ -8,15 +8,14 @@ import { Popover, Transition } from "@headlessui/react";
import { NOTIFICATION_SNOOZE_OPTIONS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { Tooltip, setToast, TOAST_TYPE } from "@plane/ui";
-// components
import { cn } from "@plane/utils";
-import { NotificationSnoozeModal } from "@/components/workspace-notifications";
-// helpers
// hooks
-import { useWorkspaceNotifications } from "@/hooks/store";
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
import { usePlatformOS } from "@/hooks/use-platform-os";
// store
import { INotification } from "@/store/notifications/notification";
+// local imports
+import { NotificationSnoozeModal } from "./modal";
type TNotificationItemSnoozeOption = {
workspaceSlug: string;
diff --git a/apps/web/core/components/workspace-notifications/sidebar/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/root.tsx
index 0439d5cda..a0f780c87 100644
--- a/apps/web/core/components/workspace-notifications/sidebar/root.tsx
+++ b/apps/web/core/components/workspace-notifications/sidebar/root.tsx
@@ -6,20 +6,20 @@ import { useParams } from "next/navigation";
// plane imports
import { NOTIFICATION_TABS, TNotificationTab } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
-// components
import { Header, Row, ERowVariant, EHeaderVariant, ContentWrapper } from "@plane/ui";
import { cn, getNumberCount } from "@plane/utils";
-import { CountChip } from "@/components/common";
-import {
- NotificationsLoader,
- NotificationEmptyState,
- NotificationSidebarHeader,
- AppliedFilters,
-} from "@/components/workspace-notifications";
+// components
+import { CountChip } from "@/components/common/count-chip";
// hooks
-import { useWorkspace, useWorkspaceNotifications } from "@/hooks/store";
+import { useWorkspace } from "@/hooks/store/use-workspace"
+import { useWorkspaceNotifications } from "@/hooks/store/notifications";
import { NotificationListRoot } from "@/plane-web/components/workspace-notifications/list-root";
+// local imports
+import { NotificationEmptyState } from "./empty-state";
+import { AppliedFilters } from "./filters/applied-filter";
+import { NotificationSidebarHeader } from "./header";
+import { NotificationsLoader } from "./loader";
export const NotificationsSidebarRoot: FC = observer(() => {
const { workspaceSlug } = useParams();
diff --git a/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx b/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx
index b425ab292..6006bf54c 100644
--- a/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx
+++ b/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx
@@ -5,7 +5,7 @@ import { observer } from "mobx-react";
import { AlertTriangle } from "lucide-react";
import { Dialog, Transition } from "@headlessui/react";
import { Button } from "@plane/ui";
-import { useUser } from "@/hooks/store";
+import { useUser } from "@/hooks/store/user";
import { Props } from "./confirm-workspace-member-remove";
export const ConfirmWorkspaceMemberRemove: React.FC = observer((props) => {
diff --git a/apps/web/core/components/workspace/billing/comparison/index.ts b/apps/web/core/components/workspace/billing/comparison/index.ts
index 43f98b7e8..955fdd143 100644
--- a/apps/web/core/components/workspace/billing/comparison/index.ts
+++ b/apps/web/core/components/workspace/billing/comparison/index.ts
@@ -1,2 +1 @@
export * from "./base";
-export * from "./feature-detail";
diff --git a/apps/web/core/components/workspace/billing/index.ts b/apps/web/core/components/workspace/billing/index.ts
deleted file mode 100644
index a71831671..000000000
--- a/apps/web/core/components/workspace/billing/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./comparison";
diff --git a/apps/web/core/components/workspace/confirm-workspace-member-remove.tsx b/apps/web/core/components/workspace/confirm-workspace-member-remove.tsx
index 07bd56a12..201a02921 100644
--- a/apps/web/core/components/workspace/confirm-workspace-member-remove.tsx
+++ b/apps/web/core/components/workspace/confirm-workspace-member-remove.tsx
@@ -8,7 +8,7 @@ import { Dialog, Transition } from "@headlessui/react";
import { useTranslation } from "@plane/i18n";
import { Button } from "@plane/ui";
// hooks
-import { useUser } from "@/hooks/store";
+import { useUser } from "@/hooks/store/user";
export type Props = {
isOpen: boolean;
diff --git a/apps/web/core/components/workspace/create-workspace-form.tsx b/apps/web/core/components/workspace/create-workspace-form.tsx
index f760cd1d9..b1e2fac5c 100644
--- a/apps/web/core/components/workspace/create-workspace-form.tsx
+++ b/apps/web/core/components/workspace/create-workspace-form.tsx
@@ -17,7 +17,7 @@ import { IWorkspace } from "@plane/types";
import { Button, CustomSelect, Input, TOAST_TYPE, setToast } from "@plane/ui";
// hooks
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
-import { useWorkspace } from "@/hooks/store";
+import { useWorkspace } from "@/hooks/store/use-workspace";
import { useAppRouter } from "@/hooks/use-app-router";
// services
import { WorkspaceService } from "@/plane-web/services";
diff --git a/apps/web/core/components/workspace/delete-workspace-form.tsx b/apps/web/core/components/workspace/delete-workspace-form.tsx
index 14cffe545..dc373aa19 100644
--- a/apps/web/core/components/workspace/delete-workspace-form.tsx
+++ b/apps/web/core/components/workspace/delete-workspace-form.tsx
@@ -14,7 +14,8 @@ import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
// hooks
import { cn } from "@plane/utils";
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
-import { useUserSettings, useWorkspace } from "@/hooks/store";
+import { useUserSettings } from "@/hooks/store/user"
+import { useWorkspace } from "@/hooks/store/use-workspace";
import { useAppRouter } from "@/hooks/use-app-router";
type Props = {
diff --git a/apps/web/core/components/workspace/index.ts b/apps/web/core/components/workspace/index.ts
deleted file mode 100644
index 81758c485..000000000
--- a/apps/web/core/components/workspace/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export * from "./settings";
-export * from "./sidebar";
-export * from "./views";
-export * from "./confirm-workspace-member-remove";
-export * from "./create-workspace-form";
-export * from "./logo";
-export * from "./invite-modal";
-export * from "./billing";
diff --git a/apps/web/core/components/workspace/invite-modal/fields.tsx b/apps/web/core/components/workspace/invite-modal/fields.tsx
index d46a24995..e74e8104c 100644
--- a/apps/web/core/components/workspace/invite-modal/fields.tsx
+++ b/apps/web/core/components/workspace/invite-modal/fields.tsx
@@ -9,7 +9,7 @@ import { useTranslation } from "@plane/i18n";
import { CustomSelect, Input } from "@plane/ui";
import { cn } from "@plane/utils";
// hooks
-import { useUserPermissions } from "@/hooks/store";
+import { useUserPermissions } from "@/hooks/store/user";
import { InvitationFormValues } from "@/hooks/use-workspace-invitation";
type TInvitationFieldsProps = {
diff --git a/apps/web/core/components/workspace/invite-modal/index.ts b/apps/web/core/components/workspace/invite-modal/index.ts
deleted file mode 100644
index 235edf980..000000000
--- a/apps/web/core/components/workspace/invite-modal/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export * from "./actions";
-export * from "./fields";
-export * from "./form";
diff --git a/apps/web/core/components/workspace/settings/index.ts b/apps/web/core/components/workspace/settings/index.ts
deleted file mode 100644
index d9b3b64b9..000000000
--- a/apps/web/core/components/workspace/settings/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export * from "./invitations-list-item";
-export * from "./members-list-item";
-export * from "./members-list";
-export * from "./workspace-details";
diff --git a/apps/web/core/components/workspace/settings/invitations-list-item.tsx b/apps/web/core/components/workspace/settings/invitations-list-item.tsx
index 1fa1fce2f..6007804a6 100644
--- a/apps/web/core/components/workspace/settings/invitations-list-item.tsx
+++ b/apps/web/core/components/workspace/settings/invitations-list-item.tsx
@@ -10,10 +10,11 @@ import { useTranslation } from "@plane/i18n";
import { CustomSelect, TOAST_TYPE, setToast, TContextMenuItem, CustomMenu } from "@plane/ui";
import { cn, copyTextToClipboard } from "@plane/utils";
// components
-import { ConfirmWorkspaceMemberRemove } from "@/components/workspace";
+import { ConfirmWorkspaceMemberRemove } from "@/components/workspace/confirm-workspace-member-remove";
// hooks
import { captureClick } from "@/helpers/event-tracker.helper";
-import { useMember, useUserPermissions } from "@/hooks/store";
+import { useMember } from "@/hooks/store/use-member"
+import { useUserPermissions } from "@/hooks/store/user";
type Props = {
invitationId: string;
diff --git a/apps/web/core/components/workspace/settings/member-columns.tsx b/apps/web/core/components/workspace/settings/member-columns.tsx
index edff3f15a..ff04eee1d 100644
--- a/apps/web/core/components/workspace/settings/member-columns.tsx
+++ b/apps/web/core/components/workspace/settings/member-columns.tsx
@@ -12,7 +12,8 @@ import { CustomSelect, PopoverMenu, TOAST_TYPE, setToast } from "@plane/ui";
// helpers
import { getFileURL } from "@plane/utils";
// hooks
-import { useMember, useUser, useUserPermissions } from "@/hooks/store";
+import { useMember } from "@/hooks/store/use-member"
+import { useUser, useUserPermissions } from "@/hooks/store/user";
// plane web constants
export interface RowData {
diff --git a/apps/web/core/components/workspace/settings/members-list-item.tsx b/apps/web/core/components/workspace/settings/members-list-item.tsx
index db7e7e275..a3ab6271a 100644
--- a/apps/web/core/components/workspace/settings/members-list-item.tsx
+++ b/apps/web/core/components/workspace/settings/members-list-item.tsx
@@ -3,19 +3,22 @@
import { FC } from "react";
import { isEmpty } from "lodash";
import { observer } from "mobx-react";
-// ui
+// plane imports
import { MEMBER_TRACKER_EVENTS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { IWorkspaceMember } from "@plane/types";
import { TOAST_TYPE, Table, setToast } from "@plane/ui";
// components
import { MembersLayoutLoader } from "@/components/ui/loader/layouts/members-layout-loader";
-import { ConfirmWorkspaceMemberRemove } from "@/components/workspace";
-// constants
-// hooks
+import { ConfirmWorkspaceMemberRemove } from "@/components/workspace/confirm-workspace-member-remove";
+// helpers
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
-import { useMember, useUser, useUserPermissions, useUserSettings, useWorkspace } from "@/hooks/store";
+// hooks
+import { useMember } from "@/hooks/store/use-member"
+import { useUser, useUserPermissions, useUserSettings } from "@/hooks/store/user"
+import { useWorkspace } from "@/hooks/store/use-workspace";
import { useAppRouter } from "@/hooks/use-app-router";
+// plane web imports
import { useMemberColumns } from "@/plane-web/components/workspace/settings/useMemberColumns";
type Props = {
diff --git a/apps/web/core/components/workspace/settings/members-list.tsx b/apps/web/core/components/workspace/settings/members-list.tsx
index 9bce5ea0f..f2d51807c 100644
--- a/apps/web/core/components/workspace/settings/members-list.tsx
+++ b/apps/web/core/components/workspace/settings/members-list.tsx
@@ -4,13 +4,17 @@ import { useParams } from "next/navigation";
import useSWR from "swr";
import { ChevronDown } from "lucide-react";
import { Disclosure } from "@headlessui/react";
+// plane imports
import { useTranslation } from "@plane/i18n";
import { Collapsible } from "@plane/ui";
-import { CountChip } from "@/components/common";
-import { MembersSettingsLoader } from "@/components/ui";
-import { WorkspaceInvitationsListItem, WorkspaceMembersListItem } from "@/components/workspace";
+// components
+import { CountChip } from "@/components/common/count-chip";
+import { MembersSettingsLoader } from "@/components/ui/loader/settings/members";
// hooks
-import { useMember } from "@/hooks/store";
+import { useMember } from "@/hooks/store/use-member";
+// local imports
+import { WorkspaceInvitationsListItem } from "./invitations-list-item";
+import { WorkspaceMembersListItem } from "./members-list-item";
export const WorkspaceMembersList: FC<{ searchQuery: string; isAdmin: boolean }> = observer((props) => {
const { searchQuery, isAdmin } = props;
diff --git a/apps/web/core/components/workspace/settings/workspace-details.tsx b/apps/web/core/components/workspace/settings/workspace-details.tsx
index da3dbe3d1..60c5f1b14 100644
--- a/apps/web/core/components/workspace/settings/workspace-details.tsx
+++ b/apps/web/core/components/workspace/settings/workspace-details.tsx
@@ -17,14 +17,15 @@ import { IWorkspace } from "@plane/types";
import { Button, CustomSelect, Input, TOAST_TYPE, setToast } from "@plane/ui";
import { copyUrlToClipboard, getFileURL } from "@plane/utils";
// components
-import { LogoSpinner } from "@/components/common";
-import { WorkspaceImageUploadModal } from "@/components/core";
+import { LogoSpinner } from "@/components/common/logo-spinner";
+import { WorkspaceImageUploadModal } from "@/components/core/modals/workspace-image-upload-modal";
// helpers
// hooks
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
-import { useUserPermissions, useWorkspace } from "@/hooks/store";
+import { useUserPermissions } from "@/hooks/store/user"
+import { useWorkspace } from "@/hooks/store/use-workspace";
// plane web components
-import { DeleteWorkspaceSection } from "@/plane-web/components/workspace";
+import { DeleteWorkspaceSection } from "@/plane-web/components/workspace/delete-workspace-section";
const defaultValues: Partial = {
name: "",
@@ -66,7 +67,7 @@ export const WorkspaceDetails: FC = observer(() => {
};
await updateWorkspace(currentWorkspace.slug, payload)
- .then((res) => {
+ .then(() => {
captureSuccess({
eventName: WORKSPACE_TRACKER_EVENTS.update,
payload: { slug: currentWorkspace.slug },
diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-title.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-title.tsx
index 7dec302b7..f813f9adc 100644
--- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-title.tsx
+++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-title.tsx
@@ -3,7 +3,7 @@ import React, { FC } from "react";
import { observer } from "mobx-react";
import Link from "next/link";
import { Tooltip } from "@plane/ui";
-import { useAppTheme } from "@/hooks/store";
+import { useAppTheme } from "@/hooks/store/use-app-theme";
import { usePlatformOS } from "@/hooks/use-platform-os";
type Props = {
diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsx
index 670f9ba11..60606f769 100644
--- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsx
+++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsx
@@ -4,9 +4,9 @@ import { FileText } from "lucide-react";
// plane imports
import { IFavorite, TLogoProps } from "@plane/types";
// components
-import { Logo } from "@/components/common";
+import { Logo } from "@/components/common/logo";
// plane web constants
-import { FAVORITE_ITEM_ICONS, FAVORITE_ITEM_LINKS } from "@/plane-web/constants";
+import { FAVORITE_ITEM_ICONS, FAVORITE_ITEM_LINKS } from "@/plane-web/constants/sidebar-favorites";
export const getFavoriteItemIcon = (type: string, logo?: TLogoProps | undefined) => {
const Icon = FAVORITE_ITEM_ICONS[type] || FileText;
diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx
index 1b5c9436e..5e06ec574 100644
--- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx
+++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx
@@ -11,25 +11,17 @@ import {
import { pointerOutsideOfPreview } from "@atlaskit/pragmatic-drag-and-drop/element/pointer-outside-of-preview";
import { setCustomNativeDragPreview } from "@atlaskit/pragmatic-drag-and-drop/element/set-custom-native-drag-preview";
import { attachInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item";
-
import { observer } from "mobx-react";
-// plane helpers
import { createRoot } from "react-dom/client";
+// plane imports
import { useOutsideClickDetector } from "@plane/hooks";
-// ui
import { IFavorite, InstructionType } from "@plane/types";
-// components
import { DropIndicator } from "@plane/ui";
-import {
- FavoriteItemDragHandle,
- FavoriteItemQuickAction,
- FavoriteItemWrapper,
- FavoriteItemTitle,
-} from "@/components/workspace/sidebar/favorites";
// hooks
import { useFavoriteItemDetails } from "@/hooks/use-favorite-item-details";
-//helpers
+// local imports
import { getCanDrop, getInstructionFromPayload } from "../favorites.helpers";
+import { FavoriteItemDragHandle, FavoriteItemQuickAction, FavoriteItemTitle, FavoriteItemWrapper } from "./common";
type Props = {
isLastChild: boolean;
diff --git a/apps/web/core/components/workspace/sidebar/favorites/index.ts b/apps/web/core/components/workspace/sidebar/favorites/index.ts
deleted file mode 100644
index fd92ae14a..000000000
--- a/apps/web/core/components/workspace/sidebar/favorites/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export * from "./favorite-folder";
-export * from "./favorite-items";
-export * from "./favorites-menu";
-export * from "./favorites.helpers";
-export * from "./new-fav-folder";
diff --git a/apps/web/core/components/workspace/sidebar/help-menu.tsx b/apps/web/core/components/workspace/sidebar/help-menu.tsx
index 3a1dc8320..e1bb34e18 100644
--- a/apps/web/core/components/workspace/sidebar/help-menu.tsx
+++ b/apps/web/core/components/workspace/sidebar/help-menu.tsx
@@ -12,7 +12,10 @@ import { cn } from "@plane/utils";
import { ProductUpdatesModal } from "@/components/global";
// helpers
// hooks
-import { useCommandPalette, useInstance, useTransient, useUserSettings } from "@/hooks/store";
+import { useCommandPalette } from "@/hooks/store/use-command-palette"
+import { useInstance } from "@/hooks/store/use-instance"
+import { useTransient } from "@/hooks/store/use-transient"
+import { useUserSettings } from "@/hooks/store/user";
import { usePlatformOS } from "@/hooks/use-platform-os";
// plane web components
import { PlaneVersionNumber } from "@/plane-web/components/global";
diff --git a/apps/web/core/components/workspace/sidebar/help-section.tsx b/apps/web/core/components/workspace/sidebar/help-section.tsx
index 5aff74d56..d3d69bb15 100644
--- a/apps/web/core/components/workspace/sidebar/help-section.tsx
+++ b/apps/web/core/components/workspace/sidebar/help-section.tsx
@@ -4,19 +4,22 @@ import React, { useState } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
import { FileText, HelpCircle, MessagesSquare, MoveLeft, User } from "lucide-react";
+// plane imports
import { useTranslation } from "@plane/i18n";
-// ui
import { CustomMenu, Tooltip, ToggleSwitch } from "@plane/ui";
-// components
import { cn } from "@plane/utils";
+// components
import { ProductUpdatesModal } from "@/components/global";
-// helpers
// hooks
-import { useAppTheme, useCommandPalette, useInstance, useTransient, useUserSettings } from "@/hooks/store";
+import { useAppTheme } from "@/hooks/store/use-app-theme"
+import { useCommandPalette } from "@/hooks/store/use-command-palette"
+import { useInstance } from "@/hooks/store/use-instance"
+import { useTransient } from "@/hooks/store/use-transient"
+import { useUserSettings } from "@/hooks/store/user";
import { usePlatformOS } from "@/hooks/use-platform-os";
// plane web components
import { PlaneVersionNumber } from "@/plane-web/components/global";
-import { WorkspaceEditionBadge } from "@/plane-web/components/workspace";
+import { WorkspaceEditionBadge } from "@/plane-web/components/workspace/edition-badge";
export interface WorkspaceHelpSectionProps {
setSidebarActive?: React.Dispatch>;
diff --git a/apps/web/core/components/workspace/sidebar/help-section/root.tsx b/apps/web/core/components/workspace/sidebar/help-section/root.tsx
index bf2a547d6..619abb4f8 100644
--- a/apps/web/core/components/workspace/sidebar/help-section/root.tsx
+++ b/apps/web/core/components/workspace/sidebar/help-section/root.tsx
@@ -9,9 +9,12 @@ import { useTranslation } from "@plane/i18n";
import { CustomMenu, ToggleSwitch } from "@plane/ui";
// components
import { ProductUpdatesModal } from "@/components/global";
-import { AppSidebarItem } from "@/components/sidebar";
+import { AppSidebarItem } from "@/components/sidebar/sidebar-item";
// hooks
-import { useCommandPalette, useInstance, useTransient, useUserSettings } from "@/hooks/store";
+import { useCommandPalette } from "@/hooks/store/use-command-palette"
+import { useInstance } from "@/hooks/store/use-instance"
+import { useTransient } from "@/hooks/store/use-transient"
+import { useUserSettings } from "@/hooks/store/user";
// plane web components
import { PlaneVersionNumber } from "@/plane-web/components/global";
diff --git a/apps/web/core/components/workspace/sidebar/index.ts b/apps/web/core/components/workspace/sidebar/index.ts
deleted file mode 100644
index 8c18ceae6..000000000
--- a/apps/web/core/components/workspace/sidebar/index.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-export * from "./dropdown";
-export * from "./favorites";
-export * from "./help-section";
-export * from "./projects-list-item";
-export * from "./projects-list";
-export * from "./project-navigation";
-export * from "./quick-actions";
-export * from "./user-menu";
-export * from "./user-menu-item";
-export * from "./workspace-menu";
-export * from "./workspace-menu-item";
-export * from "./workspace-menu-header";
-export * from "./help-section";
diff --git a/apps/web/core/components/workspace/sidebar/project-navigation.tsx b/apps/web/core/components/workspace/sidebar/project-navigation.tsx
index 754f45de5..25912263b 100644
--- a/apps/web/core/components/workspace/sidebar/project-navigation.tsx
+++ b/apps/web/core/components/workspace/sidebar/project-navigation.tsx
@@ -11,9 +11,12 @@ import { EUserProjectRoles } from "@plane/types";
// plane ui
import { DiceIcon, ContrastIcon, LayersIcon, Intake } from "@plane/ui";
// components
-import { SidebarNavItem } from "@/components/sidebar";
+import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation";
// hooks
-import { useAppTheme, useIssueDetail, useProject, useUserPermissions } from "@/hooks/store";
+import { useAppTheme } from "@/hooks/store/use-app-theme"
+import { useIssueDetail } from "@/hooks/store/use-issue-detail"
+import { useProject } from "@/hooks/store/use-project"
+import { useUserPermissions } from "@/hooks/store/user";
export type TNavigationItem = {
name: string;
diff --git a/apps/web/core/components/workspace/sidebar/projects-list-item.tsx b/apps/web/core/components/workspace/sidebar/projects-list-item.tsx
index 714c36eca..04479c7a8 100644
--- a/apps/web/core/components/workspace/sidebar/projects-list-item.tsx
+++ b/apps/web/core/components/workspace/sidebar/projects-list-item.tsx
@@ -11,23 +11,25 @@ import { useParams, useRouter } from "next/navigation";
import { createRoot } from "react-dom/client";
import { LinkIcon, Settings, Share2, LogOut, MoreHorizontal, ChevronRight } from "lucide-react";
import { Disclosure, Transition } from "@headlessui/react";
-// plane helpers
+// plane imports
import { EUserPermissions, EUserPermissionsLevel, MEMBER_TRACKER_ELEMENTS } from "@plane/constants";
import { useOutsideClickDetector } from "@plane/hooks";
import { useTranslation } from "@plane/i18n";
-// ui
import { CustomMenu, Tooltip, ArchiveIcon, DropIndicator, DragHandle, ControlLink } from "@plane/ui";
-// components
import { cn } from "@plane/utils";
+// components
import { Logo } from "@/components/common/logo";
-import { LeaveProjectModal, PublishProjectModal } from "@/components/project";
-// helpers
+import { LeaveProjectModal } from "@/components/project/leave-project-modal";
+import { PublishProjectModal } from "@/components/project/publish-project/modal";
// hooks
-import { useAppTheme, useCommandPalette, useProject, useUserPermissions } from "@/hooks/store";
+import { useAppTheme } from "@/hooks/store/use-app-theme"
+import { useCommandPalette } from "@/hooks/store/use-command-palette"
+import { useProject } from "@/hooks/store/use-project"
+import { useUserPermissions } from "@/hooks/store/user";
import { usePlatformOS } from "@/hooks/use-platform-os";
-// plane-web components
+// plane web imports
import { ProjectNavigationRoot } from "@/plane-web/components/sidebar";
-// constants
+// local imports
import { HIGHLIGHT_CLASS, highlightIssueOnDrop } from "../../issues/issue-layouts/utils";
type Props = {
diff --git a/apps/web/core/components/workspace/sidebar/projects-list.tsx b/apps/web/core/components/workspace/sidebar/projects-list.tsx
index 1f4a8f71f..623b0294a 100644
--- a/apps/web/core/components/workspace/sidebar/projects-list.tsx
+++ b/apps/web/core/components/workspace/sidebar/projects-list.tsx
@@ -7,23 +7,24 @@ import { observer } from "mobx-react";
import { useParams, usePathname } from "next/navigation";
import { ChevronRight, Plus } from "lucide-react";
import { Disclosure, Transition } from "@headlessui/react";
+// plane imports
import { EUserPermissions, EUserPermissionsLevel, PROJECT_TRACKER_ELEMENTS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
-// ui
import { Loader, TOAST_TYPE, Tooltip, setToast } from "@plane/ui";
import { copyUrlToClipboard, cn, orderJoinedProjects } from "@plane/utils";
// components
-import { CreateProjectModal } from "@/components/project";
-import { SidebarProjectsListItem } from "@/components/workspace";
-// helpers
+import { CreateProjectModal } from "@/components/project/create-project-modal";
// hooks
-import { useCommandPalette, useProject, useUserPermissions } from "@/hooks/store";
-// plane web types
+import { useCommandPalette } from "@/hooks/store/use-command-palette"
+import { useProject } from "@/hooks/store/use-project"
+import { useUserPermissions } from "@/hooks/store/user";
+// plane web imports
import { TProject } from "@/plane-web/types";
+// local imports
+import { SidebarProjectsListItem } from "./projects-list-item";
export const SidebarProjectsList: FC = observer(() => {
// states
-
const [isAllProjectsListOpen, setIsAllProjectsListOpen] = useState(true);
const [isProjectModalOpen, setIsProjectModalOpen] = useState(false);
const [isScrolled, setIsScrolled] = useState(false); // scroll animation state
diff --git a/apps/web/core/components/workspace/sidebar/quick-actions.tsx b/apps/web/core/components/workspace/sidebar/quick-actions.tsx
index 878447233..b79cb7ad6 100644
--- a/apps/web/core/components/workspace/sidebar/quick-actions.tsx
+++ b/apps/web/core/components/workspace/sidebar/quick-actions.tsx
@@ -2,20 +2,20 @@ import { useRef, useState } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
import { PenSquare } from "lucide-react";
+// plane imports
import { EUserPermissions, EUserPermissionsLevel, SIDEBAR_TRACKER_ELEMENTS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
-// types
import { TIssue } from "@plane/types";
-// components
import { cn } from "@plane/utils";
-import { CreateUpdateIssueModal } from "@/components/issues";
-// constants
-// helpers
+// components
+import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal";
// hooks
-import { useCommandPalette, useProject, useUserPermissions } from "@/hooks/store";
+import { useCommandPalette } from "@/hooks/store/use-command-palette"
+import { useProject } from "@/hooks/store/use-project"
+import { useUserPermissions } from "@/hooks/store/user";
import useLocalStorage from "@/hooks/use-local-storage";
// plane web components
-import { AppSearch } from "@/plane-web/components/workspace";
+import { AppSearch } from "@/plane-web/components/workspace/sidebar/app-search";
export const SidebarQuickActions = observer(() => {
const { t } = useTranslation();
diff --git a/apps/web/core/components/workspace/sidebar/sidebar-item.tsx b/apps/web/core/components/workspace/sidebar/sidebar-item.tsx
index 085cbab7b..653f2479d 100644
--- a/apps/web/core/components/workspace/sidebar/sidebar-item.tsx
+++ b/apps/web/core/components/workspace/sidebar/sidebar-item.tsx
@@ -4,12 +4,18 @@ import { FC, ReactNode } from "react";
import { observer } from "mobx-react";
import Link from "next/link";
import { useParams, usePathname } from "next/navigation";
+// plane imports
import { EUserPermissionsLevel, IWorkspaceSidebarNavigationItem } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
-import { SidebarNavItem } from "@/components/sidebar";
-import { NotificationAppSidebarOption } from "@/components/workspace-notifications";
-import { useAppTheme, useUser, useUserPermissions, useWorkspace } from "@/hooks/store";
-import { getSidebarNavigationItemIcon } from "@/plane-web/components/workspace";
+// components
+import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation";
+import { NotificationAppSidebarOption } from "@/components/workspace-notifications/notification-app-sidebar-option";
+// hooks
+import { useAppTheme } from "@/hooks/store/use-app-theme"
+import { useUser, useUserPermissions } from "@/hooks/store/user"
+import { useWorkspace } from "@/hooks/store/use-workspace";
+// plane web imports
+import { getSidebarNavigationItemIcon } from "@/plane-web/components/workspace/sidebar/helper";
type Props = {
item: IWorkspaceSidebarNavigationItem;
@@ -35,7 +41,7 @@ export const SidebarItemBase: FC = observer(({ item, additionalRender, ad
const staticItems = ["home", "inbox", "pi_chat", "projects", "your_work", ...(additionalStaticItems || [])];
const slug = workspaceSlug?.toString() || "";
- if (!allowPermissions(item.access as any, EUserPermissionsLevel.WORKSPACE, slug)) return null;
+ if (!allowPermissions(item.access, EUserPermissionsLevel.WORKSPACE, slug)) return null;
const sidebarPreference = getNavigationPreferences(slug);
const isPinned = sidebarPreference?.[item.key]?.is_pinned;
diff --git a/apps/web/core/components/workspace/sidebar/sidebar-menu-items.tsx b/apps/web/core/components/workspace/sidebar/sidebar-menu-items.tsx
index 3a2676c81..73f8bbbaf 100644
--- a/apps/web/core/components/workspace/sidebar/sidebar-menu-items.tsx
+++ b/apps/web/core/components/workspace/sidebar/sidebar-menu-items.tsx
@@ -13,12 +13,13 @@ import {
import { useTranslation } from "@plane/i18n";
import { cn } from "@plane/utils";
// components
-import { SidebarNavItem } from "@/components/sidebar";
+import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation";
// store hooks
-import { useAppTheme, useWorkspace } from "@/hooks/store";
+import { useAppTheme } from "@/hooks/store/use-app-theme"
+import { useWorkspace } from "@/hooks/store/use-workspace";
import useLocalStorage from "@/hooks/use-local-storage";
// plane-web imports
-import { SidebarItem } from "@/plane-web/components/workspace/sidebar";
+import { SidebarItem } from "@/plane-web/components/workspace/sidebar/sidebar-item";
export const SidebarMenuItems = observer(() => {
// routers
diff --git a/apps/web/core/components/workspace/sidebar/user-menu-item.tsx b/apps/web/core/components/workspace/sidebar/user-menu-item.tsx
index 5d0b555dc..efd4b3f38 100644
--- a/apps/web/core/components/workspace/sidebar/user-menu-item.tsx
+++ b/apps/web/core/components/workspace/sidebar/user-menu-item.tsx
@@ -8,11 +8,12 @@ import { EUserPermissionsLevel, SIDEBAR_TRACKER_ELEMENTS } from "@plane/constant
import { useTranslation } from "@plane/i18n";
import { EUserWorkspaceRoles } from "@plane/types";
// components
-import { SidebarNavItem } from "@/components/sidebar";
-import { NotificationAppSidebarOption } from "@/components/workspace-notifications";
+import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation";
+import { NotificationAppSidebarOption } from "@/components/workspace-notifications/notification-app-sidebar-option";
// hooks
import { captureClick } from "@/helpers/event-tracker.helper";
-import { useAppTheme, useUserPermissions } from "@/hooks/store";
+import { useAppTheme } from "@/hooks/store/use-app-theme"
+import { useUserPermissions } from "@/hooks/store/user";
export interface SidebarUserMenuItemProps {
item: {
diff --git a/apps/web/core/components/workspace/sidebar/user-menu-root.tsx b/apps/web/core/components/workspace/sidebar/user-menu-root.tsx
index 4a874c9e9..a830b0b85 100644
--- a/apps/web/core/components/workspace/sidebar/user-menu-root.tsx
+++ b/apps/web/core/components/workspace/sidebar/user-menu-root.tsx
@@ -15,7 +15,8 @@ import { useTranslation } from "@plane/i18n";
import { Avatar, TOAST_TYPE, setToast } from "@plane/ui";
import { getFileURL } from "@plane/utils";
// hooks
-import { useAppTheme, useUser } from "@/hooks/store";
+import { useAppTheme } from "@/hooks/store/use-app-theme"
+import { useUser } from "@/hooks/store/user";
import { useAppRail } from "@/hooks/use-app-rail";
type Props = {
diff --git a/apps/web/core/components/workspace/sidebar/user-menu.tsx b/apps/web/core/components/workspace/sidebar/user-menu.tsx
index 9826a77b9..2b9bcfcee 100644
--- a/apps/web/core/components/workspace/sidebar/user-menu.tsx
+++ b/apps/web/core/components/workspace/sidebar/user-menu.tsx
@@ -4,13 +4,13 @@ import React from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
import { Home, Inbox, PenSquare } from "lucide-react";
-import { EUserWorkspaceRoles } from "@plane/types";
// plane imports
+import { EUserWorkspaceRoles } from "@plane/types";
import { UserActivityIcon } from "@plane/ui";
-// components
-import { SidebarUserMenuItem } from "@/components/workspace/sidebar";
// hooks
-import { useUserPermissions, useUser } from "@/hooks/store";
+import { useUserPermissions, useUser } from "@/hooks/store/user";
+// local imports
+import { SidebarUserMenuItem } from "./user-menu-item";
export const SidebarUserMenu = observer(() => {
const { workspaceSlug } = useParams();
diff --git a/apps/web/core/components/workspace/sidebar/workspace-menu-header.tsx b/apps/web/core/components/workspace/sidebar/workspace-menu-header.tsx
index 0d2a736f3..bda8343ba 100644
--- a/apps/web/core/components/workspace/sidebar/workspace-menu-header.tsx
+++ b/apps/web/core/components/workspace/sidebar/workspace-menu-header.tsx
@@ -12,7 +12,7 @@ import { EUserWorkspaceRoles } from "@plane/types";
import { CustomMenu } from "@plane/ui";
import { cn } from "@plane/utils";
// store hooks
-import { useUserPermissions } from "@/hooks/store";
+import { useUserPermissions } from "@/hooks/store/user";
export type SidebarWorkspaceMenuHeaderProps = {
isWorkspaceMenuOpen: boolean;
diff --git a/apps/web/core/components/workspace/sidebar/workspace-menu-item.tsx b/apps/web/core/components/workspace/sidebar/workspace-menu-item.tsx
index e8028761e..e873784d8 100644
--- a/apps/web/core/components/workspace/sidebar/workspace-menu-item.tsx
+++ b/apps/web/core/components/workspace/sidebar/workspace-menu-item.tsx
@@ -8,11 +8,12 @@ import { useTranslation } from "@plane/i18n";
import { EUserWorkspaceRoles } from "@plane/types";
import { cn } from "@plane/utils";
// components
-import { SidebarNavItem } from "@/components/sidebar";
+import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation";
// hooks
-import { useAppTheme, useUserPermissions } from "@/hooks/store";
+import { useAppTheme } from "@/hooks/store/use-app-theme"
+import { useUserPermissions } from "@/hooks/store/user";
// plane web imports
-import { UpgradeBadge } from "@/plane-web/components/workspace";
+import { UpgradeBadge } from "@/plane-web/components/workspace/upgrade-badge";
export type SidebarWorkspaceMenuItemProps = {
item: {
diff --git a/apps/web/core/components/workspace/sidebar/workspace-menu-root.tsx b/apps/web/core/components/workspace/sidebar/workspace-menu-root.tsx
index c6f1d3ec2..404c70849 100644
--- a/apps/web/core/components/workspace/sidebar/workspace-menu-root.tsx
+++ b/apps/web/core/components/workspace/sidebar/workspace-menu-root.tsx
@@ -13,9 +13,11 @@ import { IWorkspace } from "@plane/types";
import { Loader, TOAST_TYPE, setToast } from "@plane/ui";
import { orderWorkspacesList, cn } from "@plane/utils";
// helpers
-import { AppSidebarItem } from "@/components/sidebar";
+import { AppSidebarItem } from "@/components/sidebar/sidebar-item";
// hooks
-import { useAppTheme, useUser, useUserProfile, useWorkspace } from "@/hooks/store";
+import { useAppTheme } from "@/hooks/store/use-app-theme"
+import { useUser, useUserProfile } from "@/hooks/store/user"
+import { useWorkspace } from "@/hooks/store/use-workspace";
// plane web helpers
import { getIsWorkspaceCreationDisabled } from "@/plane-web/helpers/instance.helper";
// components
@@ -67,9 +69,6 @@ export const WorkspaceMenuRoot = observer((props: WorkspaceMenuRootProps) => {
else toggleAnySidebarDropdown(false);
}, [isWorkspaceMenuOpen]);
- const logo = activeWorkspace?.logo_url;
- const name = activeWorkspace?.name;
-
return (