-
+
-
+
{(routeInfo.isTreeListing || routeInfo.isHardwarePage) && (
)}
+
+ {routeInfo.isListingPage && }
+
diff --git a/dashboard/src/components/ui/dialog.tsx b/dashboard/src/components/ui/dialog.tsx
index 15e561fca..1bbf4e6f9 100644
--- a/dashboard/src/components/ui/dialog.tsx
+++ b/dashboard/src/components/ui/dialog.tsx
@@ -29,12 +29,28 @@ const DialogOverlay = React.forwardRef<
));
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
+interface DialogContentProps
+ extends React.ComponentPropsWithoutRef
{
+ showOverlay?: boolean;
+ showCloseButton?: boolean;
+}
+
const DialogContent = React.forwardRef<
React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
+ DialogContentProps
+>(
+ (
+ {
+ className,
+ children,
+ showOverlay = true,
+ showCloseButton = true,
+ ...props
+ },
+ ref,
+ ) => (
-
+ {showOverlay && }
{children}
-
-
- Close
-
+ {showCloseButton && (
+
+
+ Close
+
+ )}
-));
+ ),
+);
DialogContent.displayName = DialogPrimitive.Content.displayName;
const DialogHeader = ({
diff --git a/dashboard/src/pages/Hardware/Hardware.tsx b/dashboard/src/pages/Hardware/Hardware.tsx
index 071f55b84..a7d0a35ec 100644
--- a/dashboard/src/pages/Hardware/Hardware.tsx
+++ b/dashboard/src/pages/Hardware/Hardware.tsx
@@ -1,13 +1,9 @@
-import type { ChangeEvent, JSX } from 'react';
-import { useCallback } from 'react';
+import type { JSX } from 'react';
-import { useIntl } from 'react-intl';
-
-import { useNavigate, useSearch } from '@tanstack/react-router';
+import { useSearch } from '@tanstack/react-router';
import HardwareListingPage from '@/pages/Hardware/HardwareListingPage';
-import DebounceInput from '@/components/DebounceInput/DebounceInput';
import { MemoizedListingOGTags } from '@/components/OpenGraphTags/ListingOGTags';
import { OldPageBanner } from '@/components/Banner/PageBanner';
import { useFeatureFlag } from '@/hooks/useFeatureFlag';
@@ -23,38 +19,9 @@ const Hardware = ({
from: urlFromMap.search,
});
- const navigate = useNavigate({ from: urlFromMap.navigate });
-
- const onInputSearchTextChange = useCallback(
- (e: ChangeEvent) => {
- navigate({
- search: previousSearch => ({
- ...previousSearch,
- hardwareSearch: e.target.value,
- }),
- });
- },
- [navigate],
- );
-
- const { formatMessage } = useIntl();
-
return (
<>
-
{hardwareListingVersion !== 'v1' && (
) => {
- navigate({
- search: previousSearch => ({
- ...previousSearch,
- hardwareSearch: e.target.value,
- }),
- state: s => s,
- });
- },
- [navigate],
- );
-
- const { formatMessage } = useIntl();
-
return (
<>
-
{hardwareListingVersion !== 'v2' && (
{
const issueSearch = z.string().catch('').parse(unsafeIssueSearch);
- const navigate = useNavigate({ from: '/issues' });
-
- const onInputSearchTextChange = useCallback(
- (e: ChangeEvent) => {
- navigate({
- search: previousSearch => ({
- ...previousSearch,
- issueSearch: e.target.value,
- }),
- });
- },
- [navigate],
- );
-
- const { formatMessage } = useIntl();
-
return (
<>
-
diff --git a/dashboard/src/pages/TreeListing/Trees.tsx b/dashboard/src/pages/TreeListing/Trees.tsx
index 931b656e3..bc43dc257 100644
--- a/dashboard/src/pages/TreeListing/Trees.tsx
+++ b/dashboard/src/pages/TreeListing/Trees.tsx
@@ -1,13 +1,9 @@
-import type { ChangeEvent, JSX } from 'react';
-import { useCallback } from 'react';
+import type { JSX } from 'react';
-import { useIntl } from 'react-intl';
-
-import { useNavigate, useSearch } from '@tanstack/react-router';
+import { useSearch } from '@tanstack/react-router';
import TreeListingPage from '@/components/TreeListingPage/TreeListingPage';
-import DebounceInput from '@/components/DebounceInput/DebounceInput';
import { MemoizedListingOGTags } from '@/components/OpenGraphTags/ListingOGTags';
import { OldPageBanner } from '@/components/Banner/PageBanner';
import { useFeatureFlag } from '@/hooks/useFeatureFlag';
@@ -23,36 +19,9 @@ const Trees = ({
from: urlFromMap.search,
});
- const navigate = useNavigate({ from: urlFromMap.navigate });
-
- const onInputSearchTextChange = useCallback(
- (e: ChangeEvent) => {
- navigate({
- search: previousSearch => ({
- ...previousSearch,
- treeSearch: e.target.value,
- }),
- });
- },
- [navigate],
- );
-
- const { formatMessage } = useIntl();
-
return (
<>
-
{treeListingVersion !== 'v1' && (
)}
diff --git a/dashboard/src/pages/TreeListing/TreesV2.tsx b/dashboard/src/pages/TreeListing/TreesV2.tsx
index 92fbb8963..a9570610a 100644
--- a/dashboard/src/pages/TreeListing/TreesV2.tsx
+++ b/dashboard/src/pages/TreeListing/TreesV2.tsx
@@ -1,11 +1,6 @@
-import type { ChangeEvent, JSX } from 'react';
-import { useCallback } from 'react';
+import type { JSX } from 'react';
+import { useSearch } from '@tanstack/react-router';
-import { useIntl } from 'react-intl';
-
-import { useNavigate, useSearch } from '@tanstack/react-router';
-
-import DebounceInput from '@/components/DebounceInput/DebounceInput';
import { MemoizedListingOGTags } from '@/components/OpenGraphTags/ListingOGTags';
import TreeListingV2 from '@/components/TreeListingPage/TreeListingV2';
import { NewPageBanner } from '@/components/Banner/PageBanner';
@@ -22,36 +17,9 @@ const TreeListingPageV2 = ({
from: urlFromMap.search,
});
- const navigate = useNavigate({ from: urlFromMap.navigate });
-
- const onInputSearchTextChange = useCallback(
- (e: ChangeEvent) => {
- navigate({
- search: previousSearch => ({
- ...previousSearch,
- treeSearch: e.target.value,
- }),
- });
- },
- [navigate],
- );
-
- const { formatMessage } = useIntl();
-
return (
<>
-
{treeListingVersion !== 'v2' && (