#pragma once

#include <QWidget>
#include <QTabWidget>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QPushButton>
#include <QLabel>
#include <QListWidget>
#include <QComboBox>
#include <QCheckBox>
#include <QRadioButton>
#include <QButtonGroup>
#include <QVariant>

class SettingsView : public QWidget {
    Q_OBJECT

public:
    explicit SettingsView(QWidget *parent = nullptr);
    ~SettingsView() override = default;

signals:
    void accountAddRequested();
    void accountEditRequested(int accountIndex);
    void accountDeleteRequested(int accountIndex);
    void themeChanged(const QString &theme);
    void settingChanged(const QString &key, const QVariant &value);

private:
    void setupUI();
    QWidget* createAccountsTab();
    QWidget* createGeneralTab();
    QWidget* createAppearanceTab();

    QTabWidget *m_tabWidget;
    QListWidget *m_accountList;
    QComboBox *m_syncIntervalCombo;
    QButtonGroup *m_themeGroup;
};