#pragma once

// ── WiFi ──────────────────────────────────────────────────────────────────
//#define WIFI_SSID     "ORBI02-iOT2.4" //update to your WiFi credentials
#define WIFI_SSID     "ORBI02" //update to your WiFi credentials
#define WIFI_PASS     "maniccello790" //update to your WiFi credentials

//#define WIFI_SSID     "James' iPhone 16" //personal hotspot for testing; update to your WiFi credentials
//#define WIFI_PASS     "ttdj96zb0i43" //temporary hotspot for testing; update to your WiFi credentials


// ── Companion proxy (Mac running companion/server.py) ─────────────────────
#define PROXY_HOST    "Jamess-Mac-mini.local" //"10.0.0.75" update to your Mac's local host preferrably or IP
#define PROXY_PORT    7842
#define REFRESH_SECS  300               // poll every 5 minutes
#define STATUS_SECS   5                 // local-only attention poll interval
#define NO_DATA_RETRY_SECS 30           // retry faster while companion is unavailable
#define STARTUP_GRACE_SECS 75           // show startup interstitial before no-data diagnostics

// ── Buttons ───────────────────────────────────────────────────────────────
// Right button = GPIO0 (BOOT). Active LOW, internal pull-up.
// Left button  = EN/RST (hardware reset — not software readable).
#define BTN_WAKE_PIN  0

// ── Display ───────────────────────────────────────────────────────────────
#define TFT_BL_PIN    32
#define TFT_BRIGHTNESS 20  // backlight level 0–255 (128 ≈ 50%)
#define DIM_STEP        5  // backlight units removed per no-change poll; 4 polls → off

// Layout constants (portrait 170×320)
#define SCREEN_W     170
#define SCREEN_H     320

#define HEADER_H      14
#define FOOTER_H      16
// Arc gauge geometry
// Large: used when a single provider occupies the full content area (side-by-side windows)
#define ARC_R_OUTER   65   // outer radius
#define ARC_R_INNER   46   // inner radius (19px track width)
// Small: used when two providers share the screen, two windows each
#define ARC_SM_R_OUTER 35
#define ARC_SM_R_INNER 23
// Colors — computed at compile time via RGB565(r,g,b)
#define RGB565(r,g,b) ((uint16_t)(((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3)))

#define COL_BG       RGB565(28,  28,  30)   // #1C1C1E  dark background
#define COL_TRACK    RGB565(51,  51,  54)   // #333336  arc track (unfilled)
#define COL_GREEN    RGB565( 52, 199,  89)   // #34C759
#define COL_YELLOW   RGB565(255, 214,  10)   // #FFD60A
#define COL_ORANGE   RGB565(255, 159,  10)   // #FF9F0A
#define COL_RED      RGB565(255,  59,  48)   // #FF3B30
// 25% blended with COL_BG — used during first 5% of a usage window
#define COL_GREEN_DIM  RGB565( 34,  71,  44)
#define COL_YELLOW_DIM RGB565( 85,  75,  25)
#define COL_RED_DIM    RGB565( 85,  36,  35)
#define COL_WHITE    RGB565(255,255, 255)
#define COL_GRAY     RGB565(142,142, 147)   // #8E8E93
#define COL_DIVIDER  RGB565(51,  51,  54)
#define COL_CLAUDE   RGB565(217, 90,  57)   // Anthropic orange
#define COL_CODEX    RGB565( 99,102, 241)   // blue-purple (indigo)
