diff --git a/ui/package-lock.json b/ui/package-lock.json index 0ba5323..dd34a03 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -22,6 +22,7 @@ "framer-motion": "^11.15.0", "lodash.throttle": "^4.1.1", "mini-svg-data-uri": "^1.4.4", + "motion": "^12.4.7", "react": "^18.2.0", "react-animate-height": "^3.2.3", "react-dom": "^18.2.0", @@ -4245,6 +4246,31 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/motion": { + "version": "12.4.7", + "resolved": "https://registry.npmjs.org/motion/-/motion-12.4.7.tgz", + "integrity": "sha512-mhegHAbf1r80fr+ytC6OkjKvIUegRNXKLWNPrCN2+GnixlNSPwT03FtKqp9oDny1kNcLWZvwbmEr+JqVryFrcg==", + "dependencies": { + "framer-motion": "^12.4.7", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, "node_modules/motion-dom": { "version": "11.14.3", "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-11.14.3.tgz", @@ -4255,6 +4281,45 @@ "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-11.14.3.tgz", "integrity": "sha512-Xg+8xnqIJTpr0L/cidfTTBFkvRw26ZtGGuIhA94J9PQ2p4mEa06Xx7QVYZH0BP+EpMSaDlu+q0I0mmvwADPsaQ==" }, + "node_modules/motion/node_modules/framer-motion": { + "version": "12.4.7", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.4.7.tgz", + "integrity": "sha512-VhrcbtcAMXfxlrjeHPpWVu2+mkcoR31e02aNSR7OUS/hZAciKa8q6o3YN2mA1h+jjscRsSyKvX6E1CiY/7OLMw==", + "dependencies": { + "motion-dom": "^12.4.5", + "motion-utils": "^12.0.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/motion/node_modules/motion-dom": { + "version": "12.4.5", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.4.5.tgz", + "integrity": "sha512-Q2xmhuyYug1CGTo0jdsL05EQ4RhIYXlggFS/yPhQQRNzbrhjKQ1tbjThx5Plv68aX31LsUQRq4uIkuDxdO5vRQ==", + "dependencies": { + "motion-utils": "^12.0.0" + } + }, + "node_modules/motion/node_modules/motion-utils": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.0.0.tgz", + "integrity": "sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA==" + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", diff --git a/ui/package.json b/ui/package.json index 54f9c08..5be3e2c 100644 --- a/ui/package.json +++ b/ui/package.json @@ -31,6 +31,7 @@ "framer-motion": "^11.15.0", "lodash.throttle": "^4.1.1", "mini-svg-data-uri": "^1.4.4", + "motion": "^12.4.7", "react": "^18.2.0", "react-animate-height": "^3.2.3", "react-dom": "^18.2.0", diff --git a/ui/src/components/ActionBar.tsx b/ui/src/components/ActionBar.tsx index 6558a55..41fe09d 100644 --- a/ui/src/components/ActionBar.tsx +++ b/ui/src/components/ActionBar.tsx @@ -17,6 +17,7 @@ import MountPopopover from "./popovers/MountPopover"; import { Fragment, useCallback, useRef } from "react"; import { CommandLineIcon } from "@heroicons/react/20/solid"; import ExtensionPopover from "./popovers/ExtensionPopover"; +import { useNavigate } from "react-router-dom"; export default function Actionbar({ requestFullscreen, @@ -53,6 +54,8 @@ export default function Actionbar({ [setDisableFocusTrap], ); + const navigate = useNavigate(); + return (
toggleSidebarView("system")} + onClick={() => navigate("settings")} />
+
+
+
Logged in as
+
+ {userEmail} +
+ )} +
+ +
+ +
+
- - - +
+ + ) : null} diff --git a/ui/src/components/Modal.tsx b/ui/src/components/Modal.tsx index 438aa5a..cc65c82 100644 --- a/ui/src/components/Modal.tsx +++ b/ui/src/components/Modal.tsx @@ -2,7 +2,7 @@ import React from "react"; import { Dialog, DialogBackdrop, DialogPanel } from "@headlessui/react"; import { cx } from "@/cva.config"; -export default function Modal({ +const Modal = React.memo(function Modal({ children, className, open, @@ -13,20 +13,20 @@ export default function Modal({ open: boolean; onClose: () => void; }) { + console.log("Modal", open); return ( -
-
+
@@ -45,4 +45,6 @@ export default function Modal({
); -} +}); + +export default Modal; diff --git a/ui/src/components/SectionHeader.tsx b/ui/src/components/SectionHeader.tsx index 1828e9f..4c5d896 100644 --- a/ui/src/components/SectionHeader.tsx +++ b/ui/src/components/SectionHeader.tsx @@ -8,8 +8,8 @@ export function SectionHeader({ description: string | ReactNode; }) { return ( -
-

{title}

+
+

{title}

{description}
); diff --git a/ui/src/components/SelectMenuBasic.tsx b/ui/src/components/SelectMenuBasic.tsx index eb4c540..4e78d22 100644 --- a/ui/src/components/SelectMenuBasic.tsx +++ b/ui/src/components/SelectMenuBasic.tsx @@ -60,7 +60,7 @@ export const SelectMenuBasic = React.forwardRef {label && } - +