diff --git a/apps/desktop/layer/renderer/src/modules/discover/DiscoverImport.tsx b/apps/desktop/layer/renderer/src/modules/discover/DiscoverImport.tsx
index 479f7af13..010e18b88 100644
--- a/apps/desktop/layer/renderer/src/modules/discover/DiscoverImport.tsx
+++ b/apps/desktop/layer/renderer/src/modules/discover/DiscoverImport.tsx
@@ -6,14 +6,7 @@ import {
} from "@follow/components/ui/accordion/index.js"
import { Button } from "@follow/components/ui/button/index.js"
import { DropZone } from "@follow/components/ui/drop-zone/index.js"
-import {
- Form,
- FormControl,
- FormField,
- FormItem,
- FormMessage,
-} from "@follow/components/ui/form/index.jsx"
-import { Input } from "@follow/components/ui/input/index.js"
+import { Form, FormControl, FormField, FormItem } from "@follow/components/ui/form/index.jsx"
import type { BizRespose } from "@follow/models"
import { zodResolver } from "@hookform/resolvers/zod"
import { useMutation } from "@tanstack/react-query"
@@ -169,10 +162,14 @@ export function DiscoverImport() {
(
+ render={({ field: { value, onChange } }) => (
- onChange(fileList[0])}>
+ onChange(fileList[0])}
+ >
{form.formState.dirtyFields.file ? (
@@ -188,15 +185,6 @@ export function DiscoverImport() {
)}
- onChange(event.target.files && event.target.files[0])}
- />
-
)}
/>
diff --git a/packages/internal/components/src/ui/drop-zone/index.tsx b/packages/internal/components/src/ui/drop-zone/index.tsx
index 51e9c6c7c..c42a222a9 100644
--- a/packages/internal/components/src/ui/drop-zone/index.tsx
+++ b/packages/internal/components/src/ui/drop-zone/index.tsx
@@ -1,6 +1,6 @@
import { cn } from "@follow/utils/utils"
import type { DragEvent, ReactNode } from "react"
-import { useCallback, useId, useRef, useState } from "react"
+import { useCallback, useRef, useState } from "react"
// Ported from https://github.com/react-dropzone/react-dropzone/issues/753#issuecomment-774782919
const useDragAndDrop = ({ callback }: { callback: (file: FileList) => void | Promise }) => {
@@ -49,18 +49,17 @@ const useDragAndDrop = ({ callback }: { callback: (file: FileList) => void | Pro
}
}
-export const DropZone = ({
- onDrop,
- children,
- className,
-}: {
- onDrop: (file: FileList) => void | Promise
- className?: string
+export interface DropZoneProps {
+ id?: string
+ accept?: string
children?: ReactNode
-}) => {
+ className?: string
+ onDrop: (files: FileList) => void | Promise
+}
+
+export const DropZone = ({ id, accept, children, className, onDrop }: DropZoneProps) => {
const { isDragging, dragHandlers } = useDragAndDrop({ callback: onDrop })
- const id = useId()
return (