diff --git a/config/config.go b/config/config.go index 72827f1..974e33f 100644 --- a/config/config.go +++ b/config/config.go @@ -57,6 +57,7 @@ type AmConfig struct { Rendering struct { TemplateDir string `yaml:"templatedir"` CookieKey string `yaml:"cookiekey"` + ButtonSet string `yaml:"buttonSet"` } `yaml:"rendering"` } diff --git a/config/default.yaml b/config/default.yaml index b0fd42d..9151b72 100644 --- a/config/default.yaml +++ b/config/default.yaml @@ -15,3 +15,4 @@ database: rendering: templatedir: custom_templates cookiekey: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz + buttonSet: classic diff --git a/ui/buttons/classic/add.jpg b/ui/buttons/classic/add.jpg new file mode 100644 index 0000000..2a6b7de Binary files /dev/null and b/ui/buttons/classic/add.jpg differ diff --git a/ui/buttons/classic/add_to_hotlist.jpg b/ui/buttons/classic/add_to_hotlist.jpg new file mode 100644 index 0000000..b725727 Binary files /dev/null and b/ui/buttons/classic/add_to_hotlist.jpg differ diff --git a/ui/buttons/classic/add_topic.jpg b/ui/buttons/classic/add_topic.jpg new file mode 100644 index 0000000..3cd60ab Binary files /dev/null and b/ui/buttons/classic/add_topic.jpg differ diff --git a/ui/buttons/classic/archive_topic.jpg b/ui/buttons/classic/archive_topic.jpg new file mode 100644 index 0000000..7fd04e4 Binary files /dev/null and b/ui/buttons/classic/archive_topic.jpg differ diff --git a/ui/buttons/classic/arrow_next.jpg b/ui/buttons/classic/arrow_next.jpg new file mode 100644 index 0000000..ea66781 Binary files /dev/null and b/ui/buttons/classic/arrow_next.jpg differ diff --git a/ui/buttons/classic/arrow_previous.jpg b/ui/buttons/classic/arrow_previous.jpg new file mode 100644 index 0000000..d05c95f Binary files /dev/null and b/ui/buttons/classic/arrow_previous.jpg differ diff --git a/ui/buttons/classic/cancel.jpg b/ui/buttons/classic/cancel.jpg new file mode 100644 index 0000000..2438bee Binary files /dev/null and b/ui/buttons/classic/cancel.jpg differ diff --git a/ui/buttons/classic/conference_list.jpg b/ui/buttons/classic/conference_list.jpg new file mode 100644 index 0000000..f3a293a Binary files /dev/null and b/ui/buttons/classic/conference_list.jpg differ diff --git a/ui/buttons/classic/configure.jpg b/ui/buttons/classic/configure.jpg new file mode 100644 index 0000000..244038a Binary files /dev/null and b/ui/buttons/classic/configure.jpg differ diff --git a/ui/buttons/classic/create.jpg b/ui/buttons/classic/create.jpg new file mode 100644 index 0000000..e950efc Binary files /dev/null and b/ui/buttons/classic/create.jpg differ diff --git a/ui/buttons/classic/create_new.jpg b/ui/buttons/classic/create_new.jpg new file mode 100644 index 0000000..dbd70aa Binary files /dev/null and b/ui/buttons/classic/create_new.jpg differ diff --git a/ui/buttons/classic/delete_topic.jpg b/ui/buttons/classic/delete_topic.jpg new file mode 100644 index 0000000..9ca6568 Binary files /dev/null and b/ui/buttons/classic/delete_topic.jpg differ diff --git a/ui/buttons/classic/export.jpg b/ui/buttons/classic/export.jpg new file mode 100644 index 0000000..611c6a8 Binary files /dev/null and b/ui/buttons/classic/export.jpg differ diff --git a/ui/buttons/classic/filter_user.jpg b/ui/buttons/classic/filter_user.jpg new file mode 100644 index 0000000..099181f Binary files /dev/null and b/ui/buttons/classic/filter_user.jpg differ diff --git a/ui/buttons/classic/find.jpg b/ui/buttons/classic/find.jpg new file mode 100644 index 0000000..24c0291 Binary files /dev/null and b/ui/buttons/classic/find.jpg differ diff --git a/ui/buttons/classic/freeze_topic.jpg b/ui/buttons/classic/freeze_topic.jpg new file mode 100644 index 0000000..9ac99f8 Binary files /dev/null and b/ui/buttons/classic/freeze_topic.jpg differ diff --git a/ui/buttons/classic/go.jpg b/ui/buttons/classic/go.jpg new file mode 100644 index 0000000..080e92a Binary files /dev/null and b/ui/buttons/classic/go.jpg differ diff --git a/ui/buttons/classic/hide.jpg b/ui/buttons/classic/hide.jpg new file mode 100644 index 0000000..e83a945 Binary files /dev/null and b/ui/buttons/classic/hide.jpg differ diff --git a/ui/buttons/classic/hide_topic.jpg b/ui/buttons/classic/hide_topic.jpg new file mode 100644 index 0000000..6849a83 Binary files /dev/null and b/ui/buttons/classic/hide_topic.jpg differ diff --git a/ui/buttons/classic/import.jpg b/ui/buttons/classic/import.jpg new file mode 100644 index 0000000..6324dc0 Binary files /dev/null and b/ui/buttons/classic/import.jpg differ diff --git a/ui/buttons/classic/invite.jpg b/ui/buttons/classic/invite.jpg new file mode 100644 index 0000000..865737c Binary files /dev/null and b/ui/buttons/classic/invite.jpg differ diff --git a/ui/buttons/classic/join_now.jpg b/ui/buttons/classic/join_now.jpg new file mode 100644 index 0000000..4fdfdf9 Binary files /dev/null and b/ui/buttons/classic/join_now.jpg differ diff --git a/ui/buttons/classic/login.jpg b/ui/buttons/classic/login.jpg new file mode 100644 index 0000000..8670c70 Binary files /dev/null and b/ui/buttons/classic/login.jpg differ diff --git a/ui/buttons/classic/manage.jpg b/ui/buttons/classic/manage.jpg new file mode 100644 index 0000000..0165ef2 Binary files /dev/null and b/ui/buttons/classic/manage.jpg differ diff --git a/ui/buttons/classic/move.jpg b/ui/buttons/classic/move.jpg new file mode 100644 index 0000000..54daf5d Binary files /dev/null and b/ui/buttons/classic/move.jpg differ diff --git a/ui/buttons/classic/next_keep_new.jpg b/ui/buttons/classic/next_keep_new.jpg new file mode 100644 index 0000000..e86d645 Binary files /dev/null and b/ui/buttons/classic/next_keep_new.jpg differ diff --git a/ui/buttons/classic/next_topic.jpg b/ui/buttons/classic/next_topic.jpg new file mode 100644 index 0000000..1aa5c3a Binary files /dev/null and b/ui/buttons/classic/next_topic.jpg differ diff --git a/ui/buttons/classic/no.jpg b/ui/buttons/classic/no.jpg new file mode 100644 index 0000000..753cf6b Binary files /dev/null and b/ui/buttons/classic/no.jpg differ diff --git a/ui/buttons/classic/nuke.jpg b/ui/buttons/classic/nuke.jpg new file mode 100644 index 0000000..73f9030 Binary files /dev/null and b/ui/buttons/classic/nuke.jpg differ diff --git a/ui/buttons/classic/ok.jpg b/ui/buttons/classic/ok.jpg new file mode 100644 index 0000000..bdee092 Binary files /dev/null and b/ui/buttons/classic/ok.jpg differ diff --git a/ui/buttons/classic/post.jpg b/ui/buttons/classic/post.jpg new file mode 100644 index 0000000..ea8f5ac Binary files /dev/null and b/ui/buttons/classic/post.jpg differ diff --git a/ui/buttons/classic/post_go_next.jpg b/ui/buttons/classic/post_go_next.jpg new file mode 100644 index 0000000..52df20e Binary files /dev/null and b/ui/buttons/classic/post_go_next.jpg differ diff --git a/ui/buttons/classic/post_go_topics.jpg b/ui/buttons/classic/post_go_topics.jpg new file mode 100644 index 0000000..7239e7c Binary files /dev/null and b/ui/buttons/classic/post_go_topics.jpg differ diff --git a/ui/buttons/classic/post_reload.jpg b/ui/buttons/classic/post_reload.jpg new file mode 100644 index 0000000..f0a4b83 Binary files /dev/null and b/ui/buttons/classic/post_reload.jpg differ diff --git a/ui/buttons/classic/preview.jpg b/ui/buttons/classic/preview.jpg new file mode 100644 index 0000000..3e63e3e Binary files /dev/null and b/ui/buttons/classic/preview.jpg differ diff --git a/ui/buttons/classic/publish.jpg b/ui/buttons/classic/publish.jpg new file mode 100644 index 0000000..1254033 Binary files /dev/null and b/ui/buttons/classic/publish.jpg differ diff --git a/ui/buttons/classic/read_new.jpg b/ui/buttons/classic/read_new.jpg new file mode 100644 index 0000000..29777d6 Binary files /dev/null and b/ui/buttons/classic/read_new.jpg differ diff --git a/ui/buttons/classic/reminder.jpg b/ui/buttons/classic/reminder.jpg new file mode 100644 index 0000000..e5cbb8a Binary files /dev/null and b/ui/buttons/classic/reminder.jpg differ diff --git a/ui/buttons/classic/remove.jpg b/ui/buttons/classic/remove.jpg new file mode 100644 index 0000000..ff62979 Binary files /dev/null and b/ui/buttons/classic/remove.jpg differ diff --git a/ui/buttons/classic/scribble.jpg b/ui/buttons/classic/scribble.jpg new file mode 100644 index 0000000..88b868e Binary files /dev/null and b/ui/buttons/classic/scribble.jpg differ diff --git a/ui/buttons/classic/search.jpg b/ui/buttons/classic/search.jpg new file mode 100644 index 0000000..1f80e4a Binary files /dev/null and b/ui/buttons/classic/search.jpg differ diff --git a/ui/buttons/classic/send_again.jpg b/ui/buttons/classic/send_again.jpg new file mode 100644 index 0000000..ccc011b Binary files /dev/null and b/ui/buttons/classic/send_again.jpg differ diff --git a/ui/buttons/classic/send_email.jpg b/ui/buttons/classic/send_email.jpg new file mode 100644 index 0000000..99a9128 Binary files /dev/null and b/ui/buttons/classic/send_email.jpg differ diff --git a/ui/buttons/classic/set.jpg b/ui/buttons/classic/set.jpg new file mode 100644 index 0000000..bf114e5 Binary files /dev/null and b/ui/buttons/classic/set.jpg differ diff --git a/ui/buttons/classic/show.jpg b/ui/buttons/classic/show.jpg new file mode 100644 index 0000000..9c59f49 Binary files /dev/null and b/ui/buttons/classic/show.jpg differ diff --git a/ui/buttons/classic/show_topic.jpg b/ui/buttons/classic/show_topic.jpg new file mode 100644 index 0000000..97d2170 Binary files /dev/null and b/ui/buttons/classic/show_topic.jpg differ diff --git a/ui/buttons/classic/stick_topic.jpg b/ui/buttons/classic/stick_topic.jpg new file mode 100644 index 0000000..5bcdb77 Binary files /dev/null and b/ui/buttons/classic/stick_topic.jpg differ diff --git a/ui/buttons/classic/topic_list.jpg b/ui/buttons/classic/topic_list.jpg new file mode 100644 index 0000000..d21c6be Binary files /dev/null and b/ui/buttons/classic/topic_list.jpg differ diff --git a/ui/buttons/classic/unarchive_topic.jpg b/ui/buttons/classic/unarchive_topic.jpg new file mode 100644 index 0000000..137f924 Binary files /dev/null and b/ui/buttons/classic/unarchive_topic.jpg differ diff --git a/ui/buttons/classic/unfreeze_topic.jpg b/ui/buttons/classic/unfreeze_topic.jpg new file mode 100644 index 0000000..0b2e1c9 Binary files /dev/null and b/ui/buttons/classic/unfreeze_topic.jpg differ diff --git a/ui/buttons/classic/unstick_topic.jpg b/ui/buttons/classic/unstick_topic.jpg new file mode 100644 index 0000000..871cadd Binary files /dev/null and b/ui/buttons/classic/unstick_topic.jpg differ diff --git a/ui/buttons/classic/update.jpg b/ui/buttons/classic/update.jpg new file mode 100644 index 0000000..ab3c395 Binary files /dev/null and b/ui/buttons/classic/update.jpg differ diff --git a/ui/buttons/classic/upload.jpg b/ui/buttons/classic/upload.jpg new file mode 100644 index 0000000..04fca11 Binary files /dev/null and b/ui/buttons/classic/upload.jpg differ diff --git a/ui/buttons/classic/user_accept.jpg b/ui/buttons/classic/user_accept.jpg new file mode 100644 index 0000000..b1f327d Binary files /dev/null and b/ui/buttons/classic/user_accept.jpg differ diff --git a/ui/buttons/classic/user_decline.jpg b/ui/buttons/classic/user_decline.jpg new file mode 100644 index 0000000..fe8cde4 Binary files /dev/null and b/ui/buttons/classic/user_decline.jpg differ diff --git a/ui/buttons/classic/yes.jpg b/ui/buttons/classic/yes.jpg new file mode 100644 index 0000000..5f5ce14 Binary files /dev/null and b/ui/buttons/classic/yes.jpg differ diff --git a/ui/images.go b/ui/images.go index 70273d3..3d18aeb 100644 --- a/ui/images.go +++ b/ui/images.go @@ -17,11 +17,16 @@ import ( "net/http" "path/filepath" "strings" + + "git.erbosoft.com/amy/amsterdam/config" ) //go:embed static_images/* var static_images embed.FS +//go:embed buttons/* +var buttons embed.FS + /* mimeTypeFromFilenane returns the MIME type of a file, given its filename. * Parameters: * filaname - The name of the file to be tested. @@ -43,12 +48,22 @@ func mimeTypeFromFilename(filename string) string { func AmServeImage(ctxt AmContext) (string, any, error) { components := strings.SplitAfter(ctxt.URLPath(), "/") var err error = nil - if len(components) == 4 && components[2] == "builtin/" { - var b []byte - b, err = static_images.ReadFile(filepath.Join("static_images", components[3])) - if err == nil { - ctxt.SetOutputType(mimeTypeFromFilename(components[3])) - return "bytes", b, nil + var b []byte + if len(components) == 4 { + if components[2] == "builtin/" { + b, err = static_images.ReadFile(filepath.Join("static_images", components[3])) + if err == nil { + ctxt.SetOutputType(mimeTypeFromFilename(components[3])) + return "bytes", b, nil + } + } + if components[2] == "button/" { + b, err = buttons.ReadFile(filepath.Join("buttons", config.GlobalConfig.Rendering.ButtonSet, + components[3])) + if err == nil { + ctxt.SetOutputType(mimeTypeFromFilename(components[3])) + return "bytes", b, nil + } } } ctxt.SetRC(http.StatusNotFound)