feat: 이미지 및 동영상 게시글 작업(cs, features)

This commit is contained in:
2025-05-15 16:32:30 +09:00
parent 0d9d3c2fc5
commit 8c84ef2be8
36 changed files with 456 additions and 278 deletions
@@ -10,6 +10,7 @@ export const ENDPOINT = {
MOVIE_THUMBNAIL: "/attach-service/api/v1/movie/thumbnail",
ATTACHMENTS: "/attach-service/api/v1/atfl/attachments",
DOWNLOAD: "/attach-service/api/v1/atflcd/download",
STREAM_VIDEO: "/attach-service/api/v1/stream/video",
},
USER_SERVICE: {
LOGIN: "/user-service/login",
@@ -7,18 +7,18 @@ export const usePrompt = () => {
const prompt = (message: string) => {
setMessage(message);
return new Promise<string>((resolve) => {
return new Promise<{ resolved: boolean; value?: string }>((resolve) => {
setResolve(() => resolve);
});
};
const onSubmit = (value: string) => {
resolve?.(value);
resolve?.({ resolved: true, value });
setMessage("");
};
const onCancel = () => {
resolve?.("");
resolve?.({ resolved: false });
setMessage("");
};
@@ -2,9 +2,15 @@ import { createContext, useState } from "react";
interface PromptContext {
message?: string;
resolve?: (value: string) => void;
resolve?: ({
resolved,
value,
}: {
resolved: boolean;
value?: string;
}) => void;
setMessage: (message: string) => void;
setResolve: (resolve: (value: string) => void) => void;
setResolve: (resolve: () => void) => void;
}
export const PromptContext = createContext<PromptContext>({
@@ -16,7 +22,10 @@ export const PromptContext = createContext<PromptContext>({
export const PromptProvider = ({ children }: { children: React.ReactNode }) => {
const [message, setMessage] = useState<string>();
const [resolve, setResolve] = useState<(value: string) => void>();
const [resolve, setResolve] =
useState<
({ resolved, value }: { resolved: boolean; value?: string }) => void
>();
return (
<PromptContext.Provider
@@ -56,7 +56,7 @@ function GridViewDataTable<T>({
key={row.id}
onClick={() => onRowClick?.(row.original)}
className={cn(
"rounded-md border border-border bg-background p-4 shadow-md",
"overflow-hidden rounded-md border border-border bg-background p-4 shadow-md",
onRowClick && "cursor-pointer hover:bg-accent",
)}
>