diff --git a/signup-ui/src/assets/png/info-38-2.png b/signup-ui/src/assets/png/info-38-2.png new file mode 100644 index 00000000..0f42d938 Binary files /dev/null and b/signup-ui/src/assets/png/info-38-2.png differ diff --git a/signup-ui/src/components/icon-label-popover.tsx b/signup-ui/src/components/icon-label-popover.tsx new file mode 100644 index 00000000..d61cbb51 --- /dev/null +++ b/signup-ui/src/components/icon-label-popover.tsx @@ -0,0 +1,36 @@ +import { + Popover, + PopoverArrow, + PopoverContent, + PopoverTrigger, +} from "./ui/popover"; + +interface IconLabelPopoverProps { + icon: React.ReactNode; + children: React.ReactNode; +} + +export const IconLabelPopover = ({ icon, children }: IconLabelPopoverProps) => { + return ( + <> +
+ + {icon} + + {children} + + + +
+
+ + {icon} + + {children} + + + +
+ + ); +}; diff --git a/signup-ui/src/components/ui/icons.tsx b/signup-ui/src/components/ui/icons.tsx index ac7672d8..16da8b61 100644 --- a/signup-ui/src/components/ui/icons.tsx +++ b/signup-ui/src/components/ui/icons.tsx @@ -1,12 +1,12 @@ import * as React from "react"; +import InfoPng from "~assets/png/info-38-2.png"; import { ReactComponent as ArrowLeft } from "~assets/svg/arrow-left.svg"; import { ReactComponent as Check } from "~assets/svg/check.svg"; import { ReactComponent as ChevronDown } from "~assets/svg/chevron-down.svg"; import { ReactComponent as ChevronUp } from "~assets/svg/chevron-up.svg"; import { ReactComponent as EyeOff } from "~assets/svg/eye-off.svg"; import { ReactComponent as Eye } from "~assets/svg/eye.svg"; -import { ReactComponent as Info } from "~assets/svg/info.svg"; import { ReactComponent as Loader } from "~assets/svg/loader.svg"; import { ReactComponent as X } from "~assets/svg/x.svg"; @@ -18,7 +18,12 @@ export const Icons = { close: X, eye: Eye, eyeOff: EyeOff, - info: Info, + info: React.forwardRef< + HTMLImageElement, + React.ImgHTMLAttributes + >(({ alt, ...props }, ref) => ( + {alt} + )), loader: Loader, arrow: React.forwardRef>( (props, ref) => ( diff --git a/signup-ui/src/components/ui/popover.tsx b/signup-ui/src/components/ui/popover.tsx index 78852ca3..9b4daa37 100644 --- a/signup-ui/src/components/ui/popover.tsx +++ b/signup-ui/src/components/ui/popover.tsx @@ -5,6 +5,8 @@ import { cn } from "~utils/cn"; const Popover = PopoverPrimitive.Root; +const PopoverAnchor = PopoverPrimitive.Anchor; + const PopoverTrigger = PopoverPrimitive.Trigger; const PopoverContent = React.forwardRef< @@ -17,7 +19,7 @@ const PopoverContent = React.forwardRef< align={align} sideOffset={sideOffset} className={cn( - "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", + "z-50 w-[175px] rounded-md border bg-popover px-3 py-2 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 md:w-[220px] sm:w-[200px]", className )} {...props} @@ -37,4 +39,4 @@ const PopoverArrow = React.forwardRef< /> )); -export { Popover, PopoverTrigger, PopoverArrow, PopoverContent }; +export { Popover, PopoverAnchor, PopoverTrigger, PopoverArrow, PopoverContent }; diff --git a/signup-ui/src/pages/ResetPasswordPage/ResetPassword/ResetPassword.tsx b/signup-ui/src/pages/ResetPasswordPage/ResetPassword/ResetPassword.tsx index 81ece7ce..3abb1f60 100644 --- a/signup-ui/src/pages/ResetPasswordPage/ResetPassword/ResetPassword.tsx +++ b/signup-ui/src/pages/ResetPasswordPage/ResetPassword/ResetPassword.tsx @@ -3,6 +3,7 @@ import { useFormContext, UseFormReturn } from "react-hook-form"; import { Trans, useTranslation } from "react-i18next"; import { useLocation } from "react-router-dom"; +import { IconLabelPopover } from "~components/icon-label-popover"; import { ActionMessage } from "~components/ui/action-message"; import { Button } from "~components/ui/button"; import { @@ -14,12 +15,6 @@ import { } from "~components/ui/form"; import { Icons } from "~components/ui/icons"; import { Input } from "~components/ui/input"; -import { - Popover, - PopoverArrow, - PopoverContent, - PopoverTrigger, -} from "~components/ui/popover"; import { Step, StepAlert, @@ -172,21 +167,22 @@ export const ResetPassword = ({ methods, settings }: ResetPasswordProps) => {
{t("new_password")} - - - - - - , - li:
  • , - }} + - - - + } + > + , + li:
  • , + }} + /> +
  • {
    {t("full_name")} - - - - - - {t("full_name_tooltip")} - - - + + } + > + {t("full_name_tooltip")} +
    {
    {t("password")} - - - - - - , - li:
  • , - }} + - - - + } + > + , + li:
  • , + }} + /> +