using namespace DFHack;
using df::global::gps;

struct kitchen_prefs_empty_hook : df::viewscreen_kitchenprefst {
    typedef df::viewscreen_kitchenprefst interpose_base;

    DEFINE_VMETHOD_INTERPOSE(void, render, ())
    {
        static const char *state_names[] = {
            "Vegetables/fruit/leaves",
            "Seeds",
            "Drinks",
            "Meat/fish/other"
        };
        static int tab_x[] = {2, 30, 45, 60};
        static Screen::Pen pen(' ', COLOR_WHITE, COLOR_BLACK);

        INTERPOSE_NEXT(render)();
        for (int x = 1; x < gps->dimx - 2; x++)
            Screen::paintTile(pen, x, 2);
        for (int i = 0; i < 4; i++)
        {
            pen.bold = (page == i);
            Screen::paintString(pen, tab_x[i], 2, state_names[i]);
        }
        if (!item_type[page].size())
        {
            pen.bold = true;
            Screen::paintString(pen, 2, 4, "You have no appropriate ingredients.");
        }
    }
};

IMPLEMENT_VMETHOD_INTERPOSE(kitchen_prefs_empty_hook, render);