+
+
+
+
+ {today.getFullYear()}년
+ {today.getMonth() + 1}월
+
최신곡
+
+
+
+
+
+ {recentAddSongs && recentAddSongs.length > 0 ? (
+
+ {recentAddSongs.map(song => (
+
+ ))}
+
+ ) : (
+
+ )}
+ {isLoadingRecentAddSongs &&
}
+
+ );
+}
diff --git a/apps/web/src/app/search/HomePage.tsx b/apps/web/src/app/search/HomePage.tsx
index ba4e7c5..ac1f25c 100644
--- a/apps/web/src/app/search/HomePage.tsx
+++ b/apps/web/src/app/search/HomePage.tsx
@@ -49,11 +49,8 @@ export default function SearchPage() {
if (searchResults) {
searchSongs = searchResults.pages.flatMap(page => page.data);
- // console.log('searchSongs', searchSongs);
}
- // console.log('searchResults', searchResults);
- // console.log('pages', searchSongs);
const { searchHistory, addToHistory, removeFromHistory } = useSearchHistory();
// 엔터 키 처리
diff --git a/apps/web/src/app/tosing/AddListModal.tsx b/apps/web/src/app/tosing/AddListModal.tsx
index 216e60a..d86eb35 100644
--- a/apps/web/src/app/tosing/AddListModal.tsx
+++ b/apps/web/src/app/tosing/AddListModal.tsx
@@ -1,6 +1,6 @@
'use client';
-import StaticLoading from '@/components/StaticLoading';
+// import StaticLoading from '@/components/StaticLoading';
import { Button } from '@/components/ui/button';
import {
Dialog,
@@ -12,8 +12,8 @@ import {
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import useAddListModal from '@/hooks/useAddSongList';
import { useLikeSongQuery } from '@/queries/likeSongQuery';
-import { useRecentSongQuery } from '@/queries/recentSongQuery';
-import { useSaveSongFolderQuery } from '@/queries/saveSongFolderQuery';
+import { useRecentSingLogQuery } from '@/queries/recentSingLogQuery';
+// import { useSaveSongFolderQuery } from '@/queries/saveSongFolderQuery';
import { useSaveSongQuery } from '@/queries/saveSongQuery';
import ModalSongItem from './ModalSongItem';
@@ -34,7 +34,7 @@ export default function AddListModal({ isOpen, onClose }: AddListModalProps) {
} = useAddListModal();
const { data: likedSongs, isLoading: isLoadingLikedSongs } = useLikeSongQuery();
- const { data: recentSongs, isLoading: isLoadingRecentSongs } = useRecentSongQuery();
+ const { data: recentSongs, isLoading: isLoadingRecentSongs } = useRecentSingLogQuery();
const { data: saveSongFolders, isLoading: isLoadingSongFolders } = useSaveSongQuery();
diff --git a/apps/web/src/app/tosing/SongCard.tsx b/apps/web/src/app/tosing/SongCard.tsx
index d8f283a..4096620 100644
--- a/apps/web/src/app/tosing/SongCard.tsx
+++ b/apps/web/src/app/tosing/SongCard.tsx
@@ -6,7 +6,6 @@ import { Check, ChevronsDown, ChevronsUp, GripVertical, Trash } from 'lucide-rea
import { Button } from '@/components/ui/button';
import { Card } from '@/components/ui/card';
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';
import { Song } from '@/types/song';
interface SongCardProps {
diff --git a/apps/web/src/app/update-password/page.tsx b/apps/web/src/app/update-password/page.tsx
index c1ec02b..5c8a62e 100644
--- a/apps/web/src/app/update-password/page.tsx
+++ b/apps/web/src/app/update-password/page.tsx
@@ -84,7 +84,7 @@ export default function UpdatePasswordPage() {
// 인증 상태 변경 감지
const {
data: { subscription },
- } = supabase.auth.onAuthStateChange(async (event, session) => {
+ } = supabase.auth.onAuthStateChange(async event => {
// console.log('Auth event:', event); // 디버깅용
// console.log('Session:', session); // 디버깅용
diff --git a/apps/web/src/lib/api/recentAddSong.ts b/apps/web/src/lib/api/recentAddSong.ts
new file mode 100644
index 0000000..323ac20
--- /dev/null
+++ b/apps/web/src/lib/api/recentAddSong.ts
@@ -0,0 +1,14 @@
+import { ApiResponse } from '@/types/apiRoute';
+import { Song } from '@/types/song';
+
+import { instance } from './client';
+
+export async function getRecentAddSong(year: number, month: number) {
+ const response = await instance.get