diff --git a/src/components/DocumentationView.tsx b/src/components/DocumentationView.tsx
index 4fe3f0b..f2b8a05 100644
--- a/src/components/DocumentationView.tsx
+++ b/src/components/DocumentationView.tsx
@@ -1,4 +1,3 @@
-import { useState } from 'react'
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
import { ScrollArea } from '@/components/ui/scroll-area'
import { Input } from '@/components/ui/input'
@@ -9,6 +8,7 @@ import { PwaTab } from './DocumentationView/PwaTab'
import { ReadmeTab } from './DocumentationView/ReadmeTab'
import { RoadmapTab } from './DocumentationView/RoadmapTab'
import { SassTab } from './DocumentationView/SassTab'
+import { useDocumentationViewState } from './DocumentationView/useDocumentationViewState'
const tabs = [
{ value: 'readme', label: 'README', icon: },
@@ -20,8 +20,7 @@ const tabs = [
]
export function DocumentationView() {
- const [activeTab, setActiveTab] = useState('readme')
- const [searchQuery, setSearchQuery] = useState('')
+ const { activeTab, setActiveTab, searchQuery, handleSearchChange } = useDocumentationViewState()
return (
@@ -40,7 +39,7 @@ export function DocumentationView() {
setSearchQuery(e.target.value)}
+ onChange={handleSearchChange}
className="pl-10"
/>
diff --git a/src/components/DocumentationView/useDocumentationViewState.ts b/src/components/DocumentationView/useDocumentationViewState.ts
new file mode 100644
index 0000000..8224155
--- /dev/null
+++ b/src/components/DocumentationView/useDocumentationViewState.ts
@@ -0,0 +1,18 @@
+import { useCallback, useState } from 'react'
+import type { ChangeEvent } from 'react'
+
+export function useDocumentationViewState() {
+ const [activeTab, setActiveTab] = useState('readme')
+ const [searchQuery, setSearchQuery] = useState('')
+
+ const handleSearchChange = useCallback((event: ChangeEvent) => {
+ setSearchQuery(event.target.value)
+ }, [])
+
+ return {
+ activeTab,
+ setActiveTab,
+ searchQuery,
+ handleSearchChange
+ }
+}