fix: copilot suggestions

This commit is contained in:
Daniel
2025-07-12 17:55:39 +02:00
committed by Nicolás Hatcher Andrés
parent 5f659a2eb5
commit c700101f35
2 changed files with 20 additions and 9 deletions

View File

@@ -15,7 +15,7 @@ export function FileMenu(props: {
}) { }) {
const [isMenuOpen, setMenuOpen] = useState(false); const [isMenuOpen, setMenuOpen] = useState(false);
const [isImportMenuOpen, setImportMenuOpen] = useState(false); const [isImportMenuOpen, setImportMenuOpen] = useState(false);
const anchorElement = useRef<HTMLDivElement>(null); const anchorElement = useRef<HTMLButtonElement>(null);
const models = getModelsMetadata(); const models = getModelsMetadata();
const uuids = Object.keys(models); const uuids = Object.keys(models);
const selectedUuid = getSelectedUuid(); const selectedUuid = getSelectedUuid();
@@ -56,10 +56,12 @@ export function FileMenu(props: {
return ( return (
<> <>
<FileMenuWrapper <FileMenuWrapper
type="button"
id="file-menu-button" id="file-menu-button"
onClick={(): void => setMenuOpen(true)} onClick={(): void => setMenuOpen(true)}
ref={anchorElement} ref={anchorElement}
$isActive={isMenuOpen} $isActive={isMenuOpen}
aria-haspopup="true"
> >
File File
</FileMenuWrapper> </FileMenuWrapper>
@@ -103,13 +105,11 @@ export function FileMenu(props: {
</StyledIcon> </StyledIcon>
<MenuItemText>Import</MenuItemText> <MenuItemText>Import</MenuItemText>
</MenuItemWrapper> </MenuItemWrapper>
<MenuItemWrapper> <MenuItemWrapper onClick={props.onDownload}>
<StyledIcon> <StyledIcon>
<FileDown /> <FileDown />
</StyledIcon> </StyledIcon>
<MenuItemText onClick={props.onDownload}> <MenuItemText>Download (.xlsx)</MenuItemText>
Download (.xlsx)
</MenuItemText>
</MenuItemWrapper> </MenuItemWrapper>
<MenuItemWrapper <MenuItemWrapper
onClick={() => { onClick={() => {
@@ -192,7 +192,7 @@ const MenuItemWrapper = styled(MenuItem)`
height: 32px; height: 32px;
`; `;
const FileMenuWrapper = styled.div<{ $isActive?: boolean }>` const FileMenuWrapper = styled.button<{ $isActive?: boolean }>`
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 12px; font-size: 12px;
@@ -201,6 +201,8 @@ const FileMenuWrapper = styled.div<{ $isActive?: boolean }>`
border-radius: 4px; border-radius: 4px;
cursor: pointer; cursor: pointer;
background-color: ${(props) => (props.$isActive ? "#e6e6e6" : "transparent")}; background-color: ${(props) => (props.$isActive ? "#e6e6e6" : "transparent")};
border: none;
background: none;
&:hover { &:hover {
background-color: #f2f2f2; background-color: #f2f2f2;
} }

View File

@@ -5,7 +5,7 @@ import { useRef, useState } from "react";
export function HelpMenu() { export function HelpMenu() {
const [isMenuOpen, setMenuOpen] = useState(false); const [isMenuOpen, setMenuOpen] = useState(false);
const anchorElement = useRef<HTMLDivElement>(null); const anchorElement = useRef<HTMLButtonElement>(null);
const handleClick = () => { const handleClick = () => {
setMenuOpen(true); setMenuOpen(true);
@@ -18,9 +18,11 @@ export function HelpMenu() {
return ( return (
<div> <div>
<HelpButton <HelpButton
type="button"
ref={anchorElement} ref={anchorElement}
id="help-button" id="help-button"
aria-controls={isMenuOpen ? "help-menu" : undefined} aria-controls={isMenuOpen ? "help-menu" : undefined}
aria-haspopup="true"
onClick={handleClick} onClick={handleClick}
$isActive={isMenuOpen} $isActive={isMenuOpen}
> >
@@ -52,7 +54,11 @@ export function HelpMenu() {
<MenuItemWrapper <MenuItemWrapper
onClick={() => { onClick={() => {
handleClose(); handleClose();
window.open("https://docs.ironcalc.com", "_blank"); window.open(
"https://docs.ironcalc.com",
"_blank",
"noopener,noreferrer",
);
}} }}
> >
<StyledIcon> <StyledIcon>
@@ -66,6 +72,7 @@ export function HelpMenu() {
window.open( window.open(
"https://docs.ironcalc.com/features/keyboard-shortcuts.html", "https://docs.ironcalc.com/features/keyboard-shortcuts.html",
"_blank", "_blank",
"noopener,noreferrer",
); );
}} }}
> >
@@ -79,7 +86,7 @@ export function HelpMenu() {
); );
} }
const HelpButton = styled.div<{ $isActive?: boolean }>` const HelpButton = styled.button<{ $isActive?: boolean }>`
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 12px; font-size: 12px;
@@ -88,6 +95,8 @@ const HelpButton = styled.div<{ $isActive?: boolean }>`
border-radius: 4px; border-radius: 4px;
cursor: pointer; cursor: pointer;
background-color: ${(props) => (props.$isActive ? "#e6e6e6" : "transparent")}; background-color: ${(props) => (props.$isActive ? "#e6e6e6" : "transparent")};
border: none;
background: none;
&:hover { &:hover {
background-color: #f2f2f2; background-color: #f2f2f2;
} }