diff --git a/src/app/(pages)/(auth)/login/page.tsx b/src/app/(pages)/(auth)/login/page.tsx
index 9e9d02f..2ece251 100644
--- a/src/app/(pages)/(auth)/login/page.tsx
+++ b/src/app/(pages)/(auth)/login/page.tsx
@@ -6,6 +6,7 @@ import LoginMainBigLogo from '@/public/svg/logo/login-main-big.svg';
import { redirect, useRouter } from 'next/navigation';
import { useAuthStore } from '@/lib/stores/auth-store';
import { useEffect } from 'react';
+import { apiClient } from '@/lib/api/axios-client-config';
export default function LoginPage() {
const router = useRouter();
@@ -15,7 +16,10 @@ export default function LoginPage() {
kakaoAuthService.login();
};
const handleGuestLogin = async () => {
- const token = 'guest';
+ const tokenResponse: { accessToken: string } = await apiClient({
+ url: '/test/auth/login',
+ method: 'POST',
+ });
const response = await fetch(
`${process.env.NEXT_PUBLIC_API_ROUTE_URL}/api/cookie-set`,
{
@@ -23,7 +27,7 @@ export default function LoginPage() {
headers: {
'Content-Type': 'application/json',
},
- body: JSON.stringify({ token }),
+ body: JSON.stringify({ token: tokenResponse.accessToken }),
},
);
if (!response.ok) {
diff --git a/src/app/(pages)/(main)/make-video/_components/video-image-upload.tsx b/src/app/(pages)/(main)/make-video/_components/video-image-upload.tsx
index 8185f7b..5de981f 100644
--- a/src/app/(pages)/(main)/make-video/_components/video-image-upload.tsx
+++ b/src/app/(pages)/(main)/make-video/_components/video-image-upload.tsx
@@ -10,9 +10,7 @@ import { toast } from 'sonner';
import MakeVideoStartIcon from '@/public/svg/make-video/make-video-start.svg';
import { GradientProgressBar } from '@/components/gradient-progress-bar';
import { useRouter } from 'next/navigation';
-import {
- createVideoGeneration,
-} from '@/lib/api/video/video';
+import { createVideoGeneration } from '@/lib/api/video/video';
export function VideoImageUpload() {
const router = useRouter();
@@ -57,19 +55,26 @@ export function VideoImageUpload() {
videoUrl: url,
})),
storeId: currentStore?.id ?? '',
- }).then(response => {
- if (!response.videoGenerationId) {
- toast.error('영상 생성에 실패했습니다. 새로고침 후 다시 시도해주세요.');
+ })
+ .then(response => {
+ console.log('response:', response);
+ if (!response.videoGenerationId) {
+ toast.error(
+ '영상 생성에 실패했습니다. 새로고침 후 다시 시도해주세요.',
+ );
+ setIsProcessing(false);
+ return;
+ }
+ router.replace(
+ `/mypage/manage-video?generationId=${response.videoGenerationId}`,
+ );
+ })
+ .catch(() => {
+ toast.error(
+ '영상 생성에 실패했습니다. 새로고침 후 다시 시도해주세요.',
+ );
setIsProcessing(false);
- return;
- }
- router.replace(
- `/mypage/manage-video?generationId=${response.videoGenerationId}`,
- );
- }).catch(() => {
- toast.error('영상 생성에 실패했습니다. 새로고침 후 다시 시도해주세요.');
- setIsProcessing(false);
- });
+ });
},
onUploadError: error => {
toast.error(error.message);
diff --git a/src/app/(pages)/(main)/mypage/(mypage)/manage-video/[video_id]/page.tsx b/src/app/(pages)/(main)/mypage/(mypage)/manage-video/[video_id]/page.tsx
index 1c0877f..3936d89 100644
--- a/src/app/(pages)/(main)/mypage/(mypage)/manage-video/[video_id]/page.tsx
+++ b/src/app/(pages)/(main)/mypage/(mypage)/manage-video/[video_id]/page.tsx
@@ -1,3 +1,4 @@
+import { getVideo } from '@/lib/api/video/video';
import { VideoPlayer } from '../../../_components/manage-video/video-player';
export default async function VideoDetailPage({
@@ -7,10 +8,11 @@ export default async function VideoDetailPage({
}) {
const videoId = (await params).video_id;
console.log(videoId);
+ // const videoInfo = await getVideo(videoId);
return (
);
}
diff --git a/src/app/(pages)/(main)/mypage/(mypage)/manage-video/[video_id]/video-check/page.tsx b/src/app/(pages)/(main)/mypage/(mypage)/manage-video/[video_id]/video-check/page.tsx
index a9f7ff2..fd84b10 100644
--- a/src/app/(pages)/(main)/mypage/(mypage)/manage-video/[video_id]/video-check/page.tsx
+++ b/src/app/(pages)/(main)/mypage/(mypage)/manage-video/[video_id]/video-check/page.tsx
@@ -1,6 +1,6 @@
-import { FieldContainer } from '@/components/store-info';
import { VideoCheckDescription } from '../../../../_components/manage-video/video-check-description';
import { cn } from '@/lib/utils/cn';
+import { VideoCheckButton } from '../../../../_components/manage-video/video-check-button';
const VIDEO_URL =
'https://f002.backblazeb2.com/file/creatomate-c8xg3hsxdu/6683c14f-7d35-45ea-9402-d87fd498f5a7.mp4';
@@ -30,6 +30,7 @@ export default async function VideoCheckPage({
+
);
}
diff --git a/src/app/(pages)/(main)/mypage/_components/manage-video/video-check-button.tsx b/src/app/(pages)/(main)/mypage/_components/manage-video/video-check-button.tsx
new file mode 100644
index 0000000..316e133
--- /dev/null
+++ b/src/app/(pages)/(main)/mypage/_components/manage-video/video-check-button.tsx
@@ -0,0 +1,47 @@
+'use client';
+
+import { toast } from 'sonner';
+
+export function VideoCheckButton({ videoUrl }: { videoUrl: string }) {
+ // 갤러리에 저장 (다운로드) 기능
+ const handleDownload = async () => {
+ try {
+ const response = await fetch(videoUrl);
+ const blob = await response.blob();
+ const url = window.URL.createObjectURL(blob);
+ const a = document.createElement('a');
+ a.href = url;
+ a.download = `shorts-table-video-${Date.now()}.mp4`;
+ document.body.appendChild(a);
+ a.click();
+ document.body.removeChild(a);
+ window.URL.revokeObjectURL(url);
+ toast.success('영상이 다운로드되었습니다!');
+ } catch (error) {
+ console.error('Download failed:', error);
+ toast.error('다운로드에 실패했습니다. 다시 시도해주세요.');
+ }
+ };
+
+ // 업로드 요청 (이메일 발송) 기능
+ const handleUploadRequest = async () => {
+ toast.success('업로드 요청이 완료되었습니다!');
+ };
+
+ return (
+
+
+
+
+ );
+}
diff --git a/src/app/(pages)/(main)/mypage/_components/manage-video/video-player.tsx b/src/app/(pages)/(main)/mypage/_components/manage-video/video-player.tsx
index 308f2b2..9a0b1fc 100644
--- a/src/app/(pages)/(main)/mypage/_components/manage-video/video-player.tsx
+++ b/src/app/(pages)/(main)/mypage/_components/manage-video/video-player.tsx
@@ -3,8 +3,9 @@
import { useState } from 'react';
import { LoadingSpinner } from '@/components/loading-spinner';
import { useRouter } from 'next/navigation';
+import type { VideoResponse } from '@/types/api';
-export function VideoPlayer({ videoId }: { videoId: string }) {
+export function VideoPlayer() {
const router = useRouter();
const videoUrl =
'https://f002.backblazeb2.com/file/creatomate-c8xg3hsxdu/6683c14f-7d35-45ea-9402-d87fd498f5a7.mp4';
@@ -39,9 +40,7 @@ export function VideoPlayer({ videoId }: { videoId: string }) {
다시 만들기