mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-09 08:59:40 +02:00
refactor: restructure repo for cleaner GitHub landing page
Reduce visible top-level items from 21 to 14: - Untrack test-results/, tmp/, public symlink (added to .gitignore) - Move agent-teams/ → docs/agent-teams/ - Move mobile-test/ → test/mobile/ - Move tools/remotion/ → scripts/remotion/ - Move eslint.config.js, vitest.config.ts → config/ All path references updated across CLAUDE.md, package.json, .prettierignore, vitest configs, and capture scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
// Port assignments
|
||||
export const PORTS = {
|
||||
KEYBOARD: 3200,
|
||||
TABS: 3201,
|
||||
SUBAGENT_WINDOWS: 3202,
|
||||
SETTINGS: 3203,
|
||||
LAYOUT: 3204,
|
||||
DEVICE_MATRIX: 3205,
|
||||
VISUAL_REGRESSION: 3206,
|
||||
ACCESSIBILITY: 3207,
|
||||
} as const;
|
||||
|
||||
// CSS Selectors
|
||||
export const SELECTORS = {
|
||||
// Header
|
||||
HEADER: '.header',
|
||||
HEADER_BRAND: '.header-brand',
|
||||
CASE_SELECT_GROUP: '.case-select-group',
|
||||
VERSION_DISPLAY: '.version-display',
|
||||
|
||||
// Toolbar
|
||||
TOOLBAR: '.toolbar',
|
||||
TOOLBAR_RIGHT: '.toolbar-right',
|
||||
SETTINGS_MOBILE: '.btn-settings-mobile',
|
||||
CASE_MOBILE: '.btn-case-mobile',
|
||||
|
||||
// Tabs
|
||||
TABS_CONTAINER: '.session-tabs',
|
||||
TAB: '.session-tab',
|
||||
TAB_ACTIVE: '.session-tab.active',
|
||||
TAB_CLOSE: '.tab-close',
|
||||
TAB_COUNT_GROUP: '.tab-count-group',
|
||||
TAB_NAME: '.tab-name',
|
||||
|
||||
// Keyboard
|
||||
KEYBOARD_ACCESSORY: '.keyboard-accessory-bar',
|
||||
KEYBOARD_ACCESSORY_VISIBLE: '.keyboard-accessory-bar.visible',
|
||||
|
||||
// Terminal
|
||||
TERMINAL_CONTAINER: '.terminal-container',
|
||||
MAIN: '.main',
|
||||
|
||||
// Subagent windows
|
||||
SUBAGENT_WINDOW: '.subagent-window',
|
||||
SUBAGENT_HEADER: '.subagent-header',
|
||||
SUBAGENT_BADGE: '.subagent-badge',
|
||||
|
||||
// Settings
|
||||
SETTINGS_MODAL: '#appSettingsModal',
|
||||
SETTINGS_MODAL_CONTENT: '.modal-content',
|
||||
SETTINGS_MODAL_BODY: '.modal-body',
|
||||
SETTINGS_MODAL_TABS: '.modal-tabs',
|
||||
|
||||
// Modals general
|
||||
MODAL: '.modal',
|
||||
MODAL_CONTENT: '.modal-content',
|
||||
} as const;
|
||||
|
||||
// Device breakpoints (match app.js MobileDetection)
|
||||
export const BREAKPOINTS = {
|
||||
PHONE_MAX: 430,
|
||||
TABLET_MAX: 768,
|
||||
} as const;
|
||||
|
||||
// Keyboard constants (match app.js KeyboardHandler)
|
||||
export const KEYBOARD = {
|
||||
SHOW_THRESHOLD: 150, // heightDiff > 150px triggers show
|
||||
HIDE_THRESHOLD: 100, // heightDiff < 100px triggers hide
|
||||
TYPICAL_IOS_HEIGHT: 336,
|
||||
FOCUSIN_DELAY: 400,
|
||||
ANIMATION_DELAY: 150,
|
||||
RESIZE_DELAY_SHOW: 150,
|
||||
RESIZE_DELAY_HIDE: 100,
|
||||
ACCESSORY_BAR_HEIGHT: 44,
|
||||
TOOLBAR_HEIGHT: 40,
|
||||
CONFIRM_TIMEOUT: 2000,
|
||||
} as const;
|
||||
|
||||
// Swipe constants (match app.js SwipeHandler)
|
||||
export const SWIPE = {
|
||||
MIN_DISTANCE: 80,
|
||||
MAX_TIME: 300,
|
||||
MAX_VERTICAL_DRIFT: 100,
|
||||
} as const;
|
||||
|
||||
// Subagent window constants
|
||||
export const SUBAGENT = {
|
||||
MOBILE_CARD_HEIGHT: 110,
|
||||
MOBILE_CARD_GAP: 4,
|
||||
MOBILE_CARD_STRIDE: 114, // height + gap
|
||||
TOOLBAR_OFFSET: 40,
|
||||
DEFAULT_HEADER_HEIGHT: 36,
|
||||
} as const;
|
||||
|
||||
// Visual regression
|
||||
export const VISUAL = {
|
||||
DEFAULT_THRESHOLD: 0.1,
|
||||
MAX_DIFF_PERCENT: 0.5,
|
||||
SNAPSHOT_DIR: 'test/mobile/snapshots',
|
||||
} as const;
|
||||
|
||||
// Visual regression breakpoints (width values for screenshot comparison)
|
||||
export const VISUAL_BREAKPOINTS = [320, 375, 390, 393, 430, 440, 600, 768, 834, 1024] as const;
|
||||
|
||||
// Wait times
|
||||
export const WAIT = {
|
||||
DOM_CONTENT_LOADED: 'domcontentloaded' as const,
|
||||
PAGE_SETTLE: 3000,
|
||||
KEYBOARD_ANIMATION: 200,
|
||||
SSE_CONNECT: 1000,
|
||||
};
|
||||
|
||||
// Touch target minimum (WCAG 2.5.5 / Apple HIG)
|
||||
export const MIN_TOUCH_TARGET = 44;
|
||||
|
||||
// Body CSS classes
|
||||
export const BODY_CLASSES = {
|
||||
MOBILE: 'device-mobile',
|
||||
TABLET: 'device-tablet',
|
||||
DESKTOP: 'device-desktop',
|
||||
TOUCH: 'touch-device',
|
||||
IOS: 'ios-device',
|
||||
SAFARI: 'safari-browser',
|
||||
KEYBOARD_VISIBLE: 'keyboard-visible',
|
||||
} as const;
|
||||
|
||||
// Settings localStorage keys
|
||||
export const STORAGE_KEYS = {
|
||||
SETTINGS_MOBILE: 'codeman-app-settings-mobile',
|
||||
SETTINGS_DESKTOP: 'codeman-app-settings',
|
||||
NOTIFICATION_PREFS_MOBILE: 'codeman-notification-prefs-mobile',
|
||||
} as const;
|
||||
Reference in New Issue
Block a user