From 5c3e0d614012ee3bd6a33f821091827c80be8dcd Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 22 Mar 2026 20:06:09 +0000 Subject: [PATCH] [jules] style: Add consistent focus-visible states to buttons Added consistent `focus-visible` styling (ring and ring-offset classes) to all interactive ` diff --git a/web/pages/Auth.tsx b/web/pages/Auth.tsx index 5f0efbee..3c7cc332 100644 --- a/web/pages/Auth.tsx +++ b/web/pages/Auth.tsx @@ -211,7 +211,7 @@ export const Auth = () => { type="button" onClick={handleGoogleSignIn} disabled={googleLoading} - className={`w-full flex items-center justify-center gap-3 p-3 font-bold transition-all ${isNeo + className={`w-full flex items-center justify-center gap-3 p-3 font-bold transition-all focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-offset-2 ${isNeo ? "focus-visible:ring-black dark:focus-visible:ring-white dark:focus-visible:ring-offset-zinc-900" : "focus-visible:ring-blue-500 focus-visible:ring-offset-transparent"} ${isNeo ? 'bg-white border-2 border-black shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] hover:translate-x-[2px] hover:translate-y-[2px] hover:shadow-[2px_2px_0px_0px_rgba(0,0,0,1)] rounded-none' : 'bg-white text-black hover:bg-gray-50 border border-gray-200 shadow-sm rounded-xl' }`} @@ -330,7 +330,7 @@ export const Auth = () => { setFieldErrors({}); setError(''); }} - className="text-sm font-bold hover:underline opacity-70 hover:opacity-100 transition-opacity" + className="text-sm font-bold hover:underline opacity-70 hover:opacity-100 transition-opacity focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-blue-500" > {isLogin ? "Don't have an account? Sign Up" diff --git a/web/pages/Dashboard.tsx b/web/pages/Dashboard.tsx index 7670c757..0a8e7b49 100644 --- a/web/pages/Dashboard.tsx +++ b/web/pages/Dashboard.tsx @@ -297,9 +297,9 @@ export const Dashboard = () => { key={group._id} type="button" onClick={() => navigate(`/groups/${group._id}`)} - className={`w-full p-4 flex items-center justify-between transition-all ${style === THEMES.NEOBRUTALISM - ? 'bg-white border-2 border-black hover:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] hover:-translate-y-1' - : 'bg-white/50 backdrop-blur-sm rounded-lg hover:bg-white/80' + className={`w-full p-4 flex items-center justify-between transition-all focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-offset-2 ${style === THEMES.NEOBRUTALISM + ? 'bg-white border-2 border-black hover:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] hover:-translate-y-1 focus-visible:ring-black dark:focus-visible:ring-white dark:focus-visible:ring-offset-zinc-900' + : 'bg-white/50 backdrop-blur-sm rounded-lg hover:bg-white/80 focus-visible:ring-blue-500 focus-visible:ring-offset-transparent' }`} >
@@ -338,9 +338,9 @@ export const Dashboard = () => { key={groupSum.group_id} type="button" onClick={() => navigate(`/groups/${groupSum.group_id}`)} - className={`p-4 text-left transition-all ${style === THEMES.NEOBRUTALISM - ? 'bg-white border-2 border-black hover:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] hover:-translate-y-1' - : 'bg-white/50 backdrop-blur-sm rounded-lg hover:bg-white/80' + className={`p-4 text-left transition-all focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-offset-2 ${style === THEMES.NEOBRUTALISM + ? 'bg-white border-2 border-black hover:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] hover:-translate-y-1 focus-visible:ring-black dark:focus-visible:ring-white dark:focus-visible:ring-offset-zinc-900' + : 'bg-white/50 backdrop-blur-sm rounded-lg hover:bg-white/80 focus-visible:ring-blue-500 focus-visible:ring-offset-transparent' }`} >

{groupSum.group_name}

diff --git a/web/pages/Friends.tsx b/web/pages/Friends.tsx index 039eb5db..f81a6d58 100644 --- a/web/pages/Friends.tsx +++ b/web/pages/Friends.tsx @@ -211,9 +211,9 @@ export const Friends = () => { diff --git a/web/pages/GroupDetails.tsx b/web/pages/GroupDetails.tsx index b2b76c25..3d96452d 100644 --- a/web/pages/GroupDetails.tsx +++ b/web/pages/GroupDetails.tsx @@ -704,7 +704,7 @@ export const GroupDetails = () => { @@ -936,7 +936,7 @@ export const GroupDetails = () => { diff --git a/web/pages/Profile.tsx b/web/pages/Profile.tsx index ff194895..b6797c42 100644 --- a/web/pages/Profile.tsx +++ b/web/pages/Profile.tsx @@ -214,7 +214,7 @@ export const Profile = () => { type="button" key={item.label} onClick={item.onClick} - className={`w-full flex items-center gap-4 p-4 transition-all hover:bg-black/5 dark:hover:bg-white/5 ${itemIdx !== section.items.length - 1 ? 'border-b border-gray-200/50 dark:border-gray-700/50' : '' + className={`w-full flex items-center gap-4 p-4 transition-all hover:bg-black/5 dark:hover:bg-white/5 focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-offset-2 ${isNeo ? "focus-visible:ring-black dark:focus-visible:ring-white dark:focus-visible:ring-offset-zinc-900" : "focus-visible:ring-blue-500 focus-visible:ring-offset-transparent"} ${itemIdx !== section.items.length - 1 ? 'border-b border-gray-200/50 dark:border-gray-700/50' : '' }`} >
{