@@ -10,6 +10,7 @@ import Badge from '../ui/Badge.vue';
1010import Button from ' ../ui/Button.vue' ;
1111import IconButton from ' ../ui/IconButton.vue' ;
1212import Icon from ' ../ui/Icon.vue' ;
13+ import ShortcutKey from ' ../ui/ShortcutKey.vue' ;
1314import Tooltip from ' ../ui/Tooltip.vue' ;
1415
1516const props = defineProps <{
@@ -314,20 +315,20 @@ onUnmounted(() => document.removeEventListener('keydown', handleKeydown));
314315 :loading =" pendingAction === ` option:${opt .label } ` "
315316 :disabled =" busy "
316317 @click =" approveOption (opt .label )"
317- >{{ opt.label }}<span class =" k" >[{{ i + 1 }}]</span ></Button >
318+ >{{ opt.label }}<ShortcutKey class="k">[{{ i + 1 }}]</ShortcutKey ></Button >
318319 </Tooltip >
319320 </template >
320- <Button v-else class="kbtn" size="sm" variant="primary" :loading =" pendingAction === ' approvePlan' " :disabled =" busy " @click =" approvePlan " >{{ t('approval.approvePlan') }}<span class =" k" >[1]</span ></Button >
321- <Button class="kbtn" size="sm" variant="secondary" :disabled =" busy " @click =" revisePlan " >{{ t('approval.revise') }}<span v-if =" planReview.options.length === 0" class =" k" >[2]</span ></Button >
322- <Button class="kbtn" size="sm" variant="danger-soft" :loading =" pendingAction === ' rejectAndExit' " :disabled =" busy " @click =" rejectAndExitPlan " >{{ t('approval.rejectAndExit') }}<span v-if =" planReview.options.length === 0" class =" k" >[3]</span ></Button >
321+ <Button v-else class="kbtn" size="sm" variant="primary" :loading =" pendingAction === ' approvePlan' " :disabled =" busy " @click =" approvePlan " >{{ t('approval.approvePlan') }}<ShortcutKey class="k">[1]</ShortcutKey ></Button >
322+ <Button class="kbtn" size="sm" variant="secondary" :disabled =" busy " @click =" revisePlan " >{{ t('approval.revise') }}<ShortcutKey v-if =" planReview .options .length === 0 " class="k">[2]</ShortcutKey ></Button >
323+ <Button class="kbtn" size="sm" variant="danger-soft" :loading =" pendingAction === ' rejectAndExit' " :disabled =" busy " @click =" rejectAndExitPlan " >{{ t('approval.rejectAndExit') }}<ShortcutKey v-if =" planReview .options .length === 0 " class="k">[3]</ShortcutKey ></Button >
323324 </div >
324325
325326 <!-- default actions row -->
326327 <div v-else class =" abtn" >
327- <Button class="kbtn" size="sm" variant="primary" :loading =" pendingAction === ' approve' " :disabled =" busy " @click =" approve " >{{ t('approval.approve') }}<span class =" k" >[1]</span ></Button >
328- <Button class="kbtn" size="sm" variant="secondary" :loading =" pendingAction === ' approveSession' " :disabled =" busy " @click =" approveSession " >{{ t('approval.approveSession') }}<span class =" k" >[2]</span ></Button >
329- <Button class="kbtn" size="sm" variant="secondary" :loading =" pendingAction === ' reject' " :disabled =" busy " @click =" reject " >{{ t('approval.reject') }}<span class =" k" >[3]</span ></Button >
330- <Button class="kbtn" size="sm" variant="secondary" :disabled =" busy " @click =" openFeedback " >{{ t('approval.feedback') }}<span class =" k" >[4]</span ></Button >
328+ <Button class="kbtn" size="sm" variant="primary" :loading =" pendingAction === ' approve' " :disabled =" busy " @click =" approve " >{{ t('approval.approve') }}<ShortcutKey class="k">[1]</ShortcutKey ></Button >
329+ <Button class="kbtn" size="sm" variant="secondary" :loading =" pendingAction === ' approveSession' " :disabled =" busy " @click =" approveSession " >{{ t('approval.approveSession') }}<ShortcutKey class="k">[2]</ShortcutKey ></Button >
330+ <Button class="kbtn" size="sm" variant="secondary" :loading =" pendingAction === ' reject' " :disabled =" busy " @click =" reject " >{{ t('approval.reject') }}<ShortcutKey class="k">[3]</ShortcutKey ></Button >
331+ <Button class="kbtn" size="sm" variant="secondary" :disabled =" busy " @click =" openFeedback " >{{ t('approval.feedback') }}<ShortcutKey class="k">[4]</ShortcutKey ></Button >
331332 </div >
332333 </template >
333334 </Card >
@@ -554,7 +555,7 @@ onUnmounted(() => document.removeEventListener('keydown', handleKeydown));
554555 width : 100% ;
555556}
556557.plan-actions { flex-wrap : wrap ; }
557- .k { margin-left : var ( --space-2 ); font : var ( --text-xs ) var ( --font-mono ); opacity : .7 ; }
558+ .k { opacity : .75 ; }
558559
559560/* =========================================================================
560561 MOBILE (≤640px): the card spans the full chat column, inner previews scroll
0 commit comments