diff --git a/src/app/AppShell.tsx b/src/app/AppShell.tsx index 92bc40d8..678bf760 100644 --- a/src/app/AppShell.tsx +++ b/src/app/AppShell.tsx @@ -22,7 +22,7 @@ import GlobalConfirmModal from '../components/GlobalConfirmModal'; import ThemeMigrationNotice from '../components/ThemeMigrationNotice'; import OrbitAccountPicker from '../components/OrbitAccountPicker'; import OrbitHelpModal from '../components/OrbitHelpModal'; -import TooltipPortal from '../components/TooltipPortal'; +import TooltipPortal from '@/ui/TooltipPortal'; import OverlayScrollArea from '../components/OverlayScrollArea'; import { APP_MAIN_SCROLL_VIEWPORT_ID, diff --git a/src/app/MiniPlayerApp.test.tsx b/src/app/MiniPlayerApp.test.tsx index e4b71f49..50675d8f 100644 --- a/src/app/MiniPlayerApp.test.tsx +++ b/src/app/MiniPlayerApp.test.tsx @@ -30,7 +30,7 @@ vi.mock('../i18n', () => ({ })); vi.mock('../components/MiniPlayer', () => ({ default: () =>
})); vi.mock('../components/GlobalConfirmModal', () => ({ default: () =>
})); -vi.mock('../components/TooltipPortal', () => ({ default: () =>
})); +vi.mock('@/ui/TooltipPortal', () => ({ default: () =>
})); vi.mock('../components/FpsOverlay', () => ({ default: () =>
})); vi.mock('../contexts/DragDropContext', () => ({ DragDropProvider: ({ children }: { children: React.ReactNode }) => <>{children}, diff --git a/src/app/MiniPlayerApp.tsx b/src/app/MiniPlayerApp.tsx index 3a91cc63..fa1eb81a 100644 --- a/src/app/MiniPlayerApp.tsx +++ b/src/app/MiniPlayerApp.tsx @@ -2,7 +2,7 @@ import { useEffect } from 'react'; import { DragDropProvider } from '../contexts/DragDropContext'; import MiniPlayer from '../components/MiniPlayer'; import GlobalConfirmModal from '../components/GlobalConfirmModal'; -import TooltipPortal from '../components/TooltipPortal'; +import TooltipPortal from '@/ui/TooltipPortal'; import FpsOverlay from '../components/FpsOverlay'; import { useThemeStore } from '../store/themeStore'; import { useFontStore } from '../store/fontStore'; diff --git a/src/components/AlbumHeader.tsx b/src/components/AlbumHeader.tsx index c23fe639..69512148 100644 --- a/src/components/AlbumHeader.tsx +++ b/src/components/AlbumHeader.tsx @@ -18,7 +18,7 @@ import { formatLongDuration } from '../utils/format/formatDuration'; import { formatMb } from '../utils/format/formatBytes'; import { sanitizeHtml } from '../utils/sanitizeHtml'; import { OpenArtistRefInline } from './OpenArtistRefInline'; -import { tooltipAttrs } from './tooltipAttrs'; +import { tooltipAttrs } from '@/ui/tooltipAttrs'; import { offlineActionPolicy, type OfflineActionPolicy } from '../utils/offline/offlineActionPolicy'; import { deriveAlbumGenreTags } from '../utils/library/genreTags'; import { genreColor } from '../utils/library/genreColor'; diff --git a/src/components/GenreFilterBar.tsx b/src/components/GenreFilterBar.tsx index bfe0a09f..876382b3 100644 --- a/src/components/GenreFilterBar.tsx +++ b/src/components/GenreFilterBar.tsx @@ -5,7 +5,7 @@ import { createPortal } from 'react-dom'; import { Check, Filter, X } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import FilterQuickClear from './FilterQuickClear'; -import { tooltipAttrs } from './tooltipAttrs'; +import { tooltipAttrs } from '@/ui/tooltipAttrs'; type GenreRow = GenreFilterOption; diff --git a/src/components/SongRow.tsx b/src/components/SongRow.tsx index 755930a2..2004105c 100644 --- a/src/components/SongRow.tsx +++ b/src/components/SongRow.tsx @@ -11,7 +11,7 @@ import { useDragDrop } from '../contexts/DragDropContext'; import { useOrbitSongRowBehavior } from '../hooks/useOrbitSongRowBehavior'; import { formatTrackTime } from '../utils/format/formatDuration'; import { resolveTrackArtistRefs } from '../utils/playback/trackArtistRefs'; -import { tooltipAttrs } from './tooltipAttrs'; +import { tooltipAttrs } from '@/ui/tooltipAttrs'; interface Props { song: SubsonicSong; diff --git a/src/components/SortDropdown.tsx b/src/components/SortDropdown.tsx index 41c97231..8efe899e 100644 --- a/src/components/SortDropdown.tsx +++ b/src/components/SortDropdown.tsx @@ -1,7 +1,7 @@ import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react'; import { createPortal } from 'react-dom'; import { ArrowDownUp, Check } from 'lucide-react'; -import { tooltipAttrs } from './tooltipAttrs'; +import { tooltipAttrs } from '@/ui/tooltipAttrs'; export interface SortOption { value: V; diff --git a/src/components/YearFilterButton.tsx b/src/components/YearFilterButton.tsx index ef1b0abb..1c05b1d6 100644 --- a/src/components/YearFilterButton.tsx +++ b/src/components/YearFilterButton.tsx @@ -3,7 +3,7 @@ import { createPortal } from 'react-dom'; import { CalendarRange, X } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import FilterQuickClear from './FilterQuickClear'; -import { tooltipAttrs } from './tooltipAttrs'; +import { tooltipAttrs } from '@/ui/tooltipAttrs'; import { ALBUM_YEAR_MAX, ALBUM_YEAR_MIN, diff --git a/src/components/artistDetail/ArtistDetailHero.tsx b/src/components/artistDetail/ArtistDetailHero.tsx index b5fe12f7..9f4fa2dd 100644 --- a/src/components/artistDetail/ArtistDetailHero.tsx +++ b/src/components/artistDetail/ArtistDetailHero.tsx @@ -21,7 +21,7 @@ import type { CoverArtRef } from '../../cover/types'; import LastfmIcon from '../LastfmIcon'; import WikipediaIcon from '../WikipediaIcon'; import StarRating from '../StarRating'; -import { tooltipAttrs } from '../tooltipAttrs'; +import { tooltipAttrs } from '@/ui/tooltipAttrs'; import { offlineActionPolicy, type OfflineActionPolicy } from '../../utils/offline/offlineActionPolicy'; interface Props { diff --git a/src/components/settings/ServersTab.tsx b/src/components/settings/ServersTab.tsx index a6e68d70..2a352fa2 100644 --- a/src/components/settings/ServersTab.tsx +++ b/src/components/settings/ServersTab.tsx @@ -40,7 +40,7 @@ import { ServerCapabilityHeaderBadge } from './ServerCapabilityHeaderBadge'; import { useListReorderDnd } from '../../hooks/useListReorderDnd'; import { applyListReorderById, type ListReorderDropTarget } from '../../utils/componentHelpers/listReorder'; import { ReorderGripHandle } from './ReorderGripHandle'; -import { tooltipAttrs } from '../tooltipAttrs'; +import { tooltipAttrs } from '@/ui/tooltipAttrs'; const AUDIOMUSE_NV_PLUGIN_URL = 'https://github.com/NeptuneHub/AudioMuse-AI-NV-plugin'; diff --git a/src/pages/SearchBrowsePage.tsx b/src/pages/SearchBrowsePage.tsx index 742c9c0d..428ed770 100644 --- a/src/pages/SearchBrowsePage.tsx +++ b/src/pages/SearchBrowsePage.tsx @@ -11,7 +11,7 @@ import ArtistRow from '../components/ArtistRow'; import PagedSongList from '../components/PagedSongList'; import CustomSelect from '../components/CustomSelect'; import StarFilterButton from '../components/StarFilterButton'; -import { tooltipAttrs } from '../components/tooltipAttrs'; +import { tooltipAttrs } from '@/ui/tooltipAttrs'; import { APP_MAIN_SCROLL_VIEWPORT_ID } from '../constants/appScroll'; import { useAuthStore } from '../store/authStore'; import { usePlayerStore } from '../store/playerStore'; diff --git a/src/components/TooltipPortal.test.tsx b/src/ui/TooltipPortal.test.tsx similarity index 98% rename from src/components/TooltipPortal.test.tsx rename to src/ui/TooltipPortal.test.tsx index 5d9a8124..6cc947a3 100644 --- a/src/components/TooltipPortal.test.tsx +++ b/src/ui/TooltipPortal.test.tsx @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { act, fireEvent, screen } from '@testing-library/react'; import { renderWithProviders } from '@/test/helpers/renderWithProviders'; -import TooltipPortal from './TooltipPortal'; +import TooltipPortal from '@/ui/TooltipPortal'; function Fixture() { return ( diff --git a/src/components/TooltipPortal.tsx b/src/ui/TooltipPortal.tsx similarity index 100% rename from src/components/TooltipPortal.tsx rename to src/ui/TooltipPortal.tsx diff --git a/src/components/tooltipAttrs.test.ts b/src/ui/tooltipAttrs.test.ts similarity index 94% rename from src/components/tooltipAttrs.test.ts rename to src/ui/tooltipAttrs.test.ts index 6bdc9b91..048eafb7 100644 --- a/src/components/tooltipAttrs.test.ts +++ b/src/ui/tooltipAttrs.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { tooltipAttrs } from './tooltipAttrs'; +import { tooltipAttrs } from '@/ui/tooltipAttrs'; describe('tooltipAttrs', () => { it('pairs data-tooltip with a matching aria-label', () => { diff --git a/src/components/tooltipAttrs.ts b/src/ui/tooltipAttrs.ts similarity index 100% rename from src/components/tooltipAttrs.ts rename to src/ui/tooltipAttrs.ts