diff --git a/Makefile b/Makefile index 66ed23d..5bc3984 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,6 @@ export GOOSE_MIGRATION_DIR=db/migrations export REDMAGE_WEB_DEPENDENCIES_HTMX_VERSION=$(shell echo "$${REDMAGE_WEB_DEPENDENCIES_HTMX_VERSION:-1.9.12}") export REDMAGE_WEB_DEPENDENCIES_DAYJS_VERSION=$(shell echo "$${REDMAGE_WEB_DEPENDENCIES_DAYJS_VERSION:-1.11.10}") -export REDMAGE_WEB_DEPENDENCIES_THEMECHANGE_VERSION=$(shell echo "$${REDMAGE_WEB_DEPENDENCIES_THEMECHANGE_VERSION:-2.0.2}") start: dev-dependencies @tailwindcss -i views/style.css -o public/style.css --watch & @@ -63,11 +62,6 @@ build-dependencies: echo "Dayjs Timezone ${REDMAGE_WEB_DEPENDENCIES_DAYJS_VERSION} plugin not found, installing it" curl -o public/dayjs-timezone-${REDMAGE_WEB_DEPENDENCIES_DAYJS_VERSION}.min.js https://cdnjs.cloudflare.com/ajax/libs/dayjs/${REDMAGE_WEB_DEPENDENCIES_DAYJS_VERSION}/plugin/timezone.min.js fi - @if [ ! -f "public/theme-change-${REDMAGE_WEB_DEPENDENCIES_THEMECHANGE_VERSION}.min.js" ]; then - mkdir -p public - echo "Theme change ${REDMAGE_WEB_DEPENDENCIES_THEMECHANGE_VERSION} not found, installing it" - curl -o public/theme-change-${REDMAGE_WEB_DEPENDENCIES_THEMECHANGE_VERSION}.min.js https://cdn.jsdelivr.net/npm/theme-change@${REDMAGE_WEB_DEPENDENCIES_THEMECHANGE_VERSION}/index.js - fi build: build-dependencies prepare go build -o redmage diff --git a/api/api.go b/api/api.go index f26e54f..1f20d6d 100644 --- a/api/api.go +++ b/api/api.go @@ -31,8 +31,7 @@ type API struct { config *config.Config - imageSemaphore chan struct{} - subredditSemaphore chan struct{} + imageSemaphore chan struct{} reddit *reddit.Reddit @@ -56,17 +55,16 @@ func New(deps Dependencies) *API { panic(err) } api := &API{ - db: bob.New(deps.DB), - sqldb: deps.DB, - scheduler: cron.New(), - scheduleMap: make(map[cron.EntryID]*models.Subreddit, 8), - downloadBroadcast: broadcast.NewRelay[bmessage.ImageDownloadMessage](), - config: deps.Config, - imageSemaphore: make(chan struct{}, deps.Config.Int("download.concurrency.images")), - subredditSemaphore: make(chan struct{}, deps.Config.Int("download.concurrency.subreddits")), - reddit: deps.Reddit, - subscriber: deps.Subscriber, - publisher: deps.Publisher, + db: bob.New(deps.DB), + sqldb: deps.DB, + scheduler: cron.New(), + scheduleMap: make(map[cron.EntryID]*models.Subreddit, 8), + downloadBroadcast: broadcast.NewRelay[bmessage.ImageDownloadMessage](), + config: deps.Config, + imageSemaphore: make(chan struct{}, deps.Config.Int("download.concurrency.images")), + reddit: deps.Reddit, + subscriber: deps.Subscriber, + publisher: deps.Publisher, } if err := api.StartScheduler(context.Background()); err != nil { diff --git a/config/default.go b/config/default.go index 7aab677..7f0a7d8 100644 --- a/config/default.go +++ b/config/default.go @@ -56,9 +56,8 @@ var DefaultConfig = map[string]any{ "telemetry.trace.ratio": 1, - "web.dependencies.htmx.version": "1.9.12", - "web.dependencies.dayjs.version": "1.11.10", - "web.dependencies.themechange.version": "2.0.2", + "web.dependencies.htmx.version": "1.9.12", + "web.dependencies.dayjs.version": "1.11.10", "runtime.version": "0.0.1", "runtime.environment": "development", diff --git a/views/components/doctype.templ b/views/components/doctype.templ index 825eed4..d625be9 100644 --- a/views/components/doctype.templ +++ b/views/components/doctype.templ @@ -2,7 +2,7 @@ package components templ Doctype() { - + { children... } } diff --git a/views/components/head.templ b/views/components/head.templ index 9e627cf..f42bd72 100644 --- a/views/components/head.templ +++ b/views/components/head.templ @@ -4,13 +4,15 @@ import "github.com/tigorlazuardi/redmage/views" templ Head(vc *views.Context, extras ...templ.Component) {
+ @Dayjs(vc) @HTMX(vc) - @ThemeChange(vc) if vc.Config.Bool("http.hotreload") { } diff --git a/views/components/navigation.templ b/views/components/navigation.templ index f346840..94c45d0 100644 --- a/views/components/navigation.templ +++ b/views/components/navigation.templ @@ -86,7 +86,9 @@ templ Navbar(c *views.Context) { templ navList(c *views.Context) { @createLink(c, "/", "Home", true) @createLink(c, "/config", "Config", false) + @createLink(c, "/devices", "Devices", true) @createLink(c, "/subreddits", "Subreddits", true) + @createLink(c, "/schedules", "Schedules", true) @createLink(c, "/about", "About", true) @@ -95,7 +97,7 @@ templ navList(c *views.Context) { templ createLink(c *views.Context, path string, text string, boost bool) { -} diff --git a/views/configview/configview.templ b/views/configview/configview.templ index b8589d0..9d7cbdc 100644 --- a/views/configview/configview.templ +++ b/views/configview/configview.templ @@ -17,26 +17,44 @@ templ ConfigContent(c *views.Context) { @components.Container() {