#ifndef YTMDL_UI_H
#define YTMDL_UI_H

#include <ncurses.h>

#include "app.h"
#include "input_field.h"

typedef enum {
    FOCUS_URL,
    FOCUS_TABLE,
} Focus;

typedef struct {
    InputField url_field;
    Focus focus;
    int selected_row;
    int quit_requested;

    WINDOW *url_win;
    WINDOW *settings_win;
    WINDOW *table_win;
    int layout_rows, layout_cols;
} UiState;

void ui_init(UiState *ui);
void ui_destroy(UiState *ui);
void ui_draw(App *app, UiState *ui);
/* Handles one key. Returns 1 if it fully consumed the key. */
void ui_handle_key(App *app, UiState *ui, int ch);

#endif
