Configuration

The clock widget exposes six configuration options via the Octopus dashboard UI.

timezones (array of strings)

  • Description: List of IANA timezone identifiers. A clock card is rendered for each entry. The list also supports sidereal tokens: LST for Greenwich sidereal time and LST@<longitude> for local sidereal time at a specific longitude in degrees east (negative for west).

  • Default: ["UTC", "GMT", "Australia/Perth"]

  • Validation: Blank entries are ignored. If the resulting list is empty, the widget falls back to the defaults. Invalid identifiers are highlighted on their card so mis-typed values are easy to spot.

  • Examples: Europe/London, Africa/Johannesburg, America/Sao_Paulo, LST, LST@116.67

showDay (boolean)

  • Description: Controls whether the day label (e.g. Wed, 01 Jan) is shown above each clock.

  • Default: true

topTextMaxSize (number, px, optional)

  • Description: Maximum text size (in pixels) for the top row content on each card (timezone label, UTC offset chip, and day label).

  • Default: Not set (auto)

  • Validation: Values must be greater than 0.

  • Behavior: If unset, text scales automatically with the widget layout. If set, this value is treated as an upper cap while auto-scaling still tries to use available space.

middleTextMaxSize (number, px, optional)

  • Description: Maximum text size (in pixels) for the main clock time.

  • Default: Not set (auto)

  • Validation: Values must be greater than 0.

  • Behavior: If unset, the clock time uses the responsive auto sizing. If set, the responsive size is capped at this maximum.

bottomTextMaxSize (number, px, optional)

  • Description: Maximum text size (in pixels) for sunrise/sunset values and solar status text on IANA cards.

  • Default: Not set (auto)

  • Validation: Values must be greater than 0.

  • Behavior: If unset, bottom-row text scales automatically. If set, the bottom text will not grow beyond this cap.

clockGap (number, px, optional)

  • Description: Spacing in pixels between clock cards in the grid.

  • Default: Not set (uses built-in default spacing).

  • Validation: Values must be greater than or equal to 0.

  • Behavior: If unset, the widget uses its default card spacing. If set, the provided value is applied as the card-to-card gap.

These values are read directly by the widget component (src/ClockWidget.tsx). IANA values are formatted with the browser’s Intl.DateTimeFormat, while LST values are computed in-widget using a sidereal-time formula.

Note

Sunrise/Sunset values depend on resolving each IANA timezone to a latitude/longitude via the locationsByTimezone backend query. LST entries are local-calculation sidereal clocks, do not run sunrise/sunset backend lookups, and intentionally do not render sunrise/sunset chips.