diff options
Diffstat (limited to 'lib/information/table')
| -rw-r--r-- | lib/information/table/update-information-dialog.tsx | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/lib/information/table/update-information-dialog.tsx b/lib/information/table/update-information-dialog.tsx index 370eb763..147dc2ab 100644 --- a/lib/information/table/update-information-dialog.tsx +++ b/lib/information/table/update-information-dialog.tsx @@ -46,13 +46,14 @@ import { import type { PageInformation, InformationAttachment } from "@/db/schema/information"
// downloadFile은 동적으로 import
import prettyBytes from "pretty-bytes"
+import { useSession } from "next-auth/react"
const MAX_FILE_SIZE = 50 * 1024 * 1024 // 50MB
// 폼 스키마
const updateInformationSchema = z.object({
id: z.number(),
- informationContent: z.string().min(1, "인포메이션 내용을 입력해주세요"),
+ informationContent: z.string().min(1, "안내사항 내용을 입력해주세요"),
isActive: z.boolean(),
newFiles: z.array(z.any()).optional(),
})
@@ -79,6 +80,8 @@ export function UpdateInformationDialog({ const [isLoading, setIsLoading] = React.useState(false)
const [isUploadingFiles, setIsUploadingFiles] = React.useState(false)
const [existingAttachments, setExistingAttachments] = React.useState<InformationAttachment[]>([])
+ const session = useSession()
+ const userId = session.data?.user?.id
const form = useForm<UpdateInformationSchema>({
resolver: zodResolver(updateInformationSchema),
@@ -95,7 +98,7 @@ export function UpdateInformationDialog({ name: "newFiles",
})
- // 인포메이션 데이터가 변경되면 폼 업데이트
+ // 안내사항 데이터가 변경되면 폼 업데이트
React.useEffect(() => {
if (information && open) {
form.reset({
@@ -160,12 +163,12 @@ export function UpdateInformationDialog({ const onSubmit = async (values: UpdateInformationSchema) => {
setIsLoading(true)
try {
- // 1. 인포메이션 정보 업데이트
+ // 1. 안내사항 정보 업데이트
const updateResult = await updateInformationData({
id: values.id,
informationContent: values.informationContent,
isActive: values.isActive,
- })
+ }, userId)
if (!updateResult.success) {
toast.error(updateResult.message)
@@ -189,13 +192,13 @@ export function UpdateInformationDialog({ setIsUploadingFiles(false)
}
- toast.success("인포메이션이 성공적으로 수정되었습니다.")
+ toast.success("안내사항이 성공적으로 수정되었습니다.")
if (onSuccess) onSuccess()
onOpenChange(false)
router.refresh()
} catch (error) {
- console.error("인포메이션 수정 오류:", error)
- toast.error("인포메이션 수정에 실패했습니다.")
+ console.error("안내사항 수정 오류:", error)
+ toast.error("안내사항 수정에 실패했습니다.")
} finally {
setIsLoading(false)
setIsUploadingFiles(false)
@@ -212,9 +215,9 @@ export function UpdateInformationDialog({ <Dialog open={open} onOpenChange={onOpenChange}>
<DialogContent className="max-w-4xl max-h-[90vh] overflow-y-auto">
<DialogHeader>
- <DialogTitle>{t('information.edit.title', '인포메이션 수정')}</DialogTitle>
+ <DialogTitle>{t('information.edit.title', '안내사항 수정')}</DialogTitle>
<DialogDescription>
- {t('information.edit.description', '페이지 인포메이션 정보를 수정합니다.')}
+ {t('information.edit.description', '페이지 안내사항 정보를 수정합니다.')}
</DialogDescription>
</DialogHeader>
@@ -237,10 +240,10 @@ export function UpdateInformationDialog({ name="informationContent"
render={({ field }) => (
<FormItem>
- <FormLabel>{t('information.content.label', '인포메이션 내용')}</FormLabel>
+ <FormLabel>{t('information.content.label', '안내사항')}</FormLabel>
<FormControl>
<Textarea
- placeholder={t('information.content.placeholder', '인포메이션 내용을 입력하세요')}
+ placeholder={t('information.content.placeholder', '안내사항을 입력하세요')}
rows={6}
{...field}
/>
@@ -355,7 +358,7 @@ export function UpdateInformationDialog({ <div className="space-y-0.5">
<FormLabel className="text-base">{t('information.status.label', '활성 상태')}</FormLabel>
<div className="text-sm text-muted-foreground">
- {t('information.status.description', '활성화하면 해당 페이지에서 인포메이션 버튼이 표시됩니다.')}
+ {t('information.status.description', '활성화하면 해당 페이지에서 안내사항 버튼이 표시됩니다.')}
</div>
</div>
<FormControl>
|
