import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { AppsManager } from "../../../../features/apps/appsManager"; import { ImagePreview } from "../../file-explorer/directory-list/ImagePreview"; import styles from "../Settings.module.css"; import { faEllipsisVertical, faThumbTack } from "@fortawesome/free-solid-svg-icons"; import { useWindowsManager } from "../../../../hooks/windows/windowsManagerContext"; import { useContextMenu } from "../../../../hooks/modals/contextMenu"; import { Actions } from "../../../actions/Actions"; import { ClickAction } from "../../../actions/actions/ClickAction"; import { removeFromArray } from "../../../../features/_utils/array.utils"; import { useSettingsManager } from "../../../../hooks/settings/settingsManagerContext"; import { SettingsManager } from "../../../../features/settings/settingsManager"; import { App } from "../../../../features/apps/app"; import { MouseEventHandler } from "react"; interface AppOptionProps { app: App; pins: string[]; setPins: Function; } export function AppOption({ app, pins, setPins: _setPins }: AppOptionProps) { const isPinned = pins.includes(app.id); const settingsManager = useSettingsManager(); const windowsManager = useWindowsManager(); const { onContextMenu } = useContextMenu({ Actions: (props) => windowsManager?.open(app.id)}/> { const newPins = [...pins]; if (isPinned) { removeFromArray(app.id, pins); } else { newPins.push(app.id); } const settings = settingsManager?.getSettings(SettingsManager.VIRTUAL_PATHS.taskbar); void settings?.set("pins", newPins.join(",")); }}/> }); return
{app.name} {/*
*/}
; }