#include "page.h"
#include "../templ/duc_page.h"

static orb_rc_t init(orb_module_t *self) {
  duc_page_t *data = (duc_page_t *) self->data;
  if (self->param_list) {
    page_param_list_t *param_list = (page_param_list_t *) self->param_list;
    data->title = param_list->title;
    data->module = param_list->module;
  }
  return ORB_OK;
}

static orb_rc_t render(orb_module_t *self, void *out) {
  return ORB_ERR(duc_page_render(out, (duc_page_t *) self->data));
}

const orb_module_type_t PAGE_TYPE = {
  .size = sizeof(duc_page_t),
  .init = init,
  .render = render,
};
