Skip to content

Commit bee1e24

Browse files
rebelchrisclaude
andcommitted
refactor: move help widget into sidebar bottom
Move HelpWidget from floating fixed position into the sidebar, pinned below the scroll area. Collapsed sidebar shows icon trigger, expanded shows inline preview card. Detail card and popover pop out to the right. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent b7b83b6 commit bee1e24

4 files changed

Lines changed: 316 additions & 172 deletions

File tree

packages/shared/src/components/MainLayout.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ import PlusMobileEntryBanner from './banners/PlusMobileEntryBanner';
3333
import usePlusEntry from '../hooks/usePlusEntry';
3434
import { SearchProvider } from '../contexts/search/SearchContext';
3535
import { FeedbackWidget } from './feedback';
36-
import { HelpWidget } from './help/HelpWidget';
3736

3837
const GoBackHeaderMobile = dynamic(
3938
() =>
@@ -216,7 +215,6 @@ function MainLayoutComponent({
216215
)}
217216
{children}
218217
</main>
219-
<HelpWidget />
220218
<FeedbackWidget />
221219
</div>
222220
);

packages/shared/src/components/help/HelpWidget.module.css

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@
22
@keyframes helpCardSlideIn {
33
from {
44
opacity: 0;
5-
transform: translateY(12px) scale(0.96);
5+
transform: translateX(-8px) scale(0.96);
66
}
77
to {
88
opacity: 1;
9-
transform: translateY(0) scale(1);
9+
transform: translateX(0) scale(1);
1010
}
1111
}
1212

1313
@keyframes helpCardSlideOut {
1414
from {
1515
opacity: 1;
16-
transform: translateY(0) scale(1);
16+
transform: translateX(0) scale(1);
1717
}
1818
to {
1919
opacity: 0;
20-
transform: translateY(8px) scale(0.97);
20+
transform: translateX(-6px) scale(0.97);
2121
}
2222
}
2323

@@ -95,29 +95,27 @@
9595
filter: blur(8px);
9696
}
9797

98-
/* ── Help "?" button ────────────────────────── */
99-
.helpButton {
98+
/* ── Inline sidebar card ────────────────────── */
99+
.inlineCard {
100100
transition:
101-
transform 0.2s ease,
102-
box-shadow 0.3s ease;
101+
border-color 0.2s ease,
102+
background-color 0.2s ease;
103103
}
104104

105-
.helpButtonGlow {
105+
.inlineAccent {
106106
position: absolute;
107-
inset: -2px;
108-
border-radius: 50%;
107+
top: 0;
108+
left: 0;
109+
right: 0;
110+
height: 2px;
109111
background: linear-gradient(
110-
135deg,
112+
90deg,
111113
var(--theme-accent-cabbage-default),
112114
var(--theme-accent-blueCheese-default)
113115
);
114-
opacity: 0;
115-
transition: opacity 0.3s ease;
116-
filter: blur(6px);
117-
}
118-
119-
.helpButton:hover .helpButtonGlow {
120-
opacity: 0.2;
116+
background-size: 200% 100%;
117+
animation: helpGradientShift 4s ease-in-out infinite;
118+
border-radius: 12px 12px 0 0;
121119
}
122120

123121
/* ── Notification dot pulse ─────────────────── */

0 commit comments

Comments
 (0)