diff options
Diffstat (limited to 'src/Routes/Settings.c')
| -rw-r--r-- | src/Routes/Settings.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/Routes/Settings.c b/src/Routes/Settings.c new file mode 100644 index 0000000..05edc56 --- /dev/null +++ b/src/Routes/Settings.c @@ -0,0 +1,30 @@ +#include "Settings.h" +#include "../Utility/Utility.h" +#include <stdlib.h> +#include <string.h> + +int settings_handler(UrlParams *params) { + const char *query = ""; + if (params) { + for (int i = 0; i < params->count; i++) { + if (strcmp(params->params[i].key, "q") == 0) { + query = params->params[i].value; + break; + } + } + } + + char *theme = get_theme("system"); + + TemplateContext ctx = new_context(); + context_set(&ctx, "query", query); + context_set(&ctx, "theme", theme); + char *rendered_html = render_template("settings.html", &ctx); + send_response(rendered_html); + + free(rendered_html); + free(theme); + free_context(&ctx); + + return 0; +} |
