diff --git a/apps/app/components/command-palette/shortcuts-modal.tsx b/apps/app/components/command-palette/shortcuts-modal.tsx index 42e5770b9..0cdb051f6 100644 --- a/apps/app/components/command-palette/shortcuts-modal.tsx +++ b/apps/app/components/command-palette/shortcuts-modal.tsx @@ -3,6 +3,8 @@ import React, { useEffect, useState } from "react"; import { Dialog, Transition } from "@headlessui/react"; // icons import { XMarkIcon } from "@heroicons/react/20/solid"; +import { MagnifyingGlassIcon } from "@heroicons/react/24/outline"; +import { MacCommandIcon } from "components/icons"; // ui import { Input } from "components/ui"; @@ -15,7 +17,7 @@ const shortcuts = [ { title: "Navigation", shortcuts: [ - { keys: "Ctrl,/,Cmd,K", description: "To open navigator" }, + { keys: "Ctrl,K", description: "To open navigator" }, { keys: "↑", description: "Move up" }, { keys: "↓", description: "Move down" }, { keys: "←", description: "Move left" }, @@ -34,8 +36,8 @@ const shortcuts = [ { keys: "Delete", description: "To bulk delete issues" }, { keys: "H", description: "To open shortcuts guide" }, { - keys: "Ctrl,/,Cmd,Alt,C", - description: "To copy issue url when on issue detail page.", + keys: "Ctrl,Alt,C", + description: "To copy issue url when on issue detail page", }, ], }, @@ -100,13 +102,17 @@ export const ShortcutsModal: React.FC = ({ isOpen, setIsOpen }) => {
- setQuery(e.target.value)} - /> +
+ + setQuery(e.target.value)} + /> +
{query.trim().length > 0 ? ( @@ -114,14 +120,20 @@ export const ShortcutsModal: React.FC = ({ isOpen, setIsOpen }) => { filteredShortcuts.map((shortcut) => (
-
+

{shortcut.description}

-
+
{shortcut.keys.split(",").map((key, index) => ( - - {key} - + {key === "Ctrl" ? ( + + + + ) : ( + + {key === "Ctrl" ? : key} + + )} ))}
@@ -147,14 +159,20 @@ export const ShortcutsModal: React.FC = ({ isOpen, setIsOpen }) => {

{title}

{shortcuts.map(({ keys, description }, index) => ( -
+

{description}

-
+
{keys.split(",").map((key, index) => ( - - {key} - + {key === "Ctrl" ? ( + + + + ) : ( + + {key === "Ctrl" ? : key} + + )} ))}
diff --git a/apps/app/components/cycles/sidebar.tsx b/apps/app/components/cycles/sidebar.tsx index 8b5dc000d..674ac16c7 100644 --- a/apps/app/components/cycles/sidebar.tsx +++ b/apps/app/components/cycles/sidebar.tsx @@ -19,6 +19,7 @@ import { UserCircleIcon, ChevronDownIcon, DocumentIcon, + ExclamationCircleIcon, } from "@heroicons/react/24/outline"; // ui import { CustomMenu, Loader, ProgressBar } from "components/ui"; @@ -144,7 +145,7 @@ export const CycleDetailsSidebar: React.FC = ({ {cycle ? ( <>
-
+
= ({
-
+

{cycle.name}

@@ -314,7 +315,7 @@ export const CycleDetailsSidebar: React.FC = ({
-
+
{({ open }) => (
= ({ "" )}
- - - + {isStartValid && isEndValid ? ( + + + ) : ( +
+ + + Invalid date. Please enter valid date. + +
+ )}
@@ -383,7 +392,7 @@ export const CycleDetailsSidebar: React.FC = ({
-
+
{({ open }) => (
= ({ Other Information
- - + {issues.length > 0 ? ( + + + ) : ( +
+ + No issues found. Please add issue. +
+ )}
diff --git a/apps/app/components/icons/cmd-icon.tsx b/apps/app/components/icons/cmd-icon.tsx new file mode 100644 index 000000000..674b373cb --- /dev/null +++ b/apps/app/components/icons/cmd-icon.tsx @@ -0,0 +1,11 @@ +import React from "react"; +import Image from "next/image"; + +import type { Props } from "./types"; +import CMDIcon from "public/mac-command.svg"; + +export const MacCommandIcon: React.FC = ({ width = "14", height = "14" }) => ( + CMDIcon +); + +export default MacCommandIcon; diff --git a/apps/app/components/icons/index.ts b/apps/app/components/icons/index.ts index 6ec881448..deeed5575 100644 --- a/apps/app/components/icons/index.ts +++ b/apps/app/components/icons/index.ts @@ -41,3 +41,4 @@ export * from "./assignment-clipboard-icon"; export * from "./tick-mark-icon"; export * from "./contrast-icon"; export * from "./people-group-icon"; +export * from "./cmd-icon"; \ No newline at end of file diff --git a/apps/app/components/issues/delete-issue-modal.tsx b/apps/app/components/issues/delete-issue-modal.tsx index 58df96f0d..cb915400f 100644 --- a/apps/app/components/issues/delete-issue-modal.tsx +++ b/apps/app/components/issues/delete-issue-modal.tsx @@ -122,51 +122,49 @@ export const DeleteIssueModal: React.FC = ({ isOpen, handleClose, data }) leaveFrom="opacity-100 translate-y-0 sm:scale-100" leaveTo="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" > - -
-
-
-
-
- - Are you sure you want to delete {`"`} - {data?.project_detail.identifier}-{data?.sequence_id} - {data?.name}?{`"`} - -
-

- All of the data related to the issue will be permanently removed. This - action cannot be undone. -

-
-
+ +
+
+ + + +

Delete Issue

+
+
+ +

+ Are you sure you want to delete issue{" "} + + {data?.project_detail.identifier}-{data?.sequence_id} + {" "} + ? All of the data related to the issue will be permanently removed. This + action cannot be undone. +

+
+
+ +
-
-
- -
diff --git a/apps/app/components/issues/select/state.tsx b/apps/app/components/issues/select/state.tsx index eca350fe6..eeb08bfa3 100644 --- a/apps/app/components/issues/select/state.tsx +++ b/apps/app/components/issues/select/state.tsx @@ -56,9 +56,12 @@ export const IssueStateSelect: React.FC = ({ setIsOpen, value, onChange, options={options} label={
- - {selectedOption && - getStateGroupIcon(selectedOption.group, "16", "16", selectedOption.color)} + {selectedOption ? ( + getStateGroupIcon(selectedOption.group, "16", "16", selectedOption.color) + ) : ( + + )} + {selectedOption?.name ?? "State"}
} diff --git a/apps/app/components/modules/sidebar.tsx b/apps/app/components/modules/sidebar.tsx index 72d705907..bc542850c 100644 --- a/apps/app/components/modules/sidebar.tsx +++ b/apps/app/components/modules/sidebar.tsx @@ -14,6 +14,7 @@ import { ChevronDownIcon, DocumentDuplicateIcon, DocumentIcon, + ExclamationCircleIcon, TrashIcon, } from "@heroicons/react/24/outline"; @@ -205,7 +206,7 @@ export const ModuleDetailsSidebar: React.FC = ({ {module ? ( <>
-
+
= ({
-
+

{module.name}

@@ -396,7 +397,7 @@ export const ModuleDetailsSidebar: React.FC = ({
-
+
{({ open }) => (
= ({ )}
- - + {isStartValid && isEndValid ? ( + + + ) : ( +
+ + + Invalid date. Please enter valid date. + +
+ )}
@@ -465,7 +475,7 @@ export const ModuleDetailsSidebar: React.FC = ({
-
+
{({ open }) => (
= ({ Other Information
- - + {issues.length > 0 ? ( + + + ) : ( +
+ + No issues found. Please add issue. +
+ )}
diff --git a/apps/app/components/project/delete-project-modal.tsx b/apps/app/components/project/delete-project-modal.tsx index 69c4edef5..d868d4af4 100644 --- a/apps/app/components/project/delete-project-modal.tsx +++ b/apps/app/components/project/delete-project-modal.tsx @@ -113,86 +113,81 @@ export const DeleteProjectModal: React.FC = (props leaveFrom="opacity-100 translate-y-0 sm:scale-100" leaveTo="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" > - -
-
-
+ +
+
+
-
- - Delete Project - -
-

- Are you sure you want to delete project - {`"`} - {selectedProject?.name} - {`"`} ? All of the data related to the project will be permanently - removed. This action cannot be undone. -

-
-
-
-

- Enter the project name{" "} - {selectedProject?.name} to - continue: -

- { - setConfirmProjectName(e.target.value); - }} - name="projectName" - /> -
-
-

- To confirm, type delete my project{" "} - below: -

- { - if (e.target.value === "delete my project") { - setConfirmDeleteMyProject(true); - } else { - setConfirmDeleteMyProject(false); - } - }} - name="typeDelete" - /> -
-
+ + +

Delete Project

+
+
+ +

+ Are you sure you want to delete project{" "} + {selectedProject?.name}? All + of the data related to the project will be permanently removed. This action + cannot be undone +

+
+
+

+ Enter the project name{" "} + {selectedProject?.name} to continue: +

+ { + setConfirmProjectName(e.target.value); + }} + name="projectName" + /> +
+
+

+ To confirm, type delete my project below: +

+ { + if (e.target.value === "delete my project") { + setConfirmDeleteMyProject(true); + } else { + setConfirmDeleteMyProject(false); + } + }} + name="typeDelete" + /> +
+
+ +
-
-
- -
diff --git a/apps/app/components/workspace/sidebar-dropdown.tsx b/apps/app/components/workspace/sidebar-dropdown.tsx index c50ecd258..2471988e5 100644 --- a/apps/app/components/workspace/sidebar-dropdown.tsx +++ b/apps/app/components/workspace/sidebar-dropdown.tsx @@ -12,7 +12,9 @@ import useWorkspaces from "hooks/use-workspaces"; import userService from "services/user.service"; import authenticationService from "services/authentication.service"; // components -import { Avatar, Loader } from "components/ui"; +import { Avatar, Loader, Tooltip } from "components/ui"; +// helper +import { truncateText } from "helpers/string.helper"; // types import { IWorkspace } from "types"; @@ -96,7 +98,7 @@ export const WorkspaceSidebarDropdown = () => {

{activeWorkspace?.name ? activeWorkspace.name.length > 17 - ? `${activeWorkspace.name.substring(0, 17)}...` + ? `${activeWorkspace.name.substring(0, 15)}...` : activeWorkspace.name : "Loading..."}

@@ -159,7 +161,10 @@ export const WorkspaceSidebarDropdown = () => { activeWorkspace?.name?.charAt(0) ?? "N" )} -
{workspace.name}
+ +
+ {truncateText(workspace.name, 18)} +
= (props) => { const router = useRouter(); @@ -124,7 +124,7 @@ const FeaturesSettings: NextPage = (props) => {
- +

Modules

diff --git a/apps/app/public/mac-command.svg b/apps/app/public/mac-command.svg new file mode 100644 index 000000000..5cee45951 --- /dev/null +++ b/apps/app/public/mac-command.svg @@ -0,0 +1,2 @@ + +mac-command \ No newline at end of file