280 Commits
Author SHA1 Message Date
uhlwoogiandClaude Sonnet 4.6 2351d909ca Add theme preset UI and Docker compose
- /edit/theme-settings now lists user-defined presets with preview
  swatches, edit and delete actions
- Add/edit preset form at /edit/theme-settings/presets/new and /{key}
- Built-in catalog (14 themes from docs/themes.md) with one-click import
- docker-compose.yml using ghcr.io/uhlwoogi/modern-glance:latest
- Dockerfile gains OCI source label for GHCR repo linking

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 13:53:46 +00:00
uhlwoogiandClaude Opus 4.7 4b8a34a2ae Add in-place dashboard edit mode
A toggle on the dashboard flips into edit mode where widgets get
drag/edit/delete handles and a "+ Add widget" button per column. Most
edits no longer require touching YAML.

- Drag-drop reorder via SortableJS, persisted through a bulk-layout
  endpoint that rebuilds each column's widgets sequence in the
  yaml.Node tree.
- Inline form dialog driven by per-widget field schemas
  (admin-schemas.go) covering 25 widget types. Surgical updates apply
  changed fields to the widget node so untouched keys and comments
  survive. Falls back to the existing YAML editor for group and
  split-column (those need a recursive nested-widget UI).
- Per-column "+ Add widget" picker that opens the dialog pre-filled
  with sensible defaults for the chosen type.
- Field validation and autocomplete for weather location (Open-Meteo
  geocoding), market symbol (Yahoo Finance), and RSS feed URL
  (gofeed). Network failures soft-pass for weather/markets so the
  save isn't blocked when external APIs are unreachable.
- Picking a market suggestion auto-fills the company name field via
  per-suggestion `extra` fields.
- Edit mode persists across reloads via localStorage so saves don't
  drop the user back into view mode.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-30 16:51:52 +00:00
uhlwoogiandClaude Opus 4.7 2e198a19b4 Add in-app edit UI for dashboard config
A web editor at /edit for managing pages and widgets without hand-editing YAML:

- Page list and per-page widget views with breadcrumb navigation
- Add/delete pages, add/delete/reorder widgets within a column
- Per-widget textarea editor with curated starter templates, widget-specific
  help (example, full field reference, link to upstream docs), and inline
  error rendering that preserves the user's edits on validation failure
- Pre-save validation via newConfigFromYAML; atomic temp+rename writes with
  .bak backup; YAML edits go through yaml.Node so comments and unresolved
  ${env:X}/${secret:X} tokens survive round-trips
- Auth gate: editing requires auth.users to be configured, or
  admin.allow-without-auth: true as an explicit opt-in for trusted networks
- Pencil button on the dashboard near the theme picker for quick access
- Admin views read fresh from disk so the list updates immediately after
  saves rather than lagging the fsnotify watcher

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-30 14:12:18 +00:00
Svilen Markov 6c5b7a3f4c Update docs 2025-12-10 09:44:00 +00:00
fullmetalsheep 478c08f6a7 feat(themes): Add theme 'Neon Pink' 2025-10-17 10:53:25 +08:00
Svilen Markov cae90d16ba Update theme preview 2025-09-28 12:40:33 +01:00
Svilen Markov fbc07bd142 Merge pull request #833 from nicolasluckie/feat/add-shades-of-purple-theme
feat: Add Shades of Purple theme with screenshot
2025-09-28 12:36:36 +01:00
Svilen Markov 4a4d3e1755 Add contrast-multiplier to shades of purple 2025-09-28 12:34:41 +01:00
Svilen Markov f243a4938f Update readme 2025-09-28 12:21:12 +01:00
Svilen Markov 9416de1497 Fix indentation 2025-09-28 11:43:11 +01:00
Nic Luckie 283a5fcfd0 feat: add Shades of Purple theme with screenshot 2025-09-27 22:34:21 -04:00
Svilen Markov c88fd526e5 Merge branch 'dev'
Create release / release (push) Has been cancelled
2025-06-10 08:43:26 +01:00
Svilen Markov f0541ea5c8 Refactor icon stuff 2025-06-10 08:25:34 +01:00
Svilen Markov 8f986f1403 Refactor icons field and add mdi 2025-06-10 08:17:38 +01:00
Sep ded435df0e Fix typo in docs 2025-05-25 23:34:31 +02:00
Tyler Hallada 4d0fdd9b11 Correct docs for Go's text/html built-in template functions
Source: https://pkg.go.dev/text/template#hdr-Functions

The comparison functions the greater-than-or-equal-to and less-than-or-equal-to are `ge` and `le`, not `gte` and `lte`. I got an error rendering my template before I realized this.
2025-05-22 18:03:45 -04:00
acidburn f7adaad1c5 Docs: Add how to get playlist ID 2025-05-22 20:26:35 +08:00
Svilen Markov f5bfd9d4d1 Merge branch 'dev'
Create release / release (push) Has been cancelled
2025-05-19 21:25:48 +01:00
Svilen Markov b4094b28bd Allow disabling theme picker 2025-05-19 21:25:33 +01:00
Svilen Markov c1aaec5ffc Add .Options.JSON to custom API 2025-05-19 21:23:13 +01:00
Ralph Ocdol 571cdaf618 The 'and' and 'or' accepts more than 2 boolean arguments 2025-05-19 19:46:26 +08:00
Svilen Markov 9bbf73db97 Merge pull request #661 from anant-j/dev
Add Mod operation
2025-05-16 17:33:58 +01:00
Anant Jain a5b0664b9c Add Mod operation 2025-05-14 22:38:13 -07:00
Svilen Markov c67eb4d2c0 Add startOfDay and endOfDay funcs
Create release / release (push) Has been cancelled
2025-05-14 22:05:35 +01:00
Svilen Markov 74e6c5c960 Update docs 2025-05-14 01:16:53 +01:00
Svilen Markov bd5cacd14a Update docs 2025-05-13 18:55:57 +01:00
Svilen Markov 96007e98bc Update docs 2025-05-13 17:35:16 +01:00
Svilen Markov ae409768ac Rename widget type 2025-05-13 17:10:28 +01:00
Svilen Markov baaf306ebf Add percentChange function 2025-05-11 21:09:12 +01:00
Svilen Markov 7bbf103e01 Add custom-api options and template requests 2025-05-11 15:49:21 +01:00
Svilen Markov dd91a506fa Add todo widget 2025-05-08 16:59:02 +01:00
Svilen Markov c9e6b774f3 Add head-widgets 2025-05-06 13:37:14 +01:00
Svilen Markov c5d4cf8f68 Allow hiding widget header 2025-05-06 10:52:46 +01:00
Svilen Markov 6b7d68d960 Add auth 2025-05-06 01:38:22 +01:00
Svilen Markov 0f6e51ee5c Add new logo 2025-05-05 12:47:40 +01:00
Svilen Markov 0769f33653 Merge pull request #299 from hecht-a/theme_switcher
feat: theme switcher
2025-05-04 16:53:56 +01:00
Svilen Markov c2286f9a22 Update implementation 2025-05-04 16:49:20 +01:00
Svilen Markov a68805b55d Merge remote-tracking branch 'upstream/dev' into theme_switcher 2025-04-29 18:55:30 +01:00
Svilen Markov 1661f14adb Add timeout property 2025-04-29 17:08:36 +01:00
Svilen Markov 328ba9a239 Merge branch 'main' into dev 2025-04-29 08:44:10 +01:00
Svilen Markovands0ders d7a17aab01 Add reddit app auth #529
Co-authored-by: s0ders <39492740+s0ders@users.noreply.github.com>
2025-04-28 18:37:14 +01:00
Svilen Markov aceb832645 Mention config schema in docs 2025-04-26 18:58:27 +01:00
Svilen Markov ec2f549295 Update property description 2025-04-26 18:56:25 +01:00
Svilen Markov 306c28f203 Merge branch 'dev' into Add-support-configure-docker-containers-yaml 2025-04-26 17:44:34 +01:00
Svilen Markov bba2c5b20c Update label overrides implementation 2025-04-26 17:39:05 +01:00
Svilen Markov 18436e91e0 Docker containers: remote socket, category and running-only 2025-04-26 16:20:00 +01:00
Svilen Markov efd39e1f80 Merge pull request #602 from dvdpearson/dev
Dynamize manifest.json with configurable options
2025-04-23 12:25:09 +01:00
Svilen Markov 4e4c3cfe64 Update dynamic manifest implementation 2025-04-23 12:09:33 +01:00
Svilen Markov 4ae40cbd1e Merge branch 'main' into dev 2025-04-22 23:17:24 +01:00
Svilen Markov ea04aec0b4 Add target property to search widget
Create release / release (push) Has been cancelled
2025-04-22 23:07:07 +01:00