diff --git a/docusaurus/src/components/AiToolbar/AiToolbar.jsx b/docusaurus/src/components/AiToolbar/AiToolbar.jsx
index 401e15c5cd..ade8bc4164 100644
--- a/docusaurus/src/components/AiToolbar/AiToolbar.jsx
+++ b/docusaurus/src/components/AiToolbar/AiToolbar.jsx
@@ -1,5 +1,5 @@
import React, { useState, useRef, useEffect } from 'react';
-import { getPrimaryAction, getDropdownActions } from './utils/aiToolsHelpers';
+import { getPrimaryAction, getDropdownActions, getAllActions } from './utils/aiToolsHelpers';
import { executeAction, getActionDisplay } from './actions/actionRegistry';
import Icon from '../Icon';
@@ -10,7 +10,11 @@ const AiToolbar = () => {
const [isDropdownOpen, setIsDropdownOpen] = useState(false);
const dropdownRef = useRef(null);
- const primaryAction = getPrimaryAction();
+ // Allow users to override the default primary action via localStorage
+ const preferredActionId = (typeof window !== 'undefined' && window.localStorage?.getItem('aiToolbar.preferredActionId')) || null;
+ const primaryAction = preferredActionId
+ ? (getAllActions().find((a) => a.id === preferredActionId) || getPrimaryAction())
+ : getPrimaryAction();
const dropdownActions = getDropdownActions();
// Close dropdown when clicking outside
@@ -68,6 +72,17 @@ const AiToolbar = () => {
await executeAction(action, context);
};
+ // Let users pin the current primary action as their default (saved locally)
+ const setPreferredAsDefault = () => {
+ try {
+ if (typeof window !== 'undefined' && window.localStorage && primaryAction?.id) {
+ window.localStorage.setItem('aiToolbar.preferredActionId', primaryAction.id);
+ }
+ } catch (e) {
+ // ignore storage errors
+ }
+ };
+
// Toggle dropdown
const toggleDropdown = () => {
setIsDropdownOpen(!isDropdownOpen);
@@ -100,6 +115,15 @@ const AiToolbar = () => {
{displayConfig.label}
+ {/* Pin as default */}
+
{/* Dropdown button */}