# apps/web/src/components/features/mobile
dir: apps/web/src/components/features/mobile

index: apps/web/src/components/features/mobile/.pi-map.index.md

## role
Provides a complete set of mobile-optimized UI components for CRUD operations, navigation, and terminal interfaces in a responsive web application.
## files
- mobile-action-sheet.tsx | Renders a mobile-optimized action sheet modal with a list of actions, optional icons, variant styling, and keyboard/overlay dismissal handling. | exp: MobileActionSheetItem, func:MobileActionSheet({ isOpen, onClose, title, actions, }: MobileActionSheetProps), call:useRef, call:useEffect, call:onClose, call:document.addEventListener, call:document.removeEventListener, call:e.stopPropagation, call:actions.map, call:action.onClick | dep: react, ../../icon, icon
- mobile-detail-view.tsx | A React component that renders a mobile-optimized detail view with a header, back/edit/delete actions, and a configurable list of typed fields. | exp: MobileDetailView | dep: ../../icon, react, icon
- mobile-edit-view.tsx | Renders a mobile-optimized form view for editing records with configurable field types and save/cancel/delete actions. | exp: MobileEditView | dep: react
- mobile-fab.tsx | Renders a mobile floating action button with an add icon and customizable label | exp: MobileFAB | dep: ../../icon, React, Icon component
- mobile-list-view.tsx | A reusable React component that renders a mobile-optimized list view with optional search, custom item rendering, and action buttons for duplicate/delete. | exp: MobileListView | dep: react, ../../icon, ../../../utils/icons, icon (local component), icons (local utils)
- mobile-nav.tsx | Renders a mobile navigation bar with grouped items that open bottom sheets and standard items that use React Router links, including active state handling and session count badges. | exp: MobileNav | dep: react, react-router-dom, ../../icon, ../tool/tools-bottom-sheet, ./spaces-bottom-sheet, ../../../utils/icons, icon, tools-bottom-sheet, spaces-bottom-sheet, icons
- mobile-page-header.tsx | Renders a mobile-only page header with optional back navigation and custom actions. | exp: func:MobilePageHeader({ title, showBack = true, actions }: MobilePageHeaderProps), call:useNavigate, call:useMobileViewport, call:navigate | dep: react-router-dom, ../../../hooks/use-mobile-viewport, ../../icon, use-mobile-viewport hook, Icon component
- mobile-terminal-header.tsx | Renders a mobile-responsive header for a terminal interface with navigation, status, and font size controls. | exp: MobileTerminalHeader | dep: react, ../../icon, icon
- mobile-terminal-wrapper.tsx | Wraps a terminal component with mobile-specific UI including auto-hiding header, virtual keyboard handling, and special keys input panels. | exp: MobileTerminalWrapper | dep: react, ../terminal/terminal, ./mobile-terminal-header, ../terminal/special-keys-strip, ../terminal/special-keys-panel, ../../../hooks/use-mobile-viewport, ../../../hooks/use-virtual-keyboard, ../../../hooks/use-auto-hide, ../../../hooks/use-special-keys, React, TerminalComponent, MobileTerminalHeader, SpecialKeysStrip, SpecialKeysPanel, useMobileViewport, useVirtualKeyboard, useAutoHide, ModifierKey
- spaces-bottom-sheet.tsx | Renders a mobile bottom sheet navigation menu for switching between "Projects" and "Workspaces" spaces with active state highlighting. | exp: SpacesBottomSheet | dep: react-router-dom, ../../icon, icon
## arch
Compound component pattern with feature-specific mobile wrappers that adapt desktop functionality to touch-friendly bottom sheets, action sheets, and specialized mobile views, using React Router for navigation and consistent mobile-first styling variants.
## tags
mobile, sheet, react, view, terminal, icon, header, bottom
## symbols
- MobileActionSheet
- MobilePageHeader
- MobileActionSheetItem
- call:useRef
- call:useEffect
- call:onClose
- call:document.addEventListener
- call:document.removeEventListener
## workflows
- change mobile behavior
  read: mobile-action-sheet.tsx, mobile-detail-view.tsx, mobile-edit-view.tsx
## dirty
-
