diff --git a/src/app/(app)/epub/[id]/page.tsx b/src/app/(app)/epub/[id]/page.tsx index 19e1806..f786c49 100644 --- a/src/app/(app)/epub/[id]/page.tsx +++ b/src/app/(app)/epub/[id]/page.tsx @@ -173,7 +173,7 @@ export default function EPUBPage() {
{error}
Uploading…
@@ -99,7 +99,7 @@ export const Navigator = ({ currentPage, numPages, skipToLocation }: { skipToLocation(currentPage + 1, true)} disabled={currentPage >= (numPages || 1)} - className="relative p-2 rounded-full text-foreground hover:bg-offbase data-[hover]:bg-offbase data-[active]:bg-offbase transition-all duration-200 focus:outline-none disabled:opacity-50 transform ease-in-out hover:scale-[1.09] hover:text-accent" + className="relative p-2 rounded-full text-foreground hover:bg-offbase data-[hover]:bg-offbase data-[active]:bg-offbase transition duration-base focus:outline-none disabled:opacity-50 transform ease-standard hover:text-accent" aria-label="Next page" > diff --git a/src/components/player/RateLimitPauseButton.tsx b/src/components/player/RateLimitPauseButton.tsx index 3194ace..de358ea 100644 --- a/src/components/player/RateLimitPauseButton.tsx +++ b/src/components/player/RateLimitPauseButton.tsx @@ -16,7 +16,7 @@ export function RateLimitPauseButton() { onClick={() => { if (isPlaying) togglePlay(); }} - className="relative p-1.5 rounded-md text-foreground hover:bg-offbase transition-all duration-200 focus:outline-none h-8 w-8 flex items-center justify-center transform ease-in-out hover:scale-[1.09] hover:text-accent" + className="relative p-1.5 rounded-md text-foreground hover:bg-offbase transition duration-base focus:outline-none h-8 w-8 flex items-center justify-center transform ease-standard hover:text-accent" aria-label="Pause" > diff --git a/src/components/player/SpeedControl.tsx b/src/components/player/SpeedControl.tsx index 2966a91..1951274 100644 --- a/src/components/player/SpeedControl.tsx +++ b/src/components/player/SpeedControl.tsx @@ -88,7 +88,7 @@ export const SpeedControl = ({ return ( - + {compactTriggerLabel} {triggerLabel} diff --git a/src/components/player/TTSPlayer.tsx b/src/components/player/TTSPlayer.tsx index 2689747..e76e2db 100644 --- a/src/components/player/TTSPlayer.tsx +++ b/src/components/player/TTSPlayer.tsx @@ -51,7 +51,7 @@ export default function TTSPlayer({ currentPage, numPages }: { {/* Playback Controls */} @@ -60,7 +60,7 @@ export default function TTSPlayer({ currentPage, numPages }: { @@ -69,7 +69,7 @@ export default function TTSPlayer({ currentPage, numPages }: { diff --git a/src/components/player/VoicesControlBase.tsx b/src/components/player/VoicesControlBase.tsx index a94aa32..f5f3167 100644 --- a/src/components/player/VoicesControlBase.tsx +++ b/src/components/player/VoicesControlBase.tsx @@ -34,8 +34,8 @@ export function VoicesControlBase({ : 'bottom-full right-0 mb-1'; const buttonClass = variant === 'field' - ? 'relative cursor-pointer rounded-lg bg-base py-1.5 pl-3 pr-10 text-left text-foreground focus:outline-none focus:ring-2 focus:ring-accent transform transition-transform duration-200 ease-in-out hover:scale-[1.01] hover:text-accent w-full' - : 'flex items-center space-x-0.5 sm:space-x-1 bg-transparent text-foreground text-xs sm:text-sm focus:outline-none cursor-pointer hover:bg-offbase rounded pl-1.5 sm:pl-2 pr-0.5 sm:pr-1 py-0.5 sm:py-1 transform transition-transform duration-200 ease-in-out hover:scale-[1.04] hover:text-accent'; + ? 'relative cursor-pointer rounded-lg bg-base py-1.5 pl-3 pr-10 text-left text-foreground focus:outline-none focus:ring-2 focus:ring-accent transform transition-transform duration-base ease-standard hover:text-accent w-full' + : 'flex items-center space-x-0.5 sm:space-x-1 bg-transparent text-foreground text-xs sm:text-sm focus:outline-none cursor-pointer hover:bg-offbase rounded pl-1.5 sm:pl-2 pr-0.5 sm:pr-1 py-0.5 sm:py-1 transform transition-transform duration-base ease-standard hover:text-accent'; const iconClass = variant === 'field' ? 'h-3.5 w-3.5 shrink-0' diff --git a/src/components/reader/ReaderSidebarShell.tsx b/src/components/reader/ReaderSidebarShell.tsx index 691762b..d91d299 100644 --- a/src/components/reader/ReaderSidebarShell.tsx +++ b/src/components/reader/ReaderSidebarShell.tsx @@ -41,10 +41,10 @@ export function ReaderSidebarShell({ > @@ -58,10 +58,10 @@ export function ReaderSidebarShell({ diff --git a/src/components/reader/SegmentsSidebar.tsx b/src/components/reader/SegmentsSidebar.tsx index 43fad2c..ca2382b 100644 --- a/src/components/reader/SegmentsSidebar.tsx +++ b/src/components/reader/SegmentsSidebar.tsx @@ -901,10 +901,10 @@ function SegmentMetadataPopover({ row }: { row: TTSSegmentRow }) { diff --git a/src/components/ui/buttonPrimitives.ts b/src/components/ui/buttonPrimitives.ts index 6a90901..a13ed1b 100644 --- a/src/components/ui/buttonPrimitives.ts +++ b/src/components/ui/buttonPrimitives.ts @@ -1,9 +1,9 @@ export const btnBase = - 'inline-flex items-center justify-center rounded-md text-sm font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 transition-colors transition-transform duration-200 ease-out disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:scale-100'; -export const btnPrimary = `${btnBase} bg-accent text-background hover:bg-secondary-accent hover:scale-[1.03]`; -export const btnSecondary = `${btnBase} bg-base text-foreground border border-offbase hover:bg-offbase hover:scale-[1.03]`; -export const btnOutline = `${btnBase} bg-background border border-offbase text-foreground hover:bg-base hover:text-accent hover:scale-[1.02]`; -export const btnDanger = `${btnBase} bg-red-600 text-white border border-red-700 hover:bg-red-700 hover:scale-[1.02]`; + 'inline-flex items-center justify-center rounded-md text-sm font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 transition-colors duration-fast ease-standard disabled:opacity-50 disabled:cursor-not-allowed'; +export const btnPrimary = `${btnBase} bg-accent text-background hover:bg-secondary-accent`; +export const btnSecondary = `${btnBase} bg-base text-foreground border border-offbase hover:bg-offbase`; +export const btnOutline = `${btnBase} bg-background border border-offbase text-foreground hover:bg-base hover:text-accent`; +export const btnDanger = `${btnBase} bg-danger text-background border border-danger hover:bg-danger`; export const btnGhost = `${btnBase} bg-transparent text-foreground hover:bg-base hover:text-accent`; export type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'danger' | 'ghost'; diff --git a/src/components/views/EPUBViewer.tsx b/src/components/views/EPUBViewer.tsx index 7d5dd88..63cc06b 100644 --- a/src/components/views/EPUBViewer.tsx +++ b/src/components/views/EPUBViewer.tsx @@ -163,7 +163,7 @@ export function EPUBViewer({ className = '', epubState }: EPUBViewerProps) { setIsTocOpen(open => !open)} - className="inline-flex items-center py-1 px-1 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition-all duration-200 ease-in-out transform hover:scale-[1.09] hover:text-accent" + className="inline-flex items-center py-1 px-1 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition duration-base ease-standard transform hover:text-accent" aria-label={isTocOpen ? 'Hide chapters' : 'Show chapters'} > @@ -171,7 +171,7 @@ export function EPUBViewer({ className = '', epubState }: EPUBViewerProps) { handleLocationChanged('prev')} - className="inline-flex items-center py-1 px-2 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition-all duration-200 ease-in-out transform hover:scale-[1.09] hover:text-accent" + className="inline-flex items-center py-1 px-2 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition duration-base ease-standard transform hover:text-accent" aria-label="Previous section" > @@ -185,7 +185,7 @@ export function EPUBViewer({ className = '', epubState }: EPUBViewerProps) { handleLocationChanged('next')} - className="inline-flex items-center py-1 px-2 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition-all duration-200 ease-in-out transform hover:scale-[1.09] hover:text-accent" + className="inline-flex items-center py-1 px-2 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition duration-base ease-standard transform hover:text-accent" aria-label="Next section" > @@ -205,7 +205,7 @@ export function EPUBViewer({ className = '', epubState }: EPUBViewerProps) { }} className=" px-2 py-1 rounded-md font-medium text-foreground text-center bg-base - hover:bg-offbase hover:text-accent transition-colors duration-150 + hover:bg-offbase hover:text-accent transition-colors duration-fast whitespace-nowrap flex-1 min-w-[140px] "