## Embedding Spothole in another website

You can embed Spothole's web interface in another website, e.g. for use as part of a ham radio custom dashboard.

URL parameters can be used to trigger an "embedded" mode which hides the headers, footers and settings. In this mode,
you provide configuration for the various filter and display options via additional URL parameters. Any settings that
the user has set for Spothole are ignored. This is so that the embedding site can select, for example, their choice of
dark mode or SIG filters, which will not impact how Spothole appears when the user accesses it directly. Effectively, it
becomes separate to their normal Spothole settings.

Setting `embedded` to true is important for the rest of the settings to be applied; otherwise, the user's defaults will
be used in preference to the URL params.

These are supplied with the URL to the page you want to embed, for example for an embedded version of the band map in
dark mode, use `https://spothole.app/bands?embedded=true&dark-mode=true`. For an embedded version of the main spots/home
page in the system light/dark mode, use `https://spothole.app/?embedded=true`. For dark mode showing 70cm TOTA spots
only, use `https://spothole.app/?embedded=true&dark-mode=true&sig=TOTA&band=70cm`. Providing no URL params causes the
page to be loaded in the normal way it would when accessed directly in the user's browser.

The supported parameters are as follows. Generally these match the equivalent parameters in the real Spothole API, where
a mapping exists.

| Name             | Allowed Values          | Default | Example                 | Description                                                                                                                                                           |
|------------------|-------------------------|---------|-------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `embedded`       | `true`, `false`         | `false` | `?embedded=true`        | Enables embedded mode.                                                                                                                                                |
| `color-scheme`   | `light`, `dark`, `auto` | `auto`  | `?color-scheme=dark`    | Forces light or dark mode in preference to the operating system default.                                                                                              |
| `time-zone`      | `UTC`, `local`          | `UTC`   | `?time-zone=local`      | Sets times to be in UTC or local time.                                                                                                                                |
| `limit`          | 10, 25, 50, 100         | 50      | `?limit=50`             | Sets the number of spots that will be displayed on the main spots page                                                                                                |
| `limit`          | 25, 50, 100, 200, 500   | 100     | `?limit=100`            | Sets the number of alerts that will be displayed on the alerts page                                                                                                   |
| `max_age`        | 300, 600, 1800, 3600    | 1800    | `?max_age=1800`         | Sets the maximum age of spots displayed on the map and bands pages, in seconds.                                                                                       |
| `band`           | Comma-separated list    | (all)   | `?band=20m,40m`         | Sets the list of bands that will be shown on the spots, bands and map pages. Available options match the labels of the buttons in the standard web interface.         |
| `sig`            | Comma-separated list    | (all)   | `?sig=POTA,SOTA,NO_SIG` | Sets the list of SIGs that will be shown on the spots, bands and map pages. Available options match the labels of the buttons in the standard web interface.          |
| `source`         | Comma-separated list    | (all)   | `?source=Cluster`       | Sets the list of sources that will be shown on any spot or alert pages. Available options match the labels of the buttons in the standard web interface.              |
| `mode_type`      | Comma-separated list    | (all)   | `?mode_type=PHONE,CW`   | Sets the list of mode types that will be shown on the spots, bands and map pages. Available options match the labels of the buttons in the standard web interface.    |
| `dx_continent`   | Comma-separated list    | (all)   | `?dx_continent=NA,SA`   | Sets the list of DX Continents that will be shown on any spot or alert pages. Available options match the labels of the buttons in the standard web interface.        |
| `de_continent`   | Comma-separated list    | (all)   | `?de_continent=EU`      | Sets the list of DE Continents that will be shown on the spots, bands and map pages. Available options match the labels of the buttons in the standard web interface. |
| `map-center-lat` | Numeric (decimal)       | (auto)  | `?map-center-lat=51.5`  | Sets the initial latitude of the map centre on the map page. If omitted, the map auto-fits to the loaded spots.                                                       |
| `map-center-lon` | Numeric (decimal)       | (auto)  | `?map-center-lon=-0.1`  | Sets the initial longitude of the map centre on the map page. If omitted, the map auto-fits to the loaded spots.                                                      |
| `map-zoom`       | Numeric (integer)       | (auto)  | `?map-zoom=6`           | Sets the initial zoom level of the map on the map page. If omitted, the map auto-fits to the loaded spots.                                                            |

See the comment at the end of the next section regarding reliability and uptime of the "main" server.