#pragma once #include #include namespace QuickMedia { class Body; class Page; class SearchBar; struct LoginInputs { std::vector> inputs; int focused_input = 0; bool needs_refresh = false; }; struct Tab { Tab(std::unique_ptr body, std::unique_ptr page, std::unique_ptr search_bar, LoginInputs login_inputs = {}) : body(std::move(body)), page(std::move(page)), search_bar(std::move(search_bar)), login_inputs(std::move(login_inputs)) {} std::unique_ptr body; std::unique_ptr page; // Only null when current page has |is_single_page()| set to true std::unique_ptr search_bar; // Nullable LoginInputs login_inputs; }; }