@@ -108,11 +117,12 @@ const AnimatedSwitch = ({ checked, onCheckedChange, id, label }: AnimatedSwitchP
'group-hover:shadow-md group-active:shadow-sm',
'group-hover:scale-95 group-active:scale-90',
)}
- layout
+ initial={false}
transition={{
type: 'spring',
stiffness: 500,
damping: 30,
+ duration: 0.2,
}}
animate={{
x: checked ? '1.25rem' : '0rem',
@@ -414,29 +424,13 @@ export const ControlPanel = ({ open, onClose }: ControlPanelProps) => {
{/* Header */}
- {activeTab || showTabManagement ? (
+ {(activeTab || showTabManagement) && (
- ) : (
-
-
-
)}
{showTabManagement ? 'Tab Management' : activeTab ? TAB_LABELS[activeTab] : 'Control Panel'}
@@ -462,7 +456,7 @@ export const ControlPanel = ({ open, onClose }: ControlPanelProps) => {
{/* Close Button */}
@@ -513,8 +507,10 @@ export const ControlPanel = ({ open, onClose }: ControlPanelProps) => {
statusMessage={getStatusMessage(tab.id)}
description={TAB_DESCRIPTIONS[tab.id]}
isLoading={loadingTab === tab.id}
- className="h-full"
- />
+ className="h-full relative"
+ >
+ {BETA_TABS.has(tab.id) && }
+
))}
diff --git a/app/components/@settings/shared/components/TabTile.tsx b/app/components/@settings/shared/components/TabTile.tsx
index be91c4f7..ea409d69 100644
--- a/app/components/@settings/shared/components/TabTile.tsx
+++ b/app/components/@settings/shared/components/TabTile.tsx
@@ -13,9 +13,10 @@ interface TabTileProps {
description?: string;
isLoading?: boolean;
className?: string;
+ children?: React.ReactNode;
}
-export const TabTile = ({
+export const TabTile: React.FC = ({
tab,
onClick,
isActive,
@@ -24,6 +25,7 @@ export const TabTile = ({
description,
isLoading,
className,
+ children,
}: TabTileProps) => {
return (
@@ -100,62 +102,33 @@ export const TabTile = ({
- {/* Status Indicator */}
+ {/* Update Indicator with Tooltip */}
{hasUpdate && (
-
+ <>
+
+
+
+ {statusMessage}
+
+
+
+ >
)}
- {/* Loading Overlay */}
- {isLoading && (
-
-
-
- )}
+ {/* Children (e.g. Beta Label) */}
+ {children}
-
-
- {statusMessage || TAB_LABELS[tab.id]}
-
-
-
);
diff --git a/app/components/@settings/tabs/features/FeaturesTab.tsx b/app/components/@settings/tabs/features/FeaturesTab.tsx
index 9aa838c4..20fbd10e 100644
--- a/app/components/@settings/tabs/features/FeaturesTab.tsx
+++ b/app/components/@settings/tabs/features/FeaturesTab.tsx
@@ -121,19 +121,13 @@ export default function FeaturesTab() {
// Enable features by default on first load
React.useEffect(() => {
- // Only enable if they haven't been explicitly set before
- if (isLatestBranch === undefined) {
- enableLatestBranch(true);
- }
-
- if (contextOptimizationEnabled === undefined) {
- enableContextOptimization(true);
- }
-
- if (autoSelectTemplate === undefined) {
- setAutoSelectTemplate(true);
- }
+ // Force enable these features by default
+ enableLatestBranch(true);
+ enableContextOptimization(true);
+ setAutoSelectTemplate(true);
+ setPromptId('optimized');
+ // Only enable event logs if not explicitly set before
if (eventLogs === undefined) {
setEventLogs(true);
}