diff options
Diffstat (limited to 'lib/email-template/table')
| -rw-r--r-- | lib/email-template/table/template-table-columns.tsx | 14 | ||||
| -rw-r--r-- | lib/email-template/table/update-template-sheet.tsx | 26 |
2 files changed, 25 insertions, 15 deletions
diff --git a/lib/email-template/table/template-table-columns.tsx b/lib/email-template/table/template-table-columns.tsx index d20739cc..a678a20a 100644 --- a/lib/email-template/table/template-table-columns.tsx +++ b/lib/email-template/table/template-table-columns.tsx @@ -248,20 +248,20 @@ export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<Templat </DropdownMenuTrigger> <DropdownMenuContent align="end" className="w-40"> <DropdownMenuItem asChild> - <Link href={`/evcp/templates/${template.slug}`}> + <Link href={`/evcp/email-template/${template.slug}`}> <Eye className="mr-2 size-4" aria-hidden="true" /> - 보기 + 상세 보기 </Link> </DropdownMenuItem> - <DropdownMenuItem + {/* <DropdownMenuItem onClick={() => { setRowAction({ type: "update", row }) }} > <Edit className="mr-2 size-4" aria-hidden="true" /> - 수정 - </DropdownMenuItem> + 업데이트 + </DropdownMenuItem> */} <DropdownMenuItem onClick={() => { @@ -269,7 +269,7 @@ export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<Templat }} > <Copy className="mr-2 size-4" aria-hidden="true" /> - 복제 + 복제하기 </DropdownMenuItem> <DropdownMenuSeparator /> @@ -281,7 +281,7 @@ export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<Templat className="text-destructive focus:text-destructive" > <Trash className="mr-2 size-4" aria-hidden="true" /> - 삭제 + 삭제하기 </DropdownMenuItem> </DropdownMenuContent> </DropdownMenu> diff --git a/lib/email-template/table/update-template-sheet.tsx b/lib/email-template/table/update-template-sheet.tsx index 58da0626..d3df93f0 100644 --- a/lib/email-template/table/update-template-sheet.tsx +++ b/lib/email-template/table/update-template-sheet.tsx @@ -7,6 +7,7 @@ import { Loader } from "lucide-react" import { useForm } from "react-hook-form" import { toast } from "sonner" import { z } from "zod" +import { useSession } from "next-auth/react" import { Button } from "@/components/ui/button" import { @@ -55,6 +56,13 @@ interface UpdateTemplateSheetProps export function UpdateTemplateSheet({ template, ...props }: UpdateTemplateSheetProps) { const [isUpdatePending, startUpdateTransition] = React.useTransition() + const { data: session } = useSession(); + + // 또는 더 안전하게 + if (!session?.user?.id) { + toast.error("로그인이 필요합니다") + return + } const form = useForm<UpdateTemplateSchema>({ resolver: zodResolver(updateTemplateSchema), @@ -85,8 +93,10 @@ export function UpdateTemplateSheet({ template, ...props }: UpdateTemplateSheetP const { error } = await updateTemplateAction(template.slug, { name: input.name, description: input.description || undefined, + category: input.category === "none" ? undefined : input.category, // 여기서 변환 + // category는 일반적으로 수정하지 않는 것이 좋지만, 필요시 포함 - updatedBy: currentUserId, + updatedBy: Number(session.user.id), }) if (error) { @@ -165,13 +175,13 @@ export function UpdateTemplateSheet({ template, ...props }: UpdateTemplateSheetP </SelectTrigger> </FormControl> <SelectContent> - <SelectItem value="">카테고리 없음</SelectItem> - {TEMPLATE_CATEGORY_OPTIONS.map((option) => ( - <SelectItem key={option.value} value={option.value}> - {option.label} - </SelectItem> - ))} - </SelectContent> + <SelectItem value="none">카테고리 없음</SelectItem> + {TEMPLATE_CATEGORY_OPTIONS.map((option) => ( + <SelectItem key={option.value} value={option.value}> + {option.label} + </SelectItem> + ))} +</SelectContent> </Select> <FormMessage /> </FormItem> |
