Skip to content

Commit 9eb3438

Browse files
committed
use accent color as focus-ring
default accent-color otherwise half opacity
1 parent c280a05 commit 9eb3438

31 files changed

Lines changed: 111 additions & 111 deletions

app/assets/main.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ a:hover {
129129
}
130130

131131
a:focus-visible {
132-
outline: 2px solid var(--border-hover);
132+
outline: 2px solid var(--accent);
133133
outline-offset: 2px;
134134
border-radius: 4px;
135135
}
@@ -149,7 +149,7 @@ button {
149149
}
150150

151151
button:focus-visible {
152-
outline: 2px solid var(--border-hover);
152+
outline: 2px solid var(--accent);
153153
outline-offset: 2px;
154154
border-radius: 4px;
155155
}

app/components/CollapsibleSection.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ useHead({
8484
<button
8585
:id="buttonId"
8686
type="button"
87-
class="w-4 h-4 flex items-center justify-center text-fg-subtle hover:text-fg-muted transition-colors duration-200 shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 rounded"
87+
class="w-4 h-4 flex items-center justify-center text-fg-subtle hover:text-fg-muted transition-colors duration-200 shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 rounded"
8888
:aria-expanded="isOpen"
8989
:aria-controls="contentId"
9090
:aria-label="ariaLabel"

app/components/Header/AuthModal.client.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ async function handleLogin() {
4949
</div>
5050
</div>
5151
<button
52-
class="w-full px-4 py-2 font-mono text-sm text-fg-muted bg-bg-subtle border border-border rounded-md transition-colors duration-200 hover:text-fg hover:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
52+
class="w-full px-4 py-2 font-mono text-sm text-fg-muted bg-bg-subtle border border-border rounded-md transition-colors duration-200 hover:text-fg hover:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
5353
@click="logout"
5454
>
5555
{{ $t('auth.modal.disconnect') }}
@@ -76,7 +76,7 @@ async function handleLogin() {
7676
:placeholder="$t('auth.modal.handle_placeholder')"
7777
autocomplete="off"
7878
spellcheck="false"
79-
class="w-full px-3 py-2 font-mono text-sm bg-bg-subtle border border-border rounded-md text-fg placeholder:text-fg-subtle transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
79+
class="w-full px-3 py-2 font-mono text-sm bg-bg-subtle border border-border rounded-md text-fg placeholder:text-fg-subtle transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
8080
/>
8181
</div>
8282

@@ -114,21 +114,21 @@ async function handleLogin() {
114114
<button
115115
type="submit"
116116
:disabled="!handleInput.trim()"
117-
class="w-full px-4 py-2 font-mono text-sm text-bg bg-fg rounded-md transition-all duration-200 hover:bg-fg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 focus-visible:ring-offset-2 focus-visible:ring-offset-bg"
117+
class="w-full px-4 py-2 font-mono text-sm text-bg bg-fg rounded-md transition-all duration-200 hover:bg-fg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 focus-visible:ring-offset-2 focus-visible:ring-offset-bg"
118118
>
119119
{{ $t('auth.modal.connect') }}
120120
</button>
121121
<button
122122
type="button"
123-
class="w-full px-4 py-2 font-mono text-sm text-bg bg-fg rounded-md transition-all duration-200 hover:bg-fg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 focus-visible:ring-offset-2 focus-visible:ring-offset-bg"
123+
class="w-full px-4 py-2 font-mono text-sm text-bg bg-fg rounded-md transition-all duration-200 hover:bg-fg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 focus-visible:ring-offset-2 focus-visible:ring-offset-bg"
124124
@click="handleCreateAccount"
125125
>
126126
{{ $t('auth.modal.create_account') }}
127127
</button>
128128
<hr />
129129
<button
130130
type="button"
131-
class="w-full px-4 py-2 font-mono text-sm text-bg bg-fg rounded-md transition-all duration-200 hover:bg-fg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 focus-visible:ring-offset-2 focus-visible:ring-offset-bg flex items-center justify-center gap-2"
131+
class="w-full px-4 py-2 font-mono text-sm text-bg bg-fg rounded-md transition-all duration-200 hover:bg-fg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 focus-visible:ring-offset-2 focus-visible:ring-offset-bg flex items-center justify-center gap-2"
132132
@click="handleBlueskySignIn"
133133
>
134134
{{ $t('auth.modal.connect_bluesky') }}

app/components/Header/ConnectorModal.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ function handleDisconnect() {
7070

7171
<button
7272
type="button"
73-
class="w-full px-4 py-2 font-mono text-sm text-fg-muted bg-bg-subtle border border-border rounded-md transition-colors duration-200 hover:text-fg hover:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
73+
class="w-full px-4 py-2 font-mono text-sm text-fg-muted bg-bg-subtle border border-border rounded-md transition-colors duration-200 hover:text-fg hover:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
7474
@click="handleDisconnect"
7575
>
7676
{{ $t('connector.modal.disconnect') }}
@@ -116,7 +116,7 @@ function handleDisconnect() {
116116
<button
117117
type="button"
118118
:aria-label="copied ? $t('connector.modal.copied') : $t('connector.modal.copy_command')"
119-
class="ms-auto text-fg-subtle hover:text-fg transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 rounded"
119+
class="ms-auto text-fg-subtle hover:text-fg transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 rounded"
120120
@click="copy('pnpm npmx-connector')"
121121
>
122122
<span v-if="!copied" class="i-carbon:copy block w-5 h-5" aria-hidden="true" />
@@ -138,7 +138,7 @@ function handleDisconnect() {
138138
:aria-label="
139139
copied ? $t('connector.modal.copied') : $t('connector.modal.copy_command')
140140
"
141-
class="ms-auto text-fg-subtle hover:text-fg transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 rounded"
141+
class="ms-auto text-fg-subtle hover:text-fg transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 rounded"
142142
@click="copyCommand"
143143
>
144144
<span v-if="!copied" class="i-carbon:copy block w-5 h-5" aria-hidden="true" />
@@ -224,7 +224,7 @@ function handleDisconnect() {
224224
<button
225225
type="submit"
226226
:disabled="!tokenInput.trim() || isConnecting"
227-
class="w-full px-4 py-2 font-mono text-sm text-bg bg-fg rounded-md transition-all duration-200 hover:bg-fg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 focus-visible:ring-offset-2 focus-visible:ring-offset-bg"
227+
class="w-full px-4 py-2 font-mono text-sm text-bg bg-fg rounded-md transition-all duration-200 hover:bg-fg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 focus-visible:ring-offset-2 focus-visible:ring-offset-bg"
228228
>
229229
{{ isConnecting ? $t('connector.modal.connecting') : $t('connector.modal.connect') }}
230230
</button>

app/components/Modal.client.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ defineExpose({
3636
</h2>
3737
<button
3838
type="button"
39-
class="text-fg-subtle hover:text-fg transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 rounded"
39+
class="text-fg-subtle hover:text-fg transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 rounded"
4040
:aria-label="$t('common.close')"
4141
@click="handleModalClose"
4242
>

app/components/Org/MembersPanel.vue

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ watch(lastExecutionTime, () => {
296296
</h2>
297297
<button
298298
type="button"
299-
class="p-1.5 text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
299+
class="p-1.5 text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
300300
:aria-label="$t('org.members.refresh')"
301301
:disabled="isLoading"
302302
@click="refreshData"
@@ -324,7 +324,7 @@ watch(lastExecutionTime, () => {
324324
name="members-search"
325325
:placeholder="$t('org.members.filter_placeholder')"
326326
v-bind="noCorrect"
327-
class="w-full ps-7 pe-2 py-1.5 font-mono text-sm bg-bg-subtle border border-border rounded text-fg placeholder:text-fg-subtle transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
327+
class="w-full ps-7 pe-2 py-1.5 font-mono text-sm bg-bg-subtle border border-border rounded text-fg placeholder:text-fg-subtle transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
328328
/>
329329
</div>
330330
<div
@@ -336,7 +336,7 @@ watch(lastExecutionTime, () => {
336336
v-for="role in ['all', 'owner', 'admin', 'developer'] as const"
337337
:key="role"
338338
type="button"
339-
class="px-2 py-1 font-mono text-xs rounded transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
339+
class="px-2 py-1 font-mono text-xs rounded transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
340340
:class="filterRole === role ? 'bg-bg-muted text-fg' : 'text-fg-muted hover:text-fg'"
341341
:aria-pressed="filterRole === role"
342342
@click="filterRole = role"
@@ -352,7 +352,7 @@ watch(lastExecutionTime, () => {
352352
id="team-filter"
353353
v-model="filterTeam"
354354
name="team-filter"
355-
class="px-2 py-1 font-mono text-xs bg-bg-subtle border border-border rounded text-fg transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
355+
class="px-2 py-1 font-mono text-xs bg-bg-subtle border border-border rounded text-fg transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
356356
>
357357
<option :value="null">{{ $t('org.members.all_teams') }}</option>
358358
<option v-for="team in teamNames" :key="team" :value="team">
@@ -367,7 +367,7 @@ watch(lastExecutionTime, () => {
367367
>
368368
<button
369369
type="button"
370-
class="px-2 py-1 font-mono rounded transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
370+
class="px-2 py-1 font-mono rounded transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
371371
:class="sortBy === 'name' ? 'bg-bg-muted text-fg' : 'text-fg-muted hover:text-fg'"
372372
:aria-pressed="sortBy === 'name'"
373373
@click="toggleSort('name')"
@@ -377,7 +377,7 @@ watch(lastExecutionTime, () => {
377377
</button>
378378
<button
379379
type="button"
380-
class="px-2 py-1 font-mono rounded transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
380+
class="px-2 py-1 font-mono rounded transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
381381
:class="sortBy === 'role' ? 'bg-bg-muted text-fg' : 'text-fg-muted hover:text-fg'"
382382
:aria-pressed="sortBy === 'role'"
383383
@click="toggleSort('role')"
@@ -404,7 +404,7 @@ watch(lastExecutionTime, () => {
404404
</p>
405405
<button
406406
type="button"
407-
class="mt-2 font-mono text-xs text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
407+
class="mt-2 font-mono text-xs text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
408408
@click="loadMembers"
409409
>
410410
{{ $t('common.try_again') }}
@@ -451,7 +451,7 @@ watch(lastExecutionTime, () => {
451451
:id="`role-${member.name}`"
452452
:value="member.role"
453453
:name="`role-${member.name}`"
454-
class="px-1.5 py-0.5 font-mono text-xs bg-bg-subtle border border-border rounded text-fg transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 cursor-pointer"
454+
class="px-1.5 py-0.5 font-mono text-xs bg-bg-subtle border border-border rounded text-fg transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 cursor-pointer"
455455
@change="
456456
handleChangeRole(
457457
member.name,
@@ -466,7 +466,7 @@ watch(lastExecutionTime, () => {
466466
<!-- Remove button -->
467467
<button
468468
type="button"
469-
class="p-1 text-fg-subtle hover:text-red-400 transition-colors duration-200 rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
469+
class="p-1 text-fg-subtle hover:text-red-400 transition-colors duration-200 rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
470470
:aria-label="$t('org.members.remove_from_org', { name: member.name })"
471471
@click="handleRemoveMember(member.name)"
472472
>
@@ -480,7 +480,7 @@ watch(lastExecutionTime, () => {
480480
v-for="team in member.teams"
481481
:key="team"
482482
type="button"
483-
class="inline-flex items-center gap-1 px-1.5 py-0.5 font-mono text-xs text-fg-muted border border-border rounded hover:text-fg hover:border-border-hover transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
483+
class="inline-flex items-center gap-1 px-1.5 py-0.5 font-mono text-xs text-fg-muted border border-border rounded hover:text-fg hover:border-border-hover transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
484484
:aria-label="$t('org.members.view_team', { team })"
485485
@click="handleTeamClick(team)"
486486
>
@@ -509,15 +509,15 @@ watch(lastExecutionTime, () => {
509509
name="new-member-username"
510510
:placeholder="$t('org.members.username_placeholder')"
511511
v-bind="noCorrect"
512-
class="w-full px-2 py-1.5 font-mono text-sm bg-bg border border-border rounded text-fg placeholder:text-fg-subtle transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
512+
class="w-full px-2 py-1.5 font-mono text-sm bg-bg border border-border rounded text-fg placeholder:text-fg-subtle transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
513513
/>
514514
<div class="flex items-center gap-2">
515515
<label for="new-member-role" class="sr-only">{{ $t('org.members.role_label') }}</label>
516516
<select
517517
id="new-member-role"
518518
v-model="newRole"
519519
name="new-member-role"
520-
class="flex-1 px-2 py-1.5 font-mono text-sm bg-bg border border-border rounded text-fg transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
520+
class="flex-1 px-2 py-1.5 font-mono text-sm bg-bg border border-border rounded text-fg transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
521521
>
522522
<option value="developer">{{ $t('org.members.role.developer') }}</option>
523523
<option value="admin">{{ $t('org.members.role.admin') }}</option>
@@ -529,7 +529,7 @@ watch(lastExecutionTime, () => {
529529
id="new-member-team"
530530
v-model="newTeam"
531531
name="new-member-team"
532-
class="flex-1 px-2 py-1.5 font-mono text-sm bg-bg border border-border rounded text-fg transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
532+
class="flex-1 px-2 py-1.5 font-mono text-sm bg-bg border border-border rounded text-fg transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
533533
>
534534
<option value="">{{ $t('org.members.no_team') }}</option>
535535
<option v-for="team in teamNames" :key="team" :value="team">
@@ -539,13 +539,13 @@ watch(lastExecutionTime, () => {
539539
<button
540540
type="submit"
541541
:disabled="!newUsername.trim() || isAddingMember"
542-
class="px-3 py-1.5 font-mono text-xs text-bg bg-fg rounded transition-all duration-200 hover:bg-fg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
542+
class="px-3 py-1.5 font-mono text-xs text-bg bg-fg rounded transition-all duration-200 hover:bg-fg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
543543
>
544544
{{ isAddingMember ? '…' : $t('org.members.add_button') }}
545545
</button>
546546
<button
547547
type="button"
548-
class="p-1.5 text-fg-subtle hover:text-fg transition-colors duration-200 rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
548+
class="p-1.5 text-fg-subtle hover:text-fg transition-colors duration-200 rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
549549
:aria-label="$t('org.members.cancel_add')"
550550
@click="showAddMember = false"
551551
>
@@ -557,7 +557,7 @@ watch(lastExecutionTime, () => {
557557
<button
558558
v-else
559559
type="button"
560-
class="w-full px-3 py-2 font-mono text-sm text-fg-muted bg-bg border border-border rounded transition-colors duration-200 hover:text-fg hover:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
560+
class="w-full px-3 py-2 font-mono text-sm text-fg-muted bg-bg border border-border rounded transition-colors duration-200 hover:text-fg hover:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
561561
@click="showAddMember = true"
562562
>
563563
{{ $t('org.members.add_member') }}

0 commit comments

Comments
 (0)