From 4a82ba8ddf23cd75791002d0826b4ffbde7ebc07 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Mar 2026 09:23:33 +0000 Subject: [PATCH 01/27] chore(deps): bump multer from 2.0.2 to 2.1.1 in /apps/backend Bumps [multer](https://github.com/expressjs/multer) from 2.0.2 to 2.1.1. - [Release notes](https://github.com/expressjs/multer/releases) - [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md) - [Commits](https://github.com/expressjs/multer/compare/v2.0.2...v2.1.1) --- updated-dependencies: - dependency-name: multer dependency-version: 2.1.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- apps/backend/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/backend/package.json b/apps/backend/package.json index 4c07695e..6f7094ac 100644 --- a/apps/backend/package.json +++ b/apps/backend/package.json @@ -48,7 +48,7 @@ "esm": "^3.2.25", "express": "^5.2.1", "mongoose": "^9.0.1", - "multer": "2.0.2", + "multer": "2.1.1", "nanoid": "^5.1.6", "passport": "^0.7.0", "passport-github": "^1.1.0", From ba37b0cd47c37b6210e5adf70501d8bb5cedc768 Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sat, 7 Mar 2026 14:53:20 -0300 Subject: [PATCH 02/27] fix(homepage): first page being fetched again on load more --- .../components/client/context/RecentSongs.context.tsx | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/apps/frontend/src/modules/browse/components/client/context/RecentSongs.context.tsx b/apps/frontend/src/modules/browse/components/client/context/RecentSongs.context.tsx index 8e5efd6d..8b56d763 100644 --- a/apps/frontend/src/modules/browse/components/client/context/RecentSongs.context.tsx +++ b/apps/frontend/src/modules/browse/components/client/context/RecentSongs.context.tsx @@ -37,16 +37,13 @@ export const useRecentSongsStore = create((set, get) => ({ hasMore: true, selectedCategory: '', categories: {}, - page: 0, + page: 1, // Actions initialize: (initialRecentSongs) => { - // If no initial songs, set page to 1 to trigger fetch - // Otherwise, keep page at 0 since we already have the first page of data - const initialPage = initialRecentSongs.length === 0 ? 1 : 0; set({ - recentSongs: initialRecentSongs, - page: initialPage, + recentSongs: injectAdSlots(initialRecentSongs), + page: 1, hasMore: true, recentError: '', }); @@ -146,7 +143,7 @@ export const useRecentSongsPageLoader = () => { ); useEffect(() => { - if (page === 0) return; + if (page === 1) return; // Skip fetching page 1 as it's already loaded initially fetchRecentSongs(); }, [page, selectedCategory, fetchRecentSongs]); }; From 9f58a581e696f47af701f60558ed094b8ae46dbf Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sat, 7 Mar 2026 14:56:04 -0300 Subject: [PATCH 03/27] fix(homepage): duplicate recent songs row on load more First server-side page was being fetched with 16 songs (not 11 + ad), causing the last four songs to be duplicated when the second page with size 12 is fetched. --- apps/frontend/src/app/(content)/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/src/app/(content)/page.tsx b/apps/frontend/src/app/(content)/page.tsx index db13aae1..6447f2ea 100644 --- a/apps/frontend/src/app/(content)/page.tsx +++ b/apps/frontend/src/app/(content)/page.tsx @@ -10,7 +10,7 @@ async function fetchRecentSongs() { const response = await axiosInstance.get>('/song', { params: { page: 1, // TODO: fix constants - limit: 16, // TODO: change 'limit' parameter to 'skip' and load 12 songs initially, then load 8 more songs on each pagination + limit: 11, // TODO: change 'limit' parameter to 'skip' and load 12 songs initially, then load 8 more songs on each pagination sort: 'recent', order: 'desc', }, From f6fa5e103300c8f602823ed5413ee2aa45174311 Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sat, 7 Mar 2026 14:56:46 -0300 Subject: [PATCH 04/27] fix(homepage): re-introduce ad slot on initial recent song sample --- .../client/context/RecentSongs.context.tsx | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/apps/frontend/src/modules/browse/components/client/context/RecentSongs.context.tsx b/apps/frontend/src/modules/browse/components/client/context/RecentSongs.context.tsx index 8b56d763..60a10135 100644 --- a/apps/frontend/src/modules/browse/components/client/context/RecentSongs.context.tsx +++ b/apps/frontend/src/modules/browse/components/client/context/RecentSongs.context.tsx @@ -7,7 +7,7 @@ import type { PageDto, SongPreviewDtoType } from '@nbw/database'; import axiosInstance from '@web/lib/axios'; interface RecentSongsState { - recentSongs: (SongPreviewDtoType | null)[]; + recentSongs: (SongPreviewDtoType | null | undefined)[]; recentError: string; isLoading: boolean; hasMore: boolean; @@ -28,6 +28,20 @@ type RecentSongsStore = RecentSongsState & RecentSongsActions; const adCount = 1; const pageSize = 12; +const fetchCount = pageSize - adCount; + +function injectAdSlots( + songs: SongPreviewDtoType[], +): Array { + const songsWithAds: Array = [...songs]; + + for (let i = 0; i < adCount; i++) { + const adPosition = Math.floor(Math.random() * (songsWithAds.length + 1)); + songsWithAds.splice(adPosition, 0, undefined); + } + + return songsWithAds; +} export const useRecentSongsStore = create((set, get) => ({ // Initial state @@ -65,8 +79,6 @@ export const useRecentSongsStore = create((set, get) => ({ set({ isLoading: true }); try { - const fetchCount = pageSize - adCount; - const params: Record = { page, limit: fetchCount, // TODO: fix constants @@ -83,20 +95,15 @@ export const useRecentSongsStore = create((set, get) => ({ { params }, ); - const newSongs: Array = - response.data.content; - - for (let i = 0; i < adCount; i++) { - const adPosition = Math.floor(Math.random() * newSongs.length) + 1; - newSongs.splice(adPosition, 0, undefined); - } + const fetchedSongs = response.data.content; + const newSongs = injectAdSlots(fetchedSongs); set((state) => ({ recentSongs: [ ...state.recentSongs.filter((song) => song !== null), - ...response.data.content, + ...newSongs, ], - hasMore: response.data.content.length >= fetchCount, + hasMore: fetchedSongs.length >= fetchCount, recentError: '', })); } catch (error) { @@ -113,7 +120,7 @@ export const useRecentSongsStore = create((set, get) => ({ set({ selectedCategory: category, page: 1, - recentSongs: Array(12).fill(null), + recentSongs: Array(pageSize).fill(null), hasMore: true, }); }, @@ -126,7 +133,7 @@ export const useRecentSongsStore = create((set, get) => ({ } set({ - recentSongs: [...recentSongs, ...Array(12).fill(null)], + recentSongs: [...recentSongs, ...Array(pageSize).fill(null)], page: get().page + 1, }); }, From b6d4401b00cac518c9781f5cfe4ac01e810af4cd Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sat, 7 Mar 2026 14:57:26 -0300 Subject: [PATCH 05/27] fix(homepage): remove unnecessary type guard on recent songs iteration --- .../src/modules/browse/components/HomePageComponent.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/src/modules/browse/components/HomePageComponent.tsx b/apps/frontend/src/modules/browse/components/HomePageComponent.tsx index 0f9d3ccf..50996e86 100644 --- a/apps/frontend/src/modules/browse/components/HomePageComponent.tsx +++ b/apps/frontend/src/modules/browse/components/HomePageComponent.tsx @@ -87,7 +87,7 @@ export const HomePageComponent = () => {
- {(recentSongs || []).map((song, i) => + {recentSongs.map((song, i) => // TODO: currently null = skeleton, undefined = ad slot. There must be a more robust system to indicate this. song === undefined ? ( From e7a3ef68351f7f8bbbed6e1ed18e31c34977acd7 Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sat, 7 Mar 2026 14:59:46 -0300 Subject: [PATCH 06/27] fix(my-songs): prevent initial fetch with page=0 causing 400 error --- .../components/client/context/MySongs.context.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/frontend/src/modules/my-songs/components/client/context/MySongs.context.tsx b/apps/frontend/src/modules/my-songs/components/client/context/MySongs.context.tsx index 2778ae70..a2db02d6 100644 --- a/apps/frontend/src/modules/my-songs/components/client/context/MySongs.context.tsx +++ b/apps/frontend/src/modules/my-songs/components/client/context/MySongs.context.tsx @@ -51,7 +51,7 @@ export const useMySongsStore = create((set, get) => ({ page: null, totalSongs: 0, totalPages: 0, - currentPage: 0, + currentPage: 1, pageSize: MY_SONGS.PAGE_SIZE, isLoading: true, error: null, @@ -203,10 +203,15 @@ export const useMySongsStore = create((set, get) => ({ export const useMySongsPageLoader = () => { const currentPage = useMySongsStore((state) => state.currentPage); const loadPage = useMySongsStore((state) => state.loadPage); + const loadedSongs = useMySongsStore((state) => state.loadedSongs); useEffect(() => { + // Skip loading if the page is already loaded from initial data + if (currentPage in loadedSongs) { + return; + } loadPage(); - }, [currentPage, loadPage]); + }, [currentPage, loadPage, loadedSongs]); }; // Legacy hook name for backward compatibility @@ -227,7 +232,7 @@ export const MySongProvider = ({ InitialsongsFolder = {}, children, totalPagesInit = 0, - currentPageInit = 0, + currentPageInit = 1, pageSizeInit = MY_SONGS.PAGE_SIZE, }: MySongProviderProps) => { const initialize = useMySongsStore((state) => state.initialize); From 1c1d28df987143e98fbbc3c544573988fc1d0179 Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sun, 8 Mar 2026 01:09:43 -0300 Subject: [PATCH 07/27] fix(navbar): remove arbitrary width and make username form responsive We only needed to set `width: 0` on the form to make it responsive to flex :) https://stackoverflow.com/a/42421490/9045426 --- .../shared/components/layout/UserMenu.tsx | 117 ++++++++---------- 1 file changed, 55 insertions(+), 62 deletions(-) diff --git a/apps/frontend/src/modules/shared/components/layout/UserMenu.tsx b/apps/frontend/src/modules/shared/components/layout/UserMenu.tsx index 3f17ffc3..01b31e4f 100644 --- a/apps/frontend/src/modules/shared/components/layout/UserMenu.tsx +++ b/apps/frontend/src/modules/shared/components/layout/UserMenu.tsx @@ -112,7 +112,7 @@ export const UserMenu = ({ userData }: { userData: LoggedUserData }) => { arrowPadding={10} > -
+
{/* User */}
@@ -124,79 +124,72 @@ export const UserMenu = ({ userData }: { userData: LoggedUserData }) => { className='rounded-full' />
-
-
- {!isEditingUsername ? ( - <> -

- {currentUsername} -

- +
+ ) : ( + <> +
+ + - - ) : ( - <> - - setIsEditingUsername(false)}> + - - - - - )} -
+ + + + )} +

{userData.email}

{error && ( -

+

{error}

)} {isEditingUsername && ( -

+

NOTE: Your existing song files will{' '} not be updated. Make an edit to each song's title or description to refresh them! From 5dad40322c741277400cf765a6c8092f4f7c2089 Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sun, 8 Mar 2026 01:10:39 -0300 Subject: [PATCH 08/27] fix(about): team member pics shrinking horizontally in mobile layout --- apps/frontend/src/modules/shared/components/TeamMemberCard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/src/modules/shared/components/TeamMemberCard.tsx b/apps/frontend/src/modules/shared/components/TeamMemberCard.tsx index 9dc8c75c..17069c83 100644 --- a/apps/frontend/src/modules/shared/components/TeamMemberCard.tsx +++ b/apps/frontend/src/modules/shared/components/TeamMemberCard.tsx @@ -21,7 +21,7 @@ export const TeamMemberCard = ({ src={`/img/authors/${img}`} width={96} height={96} - className='rounded-full w-24 h-24' + className='rounded-full aspect-square' quality={100} alt={''} /> From d1ddb5973ad7f787baae321221c266674667f973 Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sun, 8 Mar 2026 01:16:50 -0300 Subject: [PATCH 09/27] fix(about): use column layout on team member cards on mobile - Improves responsiveness of the 'Team' section on mobile layout. - Adjust horizontal margins in 'Team' section to be flush with remainder of page on mobile layout. --- .../frontend/src/modules/shared/components/TeamMemberCard.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/frontend/src/modules/shared/components/TeamMemberCard.tsx b/apps/frontend/src/modules/shared/components/TeamMemberCard.tsx index 17069c83..f901d123 100644 --- a/apps/frontend/src/modules/shared/components/TeamMemberCard.tsx +++ b/apps/frontend/src/modules/shared/components/TeamMemberCard.tsx @@ -15,7 +15,7 @@ export const TeamMemberCard = ({ children: string; }) => { return ( -

+
{ return ( -
+
{children}
); From 246e46fcc3c7f95495a34fd5c8f6bb917650e901 Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sun, 8 Mar 2026 01:18:06 -0300 Subject: [PATCH 10/27] fix(about): decrease sponsors image size to avoid section width overflow Decrease sponsors image size to avoid it expanding the 'Acknowledgments' section beyond its max width --- .../src/app/(content)/(info)/about/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/frontend/src/app/(content)/(info)/about/about.mdx b/apps/frontend/src/app/(content)/(info)/about/about.mdx index ac55f36c..663702cb 100644 --- a/apps/frontend/src/app/(content)/(info)/about/about.mdx +++ b/apps/frontend/src/app/(content)/(info)/about/about.mdx @@ -30,16 +30,16 @@ Note Block World is made possible by our amazing community of note block enthusi Backers Sponsors From de2f8b0c493819df2bffec79d694234ea03296d7 Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sun, 8 Mar 2026 01:19:43 -0300 Subject: [PATCH 11/27] fix(my-songs): un-shrink play button on song thumb hover --- .../frontend/src/modules/my-songs/components/client/SongRow.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/src/modules/my-songs/components/client/SongRow.tsx b/apps/frontend/src/modules/my-songs/components/client/SongRow.tsx index 9333cb9b..a1993338 100644 --- a/apps/frontend/src/modules/my-songs/components/client/SongRow.tsx +++ b/apps/frontend/src/modules/my-songs/components/client/SongRow.tsx @@ -58,7 +58,7 @@ export const SongRow = ({ song }: { song?: SongPreviewDtoType | null }) => { > From ea0829f237ab44b040e16971e601f6f50ef96449 Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sun, 8 Mar 2026 01:23:04 -0300 Subject: [PATCH 12/27] fix(navbar): slightly increase size of settings and upload buttons --- .../src/modules/shared/components/layout/SignOutButton.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/frontend/src/modules/shared/components/layout/SignOutButton.tsx b/apps/frontend/src/modules/shared/components/layout/SignOutButton.tsx index 593ffa5f..6e7c464e 100644 --- a/apps/frontend/src/modules/shared/components/layout/SignOutButton.tsx +++ b/apps/frontend/src/modules/shared/components/layout/SignOutButton.tsx @@ -30,7 +30,7 @@ export function UploadButton() { -
+
-
+
Date: Sun, 8 Mar 2026 01:29:55 -0300 Subject: [PATCH 13/27] fix(navbar): hide upload button on mobile layout --- .../src/modules/shared/components/layout/SignOutButton.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/src/modules/shared/components/layout/SignOutButton.tsx b/apps/frontend/src/modules/shared/components/layout/SignOutButton.tsx index 6e7c464e..f4235486 100644 --- a/apps/frontend/src/modules/shared/components/layout/SignOutButton.tsx +++ b/apps/frontend/src/modules/shared/components/layout/SignOutButton.tsx @@ -30,7 +30,7 @@ export function UploadButton() { -
+
Date: Sun, 8 Mar 2026 01:42:16 -0300 Subject: [PATCH 14/27] fix: don't lead directly to pre-selected amount on OC donation links --- apps/frontend/posts/blog/2025-12-31_song-search.md | 2 +- apps/frontend/src/modules/browse/WelcomeBanner.tsx | 2 +- apps/frontend/src/modules/shared/components/layout/Footer.tsx | 2 +- .../src/modules/shared/components/layout/SettingsMenu.tsx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/frontend/posts/blog/2025-12-31_song-search.md b/apps/frontend/posts/blog/2025-12-31_song-search.md index 9b940319..c3662512 100644 --- a/apps/frontend/posts/blog/2025-12-31_song-search.md +++ b/apps/frontend/posts/blog/2025-12-31_song-search.md @@ -40,7 +40,7 @@ You can expect these features to start rolling out in the next few months. Stay This year couldn't have been more amazing. We've reached over **two thousand songs** uploaded to Note Block World, and held our **second community-wide [collaboration event](http://localhost:3000/blog/maestro's-musical-masterpieces)** with the creators of [M.A.E.S.T.R.O.](https://noteblock.world/blog/maestro), which had over **30 submissions** spanning **over 90 minutes of music!** And there was even time for a bonus feature before closing off this year! 🎁 -Thank you to everyone who visited the website, shared music with their friends, submitted their own creations, or even [donated](https://opencollective.com/opennbs/donate/profile) to help us keep the website running. **Our community is at the core of everything we do, and the reason why we're excited to keep working on cool things everyday!** +Thank you to everyone who visited the website, shared music with their friends, submitted their own creations, or even [donated](https://opencollective.com/opennbs/donate) to help us keep the website running. **Our community is at the core of everything we do, and the reason why we're excited to keep working on cool things everyday!** We wish everyone an **incredible 2026**, full of achievements and amazing moments. We'll certainly work hard to make sure it is a wonderful year for Note Block World — especially as it will mark **Note Block Studio's 15th Anniversary!** Stay tuned for the many cool things we're planning to celebrate this remarkable moment in the history of note blocks. diff --git a/apps/frontend/src/modules/browse/WelcomeBanner.tsx b/apps/frontend/src/modules/browse/WelcomeBanner.tsx index 63f3e264..3eb557c4 100644 --- a/apps/frontend/src/modules/browse/WelcomeBanner.tsx +++ b/apps/frontend/src/modules/browse/WelcomeBanner.tsx @@ -71,7 +71,7 @@ export const WelcomeBanner = () => { {' • '} Donate diff --git a/apps/frontend/src/modules/shared/components/layout/Footer.tsx b/apps/frontend/src/modules/shared/components/layout/Footer.tsx index 899ae1d7..3c09ae1f 100644 --- a/apps/frontend/src/modules/shared/components/layout/Footer.tsx +++ b/apps/frontend/src/modules/shared/components/layout/Footer.tsx @@ -35,7 +35,7 @@ export function Footer() { {/* */}
diff --git a/apps/frontend/src/modules/shared/components/layout/SettingsMenu.tsx b/apps/frontend/src/modules/shared/components/layout/SettingsMenu.tsx index c719d8e0..9ccab229 100644 --- a/apps/frontend/src/modules/shared/components/layout/SettingsMenu.tsx +++ b/apps/frontend/src/modules/shared/components/layout/SettingsMenu.tsx @@ -44,7 +44,7 @@ export function SettingsMenu() { external /> Date: Sun, 8 Mar 2026 02:05:24 -0300 Subject: [PATCH 15/27] fix(song): adjust line height on song card's author name overflow --- apps/frontend/src/modules/browse/components/SongCard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/src/modules/browse/components/SongCard.tsx b/apps/frontend/src/modules/browse/components/SongCard.tsx index 5910abbc..a47c41c0 100644 --- a/apps/frontend/src/modules/browse/components/SongCard.tsx +++ b/apps/frontend/src/modules/browse/components/SongCard.tsx @@ -41,7 +41,7 @@ const SongDataDisplay = ({ song }: { song: SongPreviewDtoType | null }) => {
{/* Song author */} -

+

{!song ? ( ) : ( From 361ff924d782c656a9760b865f1aa4c071ccffc5 Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sun, 8 Mar 2026 02:02:43 -0300 Subject: [PATCH 16/27] feat(navbar): link Songs tab to search page with no query Allows browsing all the songs on the website, as opposed to just leading to the homepage (which the website's logo already does). --- .../src/modules/shared/components/layout/Header.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/frontend/src/modules/shared/components/layout/Header.tsx b/apps/frontend/src/modules/shared/components/layout/Header.tsx index 94675ee6..677a1f57 100644 --- a/apps/frontend/src/modules/shared/components/layout/Header.tsx +++ b/apps/frontend/src/modules/shared/components/layout/Header.tsx @@ -59,7 +59,12 @@ export async function Header() { {/* Info pages */}

- + Date: Sun, 8 Mar 2026 02:04:13 -0300 Subject: [PATCH 17/27] fix(search): prevent page title from refreshing when on browse mode --- apps/frontend/src/modules/song-search/SearchSongPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/src/modules/song-search/SearchSongPage.tsx b/apps/frontend/src/modules/song-search/SearchSongPage.tsx index c9811060..349b9b05 100644 --- a/apps/frontend/src/modules/song-search/SearchSongPage.tsx +++ b/apps/frontend/src/modules/song-search/SearchSongPage.tsx @@ -159,8 +159,8 @@ const SearchHeader = ({ const isSearch = useMemo(() => query !== '', [query]); const title = useMemo(() => { - if (loading) return ''; if (isSearch) { + if (loading) return ''; // TODO: implement this with proper variable substitution for translations if (totalResults != 1) { return `${totalResults.toLocaleString('en-UK')} results for "${query}"`; From 7b13b232e72cc4d4aad2bbfc9d64088f0aae3b0b Mon Sep 17 00:00:00 2001 From: Bentroen <29354120+Bentroen@users.noreply.github.com> Date: Sun, 8 Mar 2026 02:04:38 -0300 Subject: [PATCH 18/27] fix(search): disable sorting and order on no results --- apps/frontend/src/modules/song-search/SearchSongPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/frontend/src/modules/song-search/SearchSongPage.tsx b/apps/frontend/src/modules/song-search/SearchSongPage.tsx index 349b9b05..838aed56 100644 --- a/apps/frontend/src/modules/song-search/SearchSongPage.tsx +++ b/apps/frontend/src/modules/song-search/SearchSongPage.tsx @@ -561,7 +561,7 @@ export const SearchSongPage = () => {