Bump DRAGONX_LITE_VERSION 1.0.0 -> 1.1.0: since lite-1.0.0 the Lite variant
gained the whole 2.0.x shared UI/UX + diagnostics + i18n + perf work and this
session's chat delete/block — a minor bump (new features, no breaking change).
Make the FAQ variant-aware (walletFaq(fullNode)) so the Lite build reads
correctly: "What is ObsidianDragonLite?", encryption in the Wallet tab (not
Node & Security), migrate-to-seed hidden, node-specific answers reworded
neutrally ("the wallet syncs"), a new "Lite Wallet" subcategory (server model +
privacy tradeoff) standing in for the hidden Daemon group, and the redundant
single "Wallet" group tab dropped when there's no Daemon group to switch to.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
45 lines
1.7 KiB
C++
45 lines
1.7 KiB
C++
// 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
|