// DragonX Wallet - ImGui Edition
// Copyright 2024-2026 The Hush Developers
// Released under the GPLv3
//
// FAQ content model. The FAQ screen is data-driven: this header exposes the two
// top-level groups (Wallet, Daemon) as ordered lists of subcategories, each a list
// of question/answer entries. Every string is an i18n KEY (looked up with TR at
// render time), so wording + translations live in src/util/i18n.cpp + res/lang/*.json
// and never require touching UI code. Add a Q&A by appending a {qKey,aKey} pair here
// and its two strings to loadBuiltinEnglish().

#pragma once

#include <vector>

namespace dragonx {
namespace ui {
namespace faq {

// One question and its answer, both i18n keys. The answer may contain "\n\n"
// paragraph breaks; it is rendered wrapped. Keep answers free of printf specifiers
// (%d/%s/…) — the i18n layer rejects translations whose format signature drifts.
struct FaqEntry {
    const char* questionKey;
    const char* answerKey;
};

// A named group of questions. titleKey is an i18n key for the subcategory header.
struct FaqSubcategory {
    const char* titleKey;
    std::vector<FaqEntry> entries;
};

// The two top-level groups. daemonFaq() is full-node material and is only shown when
// the build supports full-node lifecycle actions (see App::supportsFullNodeLifecycleActions()).
// walletFaq() is variant-aware: pass fullNode=false for the Lite variant, which swaps in
// lite-appropriate answers (no local node / daemon), drops full-node-only entries
// (e.g. migrate-to-seed), and appends a "Lite Wallet" subcategory explaining the server model.
const std::vector<FaqSubcategory>& walletFaq(bool fullNode);
const std::vector<FaqSubcategory>& daemonFaq();

} // namespace faq
} // namespace ui
} // namespace dragonx
