import classNames from 'classnames'; import { useAtom, useAtomValue } from 'jotai'; import { memo } from 'react'; import { activeWorkspaceAtom, activeWorkspaceMetaAtom } from '../hooks/useActiveWorkspace'; import { useToggleCommandPalette } from '../hooks/useToggleCommandPalette'; import { workspaceLayoutAtom } from '../lib/atoms'; import { setupOrConfigureEncryption } from '../lib/setupOrConfigureEncryption'; import { CookieDropdown } from './CookieDropdown'; import { Icon } from './core/Icon'; import { IconButton } from './core/IconButton'; import { PillButton } from './core/PillButton'; import { HStack } from './core/Stacks'; import { EnvironmentActionsDropdown } from './EnvironmentActionsDropdown'; import { ImportCurlButton } from './ImportCurlButton'; import { LicenseBadge } from './LicenseBadge'; import { RecentRequestsDropdown } from './RecentRequestsDropdown'; import { SettingsDropdown } from './SettingsDropdown'; import { SidebarActions } from './SidebarActions'; import { WorkspaceActionsDropdown } from './WorkspaceActionsDropdown'; interface Props { className?: string; } export const WorkspaceHeader = memo(function WorkspaceHeader({ className }: Props) { const togglePalette = useToggleCommandPalette(); const [workspaceLayout, setWorkspaceLayout] = useAtom(workspaceLayoutAtom); const workspace = useAtomValue(activeWorkspaceAtom); const workspaceMeta = useAtomValue(activeWorkspaceMetaAtom); const showEncryptionSetup = workspace != null && workspaceMeta != null && workspace.encryptionKeyChallenge != null && workspaceMeta.encryptionKey == null; return (