From 92a077dce103bafb84a92944ed9126a42b1970cc Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Fri, 15 Mar 2024 17:28:45 +0530 Subject: [PATCH] [WEB-504] chore: command k and issue relation modal empty state (#3955) * chore: empty state asset updated * chore: empty state asset updated * chore: empty state config file updated * chore: notification empty state updated * chore: command-k, bulk delete and issue relation modal empty state updated * chore: code refactor * chore: code refactor --- .../command-palette/command-modal.tsx | 25 ++++-- .../core/modals/bulk-delete-issues-modal.tsx | 29 ++++--- .../modals/existing-issues-list-modal.tsx | 25 +++--- web/components/core/modals/index.ts | 1 + .../modals/issue-search-modal-empty-state.tsx | 36 ++++++++ web/components/empty-state/empty-state.tsx | 24 +++++- .../inbox/modals/select-duplicate.tsx | 27 +++--- .../issues/parent-issues-list-modal.tsx | 23 +++--- .../notifications/notification-popover.tsx | 41 +++++---- web/constants/empty-state.ts | 78 ++++++++++++++++-- .../empty-state/search/archive-dark.webp | Bin 0 -> 2292 bytes .../empty-state/search/archive-light.webp | Bin 0 -> 2434 bytes .../empty-state/search/comments-dark.webp | Bin 0 -> 2574 bytes .../empty-state/search/comments-light.webp | Bin 0 -> 2744 bytes web/public/empty-state/search/issue-dark.webp | Bin 0 -> 3118 bytes .../empty-state/search/issues-light.webp | Bin 0 -> 2924 bytes .../empty-state/search/notification-dark.webp | Bin 0 -> 2286 bytes .../search/notification-light.webp | Bin 0 -> 2524 bytes .../empty-state/search/search-dark.webp | Bin 0 -> 2330 bytes .../empty-state/search/search-light.webp | Bin 0 -> 2644 bytes .../empty-state/search/snooze-dark.webp | Bin 0 -> 2464 bytes .../empty-state/search/snooze-light.webp | Bin 0 -> 2790 bytes 22 files changed, 231 insertions(+), 78 deletions(-) create mode 100644 web/components/core/modals/issue-search-modal-empty-state.tsx create mode 100644 web/public/empty-state/search/archive-dark.webp create mode 100644 web/public/empty-state/search/archive-light.webp create mode 100644 web/public/empty-state/search/comments-dark.webp create mode 100644 web/public/empty-state/search/comments-light.webp create mode 100644 web/public/empty-state/search/issue-dark.webp create mode 100644 web/public/empty-state/search/issues-light.webp create mode 100644 web/public/empty-state/search/notification-dark.webp create mode 100644 web/public/empty-state/search/notification-light.webp create mode 100644 web/public/empty-state/search/search-dark.webp create mode 100644 web/public/empty-state/search/search-light.webp create mode 100644 web/public/empty-state/search/snooze-dark.webp create mode 100644 web/public/empty-state/search/snooze-light.webp diff --git a/web/components/command-palette/command-modal.tsx b/web/components/command-palette/command-modal.tsx index cffd3ff11..60c4fcc04 100644 --- a/web/components/command-palette/command-modal.tsx +++ b/web/components/command-palette/command-modal.tsx @@ -4,9 +4,19 @@ import { observer } from "mobx-react-lite"; import { useRouter } from "next/router"; import useSWR from "swr"; import { Dialog, Transition } from "@headlessui/react"; +// icons import { FolderPlus, Search, Settings } from "lucide-react"; // hooks +import { useApplication, useEventTracker, useProject } from "hooks/store"; +import { usePlatformOS } from "hooks/use-platform-os"; +import useDebounce from "hooks/use-debounce"; +// services +import { IssueService } from "services/issue"; +import { WorkspaceService } from "services/workspace.service"; +// ui import { LayersIcon, Loader, ToggleSwitch, Tooltip } from "@plane/ui"; +// components +import { EmptyState } from "components/empty-state"; import { CommandPaletteThemeActions, ChangeIssueAssignee, @@ -18,18 +28,13 @@ import { CommandPaletteWorkspaceSettingsActions, CommandPaletteSearchResults, } from "components/command-palette"; -import { ISSUE_DETAILS } from "constants/fetch-keys"; -import { useApplication, useEventTracker, useProject } from "hooks/store"; -import { usePlatformOS } from "hooks/use-platform-os"; -// services -import useDebounce from "hooks/use-debounce"; -import { IssueService } from "services/issue"; -import { WorkspaceService } from "services/workspace.service"; // types import { IWorkspaceSearchResults } from "@plane/types"; // fetch-keys +// constants +import { EmptyStateType } from "constants/empty-state"; +import { ISSUE_DETAILS } from "constants/fetch-keys"; -// services const workspaceService = new WorkspaceService(); const issueService = new IssueService(); @@ -244,7 +249,9 @@ export const CommandModal: React.FC = observer(() => { )} {!isLoading && resultsCount === 0 && searchTerm !== "" && debouncedSearchTerm !== "" && ( -
No results found.
+
+ +
)} {(isLoading || isSearching) && ( diff --git a/web/components/core/modals/bulk-delete-issues-modal.tsx b/web/components/core/modals/bulk-delete-issues-modal.tsx index 94d665fa7..05b98176c 100644 --- a/web/components/core/modals/bulk-delete-issues-modal.tsx +++ b/web/components/core/modals/bulk-delete-issues-modal.tsx @@ -5,22 +5,22 @@ import { SubmitHandler, useForm } from "react-hook-form"; import useSWR from "swr"; import { Combobox, Dialog, Transition } from "@headlessui/react"; // services -import { Search } from "lucide-react"; -import { Button, LayersIcon, TOAST_TYPE, setToast } from "@plane/ui"; - -import { PROJECT_ISSUES_LIST } from "constants/fetch-keys"; -import { EIssuesStoreType } from "constants/issue"; -import { useIssues, useProject } from "hooks/store"; import { IssueService } from "services/issue"; // ui +import { Button, TOAST_TYPE, setToast } from "@plane/ui"; // icons +import { Search } from "lucide-react"; // types import { IUser, TIssue } from "@plane/types"; -// fetch keys // store hooks +import { useIssues, useProject } from "hooks/store"; // components import { BulkDeleteIssuesModalItem } from "./bulk-delete-issues-modal-item"; +import { EmptyState } from "components/empty-state"; // constants +import { PROJECT_ISSUES_LIST } from "constants/fetch-keys"; +import { EIssuesStoreType } from "constants/issue"; +import { EmptyStateType } from "constants/empty-state"; type FormInput = { delete_issue_ids: string[]; @@ -178,12 +178,15 @@ export const BulkDeleteIssuesModal: React.FC = observer((props) => { ) : ( -
- -

- No issues found. Create a new issue with{" "} -
C
. -

+
+
)} diff --git a/web/components/core/modals/existing-issues-list-modal.tsx b/web/components/core/modals/existing-issues-list-modal.tsx index 79f134b31..b3f81b6ee 100644 --- a/web/components/core/modals/existing-issues-list-modal.tsx +++ b/web/components/core/modals/existing-issues-list-modal.tsx @@ -2,12 +2,14 @@ import React, { useEffect, useState } from "react"; import { Combobox, Dialog, Transition } from "@headlessui/react"; import { Rocket, Search, X } from "lucide-react"; // services -import { Button, LayersIcon, Loader, ToggleSwitch, Tooltip, TOAST_TYPE, setToast } from "@plane/ui"; - +import { ProjectService } from "services/project"; +// hooks import useDebounce from "hooks/use-debounce"; import { usePlatformOS } from "hooks/use-platform-os"; -import { ProjectService } from "services/project"; +// components +import { IssueSearchModalEmptyState } from "./issue-search-modal-empty-state"; // ui +import { Button, Loader, ToggleSwitch, Tooltip, TOAST_TYPE, setToast } from "@plane/ui"; // types import { ISearchIssueResponse, TProjectIssuesSearchParams } from "@plane/types"; @@ -40,7 +42,7 @@ export const ExistingIssuesListModal: React.FC = (props) => { const [isSearching, setIsSearching] = useState(false); const [isSubmitting, setIsSubmitting] = useState(false); const [isWorkspaceLevel, setIsWorkspaceLevel] = useState(false); - const { isMobile } = usePlatformOS(); + const { isMobile } = usePlatformOS(); const debouncedSearchTerm: string = useDebounce(searchTerm, 500); const handleClose = () => { @@ -192,15 +194,12 @@ export const ExistingIssuesListModal: React.FC = (props) => { )} - {!isSearching && issues.length === 0 && searchTerm !== "" && debouncedSearchTerm !== "" && ( -
- -

- No issues found. Create a new issue with{" "} -
C
. -

-
- )} + {isSearching ? ( diff --git a/web/components/core/modals/index.ts b/web/components/core/modals/index.ts index cf72365f5..a95c22114 100644 --- a/web/components/core/modals/index.ts +++ b/web/components/core/modals/index.ts @@ -4,3 +4,4 @@ export * from "./gpt-assistant-popover"; export * from "./link-modal"; export * from "./user-image-upload-modal"; export * from "./workspace-image-upload-modal"; +export * from "./issue-search-modal-empty-state"; diff --git a/web/components/core/modals/issue-search-modal-empty-state.tsx b/web/components/core/modals/issue-search-modal-empty-state.tsx new file mode 100644 index 000000000..00dcc03bb --- /dev/null +++ b/web/components/core/modals/issue-search-modal-empty-state.tsx @@ -0,0 +1,36 @@ +import React from "react"; +// components +import { EmptyState } from "components/empty-state"; +// types +import { ISearchIssueResponse } from "@plane/types"; +// constants +import { EmptyStateType } from "constants/empty-state"; + +interface EmptyStateProps { + issues: ISearchIssueResponse[]; + searchTerm: string; + debouncedSearchTerm: string; + isSearching: boolean; +} + +export const IssueSearchModalEmptyState: React.FC = ({ + issues, + searchTerm, + debouncedSearchTerm, + isSearching, +}) => { + const renderEmptyState = (type: EmptyStateType) => ( +
+ +
+ ); + + const emptyState = + issues.length === 0 && searchTerm !== "" && debouncedSearchTerm !== "" && !isSearching + ? renderEmptyState(EmptyStateType.ISSUE_RELATION_SEARCH_EMPTY_STATE) + : issues.length === 0 + ? renderEmptyState(EmptyStateType.ISSUE_RELATION_EMPTY_STATE) + : null; + + return emptyState; +}; diff --git a/web/components/empty-state/empty-state.tsx b/web/components/empty-state/empty-state.tsx index e718c065a..783025679 100644 --- a/web/components/empty-state/empty-state.tsx +++ b/web/components/empty-state/empty-state.tsx @@ -16,7 +16,7 @@ import { cn } from "helpers/common.helper"; export type EmptyStateProps = { type: EmptyStateType; size?: "sm" | "md" | "lg"; - layout?: "widget-simple" | "screen-detailed" | "screen-simple"; + layout?: "screen-detailed" | "screen-simple"; additionalPath?: string; primaryButtonOnClick?: () => void; primaryButtonLink?: string; @@ -149,6 +149,28 @@ export const EmptyState: React.FC = (props) => {
)} + {layout === "screen-simple" && ( +
+
+ {key +
+ {description ? ( + <> +

{title}

+

{description}

+ + ) : ( +

{title}

+ )} +
+ )} ); }; diff --git a/web/components/inbox/modals/select-duplicate.tsx b/web/components/inbox/modals/select-duplicate.tsx index 321628f53..b34dd4ee7 100644 --- a/web/components/inbox/modals/select-duplicate.tsx +++ b/web/components/inbox/modals/select-duplicate.tsx @@ -2,15 +2,19 @@ import React, { useEffect, useState } from "react"; import { useRouter } from "next/router"; import useSWR from "swr"; import { Combobox, Dialog, Transition } from "@headlessui/react"; +// hooks +import { useProject, useProjectState } from "hooks/store"; // icons import { Search } from "lucide-react"; +// components +import { EmptyState } from "components/empty-state"; // ui -import { Button, LayersIcon, TOAST_TYPE, setToast } from "@plane/ui"; -// fetch-keys -import { PROJECT_ISSUES_LIST } from "constants/fetch-keys"; -import { useProject, useProjectState } from "hooks/store"; +import { Button, TOAST_TYPE, setToast } from "@plane/ui"; // services import { IssueService } from "services/issue"; +// constants +import { PROJECT_ISSUES_LIST } from "constants/fetch-keys"; +import { EmptyStateType } from "constants/empty-state"; type Props = { isOpen: boolean; @@ -158,12 +162,15 @@ export const SelectDuplicateInboxIssueModal: React.FC = (props) => { ) : ( -
- -

- No issues found. Create a new issue with{" "} -
C
. -

+
+
)} diff --git a/web/components/issues/parent-issues-list-modal.tsx b/web/components/issues/parent-issues-list-modal.tsx index 7f5f4984b..cdf642711 100644 --- a/web/components/issues/parent-issues-list-modal.tsx +++ b/web/components/issues/parent-issues-list-modal.tsx @@ -3,14 +3,16 @@ import { useRouter } from "next/router"; // headless ui import { Combobox, Dialog, Transition } from "@headlessui/react"; // services -import { Rocket, Search } from "lucide-react"; -import { LayersIcon, Loader, ToggleSwitch, Tooltip } from "@plane/ui"; -import useDebounce from "hooks/use-debounce"; import { ProjectService } from "services/project"; // hooks +import useDebounce from "hooks/use-debounce"; import { usePlatformOS } from "hooks/use-platform-os"; +// components +import { IssueSearchModalEmptyState } from "components/core"; // ui +import { Loader, ToggleSwitch, Tooltip } from "@plane/ui"; // icons +import { Rocket, Search } from "lucide-react"; // types import { ISearchIssueResponse } from "@plane/types"; @@ -151,15 +153,12 @@ export const ParentIssuesListModal: React.FC = ({ )} - {!isSearching && issues.length === 0 && searchTerm !== "" && debouncedSearchTerm !== "" && ( -
- -

- No issues found. Create a new issue with{" "} -
C
. -

-
- )} + {isSearching ? ( diff --git a/web/components/notifications/notification-popover.tsx b/web/components/notifications/notification-popover.tsx index c3e508688..4dc595c0b 100644 --- a/web/components/notifications/notification-popover.tsx +++ b/web/components/notifications/notification-popover.tsx @@ -1,21 +1,22 @@ import React, { Fragment } from "react"; import { observer } from "mobx-react-lite"; import { Popover, Transition } from "@headlessui/react"; -import { Bell } from "lucide-react"; // hooks -import { Tooltip } from "@plane/ui"; -import { EmptyState } from "components/common"; -import { SnoozeNotificationModal, NotificationCard, NotificationHeader } from "components/notifications"; -import { NotificationsLoader } from "components/ui"; -import { getNumberCount } from "helpers/string.helper"; import { useApplication } from "hooks/store"; import useOutsideClickDetector from "hooks/use-outside-click-detector"; import useUserNotification from "hooks/use-user-notifications"; import { usePlatformOS } from "hooks/use-platform-os"; +// icons +import { Bell } from "lucide-react"; // components -// images -import emptyNotification from "public/empty-state/notification.svg"; +import { Tooltip } from "@plane/ui"; +import { EmptyState } from "components/empty-state"; +import { NotificationsLoader } from "components/ui"; +import { SnoozeNotificationModal, NotificationCard, NotificationHeader } from "components/notifications"; +// constants +import { EmptyStateType } from "constants/empty-state"; // helpers +import { getNumberCount } from "helpers/string.helper"; export const NotificationPopover = observer(() => { // states @@ -59,6 +60,16 @@ export const NotificationPopover = observer(() => { if (selectedNotificationForSnooze === null) setIsActive(false); }); + const currentTabEmptyState = snoozed + ? EmptyStateType.NOTIFICATION_SNOOZED_EMPTY_STATE + : archived + ? EmptyStateType.NOTIFICATION_ARCHIVED_EMPTY_STATE + : selectedTab === "created" + ? EmptyStateType.NOTIFICATION_CREATED_EMPTY_STATE + : selectedTab === "watching" + ? EmptyStateType.NOTIFICATION_SUBSCRIBED_EMPTY_STATE + : EmptyStateType.NOTIFICATION_MY_ISSUE_EMPTY_STATE; + return ( <> { /> <> - +
) : (
- +
) ) : ( diff --git a/web/constants/empty-state.ts b/web/constants/empty-state.ts index dd6d76ef3..587f58cee 100644 --- a/web/constants/empty-state.ts +++ b/web/constants/empty-state.ts @@ -59,7 +59,6 @@ export enum EmptyStateType { PROJECT_DRAFT_NO_ISSUES = "project-draft-no-issues", VIEWS_EMPTY_SEARCH = "views-empty-search", PROJECTS_EMPTY_SEARCH = "projects-empty-search", - COMMANDK_EMPTY_SEARCH = "commandK-empty-search", MEMBERS_EMPTY_SEARCH = "members-empty-search", PROJECT_MODULE_ISSUES = "project-module-issues", PROJECT_MODULE = "project-module", @@ -71,6 +70,18 @@ export enum EmptyStateType { PROJECT_PAGE_SHARED = "project-page-shared", PROJECT_PAGE_ARCHIVED = "project-page-archived", PROJECT_PAGE_RECENT = "project-page-recent", + + COMMAND_K_SEARCH_EMPTY_STATE = "command-k-search-empty-state", + ISSUE_RELATION_SEARCH_EMPTY_STATE = "issue-relation-search-empty-state", + ISSUE_RELATION_EMPTY_STATE = "issue-relation-empty-state", + ISSUE_COMMENT_EMPTY_STATE = "issue-comment-empty-state", + + NOTIFICATION_MY_ISSUE_EMPTY_STATE = "notification-my-issues-empty-state", + NOTIFICATION_CREATED_EMPTY_STATE = "notification-created-empty-state", + NOTIFICATION_SUBSCRIBED_EMPTY_STATE = "notification-subscribed-empty-state", + NOTIFICATION_ARCHIVED_EMPTY_STATE = "notification-archived-empty-state", + NOTIFICATION_SNOOZED_EMPTY_STATE = "notification-snoozed-empty-state", + NOTIFICATION_UNREAD_EMPTY_STATE = "notification-unread-empty-state", } const emptyStateDetails = { @@ -384,11 +395,6 @@ const emptyStateDetails = { description: "No projects detected with the matching criteria. Create a new project instead.", path: "/empty-state/search/project", }, - [EmptyStateType.COMMANDK_EMPTY_SEARCH]: { - key: EmptyStateType.COMMANDK_EMPTY_SEARCH, - title: "No results found. ", - path: "/empty-state/search/search", - }, [EmptyStateType.MEMBERS_EMPTY_SEARCH]: { key: EmptyStateType.MEMBERS_EMPTY_SEARCH, title: "No matching members", @@ -504,6 +510,66 @@ const emptyStateDetails = { accessType: "project", access: EUserProjectRoles.MEMBER, }, + + [EmptyStateType.COMMAND_K_SEARCH_EMPTY_STATE]: { + key: EmptyStateType.COMMAND_K_SEARCH_EMPTY_STATE, + title: "No results found", + path: "/empty-state/search/search", + }, + [EmptyStateType.ISSUE_RELATION_SEARCH_EMPTY_STATE]: { + key: EmptyStateType.ISSUE_RELATION_SEARCH_EMPTY_STATE, + title: "No maching issues found", + path: "/empty-state/search/search", + }, + [EmptyStateType.ISSUE_RELATION_EMPTY_STATE]: { + key: EmptyStateType.ISSUE_RELATION_EMPTY_STATE, + title: "No issues found", + path: "/empty-state/search/issues", + }, + [EmptyStateType.ISSUE_COMMENT_EMPTY_STATE]: { + key: EmptyStateType.ISSUE_COMMENT_EMPTY_STATE, + title: "No comments yet", + description: "Comments can be used as a discussion and follow-up space for the issues", + path: "/empty-state/search/comments", + }, + + [EmptyStateType.NOTIFICATION_MY_ISSUE_EMPTY_STATE]: { + key: EmptyStateType.NOTIFICATION_MY_ISSUE_EMPTY_STATE, + title: "No issues assigned", + description: "Updates for issues assigned to you can be \n seen here", + path: "/empty-state/search/notification", + }, + + [EmptyStateType.NOTIFICATION_CREATED_EMPTY_STATE]: { + key: EmptyStateType.NOTIFICATION_CREATED_EMPTY_STATE, + title: "No updates to issues", + description: "Updates to issues created by you can be \n seen here", + path: "/empty-state/search/notification", + }, + [EmptyStateType.NOTIFICATION_SUBSCRIBED_EMPTY_STATE]: { + key: EmptyStateType.NOTIFICATION_SUBSCRIBED_EMPTY_STATE, + title: "No updates to issues", + description: "Updates to any issue you are \n subscribed to can be seen here", + path: "/empty-state/search/notification", + }, + [EmptyStateType.NOTIFICATION_UNREAD_EMPTY_STATE]: { + key: EmptyStateType.NOTIFICATION_UNREAD_EMPTY_STATE, + title: "No unread notifications", + description: "Congratulations, you are up-to-date \n with everything happening in the issues \n you care about", + path: "/empty-state/search/notification", + }, + [EmptyStateType.NOTIFICATION_SNOOZED_EMPTY_STATE]: { + key: EmptyStateType.NOTIFICATION_SNOOZED_EMPTY_STATE, + title: "No snoozed notifications yet", + description: "Any notification you snooze for later will \n be available here to act upon", + path: "/empty-state/search/snooze", + }, + [EmptyStateType.NOTIFICATION_ARCHIVED_EMPTY_STATE]: { + key: EmptyStateType.NOTIFICATION_ARCHIVED_EMPTY_STATE, + title: "No archived notifications yet", + description: "Any notification you archive will be \n available here to help you focus", + path: "/empty-state/search/archive", + }, } as const; export const EMPTY_STATE_DETAILS: Record = emptyStateDetails; diff --git a/web/public/empty-state/search/archive-dark.webp b/web/public/empty-state/search/archive-dark.webp new file mode 100644 index 0000000000000000000000000000000000000000..d586be888624e9bb074aefbed3a1f103419d083d GIT binary patch literal 2292 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 AUjP6A literal 0 HcmV?d00001 diff --git a/web/public/empty-state/search/comments-dark.webp b/web/public/empty-state/search/comments-dark.webp new file mode 100644 index 0000000000000000000000000000000000000000..d06ba7e4288cb6c3ce390a826bc1411b6e0bbc28 GIT binary patch literal 2574 zcmV+p3i0()Nk&En3IG6CMM6+kP&il$0000G0000b0RSZd06|PpNVEk200EFyZEqG^ zkq`$v5|B^{<6zgpu7kk=I4BM{4k`f&kq`;Fm_G(elB=^KVgkT`G~Dty)wONRqA!Jc zYpqUWP6LAP=~kwdMUS|(sieVQm`dG54==5jgkGXtSx>#yJa}g)t7sQxErVAuSJAF= z&EyU$O}pF*IfCv@JH8ci0p6Q-f6HV%yfwYZmJOFC(F^5DHcL$}w`FtTUG$PUlcn%3 zdf8IRN>ugYD_MxD8nBXesHzbwSqAT-cC2I-yo;KW?>4!ynv=6VhNdQMWDA_stamg- zVl^yhE8wcetz?2fQS)-XK3vtrl`bxc8kzHz;iQJ1u8UYr&2&+JqQ;hTML4O!C%hcm z)Z|PTlSGZq=~DjG@b?Ru)b!I;U{m8ayaZx3Khp&es{@(3H;B4WhR*$pI#F(2`&CE& zcI;POS-N#sXWlz?S9jjK^rsH}?a;5f^tU^|>eS!P4B{0Tx%^q)ow{&W2bT^cb#Xc!v5$mKhOAEB@LZF+c{;={q$J>Q_hu z5x-F*Vf+F~Bna-8H5AAFI2L5LtihP}YSGYkA`Qp1PmPCpAC3pXJ+cPmZI2caZ3ohj z#Lsd}jGt{W(LN##%AZe4RE(c&QPDmi4a=YRN?erpT3ocZNCOk!$&r!YsgY6N;mD9T z1`W;ORf&!AYK@J5uOv3)#h}6Y^DIY4epaKSKHH*$pP+^(KBV|a4<$azLyeF6(Bflz zkoXV)7&JhC08)h907`@ufH^{DfEFSD0JaEW0F6)q3=#bqVq{1$a?3H2#~2ys7@3zC zsVzqS1xedtWaAj&D3KTu{qItV5#bo&DA{6UYcbN+AX#Fh&M`8NF*4>D$+s9uLyQa* zBM1^A030D3z#1V9V2+R(phQRkxJ5_;pa>ZNK;lCH0JivO4@-R1hY}y4Hg|Cx@0DTX}2&iyC6#p?D0Y?9ga7bkDF&y;fy?hjCzH4yU!FO~Vm_0Yb zfsy^jcqB-E%W&+~YZVTT;xneBLGf9JDCg?x0{g~hiv01MnT;y!K8Lo4*T!AZ1Y&A)6t;9Cl2(A`qi_HiZT*O*Z;F^hT z#RQiAe9dWeFj9^M?HfaNxGqXMT z1|}WZ7BV6jl@>$Dh+tS+tWXJzON#|6fq`kcx=LVVTI9N9L@+dEz9tzFtexBSv;-!n zg|9^B1a{BuD%uUf_LR5&wGqLCRJNYAk-(2sTAx}W@FwMj`yw?XICUti^g-4#fOChu zZ0F*d37m|nEKQClTP+E}-9svK+YTYT&gDkndmK_8=i1uFEU$!lYipgyd>aT12v$%y zAS?s`0MIu8odGH)0VV-Hkw~6PC8VOEr8N0yuo4MrZsBKsQvLyq1>gt}AH_QWKL9yQ z>_78Belh&aP&Wt1+ua%2tg@ld#^?Jl|H962#f`3%m| zi_motUWN4J7M!DPNHHq?^iW7Glj`DzAUzQ@@+pOS5_3+Zj)fs>3fyVX9EI&@3ND0=PasuMr<(x@qyRDaGkWc&}hUj7J|k% z$*nl+Fo|m70JzlvHho*hP90}gLc(uWpR$_iI5UOWZhCD{5)`n4?(0BHr(A)vOq=fIkjO@Du@`Rtq4A)BYKh~u<x z9h2(fjTV%tYTTs67RmK-LoOOQ^0b^<;tFTicPWG&7eALgy9K2dH5?37Z)%>Qe@%2XnXxnwA zP5Mr>nu%ug#yJa}g)t7sQxErVAuSJAF= z&EyU$O}pF*IfCv@JH8ci0p6Q-f6HV%yfwYZmJOFC(F^5DHcL$}w`FtTUG$PUlcn%3 zdf8IRN>ugYD_MxD8nBXesHzbwSqAT-cC2I-yo;KW?>4!ynv=6VhNdQMWDA_stamg- zVl^yhE8wcetz?2fQS)-XK3vtrl`bxc8kzHz;iQJ1u8UYr&2&+JqQ;hTML4O!C%hcm z)Z|PTlSGZq=~DjG@b?Ru)b!I;U{m8ayaZx3Khp&es{@(3H;B4WhR*$pI#F(2`&CE& zcI;POS-N#sXWlz?S9jjK^rsH}?a;5f^tU^|>eS!P4B{0Tx%^q)ow{&W2bT^cb#Xc!v5$mKhOAEB@LZF+c{;={q$J>Q_hu z5x-F*Vf+F~Bna-8H5AAFI2L5LtihP}YSGYkA`Qp1PmPCpAC3pXJ+cPmZI2caZ3ohj z#Lsd}jGt{W(LN##%AZe4RE(c&QPDmi4a=YRN?erpT3ocZNCOk!$&r!YsgY6N;mD9T z1`W;ORf&!AYK@J5uOv3)#h}6Y^DIY4epaKSKHH*$pP+^(KBV|a4<$azLyeF6(Bflz zkoXV)7&JhC08)h907`@ufH^{DfEFSD0JaEW0F6)q3=#bqVq{1$a?3H2#~2ys7@3zC zsVzqS1xedtWaAj&D3KTu{qItV5#bo&DA{6UYcbN+AX#Fh&M`8NF*4>D$+s9uLyQa* zBM1^A030D3z#1V9V2+R(phQRkxJ5_;pa>ZNK;lCH0JivO4@-R1hY}y4Hg|Cx@0DTX}2&iyC6#p?D0Y?9ga7bkDF&y;fy?hjCzH4yU!FO~Vm_0Yb zfsy^jcqB-E%W&+~YZVTT;xneBLGf9JDCg?x0{g~hiv01MnT;y!K8Lo4*T!AZ1Y&A)6t;9Cl2(A`qi_HiZT*O*Z;F^hT z#RQiAe9dWeFj9^M?HfaNxGqXMT z1|}WZ7BV6jl@>$Dh+tS+tWXJzON#|6fq`kcx=LVVTI9N9L@+dEz9tzFtexBSv;-!n zg|9^B1a{BuD%uUf_LR5&wGqLCRJNYAk-(2sTAx}W@FwMj`yw?XICUti^g-4#fOChu zZ0F*d37m|nEKQClTP+E}-9svK+YTYT&gDkndmK_8=i1uFEU$!lYipgyd>aT12v$%y zAl3u`0MI-DodGH)0VV-Hkw%|NrKBSvsPc$Vuo4MrZsBX5RsJo20RjW?1M~w>1Mma% z0@ME}3-AxX3&Guuk8=`zDgH<31C^Ta&Gp$lt0DTyTlr>6&sG2MkVp;%gGjJ=i#DF% zO|#{!TFQ?g_3}mLC6p7L^>lX-EbfZP268{Y*+K^G9k-zyK=*}by>0;me_SAxn z1(+k;r?-Vs_NsAaZBhghL&4b+YK3!2PQW(a`VxixzaA!>YW20tq4G1fN;GINMw+x(Rr(^@;I0fG$bFflw=oVe!CY;MU}|TF1A|1 zS|5r}p9^GY!HqQAF7ljTO5q1+Ec@J;M&=n8xw#gAj6P$E5z=b%ocL6bOBMz1B5JhS zgCts=>#NgeT2kZ4qB(-l%k9tlF|t&ptw37Pok26S5m5152~U4dkFZlGfmIqaJJD1f z|M^Cl{P2XFw>mio>F|p8#GGXgde@8T1-`HInqjb$x4Y9{yZ`0LlzOh+V4A#6^n}EjSkm=*);$YiPOwvu#bUc z-b^wqPEh@7vb5EUVEjtM6s?Pj+(DAt*4*2w7UT;60RC|KdUBut`0Q<~_kMgYP62tD zbV6yEnpop-Tj!qPJ5TIf;J_UB6mFjZz-9yC04zA%bcSAl4!e=E=ZWjdy+8klV?JsS ziQ={%Y=IkTbmlCq&gVg{rPkXzXqNbiSS7_jM*xyN?rf;qXn|kRzoE&Q5 z{s(u`McNsMf3WIWMi2p{XQu&PRuvYpj>=E>*|BSg3GV0}37)C+>gbyL*J0|?;C1NTxW zr!!_C&t1F_G%)OqV5oDSxi$-VMMHq)q)(VVHTdlIrd`<0uL6m_(aGM@O06r1Gk;fp zW82S59A~(X!$vHvBYo|ItQ#1vHHa`>A_~#D(%cc>!E<_C3r4gKA8P4QKZQQ#7>{Z? z02Ua!a*sfo(ZbqtsP8I!0FLTniXU#IocNq-kbZHk0V1_Hp*0}a9y?J@89A8I#d$$% yJfr{yz!%mZI`Ym7L5b4fUh&>))Z&EHgIsF`w3d_9>?Tkb>f?;w4);Q3kN^PdL>I{b literal 0 HcmV?d00001 diff --git a/web/public/empty-state/search/issue-dark.webp b/web/public/empty-state/search/issue-dark.webp new file mode 100644 index 0000000000000000000000000000000000000000..dcd00aa94791922af3c32d11ea11ec0c0972dd6d GIT binary patch literal 3118 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 Wv_hkz0E-}dEABtg040iA0002AMP*n3 literal 0 HcmV?d00001 diff --git a/web/public/empty-state/search/notification-dark.webp b/web/public/empty-state/search/notification-dark.webp new file mode 100644 index 0000000000000000000000000000000000000000..cb299d112154affd00e5a837b778d6f86fa132f6 GIT binary patch literal 2286 zcmV#yJa}g)t7sQxErVAuSJAF= z&EyU$O}pF*IfCv@JH8ci0p6Q-f6HV%yfwYZmJOFC(F^5DHcL$}w`FtTUG$PUlcn%3 zdf8IRN>ugYD_MxD8nBXesHzbwSqAT-cC2I-yo;KW?>4!ynv=6VhNdQMWDA_stamg- zVl^yhE8wcetz?2fQS)-XK3vtrl`bxc8kzHz;iQJ1u8UYr&2&+JqQ;hTML4O!C%hcm z)Z|PTlSGZq=~DjG@b?Ru)b!I;U{m8ayaZx3Khp&es{@(3H;B4WhR*$pI#F(2`&CE& zcI;POS-N#sXWlz?S9jjK^rsH}?a;5f^tU^|>eS!P4B{0Tx%^q)ow{&W2bT^cb#Xc!v5$mKhOAEB@LZF+c{;={q$J>Q_hu z5x-F*Vf+F~Bna-8H5AAFI2L5LtihP}YSGYkA`Qp1PmPCpAC3pXJ+cPmZI2caZ3ohj z#Lsd}jGt{W(LN##%AZe4RE(c&QPDmi4a=YRN?erpT3ocZNCOk!$&r!YsgY6N;mD9T z1`W;ORf&!AYK@J5uOv3)#h}6Y^DIY4epaKSKHH*$pP+^(KBV|a4<$azLyeF6(Bflz zkoXV)7&JhC08)h907`@ufH^{DfEFSD0JaEW0F6)q3=#bqVq{1$a?3H2#~2ys7@3zC zsVzqS1xedtWaAj&D3KTu{qItV5#bo&DA{6UYcbN+AX#Fh&M`8NF*4>D$+s9uLyQa* zBM1^A030D3z#1V9V2+R(phQRkxJ5_;pa>ZNK;lCH0JivO4@-R1hY}y4Hg|Cx@0DTX}2&iyC6#p?D0Y?9ga7bkDF&y;fy?hjCzH4yU!FO~Vm_0Yb zfsy^jcqB-E%W&+~YZVTT;xneBLGf9JDCg?x0{g~hiv01MnT;y!K8Lo4*T!AZ1Y&A)6t;9Cl2(A`qi_HiZT*O*Z;F^hT z#RQiAe9dWeFj9^M?HfaNxGqXMT z1|}WZ7BV6jl@>$Dh+tS+tWXJzON#|6fq`kcx=LVVTI9N9L@+dEz9tzFtexBSv;-!n zg|9^B1a{BuD%uUf_LR5&wGqLCRJNYAk-(2sTAx}W@FwMj`yw?XICUti^g-4#fOChu zZ0F*d37m|nEKQClTP+E}-9svK+YTYT&gDkndmK_8=i1uFEU$!lYipgyd>aT12v$%y zAPfTl05CEDodGH)0VV-Hkw~9QC8VPvqO{q#uo4MrZsBQ;J^mq#1+z;N{wdf2!~tRd zl?V9K+UBP37-L&Vm~}wEK=y7>sqENB7IgLk&*iH}>C&J_3W91d_$-WJ`E>#|fCY7H zlD@shR7^iEpe|xDUM*~Y56eA`+Usyy)H_SAr@&ohP#5g?Ob>2t-47PX`B$3&%isJM5=)^@5cZS2hc76zV7M5yRZ7MhlLGHZ?U`%1n;(Il;vL@}Pt8g;} zm{DyDgXPdbjcXKkVpA+x1Tg9ZO2{Bcn0s>}u48U1I;gYk-zK#}Nn9T;f&^rHZooVT zNc53FwTuT^W;4kjbhIl4pT%&AIwRbxo$n}@m*m$j%@<6+ubp8blcB$t0`ZS(?U2uWAhMbFF0b$)vDq{Q7(j=EE8VBT5QfO`xhHpm<6pJ@7Q|3Kwr9 zsz&^G%YuVZISyv2vj6@7YHQ8%;VTQs-m(6Qvm%&D^NOjH=0*Z=dAJH{5cR)xp#LjQ z8eG=D&5{y+#TXVeqz?sHH3(aFf`VLf)8es28E34ExzqzW3h_0@%&joTKV_tkMh*Hg zjauh(!W!LN02T!x{K6}+mAtS90MB`VIV6?xk=JWhEsv5h+7e@hbrjV0wipEM#M|Dr z?p~XU!{G8^?e}}xRC*a>j~4IYxMF)_kGILGM@xqIm3^zT7x00f`^#qvAJ{z=6&1$W zy($K7g{SfkQ{WqytjBBIK&`!LL10z5keh7*S8iWjx*5(v|I|^+xC=5msHPbdpa3G$ z(pCcif(I24O6W_2{LG^sX_rU))mj7M->hG#AQlM IT8IDu04{Sawg3PC literal 0 HcmV?d00001 diff --git a/web/public/empty-state/search/notification-light.webp b/web/public/empty-state/search/notification-light.webp new file mode 100644 index 0000000000000000000000000000000000000000..55c4ffac753590e113f06ad782d485005cb7da48 GIT binary patch literal 2524 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 literal 0 HcmV?d00001 diff --git a/web/public/empty-state/search/search-dark.webp b/web/public/empty-state/search/search-dark.webp new file mode 100644 index 0000000000000000000000000000000000000000..92abc616ba7dce14f5746be6b05347ce2c9c0bdf GIT binary patch literal 2330 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 literal 0 HcmV?d00001 diff --git a/web/public/empty-state/search/snooze-dark.webp b/web/public/empty-state/search/snooze-dark.webp new file mode 100644 index 0000000000000000000000000000000000000000..296e797e82a3ad629d19c27b6f1006d541c632cc GIT binary patch literal 2464 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 literal 0 HcmV?d00001 diff --git a/web/public/empty-state/search/snooze-light.webp b/web/public/empty-state/search/snooze-light.webp new file mode 100644 index 0000000000000000000000000000000000000000..897ff359887b7abb443bdbbee4dad601aaece2e1 GIT binary patch literal 2790 zcmV#yJa}g)t7sQxErVAuSJAF= z&EyU$O}pF*IfCv@JH8ci0p6Q-f6HV%yfwYZmJOFC(F^5DHcL$}w`FtTUG$PUlcn%3 zdf8IRN>ugYD_MxD8nBXesHzbwSqAT-cC2I-yo;KW?>4!ynv=6VhNdQMWDA_stamg- zVl^yhE8wcetz?2fQS)-XK3vtrl`bxc8kzHz;iQJ1u8UYr&2&+JqQ;hTML4O!C%hcm z)Z|PTlSGZq=~DjG@b?Ru)b!I;U{m8ayaZx3Khp&es{@(3H;B4WhR*$pI#F(2`&CE& zcI;POS-N#sXWlz?S9jjK^rsH}?a;5f^tU^|>eS!P4B{0Tx%^q)ow{&W2bT^cb#Xc!v5$mKhOAEB@LZF+c{;={q$J>Q_hu z5x-F*Vf+F~Bna-8H5AAFI2L5LtihP}YSGYkA`Qp1PmPCpAC3pXJ+cPmZI2caZ3ohj z#Lsd}jGt{W(LN##%AZe4RE(c&QPDmi4a=YRN?erpT3ocZNCOk!$&r!YsgY6N;mD9T z1`W;ORf&!AYK@J5uOv3)#h}6Y^DIY4epaKSKHH*$pP+^(KBV|a4<$azLyeF6(Bflz zkoXV)7&JhC08)h907`@ufH^{DfEFSD0JaEW0F6)q3=#bqVq{1$a?3H2#~2ys7@3zC zsVzqS1xedtWaAj&D3KTu{qItV5#bo&DA{6UYcbN+AX#Fh&M`8NF*4>D$+s9uLyQa* zBM1^A030D3z#1V9V2+R(phQRkxJ5_;pa>ZNK;lCH0JivO4@-R1hY}y4Hg|Cx@0DTX}2&iyC6#p?D0Y?9ga7bkDF&y;fy?hjCzH4yU!FO~Vm_0Yb zfsy^jcqB-E%W&+~YZVTT;xneBLGf9JDCg?x0{g~hiv01MnT;y!K8Lo4*T!AZ1Y&A)6t;9Cl2(A`qi_HiZT*O*Z;F^hT z#RQiAe9dWeFj9^M?HfaNxGqXMT z1|}WZ7BV6jl@>$Dh+tS+tWXJzON#|6fq`kcx=LVVTI9N9L@+dEz9tzFtexBSv;-!n zg|9^B1a{BuD%uUf_LR5&wGqLCRJNYAk-(2sTAx}W@FwMj`yw?XICUti^g-4#fOChu zZ0F*d37m|nEKQClTP+E}-9svK+YTYT&gDkndmK_8=i1uFEU$!lYipgyd>aT12v$%y zAOr;f05CxSodGH)0VV-Hkw%?LC8Q#usk4Znuo4MrZsBU~Wd1RG@!&rIKR`7AKL9^K zAOJrAF8s72^jtsEKem6S`T+X5gKHJb1=|d>LKw{ptj8N#cwT*OP4zEr-w7dh9Kai^O5ai#+~>BJsHLKG ze6~Vf0iqBN^*O|d>!ApOO7zpwLRi#{q9k;{Psin5EaHDT2Tc3pf^VjBeXWW&mu-F7 zK+~KA<%!9z6xh7smNQA6ecDj$XN*tyxy_&>`=OmN%;0*1x!tADX8`%4Oe6`Pk@4&Y z#UU;zUNM%^eDg`1ZN!>liw9Q%3dd;9+#~EzZzfbcd6`X7)>KIm-nD}P1d0Cj`u8OB zx4AGV4s)_4som(-Lq)xH``E@4-kbBQ7fpNfBvn?9Fk^|RgU_*D~0ngV4Rq#%Z>PkPYqLVrFf z(i6<7hBIn&c8YO2czMn3tO0;~;SAA5>l!rQB!4B)o@O3lJlXN!Yp=G4ywNuyg%)o! zYV$%q)LWl6X8r_b%ZLB~{&#BQbszuyb};`w)9McIgz?sMT09BF=)_O3?v1lHGkRGa z;2(DbDtx}bU#}q`fDnDtJLapv3;fsa58Hi9Stzt%5{No4!V{n*+wbL1uF=wJMbN@a zZAj^a!bC$^-L9^=@6639q_7icJ9KwM9%`E}nr?c4d5qy#!iq# z!+2fWO8Gu)S|U}zamd2aXuMr{rasbq?j;KSh+zIoTtRg| z)7+S$7?A(GLBeotBnW9((`F)R!Eihmvn!Ces`pJV@Rtbi+y@g2cf}GTdQtQk!4hTZ zvI3b(Rhw7Z4V6?h=axKPw62>1zh*Oy#*-BE_CGVi5p=B`8|KwyJS3|gO}p~#Fa`AB zE?HbL)t&^5cKrsGXU=S`k+WHNm@>Zw9ASMY|KmfC&%6vbawgB#RKx%P0KJb%IsgCw literal 0 HcmV?d00001