refactor: remove barrel exports from web app (#7577)
* refactor: remove barrel exports from some compoennt modules * refactor: remove barrel exports from issue components * refactor: remove barrel exports from page components * chore: update type improts * refactor: remove barrel exports from cycle components * refactor: remove barrel exports from dropdown components * refactor: remove barrel exports from ce components * refactor: remove barrel exports from some more components * refactor: remove barrel exports from profile and sidebar components * chore: update type imports * refactor: remove barrel exports from store hooks * chore: dynamically load sticky editor * fix: lint * chore: revert sticky dynamic import * refactor: remove barrel exports from ce issue components * refactor: remove barrel exports from ce issue components * refactor: remove barrel exports from ce issue components --------- Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
This commit is contained in:
parent
9cf564caae
commit
3391e8580c
1103 changed files with 3036 additions and 3286 deletions
|
|
@ -1,5 +1 @@
|
|||
export * from "./access";
|
||||
export * from "./date";
|
||||
export * from "./members";
|
||||
export * from "./project-display-filters";
|
||||
export * from "./root";
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import { Avatar } from "@plane/ui";
|
|||
// helpers
|
||||
import { getFileURL } from "@plane/utils";
|
||||
// types
|
||||
import { useMember } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member";
|
||||
|
||||
type Props = {
|
||||
handleRemove: (val: string) => void;
|
||||
|
|
|
|||
|
|
@ -1,21 +1,16 @@
|
|||
"use client";
|
||||
|
||||
import { X } from "lucide-react";
|
||||
// i18n
|
||||
// plane imports
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
// types
|
||||
import { TProjectAppliedDisplayFilterKeys, TProjectFilters } from "@plane/types";
|
||||
// ui
|
||||
import { EHeaderVariant, Header, Tag, Tooltip } from "@plane/ui";
|
||||
// components
|
||||
import { replaceUnderscoreIfSnakeCase } from "@plane/utils";
|
||||
import {
|
||||
AppliedAccessFilters,
|
||||
AppliedDateFilters,
|
||||
AppliedMembersFilters,
|
||||
AppliedProjectDisplayFilters,
|
||||
} from "@/components/project";
|
||||
// helpers
|
||||
// local imports
|
||||
import { AppliedAccessFilters } from "./access";
|
||||
import { AppliedDateFilters } from "./date";
|
||||
import { AppliedMembersFilters } from "./members";
|
||||
import { AppliedProjectDisplayFilters } from "./project-display-filters";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: TProjectFilters;
|
||||
|
|
|
|||
|
|
@ -5,13 +5,18 @@ import { EUserPermissionsLevel, EUserPermissions, PROJECT_TRACKER_ELEMENTS } fro
|
|||
import { useTranslation } from "@plane/i18n";
|
||||
import { ContentWrapper } from "@plane/ui";
|
||||
// components
|
||||
import { ComicBoxButton, DetailedEmptyState } from "@/components/empty-state";
|
||||
import { ProjectCard } from "@/components/project";
|
||||
import { ProjectsLoader } from "@/components/ui";
|
||||
import { ComicBoxButton } from "@/components/empty-state/comic-box-button";
|
||||
import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root";
|
||||
import { ProjectsLoader } from "@/components/ui/loader/projects-loader";
|
||||
import { captureClick } from "@/helpers/event-tracker.helper";
|
||||
// hooks
|
||||
import { useCommandPalette, useProject, useProjectFilter, useUserPermissions } from "@/hooks/store";
|
||||
import { useCommandPalette } from "@/hooks/store/use-command-palette"
|
||||
import { useProject } from "@/hooks/store/use-project"
|
||||
import { useProjectFilter } from "@/hooks/store/use-project-filter"
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
|
||||
// local imports
|
||||
import { ProjectCard } from "./card";
|
||||
|
||||
type TProjectCardListProps = {
|
||||
totalProjectIds?: string[];
|
||||
|
|
|
|||
|
|
@ -24,11 +24,16 @@ import {
|
|||
import { copyUrlToClipboard, cn, getFileURL, renderFormattedDate } from "@plane/utils";
|
||||
// components
|
||||
import { Logo } from "@/components/common/logo";
|
||||
import { ArchiveRestoreProjectModal, DeleteProjectModal, JoinProjectModal } from "@/components/project";
|
||||
// hooks
|
||||
import { useMember, useProject, useUserPermissions } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member"
|
||||
import { useProject } from "@/hooks/store/use-project"
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// local imports
|
||||
import { DeleteProjectModal } from "./delete-project-modal";
|
||||
import { JoinProjectModal } from "./join-project-modal";
|
||||
import { ArchiveRestoreProjectModal } from "./settings/archive-project/archive-restore-modal";
|
||||
|
||||
type Props = {
|
||||
project: IProject;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,8 @@ import { IUserLite } from "@plane/types";
|
|||
// ui
|
||||
import { Button } from "@plane/ui";
|
||||
// hooks
|
||||
import { useProject, useUser } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project"
|
||||
import { useUser } from "@/hooks/store/user";
|
||||
|
||||
type Props = {
|
||||
data: Partial<IUserLite>;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { IProject } from "@plane/types";
|
|||
import { CustomEmojiIconPicker, EmojiIconPickerTypes, Logo } from "@plane/ui";
|
||||
import { convertHexEmojiToDecimal, getFileURL, getTabIndex } from "@plane/utils";
|
||||
// components
|
||||
import { ImagePickerPopover } from "@/components/core";
|
||||
import { ImagePickerPopover } from "@/components/core/image-picker-popover";
|
||||
// helpers
|
||||
// plane web imports
|
||||
import { ProjectTemplateSelect } from "@/plane-web/components/projects/create/template-select";
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
|||
// constants
|
||||
// hooks
|
||||
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
|
||||
import { useProject } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
|
||||
type DeleteProjectModal = {
|
||||
|
|
|
|||
|
|
@ -4,8 +4,9 @@ import { observer } from "mobx-react";
|
|||
import { NETWORK_CHOICES } from "@plane/constants";
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
// components
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
import { ProjectNetworkIcon } from "@/components/project";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters";
|
||||
// local imports
|
||||
import { ProjectNetworkIcon } from "../../project-network-icon";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: string[] | null;
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import { observer } from "mobx-react";
|
|||
import { PROJECT_CREATED_AT_FILTER_OPTIONS } from "@plane/constants";
|
||||
// components
|
||||
import { isInDateFormat } from "@plane/utils";
|
||||
import { DateFilterModal } from "@/components/core";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
import { DateFilterModal } from "@/components/core/filters/date-filter-modal";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters";
|
||||
|
||||
// helpers
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1 @@
|
|||
export * from "./access";
|
||||
export * from "./created-at";
|
||||
export * from "./lead";
|
||||
export * from "./members";
|
||||
export * from "./root";
|
||||
|
|
|
|||
|
|
@ -7,10 +7,11 @@ import { observer } from "mobx-react";
|
|||
import { Avatar, Loader } from "@plane/ui";
|
||||
// components
|
||||
import { getFileURL } from "@plane/utils";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters";
|
||||
// helpers
|
||||
// hooks
|
||||
import { useMember, useUser } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member"
|
||||
import { useUser } from "@/hooks/store/user";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: string[] | null;
|
||||
|
|
|
|||
|
|
@ -7,10 +7,11 @@ import { observer } from "mobx-react";
|
|||
import { Avatar, Loader } from "@plane/ui";
|
||||
// components
|
||||
import { getFileURL } from "@plane/utils";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters";
|
||||
// helpers
|
||||
// hooks
|
||||
import { useMember, useUser } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member"
|
||||
import { useUser } from "@/hooks/store/user";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: string[] | null;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,17 @@
|
|||
import { useState } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import { Search, X } from "lucide-react";
|
||||
import { TProjectDisplayFilters, TProjectFilters } from "@plane/types";
|
||||
// plane imports
|
||||
import type { TProjectDisplayFilters, TProjectFilters } from "@plane/types";
|
||||
// components
|
||||
import { FilterOption } from "@/components/issues";
|
||||
import { FilterAccess, FilterCreatedDate, FilterLead, FilterMembers } from "@/components/project";
|
||||
import { FilterOption } from "@/components/issues/issue-layouts/filters";
|
||||
// hooks
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// types
|
||||
// local imports
|
||||
import { FilterAccess } from "./access";
|
||||
import { FilterCreatedDate } from "./created-at";
|
||||
import { FilterLead } from "./lead";
|
||||
import { FilterMembers } from "./members";
|
||||
|
||||
type Props = {
|
||||
displayFilters: TProjectDisplayFilters;
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export * from "./filters";
|
||||
export * from "./order-by";
|
||||
|
|
@ -2,18 +2,18 @@ import { useCallback } from "react";
|
|||
import { observer } from "mobx-react";
|
||||
import { useParams } from "next/navigation";
|
||||
import { ListFilter } from "lucide-react";
|
||||
// i18n
|
||||
// plane imports
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
// plane types
|
||||
import { TProjectFilters } from "@plane/types";
|
||||
import { cn, calculateTotalFilters } from "@plane/utils";
|
||||
// plane utils
|
||||
// components
|
||||
import { FiltersDropdown } from "@/components/issues";
|
||||
import { ProjectFiltersSelection, ProjectOrderByDropdown } from "@/components/project";
|
||||
// helpers
|
||||
import { FiltersDropdown } from "@/components/issues/issue-layouts/filters";
|
||||
// hooks
|
||||
import { useMember, useProjectFilter } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member"
|
||||
import { useProjectFilter } from "@/hooks/store/use-project-filter";
|
||||
// local imports
|
||||
import { ProjectOrderByDropdown } from "./dropdowns/order-by";
|
||||
import { ProjectFiltersSelection } from "./dropdowns/filters";
|
||||
|
||||
type Props = {
|
||||
filterMenuButton?: React.ReactNode;
|
||||
|
|
|
|||
|
|
@ -5,9 +5,8 @@ import { Controller, useForm } from "react-hook-form";
|
|||
import { Info, Lock } from "lucide-react";
|
||||
import { NETWORK_CHOICES, PROJECT_TRACKER_ELEMENTS, PROJECT_TRACKER_EVENTS } from "@plane/constants";
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
// plane types
|
||||
// plane imports
|
||||
import { IProject, IWorkspace } from "@plane/types";
|
||||
// plane ui
|
||||
import {
|
||||
Button,
|
||||
CustomSelect,
|
||||
|
|
@ -21,17 +20,18 @@ import {
|
|||
} from "@plane/ui";
|
||||
import { renderFormattedDate, convertHexEmojiToDecimal, getFileURL } from "@plane/utils";
|
||||
// components
|
||||
import { Logo } from "@/components/common";
|
||||
import { ImagePickerPopover } from "@/components/core";
|
||||
import { Logo } from "@/components/common/logo";
|
||||
import { ImagePickerPopover } from "@/components/core/image-picker-popover";
|
||||
import { TimezoneSelect } from "@/components/global";
|
||||
import { ProjectNetworkIcon } from "@/components/project";
|
||||
// helpers
|
||||
// hooks
|
||||
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
|
||||
import { useProject } from "@/hooks/store";
|
||||
// hooks
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// services
|
||||
import { ProjectService } from "@/services/project";
|
||||
// local imports
|
||||
import { ProjectNetworkIcon } from "./project-network-icon";
|
||||
|
||||
export interface IProjectDetailsForm {
|
||||
project: IProject;
|
||||
|
|
@ -91,7 +91,7 @@ export const ProjectDetailsForm: FC<IProjectDetailsForm> = (props) => {
|
|||
const handleUpdateChange = async (payload: Partial<IProject>) => {
|
||||
if (!workspaceSlug || !project) return;
|
||||
return updateProject(workspaceSlug.toString(), project.id, payload)
|
||||
.then((res) => {
|
||||
.then(() => {
|
||||
captureSuccess({
|
||||
eventName: PROJECT_TRACKER_EVENTS.update,
|
||||
payload: {
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ import { useTranslation } from "@plane/i18n";
|
|||
// ui
|
||||
import { Breadcrumbs, Button, Header } from "@plane/ui";
|
||||
// components
|
||||
import { BreadcrumbLink } from "@/components/common";
|
||||
import { captureClick } from "@/helpers/event-tracker.helper";
|
||||
import { BreadcrumbLink } from "@/components/common/breadcrumb-link";
|
||||
// hooks
|
||||
import { useCommandPalette, useUserPermissions } from "@/hooks/store";
|
||||
import { useCommandPalette } from "@/hooks/store/use-command-palette"
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
// plane web constants
|
||||
// components
|
||||
import HeaderFilters from "./filters";
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
export * from "./applied-filters";
|
||||
export * from "./dropdowns";
|
||||
export * from "./publish-project";
|
||||
export * from "./settings";
|
||||
export * from "./card-list";
|
||||
export * from "./card";
|
||||
export * from "./create-project-modal";
|
||||
export * from "./project-feature-update";
|
||||
export * from "./delete-project-modal";
|
||||
export * from "./form-loader";
|
||||
export * from "./form";
|
||||
export * from "./join-project-modal";
|
||||
export * from "./leave-project-modal";
|
||||
export * from "./member-select";
|
||||
export * from "./integration-card";
|
||||
export * from "./member-list";
|
||||
export * from "./member-list-item";
|
||||
export * from "./project-settings-member-defaults";
|
||||
export * from "./send-project-invitation-modal";
|
||||
export * from "./confirm-project-member-remove";
|
||||
export * from "./multi-select-modal";
|
||||
export * from "./search-projects";
|
||||
export * from "./project-network-icon";
|
||||
export * from "@/plane-web/components/projects/create/root";
|
||||
|
|
@ -8,7 +8,8 @@ import type { IProject } from "@plane/types";
|
|||
// ui
|
||||
import { Button } from "@plane/ui";
|
||||
// hooks
|
||||
import { useProject, useUserPermissions } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project"
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
|
||||
// type
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
|||
// constants
|
||||
// hooks
|
||||
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
|
||||
import { useUserPermissions } from "@/hooks/store";
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
|
||||
type FormData = {
|
||||
|
|
|
|||
|
|
@ -4,16 +4,18 @@ import { observer } from "mobx-react";
|
|||
// plane imports
|
||||
import { MEMBER_TRACKER_EVENTS } from "@plane/constants";
|
||||
import { TOAST_TYPE, Table, setToast } from "@plane/ui";
|
||||
// components
|
||||
import { ConfirmProjectMemberRemove } from "@/components/project";
|
||||
// hooks
|
||||
// helpers
|
||||
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
|
||||
import { useMember, useUser, useUserPermissions } from "@/hooks/store";
|
||||
// hooks
|
||||
import { useMember } from "@/hooks/store/use-member"
|
||||
import { useUser, useUserPermissions } from "@/hooks/store/user";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
// plane web imports
|
||||
import { useProjectColumns } from "@/plane-web/components/projects/settings/useProjectColumns";
|
||||
// store
|
||||
import { IProjectMemberDetails } from "@/store/member/base-project-member.store";
|
||||
// local imports
|
||||
import { ConfirmProjectMemberRemove } from "./confirm-project-member-remove";
|
||||
|
||||
type Props = {
|
||||
memberDetails: (IProjectMemberDetails | null)[];
|
||||
|
|
@ -69,7 +71,7 @@ export const ProjectMemberListItem: React.FC<Props> = observer((props) => {
|
|||
await removeMemberFromProject(workspaceSlug.toString(), projectId.toString(), memberId).catch((err) =>
|
||||
setToast({
|
||||
type: TOAST_TYPE.ERROR,
|
||||
title: "You can’t remove the member from this project yet.",
|
||||
title: "You can't remove the member from this project yet.",
|
||||
message: err?.error || "Something went wrong. Please try again.",
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -8,10 +8,13 @@ import { EUserPermissions, EUserPermissionsLevel, MEMBER_TRACKER_ELEMENTS } from
|
|||
import { useTranslation } from "@plane/i18n";
|
||||
import { Button } from "@plane/ui";
|
||||
// components
|
||||
import { ProjectMemberListItem, SendProjectInvitationModal } from "@/components/project";
|
||||
import { MembersSettingsLoader } from "@/components/ui";
|
||||
import { MembersSettingsLoader } from "@/components/ui/loader/settings/members";
|
||||
// hooks
|
||||
import { useMember, useUserPermissions } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member"
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
// local imports
|
||||
import { ProjectMemberListItem } from "./member-list-item";
|
||||
import { SendProjectInvitationModal } from "./send-project-invitation-modal";
|
||||
|
||||
type TProjectMemberListProps = {
|
||||
projectId: string;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { Avatar, CustomSearchSelect } from "@plane/ui";
|
|||
// helpers
|
||||
import { getFileURL } from "@plane/utils";
|
||||
// hooks
|
||||
import { useMember } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member";
|
||||
|
||||
type Props = {
|
||||
value: any;
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@ import { useTranslation } from "@plane/i18n";
|
|||
import { Button, Checkbox, EModalPosition, EModalWidth, ModalCore } from "@plane/ui";
|
||||
// components
|
||||
import { cn } from "@plane/utils";
|
||||
import { Logo } from "@/components/common";
|
||||
import { SimpleEmptyState } from "@/components/empty-state";
|
||||
import { Logo } from "@/components/common/logo";
|
||||
import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root";
|
||||
// helpers
|
||||
// hooks
|
||||
import { useProject } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ import { useTranslation } from "@plane/i18n";
|
|||
// ui
|
||||
import { Button, getButtonStyling, Row } from "@plane/ui";
|
||||
// components
|
||||
import { Logo } from "@/components/common";
|
||||
import { ProjectFeaturesList } from "@/components/project/settings";
|
||||
import { Logo } from "@/components/common/logo";
|
||||
import { ProjectFeaturesList } from "@/components/project/settings/features-list";
|
||||
// hooks
|
||||
import { useProject } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
|
||||
type Props = {
|
||||
workspaceSlug: string;
|
||||
|
|
|
|||
|
|
@ -9,12 +9,13 @@ import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
|
|||
import { useTranslation } from "@plane/i18n";
|
||||
import { IProject, IUserLite, IWorkspace } from "@plane/types";
|
||||
import { Loader, TOAST_TYPE, ToggleSwitch, setToast } from "@plane/ui";
|
||||
// components
|
||||
import { MemberSelect } from "@/components/project";
|
||||
// constants
|
||||
import { PROJECT_MEMBERS } from "@/constants/fetch-keys";
|
||||
// hooks
|
||||
import { useProject, useUserPermissions } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project"
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
// local imports
|
||||
import { MemberSelect } from "./member-select";
|
||||
|
||||
const defaultValues: Partial<IProject> = {
|
||||
project_lead: null,
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
export * from "./modal";
|
||||
|
|
@ -13,7 +13,7 @@ import { Button, Loader, ToggleSwitch, TOAST_TYPE, setToast, CustomSelect, Modal
|
|||
// helpers
|
||||
import { copyTextToClipboard } from "@plane/utils";
|
||||
// hooks
|
||||
import { useProjectPublish } from "@/hooks/store";
|
||||
import { useProjectPublish } from "@/hooks/store/use-project-publish";
|
||||
|
||||
type Props = {
|
||||
isOpen: boolean;
|
||||
|
|
|
|||
|
|
@ -3,18 +3,21 @@
|
|||
import { useCallback, useEffect } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import { useParams, usePathname } from "next/navigation";
|
||||
// i18n
|
||||
// plane imports
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
import { TProjectAppliedDisplayFilterKeys, TProjectFilters } from "@plane/types";
|
||||
// components
|
||||
import { calculateTotalFilters } from "@plane/utils";
|
||||
// components
|
||||
import { PageHead } from "@/components/core/page-title";
|
||||
import { ProjectAppliedFiltersList, ProjectCardList } from "@/components/project";
|
||||
// helpers
|
||||
// hooks
|
||||
import { useProject, useProjectFilter, useWorkspace } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project"
|
||||
import { useProjectFilter } from "@/hooks/store/use-project-filter"
|
||||
import { useWorkspace } from "@/hooks/store/use-workspace";
|
||||
// local imports
|
||||
import { ProjectAppliedFiltersList } from "./applied-filters";
|
||||
import { ProjectCardList } from "./card-list";
|
||||
|
||||
const Root = observer(() => {
|
||||
export const ProjectRoot = observer(() => {
|
||||
const { currentWorkspace } = useWorkspace();
|
||||
const { workspaceSlug } = useParams();
|
||||
const pathname = usePathname();
|
||||
|
|
@ -94,5 +97,3 @@ const Root = observer(() => {
|
|||
</>
|
||||
);
|
||||
});
|
||||
|
||||
export default Root;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { useTranslation } from "@plane/i18n";
|
|||
// helpers
|
||||
import { cn } from "@plane/utils";
|
||||
// hooks
|
||||
import { useProjectFilter } from "@/hooks/store";
|
||||
import { useProjectFilter } from "@/hooks/store/use-project-filter";
|
||||
|
||||
export const ProjectSearch: FC = observer(() => {
|
||||
// i18n
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@ import { Avatar, Button, CustomSelect, CustomSearchSelect, TOAST_TYPE, setToast
|
|||
import { getFileURL } from "@plane/utils";
|
||||
// hooks
|
||||
import { captureError, captureSuccess } 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 = {
|
||||
isOpen: boolean;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { Dialog, Transition } from "@headlessui/react";
|
|||
// ui
|
||||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// hooks
|
||||
import { useProject } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export * from "./selection";
|
||||
export * from "./archive-restore-modal";
|
||||
|
|
@ -2,17 +2,20 @@
|
|||
|
||||
import { FC } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
// plane imports
|
||||
import { PROJECT_TRACKER_ELEMENTS, PROJECT_TRACKER_EVENTS } from "@plane/constants";
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
import { IProject } from "@plane/types";
|
||||
import { ToggleSwitch, Tooltip, setPromiseToast } from "@plane/ui";
|
||||
// hooks
|
||||
import { SettingsHeading } from "@/components/settings";
|
||||
// components
|
||||
import { SettingsHeading } from "@/components/settings/heading";
|
||||
// helpers
|
||||
import { captureSuccess } from "@/helpers/event-tracker.helper";
|
||||
import { useProject, useUser } from "@/hooks/store";
|
||||
// plane web components
|
||||
import { UpgradeBadge } from "@/plane-web/components/workspace";
|
||||
// plane web constants
|
||||
// hooks
|
||||
import { useProject } from "@/hooks/store/use-project"
|
||||
import { useUser } from "@/hooks/store/user";
|
||||
// plane web imports
|
||||
import { UpgradeBadge } from "@/plane-web/components/workspace/upgrade-badge";
|
||||
import { PROJECT_FEATURES_LIST } from "@/plane-web/constants/project/settings";
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
export * from "./delete-project-section";
|
||||
export * from "./features-list";
|
||||
export * from "./archive-project";
|
||||
|
|
@ -9,7 +9,8 @@ import { EUserProjectRoles, IUser, IWorkspaceMember, TProjectMembership } from "
|
|||
import { CustomMenu, CustomSelect, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
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";
|
||||
|
||||
export interface RowData extends Pick<TProjectMembership, "original_role"> {
|
||||
member: IWorkspaceMember;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue