From 1bfa004dc66e925c51af3c008486b91de95f9e2c Mon Sep 17 00:00:00 2001 From: Vishnu Date: Sat, 3 May 2025 10:41:34 +0530 Subject: [PATCH] Enhance UI components: add active state to ZoneItem, refactor EditWidgetOption and RealTimeVisualization styles, and implement RenameTooltip for dynamic renaming functionality. --- .../components/ui/features/RenameTooltip.tsx | 52 +++++++++++++++++++ app/src/components/ui/list/List.tsx | 3 +- .../components/ui/menu/EditWidgetOption.tsx | 10 ++-- .../instances/ikInstance/ikInstance.tsx | 5 +- .../visualization/RealTimeVisulization.tsx | 2 +- app/src/styles/components/lists.scss | 12 +---- app/src/styles/pages/realTimeViz.scss | 5 +- app/src/styles/pages/userAuth.scss | 10 ++-- 8 files changed, 70 insertions(+), 29 deletions(-) create mode 100644 app/src/components/ui/features/RenameTooltip.tsx diff --git a/app/src/components/ui/features/RenameTooltip.tsx b/app/src/components/ui/features/RenameTooltip.tsx new file mode 100644 index 0000000..ae64bf0 --- /dev/null +++ b/app/src/components/ui/features/RenameTooltip.tsx @@ -0,0 +1,52 @@ +import React, { useState } from "react"; +import { RenameIcon } from "../../icons/ContextMenuIcons"; +import { + useLeftData, + useTopData, +} from "../../../store/visualization/useZone3DWidgetStore"; + +type RenameTooltipProps = { + name: string; + onSubmit: (newName: string) => void; +}; + +const RenameTooltip: React.FC = ({ name, onSubmit }) => { + const [value, setValue] = useState(name); + + const { top } = useTopData(); + const { left } = useLeftData(); + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + onSubmit(value.trim()); + }; + + return ( +
+
+
+ +
+
Name
+
+
+ setValue(e.target.value)} + autoFocus + /> +
+
+ ); +}; + +export default RenameTooltip; diff --git a/app/src/components/ui/list/List.tsx b/app/src/components/ui/list/List.tsx index eebcaa7..b5403e1 100644 --- a/app/src/components/ui/list/List.tsx +++ b/app/src/components/ui/list/List.tsx @@ -27,6 +27,7 @@ interface ZoneItem { id: string; name: string; assets?: Asset[]; + active?: boolean; } interface ListProps { @@ -157,7 +158,7 @@ const List: React.FC = ({ items = [], remove }) => { {items?.map((item) => (
  • -
    +