diff --git a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx index 7647633bc..d08ae98df 100644 --- a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx +++ b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx @@ -4,11 +4,11 @@ import { useCallback } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useParams } from "next/navigation"; -import { Earth, Lock } from "lucide-react"; +import { Earth, Layers, Lock } from "lucide-react"; // types import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types"; // ui -import { Breadcrumbs, Button, CustomMenu, PhotoFilterIcon, Tooltip } from "@plane/ui"; +import { Breadcrumbs, Button, CustomMenu, Tooltip } from "@plane/ui"; // components import { BreadcrumbLink, Logo } from "@/components/common"; import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues"; @@ -159,7 +159,7 @@ export const ProjectViewIssuesHeader: React.FC = observer(() => { } + icon={} /> } /> @@ -172,7 +172,7 @@ export const ProjectViewIssuesHeader: React.FC = observer(() => { {viewDetails?.logo_props?.in_use ? ( ) : ( - + )} {viewDetails?.name && truncateText(viewDetails.name, 40)} @@ -194,7 +194,7 @@ export const ProjectViewIssuesHeader: React.FC = observer(() => { {view?.logo_props?.in_use ? ( ) : ( - + )} {truncateText(view.name, 40)} diff --git a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/header.tsx b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/header.tsx index fae58221a..be2db8292 100644 --- a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/header.tsx +++ b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/header.tsx @@ -3,9 +3,10 @@ import { useCallback } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; +import { Layers } from "lucide-react"; // ui import { TViewFilterProps } from "@plane/types"; -import { Breadcrumbs, PhotoFilterIcon, Button } from "@plane/ui"; +import { Breadcrumbs, Button } from "@plane/ui"; // components import { BreadcrumbLink, Logo } from "@/components/common"; import { ViewListHeader } from "@/components/views"; @@ -75,9 +76,7 @@ export const ProjectViewsHeader = observer(() => { /> } /> - } + link={} />} /> diff --git a/web/ce/constants/project/settings/features.tsx b/web/ce/constants/project/settings/features.tsx index 61976bb60..140f3658c 100644 --- a/web/ce/constants/project/settings/features.tsx +++ b/web/ce/constants/project/settings/features.tsx @@ -1,6 +1,6 @@ import { ReactNode } from "react"; -import { FileText, Timer } from "lucide-react"; -import { ContrastIcon, DiceIcon, PhotoFilterIcon, Intake } from "@plane/ui"; +import { FileText, Layers, Timer } from "lucide-react"; +import { ContrastIcon, DiceIcon, Intake } from "@plane/ui"; export type TFeatureList = { [key: string]: { @@ -44,7 +44,7 @@ export const PROJECT_FEATURES_LIST: TProjectFeatures = { property: "issue_views_view", title: "Views", description: "Apply filters to issues and save them to analyse and investigate work.", - icon: , + icon: , isPro: false, isEnabled: true, }, diff --git a/web/core/components/command-palette/actions/project-actions.tsx b/web/core/components/command-palette/actions/project-actions.tsx index 56610ddc7..7666fd0a8 100644 --- a/web/core/components/command-palette/actions/project-actions.tsx +++ b/web/core/components/command-palette/actions/project-actions.tsx @@ -1,9 +1,9 @@ "use client"; import { Command } from "cmdk"; -import { ContrastIcon, FileText } from "lucide-react"; +import { ContrastIcon, FileText, Layers } from "lucide-react"; // hooks -import { DiceIcon, PhotoFilterIcon } from "@plane/ui"; +import { DiceIcon } from "@plane/ui"; import { useCommandPalette, useEventTracker } from "@/hooks/store"; // ui @@ -62,7 +62,7 @@ export const CommandPaletteProjectActions: React.FC = (props) => { className="focus:outline-none" >
- + Create new view
V diff --git a/web/core/components/command-palette/helpers.tsx b/web/core/components/command-palette/helpers.tsx index c29e854fa..2f41aa46d 100644 --- a/web/core/components/command-palette/helpers.tsx +++ b/web/core/components/command-palette/helpers.tsx @@ -1,7 +1,7 @@ "use client"; // types -import { Briefcase, FileText, LayoutGrid } from "lucide-react"; +import { Briefcase, FileText, Layers, LayoutGrid } from "lucide-react"; import { IWorkspaceDefaultSearchResult, IWorkspaceIssueSearchResult, @@ -9,7 +9,7 @@ import { IWorkspaceProjectSearchResult, IWorkspaceSearchResult, } from "@plane/types"; -import { ContrastIcon, DiceIcon, LayersIcon, PhotoFilterIcon } from "@plane/ui"; +import { ContrastIcon, DiceIcon, LayersIcon } from "@plane/ui"; export const commandGroups: { [key: string]: { @@ -45,7 +45,7 @@ export const commandGroups: { title: "Issues", }, issue_view: { - icon: , + icon: , itemName: (view: IWorkspaceDefaultSearchResult) => (
{view.project__identifier} {view.name} diff --git a/web/core/components/onboarding/tour/sidebar.tsx b/web/core/components/onboarding/tour/sidebar.tsx index b65386690..8668b95d0 100644 --- a/web/core/components/onboarding/tour/sidebar.tsx +++ b/web/core/components/onboarding/tour/sidebar.tsx @@ -1,8 +1,8 @@ "use client"; // icons -import { FileText } from "lucide-react"; -import { ContrastIcon, DiceIcon, LayersIcon, PhotoFilterIcon } from "@plane/ui"; +import { FileText, Layers } from "lucide-react"; +import { ContrastIcon, DiceIcon, LayersIcon } from "@plane/ui"; // types import { TTourSteps } from "./root"; @@ -24,7 +24,7 @@ const sidebarOptions: { }, { key: "views", - Icon: PhotoFilterIcon, + Icon: Layers, }, { key: "pages", diff --git a/web/core/components/views/form.tsx b/web/core/components/views/form.tsx index fc445e2b8..514dfe194 100644 --- a/web/core/components/views/form.tsx +++ b/web/core/components/views/form.tsx @@ -3,10 +3,11 @@ import { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; +import { Layers } from "lucide-react"; // types import { IProjectView, IIssueFilterOptions } from "@plane/types"; // ui -import { Button, EmojiIconPicker, EmojiIconPickerTypes, Input, PhotoFilterIcon, TextArea } from "@plane/ui"; +import { Button, EmojiIconPicker, EmojiIconPickerTypes, Input, TextArea } from "@plane/ui"; // components import { Logo } from "@/components/common"; import { AppliedFiltersList, FilterSelection, FiltersDropdown } from "@/components/issues"; @@ -144,7 +145,7 @@ export const ProjectViewForm: React.FC = observer((props) => { {logoValue?.in_use ? ( ) : ( - + )} diff --git a/web/core/components/views/view-list-item.tsx b/web/core/components/views/view-list-item.tsx index d1ed9d103..d0c913fae 100644 --- a/web/core/components/views/view-list-item.tsx +++ b/web/core/components/views/view-list-item.tsx @@ -3,10 +3,9 @@ import { FC, useRef } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; +import { Layers } from "lucide-react"; // types import { IProjectView } from "@plane/types"; -// ui -import { PhotoFilterIcon } from "@plane/ui"; // components import { Logo } from "@/components/common"; import { ListItem } from "@/components/core/list"; @@ -34,7 +33,7 @@ export const ProjectViewListItem: FC = observer((props) => { {view?.logo_props?.in_use ? ( ) : ( - + )} } diff --git a/web/core/components/views/views-list.tsx b/web/core/components/views/views-list.tsx index b6579912f..6b7d41172 100644 --- a/web/core/components/views/views-list.tsx +++ b/web/core/components/views/views-list.tsx @@ -1,5 +1,4 @@ import { observer } from "mobx-react"; -import Image from "next/image"; import { useParams } from "next/navigation"; // components import { ListLayout } from "@/components/core/list"; @@ -11,14 +10,12 @@ import { EmptyStateType } from "@/constants/empty-state"; // hooks import { useCommandPalette, useProjectView } from "@/hooks/store"; // assets -import AllFiltersImage from "@/public/empty-state/pages/all-filters.svg"; -import NameFilterImage from "@/public/empty-state/pages/name-filter.svg"; export const ProjectViewsList = observer(() => { const { projectId } = useParams(); // store hooks const { toggleCreateViewModal } = useCommandPalette(); - const { getProjectViews, getFilteredProjectViews, filters, loader } = useProjectView(); + const { getProjectViews, getFilteredProjectViews, loader } = useProjectView(); const projectViews = getProjectViews(projectId?.toString()); const filteredProjectViews = getFilteredProjectViews(projectId?.toString()); @@ -27,20 +24,8 @@ export const ProjectViewsList = observer(() => { if (filteredProjectViews.length === 0 && projectViews.length > 0) { return ( -
-
- 0 ? NameFilterImage : AllFiltersImage} - className="h-36 sm:h-48 w-36 sm:w-48 mx-auto" - alt="No matching modules" - /> -
No matching views
-

- {filters.searchQuery.length > 0 - ? "Remove the search criteria to see all views" - : "Remove the filters to see all views"} -

-
+
+
); } diff --git a/web/core/components/workspace/sidebar/projects-list-item.tsx b/web/core/components/workspace/sidebar/projects-list-item.tsx index 240e51f2d..f59549056 100644 --- a/web/core/components/workspace/sidebar/projects-list-item.tsx +++ b/web/core/components/workspace/sidebar/projects-list-item.tsx @@ -20,6 +20,7 @@ import { LogOut, MoreHorizontal, ChevronRight, + Layers, } from "lucide-react"; import { Disclosure, Transition } from "@headlessui/react"; // ui @@ -27,7 +28,6 @@ import { CustomMenu, Tooltip, ArchiveIcon, - PhotoFilterIcon, DiceIcon, ContrastIcon, LayersIcon, @@ -84,7 +84,7 @@ const navigation = (workspaceSlug: string, projectId: string) => [ { name: "Views", href: `/${workspaceSlug}/projects/${projectId}/views`, - Icon: PhotoFilterIcon, + Icon: Layers, }, { name: "Pages", diff --git a/web/core/constants/empty-state.ts b/web/core/constants/empty-state.ts index 3c0959d5d..87f74362d 100644 --- a/web/core/constants/empty-state.ts +++ b/web/core/constants/empty-state.ts @@ -423,8 +423,8 @@ const emptyStateDetails = { [EmptyStateType.VIEWS_EMPTY_SEARCH]: { key: EmptyStateType.VIEWS_EMPTY_SEARCH, title: "No matching views", - description: "No views match the search criteria. Create a new view instead.", - path: "/empty-state/search/search", + description: "No views match the search criteria. \n Create a new view instead.", + path: "/empty-state/search/views", }, [EmptyStateType.PROJECTS_EMPTY_SEARCH]: { key: EmptyStateType.PROJECTS_EMPTY_SEARCH, diff --git a/web/public/empty-state/disabled-feature/views-dark.webp b/web/public/empty-state/disabled-feature/views-dark.webp index c82d967ba..bfdb573fe 100644 Binary files a/web/public/empty-state/disabled-feature/views-dark.webp and b/web/public/empty-state/disabled-feature/views-dark.webp differ diff --git a/web/public/empty-state/disabled-feature/views-light.webp b/web/public/empty-state/disabled-feature/views-light.webp index 145bc8c24..e318e2717 100644 Binary files a/web/public/empty-state/disabled-feature/views-light.webp and b/web/public/empty-state/disabled-feature/views-light.webp differ diff --git a/web/public/empty-state/onboarding/views-dark.webp b/web/public/empty-state/onboarding/views-dark.webp index 7ad4e6a87..bfdb573fe 100644 Binary files a/web/public/empty-state/onboarding/views-dark.webp and b/web/public/empty-state/onboarding/views-dark.webp differ diff --git a/web/public/empty-state/onboarding/views-light.webp b/web/public/empty-state/onboarding/views-light.webp index 88c5967fb..e318e2717 100644 Binary files a/web/public/empty-state/onboarding/views-light.webp and b/web/public/empty-state/onboarding/views-light.webp differ diff --git a/web/public/empty-state/search/views-dark.webp b/web/public/empty-state/search/views-dark.webp new file mode 100644 index 000000000..e1d1ec796 Binary files /dev/null and b/web/public/empty-state/search/views-dark.webp differ diff --git a/web/public/empty-state/search/views-light.webp b/web/public/empty-state/search/views-light.webp new file mode 100644 index 000000000..e7a35f654 Binary files /dev/null and b/web/public/empty-state/search/views-light.webp differ