/* 
 * This file is part of Stack Wallet.
 * 
 * Copyright (c) 2023 Cypher Stack
 * All Rights Reserved.
 * The code is distributed under GPLv3 license, see LICENSE file for details.
 * Generated by Cypher Stack on 2023-05-26
 *
 */

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

import '../models/isar/stack_theme.dart';
import '../wallets/crypto_currency/crypto_currency.dart';
import 'stack_colors.dart';
import 'theme_service.dart';

final applicationThemesDirectoryPathProvider = StateProvider((ref) => "");

final colorProvider = StateProvider<StackColors>(
  (ref) => StackColors.fromStackColorTheme(
    ref.watch(themeProvider.state).state,
  ),
);

final themeProvider = StateProvider<StackTheme>(
  (ref) => ref.watch(
    pThemeService.select(
      (value) => value.getTheme(
        themeId: "light",
      )!,
    ),
  ),
);

final themeAssetsProvider = StateProvider<IThemeAssets>(
  (ref) => ref.watch(
    themeProvider.select(
      (value) => value.assets,
    ),
  ),
);

final pCoinColor = StateProvider.family<Color, CryptoCurrency>(
  (ref, coin) =>
      ref.watch(
        themeProvider.select((value) => value.coinColors[coin.mainNetId]),
      ) ??
      Colors.deepOrangeAccent,
);