feat(next-feedback): convert FeedbackOverlay to controlled component
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 2s
Monorepo Pipeline / 🧹 Lint (push) Successful in 50s
Monorepo Pipeline / 🧪 Test (push) Successful in 1m46s
Monorepo Pipeline / 🏗️ Build (push) Successful in 3m46s
Monorepo Pipeline / 🚀 Release (push) Has been skipped
Monorepo Pipeline / 🐳 Build Directus (Base) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been skipped
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been skipped
🏥 Server Maintenance / 🧹 Prune & Clean (push) Failing after 5s
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 2s
Monorepo Pipeline / 🧹 Lint (push) Successful in 50s
Monorepo Pipeline / 🧪 Test (push) Successful in 1m46s
Monorepo Pipeline / 🏗️ Build (push) Successful in 3m46s
Monorepo Pipeline / 🚀 Release (push) Has been skipped
Monorepo Pipeline / 🐳 Build Directus (Base) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been skipped
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been skipped
🏥 Server Maintenance / 🧹 Prune & Clean (push) Failing after 5s
This commit is contained in:
@@ -31,12 +31,20 @@ interface Feedback {
|
|||||||
comments: FeedbackComment[];
|
comments: FeedbackComment[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export function FeedbackOverlay({ onActiveChange }: { onActiveChange?: (active: boolean) => void }) {
|
export function FeedbackOverlay({
|
||||||
const [isActive, setIsActive] = useState(false);
|
isActive: externalIsActive,
|
||||||
|
onActiveChange
|
||||||
|
}: {
|
||||||
|
isActive?: boolean;
|
||||||
|
onActiveChange?: (active: boolean) => void
|
||||||
|
}) {
|
||||||
|
const [internalIsActive, setInternalIsActive] = useState(false);
|
||||||
|
|
||||||
useEffect(() => {
|
const isActive = externalIsActive !== undefined ? externalIsActive : internalIsActive;
|
||||||
onActiveChange?.(isActive);
|
const setIsActive = (val: boolean) => {
|
||||||
}, [isActive, onActiveChange]);
|
if (externalIsActive === undefined) setInternalIsActive(val);
|
||||||
|
onActiveChange?.(val);
|
||||||
|
};
|
||||||
const [hoveredElement, setHoveredElement] = useState<HTMLElement | null>(
|
const [hoveredElement, setHoveredElement] = useState<HTMLElement | null>(
|
||||||
null,
|
null,
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user