menu "CalendarInk Network Configuration"

    config CALENDINK_WIFI_SSID
        string "WiFi SSID"
        default ""
        help
            SSID (network name) for the WiFi connection.

    config CALENDINK_WIFI_PASSWORD
        string "WiFi Password"
        default ""
        help
            Password for the WiFi connection.

    config CALENDINK_ETH_RETRIES
        int "Maximum Ethernet Connection Retries"
        default 5
        help
            Number of times to retry the Ethernet connection before falling back to WiFi.

    config CALENDINK_WIFI_RETRIES
        int "Maximum WiFi Connection Retries"
        default 5
        help
            Number of times to retry the WiFi connection before failing completely.

    config CALENDINK_BLINK_IP
        bool "Blink last IP digit on connect"
        default n
        help
            If enabled, the LED will blink the last digit of the IP address
            acquired to assist in debugging.

    config CALENDINK_MDNS_HOSTNAME
        string "mDNS Hostname"
        default "calendink"
        help
            The hostname to use for mDNS. The device will be accessible
            at <hostname>.local. (e.g., calendink.local)

    config CALENDINK_UDP_LOG_TARGET_IP
        string "UDP Logger Target IP Address"
        default ""
        help
            The IP address to send UDP logs to via port 514. 
            If left blank, logs will be broadcast to 255.255.255.255.

    choice CALENDINK_WIFI_PS_MODE
        prompt "WiFi Power Save Mode"
        default CALENDINK_WIFI_PS_NONE
        help
            Select the WiFi power save mode to balance power consumption and network stability.

        config CALENDINK_WIFI_PS_NONE
            bool "None (No power save, highest consumption)"

        config CALENDINK_WIFI_PS_MIN_MODEM
            bool "Minimum Modem (Wakes on beacon, balanced)"

        config CALENDINK_WIFI_PS_MAX_MODEM
            bool "Maximum Modem (Lowest consumption, may drop connection on strict routers)"
    endchoice

    config CALENDINK_ALLOW_LIGHT_SLEEP
        bool "Allow Light Sleep (Tickless Idle)"
        default n
        help
            If enabled, the device will heavily use light sleep to reduce power 
            consumption. Note that this may BREAK the UART console monitor since the
            CPU sleeps and halts the UART! Use UDP logging if you need logs
            while light sleep is enabled.

endmenu

menu "Calendink Web Server"

    config CALENDINK_DEPLOY_WEB_PAGES
        bool "Deploy web pages to device's LittleFS"
        default n
        help
            If enabled, the frontend dist/ folder will be flashed
            to the 'www' LittleFS partition during build.
            Disable for fast backend-only iteration.

    config CALENDINK_WEB_MOUNT_POINT
        string "Website mount point in VFS"
        default "/www"
        help
            VFS path where the LittleFS partition is mounted.

    config CALENDINK_DISPLAY_WIDTH
        int "LVGL Display Width"
        default 800
        help
            Width of the virtual LVGL display used for image generation.

    config CALENDINK_DISPLAY_HEIGHT
        int "LVGL Display Height"
        default 480
        help
            Height of the virtual LVGL display used for image generation.

endmenu
