Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions frontend/src/components/Dialog/FaceSearchDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ export function FaceSearchDialog() {
variant="ghost"
size="icon"
className="h-8 w-8 cursor-pointer p-1"
title="Face Detection Search"
aria-label="Face Detection Search"
>
<ScanFace className="h-4 w-4" />
<span className="sr-only">Face Detection Search</span>
Expand Down
4 changes: 4 additions & 0 deletions frontend/src/components/Media/ImageCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ export function ImageCard({
e.stopPropagation();
setIsFavorite(!isFavorite);
}}
title={isFavorite ? 'Remove from favorites' : 'Add to favorites'}
aria-label="Add to Favorites"
>
<Heart
className={cn(
Expand All @@ -92,6 +94,8 @@ export function ImageCard({
size="icon"
className="cursor-pointer rounded-full bg-white/20 text-white hover:!bg-white/40 hover:!text-white"
onClick={(e) => e.stopPropagation()}
title="Share"
aria-label="Share"
>
<Share2 className="h-5 w-5" />
<span className="sr-only">Share</span>
Expand Down
4 changes: 4 additions & 0 deletions frontend/src/components/Media/ZoomControls.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@ export const ZoomControls: React.FC<ZoomControlsProps> = ({
onClick={onZoomOut}
className="cursor-pointer rounded-md bg-white/10 p-2 text-white transition-all duration-200 hover:bg-white/20 hover:shadow-md"
aria-label="Zoom Out"
title="Zoom Out"
>
<ZoomOut className="h-5 w-5" />
</button>

<button
onClick={onReset}
className="cursor-pointer rounded-md bg-white/10 px-3 py-2 text-sm font-medium text-white transition-all duration-200 hover:bg-white/20 hover:shadow-md"
aria-label="Reset"
>
Reset
</button>
Expand All @@ -42,6 +44,7 @@ export const ZoomControls: React.FC<ZoomControlsProps> = ({
onClick={onZoomIn}
className="cursor-pointer rounded-md bg-white/10 p-2 text-white transition-all duration-200 hover:bg-white/20 hover:shadow-md"
aria-label="Zoom In"
title="Zoom In"
>
<ZoomIn className="h-5 w-5" />
</button>
Expand All @@ -50,6 +53,7 @@ export const ZoomControls: React.FC<ZoomControlsProps> = ({
onClick={onRotate}
className="cursor-pointer rounded-md bg-white/10 p-2 text-white transition-all duration-200 hover:bg-white/20 hover:shadow-md"
aria-label="Rotate"
title="Rotate"
>
<RotateCw className="h-5 w-5" />
</button>
Expand Down
8 changes: 7 additions & 1 deletion frontend/src/components/Navigation/Navbar/Navbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ export function Navbar() {
<button
onClick={() => dispatch(clearSearch())}
className="absolute -top-1 -right-1 flex h-3 w-3 items-center justify-center rounded-full bg-red-600 text-[10px] leading-none text-white"
title="Close"
aria-label="Close"
>
</button>
Expand All @@ -59,7 +61,11 @@ export function Navbar() {

<FaceSearchDialog />

<button className="text-muted-foreground hover:bg-accent dark:hover:bg-accent/50 hover:text-foreground mx-1 cursor-pointer rounded-sm p-2">
<button
className="text-muted-foreground hover:bg-accent dark:hover:bg-accent/50 hover:text-foreground mx-1 cursor-pointer rounded-sm p-2"
title="Search"
aria-label="Search"
>
<Search className="h-4 w-4" />
</button>
</div>
Expand Down
8 changes: 7 additions & 1 deletion frontend/src/components/ThemeToggle.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,13 @@ export function ThemeSelector() {
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button className="cursor-pointer" variant="outline" size="icon">
<Button
className="cursor-pointer"
variant="outline"
size="icon"
title="Themes"
aria-label="themes"
>
<Sun className="h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" />
<Moon className="absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" />
<span className="sr-only">Toggle theme</span>
Expand Down
2 changes: 2 additions & 0 deletions frontend/src/components/ui/dialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ function DialogContent({
<DialogPrimitive.Close
data-slot="dialog-close"
className="ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
title="Close"
aria-label="Close"
>
<XIcon />
<span className="sr-only">Close</span>
Expand Down
Loading