commit ce568ee3b4bbbf1ef07ea1ac2d5f005fa2a46295
parent 8afbecf74dd0dbe552b25bb983b9029df4e95a77
Author: Jacob R. Edwards <jacob@jacobedwards.org>
Date: Tue, 12 Mar 2024 20:22:49 -0700
Move main page export form to a function
Also move it to the top of the page again.
Diffstat:
M | pages/main.c | | | 43 | +++++++++++++++++++++++++------------------ |
1 file changed, 25 insertions(+), 18 deletions(-)
diff --git a/pages/main.c b/pages/main.c
@@ -297,6 +297,29 @@ gettf(char *tfs)
}
enum kcgi_err
+exportform(struct pagedata *pd)
+{
+ enum kcgi_err status;
+
+ if ((status = khtml_attr(&pd->html, KELEM_FORM,
+ KATTR_ACTION, pd->pages[PageExport], KATTR__MAX)) != KCGI_OK ||
+ (status = khtml_elem(&pd->html, KELEM_LABEL)) != KCGI_OK ||
+ (status = khtml_putc(&pd->html, ' ')) != KCGI_OK ||
+ (status = khtml_attr(&pd->html, KELEM_INPUT,
+ KATTR_TYPE, "submit",
+ KATTR_VALUE, "Export", KATTR__MAX)) != KCGI_OK ||
+ (status = khtml_attr(&pd->html, KELEM_INPUT,
+ KATTR_TYPE, "checkbox",
+ KATTR_NAME, keys[KeyFormat].name,
+ KATTR_VALUE, ".epoch", KATTR__MAX)) != KCGI_OK ||
+ (status = khtml_puts(&pd->html, "Epoch times")) != KCGI_OK ||
+ (status = khtml_closeelem(&pd->html, 1)) != KCGI_OK ||
+ (status = khtml_closeelem(&pd->html, 1)) != KCGI_OK)
+ return status;
+ return KCGI_OK;
+}
+
+enum kcgi_err
pagemain(struct pagedata *pd)
{
static char *css[] = { "css/main.css", "css/timesheet.css", NULL };
@@ -345,28 +368,12 @@ pagemain(struct pagedata *pd)
}
if ((status = htmlwithin(pd, KELEM_H1, "Timekeeper")) != KCGI_OK ||
- (status = printtimes(pd, times)) != KCGI_OK ||
- (status = htmlscript(pd, "scripts/counter.js")) != KCGI_OK ||
- (status = htmlscript(pd, "scripts/localize.js")) != KCGI_OK) {
+ (status = exportform(pd)) != KCGI_OK ||
+ (status = printtimes(pd, times)) != KCGI_OK) {
freetimesheet(times);
return status;
}
freetimesheet(times);
- if ((status = htmlwithin(pd, KELEM_H2, "Export")) != KCGI_OK ||
- (status = khtml_attr(&pd->html, KELEM_FORM,
- KATTR_ACTION, pd->pages[PageExport], KATTR__MAX)) != KCGI_OK ||
- (status = khtml_attr(&pd->html, KELEM_INPUT,
- KATTR_TYPE, "checkbox",
- KATTR_NAME, keys[KeyFormat].name,
- KATTR_VALUE, ".epoch", KATTR__MAX)) != KCGI_OK ||
- (status = khtml_puts(&pd->html, " Use UNIX epoch times")) != KCGI_OK ||
- (status = khtml_elem(&pd->html, KELEM_BR)) != KCGI_OK ||
- (status = khtml_attr(&pd->html, KELEM_INPUT,
- KATTR_TYPE, "submit",
- KATTR_VALUE, "Export", KATTR__MAX)) != KCGI_OK ||
- (status = khtml_closeelem(&pd->html, 1)) != KCGI_OK)
- return status;
-
return endpage(pd, &template);
}