router.push(`/inquiry/${item.id}`)}>
{item.title}
{item.content}
{item.createdAt}
diff --git a/src/components/inquiry/InquiryList.tsx b/src/components/inquiry/InquiryList.tsx
index 3a1d14e..b70ffd0 100644
--- a/src/components/inquiry/InquiryList.tsx
+++ b/src/components/inquiry/InquiryList.tsx
@@ -116,44 +116,49 @@ const inquiryDummyData = [
]
export default function InquiryList() {
- const inquiryLength = inquiryDummyData.length
const [visibleItems, setVisibleItems] = useState(5)
const [isMyPostsOnly, setIsMyPostsOnly] = useState(false)
+ const [category, setCategory] = useState('')
+ const [search, setSearch] = useState('')
+
+ const inquriyData = () => {
+ if (isMyPostsOnly) {
+ return inquiryDummyData.filter((item) => item.writer === 'writer')
+ }
+ if (category.trim().length > 0) {
+ return inquiryDummyData.filter((item) => item.category === category)
+ }
+ if (search.trim().length > 0) {
+ return inquiryDummyData.filter((item) => item.title.includes(search))
+ }
+ return inquiryDummyData
+ }
const handleLoadMore = () => {
- setVisibleItems((prev) => Math.min(prev + 5, inquiryLength))
+ setVisibleItems((prev) => Math.min(prev + 5, inquriyData().length))
}
const handleSearch = (e: React.ChangeEvent
) => {
- console.log(e.target.value)
+ setSearch(e.target.value)
}
- const filteredData = isMyPostsOnly
- ? inquiryDummyData.filter((item) => item.writer === 'writer')
- : inquiryDummyData
-
return (
)
}
+
diff --git a/src/components/inquiry/InquirySearch.tsx b/src/components/inquiry/InquirySearch.tsx
index b074455..894962f 100644
--- a/src/components/inquiry/InquirySearch.tsx
+++ b/src/components/inquiry/InquirySearch.tsx
@@ -7,7 +7,6 @@ export default function InquirySearch({ handleSearch }: { handleSearch: (e: Reac
const router = useRouter()
return (
-
Inquiry Search
diff --git a/src/components/inquiry/InquiryWriteForm.tsx b/src/components/inquiry/InquiryWriteForm.tsx
index 8d1e0a5..c2db5e7 100644
--- a/src/components/inquiry/InquiryWriteForm.tsx
+++ b/src/components/inquiry/InquiryWriteForm.tsx
@@ -1,5 +1,7 @@
'use client'
+
import { useState } from 'react'
+import { useRouter } from 'next/navigation'
export interface InquiryFormData {
category: string
@@ -9,6 +11,7 @@ export interface InquiryFormData {
}
export default function InquiryWriteForm() {
+ const router = useRouter()
const [formData, setFormData] = useState
({
category: 'A',
title: '',
@@ -17,17 +20,23 @@ export default function InquiryWriteForm() {
})
const handleFileChange = (e: React.ChangeEvent) => {
- const files = Array.from(e.target.files || [])
- setFormData({ ...formData, file: files })
+ const file = Array.from(e.target.files || [])
+ setFormData({ ...formData, file: [...formData.file, ...file] })
}
const handleFileDelete = (fileToDelete: File) => {
setFormData({ ...formData, file: formData.file.filter((f) => f !== fileToDelete) })
}
+ const handleSubmit = (e: React.FormEvent) => {
+ e.preventDefault()
+ console.log('submit: ', formData)
+ router.push(`/inquiry`)
+ }
+
return (