feat(admin-ui): Add new feature badge for categories and inventory (#3657)

* Add new feature badge for categories and inventory

* Add changeset
This commit is contained in:
Rares Stefan
2023-03-31 12:29:46 +02:00
committed by GitHub
parent 36337ef3b3
commit 7e1d8ef599
4 changed files with 18 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"@medusajs/admin-ui": patch
---
feat(admin-ui): Add new feature badge for categories and inventory
@@ -10,6 +10,7 @@ type BadgeProps = {
| "ghost" | "ghost"
| "default" | "default"
| "disabled" | "disabled"
| "new-feature"
} & React.HTMLAttributes<HTMLDivElement> } & React.HTMLAttributes<HTMLDivElement>
const Badge: React.FC<BadgeProps> = ({ const Badge: React.FC<BadgeProps> = ({
@@ -27,6 +28,8 @@ const Badge: React.FC<BadgeProps> = ({
["badge-ghost"]: variant === "ghost", ["badge-ghost"]: variant === "ghost",
["badge-default"]: variant === "default", ["badge-default"]: variant === "default",
["badge-disabled"]: variant === "disabled", ["badge-disabled"]: variant === "disabled",
["bg-blue-10 border-blue-30 border font-normal text-blue-50"]:
variant === "new-feature",
}) })
return ( return (
@@ -1,6 +1,7 @@
import React, { useCallback } from "react" import React, { useCallback } from "react"
import Collapsible from "react-collapsible" import Collapsible from "react-collapsible"
import { NavLink } from "react-router-dom" import { NavLink } from "react-router-dom"
import Badge from "../../fundamentals/badge"
type SidebarMenuSubitemProps = { type SidebarMenuSubitemProps = {
pageLink: string pageLink: string
@@ -13,6 +14,7 @@ type SidebarMenuItemProps = {
icon: JSX.Element icon: JSX.Element
triggerHandler: () => any triggerHandler: () => any
subItems?: SidebarMenuSubitemProps[] subItems?: SidebarMenuSubitemProps[]
isNew?: boolean
} }
const SidebarMenuItem: React.FC<SidebarMenuItemProps> & { const SidebarMenuItem: React.FC<SidebarMenuItemProps> & {
@@ -23,6 +25,7 @@ const SidebarMenuItem: React.FC<SidebarMenuItemProps> & {
text, text,
triggerHandler, triggerHandler,
subItems = [], subItems = [],
isNew,
}: SidebarMenuItemProps) => { }: SidebarMenuItemProps) => {
const styles = const styles =
"group py-1.5 my-0.5 rounded-rounded flex text-grey-50 hover:bg-grey-10 items-center px-2" "group py-1.5 my-0.5 rounded-rounded flex text-grey-50 hover:bg-grey-10 items-center px-2"
@@ -41,6 +44,11 @@ const SidebarMenuItem: React.FC<SidebarMenuItemProps> & {
<NavLink className={classNameFn} to={pageLink}> <NavLink className={classNameFn} to={pageLink}>
<span className="items-start">{icon}</span> <span className="items-start">{icon}</span>
<span className="group-[.is-active]:text-grey-90 ml-3">{text}</span> <span className="group-[.is-active]:text-grey-90 ml-3">{text}</span>
{isNew && (
<Badge variant={"new-feature"} className="ml-auto">
New
</Badge>
)}
</NavLink> </NavLink>
} }
> >
@@ -70,6 +70,7 @@ const Sidebar: React.FC = () => {
icon={<SwatchIcon size={ICON_SIZE} />} icon={<SwatchIcon size={ICON_SIZE} />}
text={"Categories"} text={"Categories"}
triggerHandler={triggerHandler} triggerHandler={triggerHandler}
isNew
/> />
)} )}
<SidebarMenuItem <SidebarMenuItem
@@ -84,6 +85,7 @@ const Sidebar: React.FC = () => {
icon={<BuildingsIcon size={ICON_SIZE} />} icon={<BuildingsIcon size={ICON_SIZE} />}
triggerHandler={triggerHandler} triggerHandler={triggerHandler}
text={"Inventory"} text={"Inventory"}
isNew
/> />
)} )}
<SidebarMenuItem <SidebarMenuItem