1package server23import (4 "embed"5 "html/template"6 "io"78 "website-feeds/model"9)1011//go:embed templates/*12var templates embed.FS1314//go:embed static/*15var static embed.FS1617var settingsTemplate = template.Must(18 template.ParseFS(templates, "templates/settings.html.tmpl"),19)2021type settingsTemplateArgs struct {22 RedditClientID string23 RedditClientSecret string24 DefaultNumPosts int25 MaxNumPosts int26 SiteFetchWait int27 EditSuccess bool28}2930func settingsTemplateArgsFromSettings(31 settings *model.Settings,32) settingsTemplateArgs {33 out := settingsTemplateArgs{34 RedditClientID: "",35 RedditClientSecret: "",36 DefaultNumPosts: settings.DefaultNumPosts,37 MaxNumPosts: settings.MaxNumPosts,38 SiteFetchWait: int(settings.SiteFetchWait.Hours()),39 }4041 if settings.Reddit != nil {42 out.RedditClientID = settings.Reddit.ClientID43 out.RedditClientSecret = settings.Reddit.ClientSecret44 }4546 return out47}4849func RenderSettings(w io.Writer, args settingsTemplateArgs) error {50 return settingsTemplate.Execute(w, args)51}