feat: additional themes

This commit is contained in:
Rafael Saes 2023-07-07 12:41:00 -03:00
parent 114f41ebd4
commit 3232c8c0cd
68 changed files with 848 additions and 189 deletions

View file

@ -15,6 +15,9 @@ class Palette {
static const Color nightBlue = Color.fromRGBO(46, 57, 96, 1.0);
static const Color moderateOrangeYellow = Color.fromRGBO(245, 134, 82, 1.0);
static const Color moderateOrange = Color.fromRGBO(235, 117, 63, 1.0);
static const Color moneroOrange = Color.fromRGBO(255, 102, 0, 1.0);
static const Color moneroLightOrange = Color.fromRGBO(250, 240, 246, 1.0);
static const Color bitcoinOrange = Color.fromRGBO(242, 169, 0, 1.0);
static const Color shineGreen = Color.fromRGBO(76, 189, 87, 1.0);
static const Color moderateGreen = Color.fromRGBO(45, 158, 56, 1.0);
static const Color cornflower = Color.fromRGBO(85, 147, 240, 1.0);
@ -48,6 +51,7 @@ class Palette {
static const Color paleCornflowerBlue = Color.fromRGBO(185, 196, 237, 1.0);
static const Color manatee = Color.fromRGBO(153, 161, 176, 1.0);
static const Color stateGray = Color.fromRGBO(68, 74, 89, 1.0);
static const Color highContrastGray = Color.fromRGBO(76, 76, 76, 1.0);
static const Color frostySky = Color.fromRGBO(0, 184, 250, 1.0);
}
@ -90,4 +94,7 @@ class PaletteDark {
static const Color lightPurpleBlue = Color.fromRGBO(120, 133, 170, 1.0);
static const Color indicatorVioletBlue = Color.fromRGBO(59, 72, 119, 1.0);
static const Color granite = Color.fromRGBO(48, 51, 60, 1.0);
}
static const Color matrixGreen = Color.fromRGBO(18, 229, 90, 1.0);
static const Color moneroOrange = Color.fromRGBO(255, 102, 0, 1.0);
static const Color moneroCard = Color.fromRGBO(20, 21, 24, 1.0);
}

View file

@ -1,4 +1,3 @@
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:cake_wallet/themes/theme_base.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -22,10 +21,10 @@ abstract class BasePage extends StatelessWidget {
Color? get backgroundDarkColor => null;
Color? get titleColor => null;
bool get gradientBackground => false;
bool get gradientAll => false;
bool get resizeToAvoidBottomInset => true;
bool get extendBodyBehindAppBar => false;
@ -50,11 +49,13 @@ abstract class BasePage extends StatelessWidget {
? Colors.transparent
: Theme.of(context).colorScheme.background);
Color? pageIconColor(BuildContext context) =>
titleColor ??
(gradientBackground
? Theme.of(context).extension<CakeTextTheme>()!.titleColor
: Theme.of(context).extension<CakeTextTheme>()!.titleColor);
Color titleColor(BuildContext context) =>
(gradientBackground && currentTheme.type == ThemeType.bright) ||
(gradientAll && currentTheme.brightness == Brightness.light)
? Colors.white
: Theme.of(context).appBarTheme.titleTextStyle!.color!;
Color? pageIconColor(BuildContext context) => titleColor(context);
Widget closeButton(BuildContext context) => Image.asset(
currentTheme.type == ThemeType.dark
@ -106,8 +107,7 @@ abstract class BasePage extends StatelessWidget {
fontSize: 18.0,
fontWeight: FontWeight.bold,
fontFamily: 'Lato',
color: titleColor ??
Theme.of(context).extension<CakeTextTheme>()!.titleColor),
color: titleColor(context)),
);
}

View file

@ -24,9 +24,6 @@ class BuyWebViewPage extends BasePage {
@override
Color get backgroundDarkColor => Colors.white;
@override
Color get titleColor => Palette.darkBlueCraiola;
@override
Widget body(BuildContext context) =>
BuyWebViewPageBody(buyViewModel, ordersStore: ordersStore, url: url);

View file

@ -62,9 +62,6 @@ class PreOrderPage extends BasePage {
@override
String get title => S.current.buy + ' ' + walletTypeToString(buyViewModel.wallet.type);
@override
Color get titleColor => Colors.white;
@override
bool get resizeToAvoidBottomInset => false;

View file

@ -91,7 +91,7 @@ class _DashboardPageView extends BasePage {
@override
Widget trailing(BuildContext context) {
final menuButton = Image.asset('assets/images/menu.png',
color: Theme.of(context).extension<DashboardPageTheme>()!.textColor);
color: Theme.of(context).extension<DashboardPageTheme>()!.pageTitleTextColor);
return Container(
alignment: Alignment.centerRight,
@ -156,8 +156,8 @@ class _DashboardPageView extends BasePage {
radius: 6.0,
dotWidth: 6.0,
dotHeight: 6.0,
dotColor: Theme.of(context).extension<DashboardPageTheme>()!.indicatorDotTheme!.indicatorColor,
activeDotColor: Theme.of(context).extension<DashboardPageTheme>()!.indicatorDotTheme!.activeIndicatorColor),
dotColor: Theme.of(context).extension<DashboardPageTheme>()!.indicatorDotTheme.indicatorColor,
activeDotColor: Theme.of(context).extension<DashboardPageTheme>()!.indicatorDotTheme.activeIndicatorColor),
),
);
}
@ -170,9 +170,7 @@ class _DashboardPageView extends BasePage {
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(50.0),
border: Border.all(
color: currentTheme.type == ThemeType.bright
? Color.fromRGBO(255, 255, 255, 0.2)
: Colors.transparent,
color: Theme.of(context).extension<BalancePageTheme>()!.cardBorderColor,
width: 1,
),
color: Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor,
@ -195,8 +193,8 @@ class _DashboardPageView extends BasePage {
color: action.isEnabled?.call(
dashboardViewModel) ??
true
? Theme.of(context).extension<DashboardPageTheme>()!.textColor
: Theme.of(context).extension<BalancePageTheme>()!.textColor),
? Theme.of(context).extension<DashboardPageTheme>()!.mainActionsIconColor
: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor),
title: action.name(context),
onClick: () async => await action.onTap(
context, dashboardViewModel),
@ -204,7 +202,7 @@ class _DashboardPageView extends BasePage {
?.call(dashboardViewModel) ??
true
? null
: Theme.of(context).extension<BalancePageTheme>()!.textColor,
: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
),
))
.toList(),

View file

@ -45,7 +45,7 @@ class DesktopActionButton extends StatelessWidget {
width: 30,
color: isEnabled
? Theme.of(context).extension<DashboardPageTheme>()!.textColor
: Theme.of(context).extension<BalancePageTheme>()!.textColor,
: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
),
const SizedBox(width: 10),
AutoSizeText(

View file

@ -56,10 +56,6 @@ class AddressPage extends BasePage {
@override
bool get gradientBackground => true;
@override
Color? get titleColor =>
currentTheme.themeData.extension<DashboardPageTheme>()!.textColor;
@override
bool get resizeToAvoidBottomInset => false;
@ -93,8 +89,8 @@ class AddressPage extends BasePage {
@override
Widget middle(BuildContext context) => PresentReceiveOptionPicker(
receiveOptionViewModel: receiveOptionViewModel,
gradientBackground: gradientBackground);
color: titleColor(context),
receiveOptionViewModel: receiveOptionViewModel);
@override
Widget Function(BuildContext, Widget) get rootWrapper =>
@ -219,7 +215,7 @@ class AddressPage extends BasePage {
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 15,
color: Theme.of(context).extension<BalancePageTheme>()!.textColor));
color: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor));
})
],
),

View file

@ -1,7 +1,6 @@
import 'package:cake_wallet/store/settings_store.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:cake_wallet/themes/theme_base.dart';
import 'package:cake_wallet/utils/responsive_layout_util.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
@ -17,9 +16,6 @@ class BalancePage extends StatelessWidget {
final DashboardViewModel dashboardViewModel;
final SettingsStore settingsStore;
@override
bool get gradientBackground => true;
@override
Widget build(BuildContext context) {
return GestureDetector(
@ -38,7 +34,7 @@ class BalancePage extends StatelessWidget {
fontSize: 24,
fontFamily: 'Lato',
fontWeight: FontWeight.w600,
color: Theme.of(context).extension<DashboardPageTheme>()!.textColor,
color: Theme.of(context).extension<DashboardPageTheme>()!.pageTitleTextColor,
height: 1),
maxLines: 1,
textAlign: TextAlign.center);
@ -48,9 +44,7 @@ class BalancePage extends StatelessWidget {
return IntroducingCard(
title: S.of(context).introducing_cake_pay,
subTitle: S.of(context).cake_pay_learn_more,
borderColor: settingsStore.currentTheme.type == ThemeType.bright
? Color.fromRGBO(255, 255, 255, 0.2)
: Colors.transparent,
borderColor: Theme.of(context).extension<BalancePageTheme>()!.cardBorderColor,
closeCard: dashboardViewModel.balanceViewModel.disableIntroCakePayCard);
}
return Container();
@ -96,9 +90,7 @@ class BalancePage extends StatelessWidget {
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(30.0),
border: Border.all(
color: settingsStore.currentTheme.type == ThemeType.bright
? Color.fromRGBO(255, 255, 255, 0.2)
: Colors.transparent,
color: Theme.of(context).extension<BalancePageTheme>()!.cardBorderColor,
width: 1,
),
color: Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor),
@ -114,7 +106,7 @@ class BalancePage extends StatelessWidget {
fontSize: 12,
fontFamily: 'Lato',
fontWeight: FontWeight.w400,
color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
color: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
height: 1)),
SizedBox(height: 5),
Row(
@ -125,7 +117,7 @@ class BalancePage extends StatelessWidget {
fontSize: 24,
fontFamily: 'Lato',
fontWeight: FontWeight.w900,
color: Theme.of(context).extension<DashboardPageTheme>()!.textColor,
color: Theme.of(context).extension<BalancePageTheme>()!.balanceAmountColor,
height: 1),
maxLines: 1,
textAlign: TextAlign.start),
@ -135,7 +127,7 @@ class BalancePage extends StatelessWidget {
fontSize: 28,
fontFamily: 'Lato',
fontWeight: FontWeight.w800,
color: Theme.of(context).extension<DashboardPageTheme>()!.textColor,
color: Theme.of(context).extension<BalancePageTheme>()!.assetTitleColor,
height: 1)),
]),
SizedBox(
@ -158,7 +150,7 @@ class BalancePage extends StatelessWidget {
fontSize: 12,
fontFamily: 'Lato',
fontWeight: FontWeight.w400,
color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
color: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
height: 1)),
SizedBox(height: 8),
AutoSizeText(frozenBalance,
@ -166,7 +158,7 @@ class BalancePage extends StatelessWidget {
fontSize: 20,
fontFamily: 'Lato',
fontWeight: FontWeight.w400,
color: Theme.of(context).extension<DashboardPageTheme>()!.textColor,
color: Theme.of(context).extension<BalancePageTheme>()!.balanceAmountColor,
height: 1),
maxLines: 1,
textAlign: TextAlign.center),
@ -189,7 +181,7 @@ class BalancePage extends StatelessWidget {
fontSize: 12,
fontFamily: 'Lato',
fontWeight: FontWeight.w400,
color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
color: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
height: 1)),
SizedBox(height: 8),
AutoSizeText(additionalBalance,
@ -197,7 +189,7 @@ class BalancePage extends StatelessWidget {
fontSize: 20,
fontFamily: 'Lato',
fontWeight: FontWeight.w400,
color: Theme.of(context).extension<DashboardPageTheme>()!.textColor,
color: Theme.of(context).extension<BalancePageTheme>()!.balanceAmountColor,
height: 1),
maxLines: 1,
textAlign: TextAlign.center),

View file

@ -29,7 +29,7 @@ class HeaderRow extends StatelessWidget {
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.w500,
color: Theme.of(context).extension<DashboardPageTheme>()!.textColor),
color: Theme.of(context).extension<DashboardPageTheme>()!.pageTitleTextColor),
),
GestureDetector(
onTap: () {

View file

@ -41,7 +41,7 @@ class MarketPlacePage extends StatelessWidget {
style: TextStyle(
fontSize: 24,
fontWeight: FontWeight.w500,
color: Theme.of(context).extension<DashboardPageTheme>()!.textColor,
color: Theme.of(context).extension<DashboardPageTheme>()!.pageTitleTextColor,
),
),
Expanded(

View file

@ -85,9 +85,9 @@ class MenuWidgetState extends State<MenuWidget> {
final itemCount = SettingActions.all.length;
moneroIcon = Image.asset('assets/images/monero_menu.png',
color: Theme.of(context).extension<CakeMenuTheme>()!.subnameTextColor);
color: Theme.of(context).extension<CakeMenuTheme>()!.iconColor);
bitcoinIcon = Image.asset('assets/images/bitcoin_menu.png',
color: Theme.of(context).extension<CakeMenuTheme>()!.subnameTextColor);
color: Theme.of(context).extension<CakeMenuTheme>()!.iconColor);
litecoinIcon = Image.asset('assets/images/litecoin_menu.png');
havenIcon = Image.asset('assets/images/haven_menu.png');

View file

@ -8,23 +8,19 @@ import 'package:cake_wallet/view_model/dashboard/receive_option_view_model.dart'
import 'package:flutter/material.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
class PresentReceiveOptionPicker extends StatelessWidget {
PresentReceiveOptionPicker(
{required this.receiveOptionViewModel, this.gradientBackground = false});
{required this.receiveOptionViewModel, required this.color});
final ReceiveOptionViewModel receiveOptionViewModel;
final bool gradientBackground;
final Color color;
@override
Widget build(BuildContext context) {
final textIconTheme = gradientBackground
? Theme.of(context).extension<DashboardPageTheme>()!.textColor
: Colors.white;
final arrowBottom = Image.asset(
'assets/images/arrow_bottom_purple_icon.png',
color: textIconTheme,
color: color,
height: 6,
);
@ -50,14 +46,14 @@ class PresentReceiveOptionPicker extends StatelessWidget {
fontSize: 18.0,
fontWeight: FontWeight.bold,
fontFamily: 'Lato',
color: textIconTheme),
color: color),
),
Observer(
builder: (_) => Text(receiveOptionViewModel.selectedReceiveOption.toString(),
style: TextStyle(
fontSize: 10.0,
fontWeight: FontWeight.w500,
color: textIconTheme)))
color: color)))
],
),
SizedBox(width: 5),

View file

@ -78,7 +78,10 @@ class ExchangePage extends BasePage {
String get title => S.current.exchange;
@override
Color get titleColor => Colors.white;
bool get gradientBackground => true;
@override
bool get gradientAll => true;
@override
bool get resizeToAvoidBottomInset => false;
@ -113,7 +116,7 @@ class ExchangePage extends BasePage {
@override
Widget? leading(BuildContext context) {
final _backButton = Icon(Icons.arrow_back_ios,
color: titleColor,
color: titleColor(context),
size: 16,
);
final _closeButton = currentTheme.type == ThemeType.dark

View file

@ -33,9 +33,6 @@ class ExchangeTemplatePage extends BasePage {
@override
String get title => S.current.exchange_new_template;
@override
Color get titleColor => Colors.white;
@override
bool get extendBodyBehindAppBar => true;

View file

@ -32,9 +32,6 @@ class IoniaBuyGiftCardPage extends BasePage {
@override
String get title => S.current.enter_amount;
@override
Color get titleColor => Colors.white;
@override
bool get extendBodyBehindAppBar => true;

View file

@ -31,9 +31,6 @@ class IoniaCustomRedeemPage extends BasePage {
@override
String get title => S.current.custom_redeem_amount;
@override
Color get titleColor => Colors.white;
@override
bool get extendBodyBehindAppBar => true;

View file

@ -32,9 +32,6 @@ class IoniaCustomTipPage extends BasePage {
@override
String get title => S.current.enter_amount;
@override
Color get titleColor => Colors.white;
@override
bool get extendBodyBehindAppBar => true;

View file

@ -44,9 +44,6 @@ class IoniaManageCardsPage extends BasePage {
@override
bool get gradientBackground => true;
@override
Color get titleColor => currentTheme.type == ThemeType.bright ? Colors.white : Colors.black;
@override
Widget Function(BuildContext, Widget) get rootWrapper =>
(BuildContext context, Widget scaffold) =>
@ -228,7 +225,7 @@ class _IoniaManageCardsPageBodyState extends State<IoniaManageCardsPageBody> {
subTitle: merchant.avaibilityStatus,
backgroundColor: Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor,
titleColor: Theme.of(context).extension<DashboardPageTheme>()!.textColor,
subtitleColor: Theme.of(context).extension<BalancePageTheme>()!.textColor,
subtitleColor: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
discount: merchant.discount,
);
},
@ -288,7 +285,7 @@ class _SearchWidget extends StatelessWidget {
fillColor: Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor,
hintText: S.of(context).search,
hintStyle: TextStyle(
color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
color: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
),
alignLabelWithHint: true,
floatingLabelBehavior: FloatingLabelBehavior.never,

View file

@ -43,8 +43,6 @@ class AnonPayInvoicePage extends BasePage {
final _formKey = GlobalKey<FormState>();
bool effectsInstalled = false;
@override
Color get titleColor => Colors.white;
@override
bool get resizeToAvoidBottomInset => false;
@ -61,8 +59,9 @@ class AnonPayInvoicePage extends BasePage {
}
@override
Widget middle(BuildContext context) =>
PresentReceiveOptionPicker(receiveOptionViewModel: receiveOptionViewModel);
Widget middle(BuildContext context) => PresentReceiveOptionPicker(
receiveOptionViewModel: receiveOptionViewModel,
color: titleColor(context));
@override
Widget trailing(BuildContext context) => TrailButton(

View file

@ -52,10 +52,6 @@ class ReceivePage extends BasePage {
final FocusNode _cryptoAmountFocus;
@override
Color? get titleColor =>
currentTheme.type == ThemeType.bright ? Colors.white : null;
@override
Widget middle(BuildContext context) {
return Text(
@ -219,7 +215,7 @@ class ReceivePage extends BasePage {
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 15,
color: Theme.of(context).extension<BalancePageTheme>()!.textColor)),
color: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor)),
],
),
);

View file

@ -94,8 +94,7 @@ class WalletRestorePage extends BasePage {
fontSize: 18.0,
fontWeight: FontWeight.bold,
fontFamily: 'Lato',
color: titleColor ??
Theme.of(context).extension<CakeTextTheme>()!.titleColor),
color: titleColor(context)),
));
final WalletRestoreViewModel walletRestoreViewModel;

View file

@ -47,7 +47,7 @@ class SendPage extends BasePage {
String get title => S.current.send;
@override
Color get titleColor => Colors.white;
bool get gradientAll => true;
@override
bool get resizeToAvoidBottomInset => false;
@ -58,7 +58,7 @@ class SendPage extends BasePage {
@override
Widget? leading(BuildContext context) {
final _backButton = Icon(Icons.arrow_back_ios,
color: titleColor,
color: titleColor(context),
size: 16,
);
final _closeButton = currentTheme.type == ThemeType.dark

View file

@ -36,9 +36,6 @@ class SendTemplatePage extends BasePage {
@override
String get title => S.current.exchange_new_template;
@override
Color get titleColor => Colors.white;
@override
bool get extendBodyBehindAppBar => true;

View file

@ -105,7 +105,7 @@ class YatEmojiId extends StatelessWidget {
fontSize: 18,
fontWeight: FontWeight.normal,
fontFamily: 'Lato',
color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
color: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
decoration: TextDecoration.none,
)
)

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
@ -31,7 +32,7 @@ class MarketPlaceItem extends StatelessWidget {
color: Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor,
borderRadius: BorderRadius.circular(20),
border: Border.all(
color: Colors.white.withOpacity(0.20),
color: Theme.of(context).extension<BalancePageTheme>()!.cardBorderColor,
),
),
child:

View file

@ -1,4 +1,5 @@
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
import 'package:flutter/material.dart';
@ -55,7 +56,7 @@ class SettingActionButton extends StatelessWidget {
image,
height: 16,
width: 16,
color: Palette.darkBlue,
color: Theme.of(context).extension<CakeMenuTheme>()!.settingActionsIconColor,
),
SizedBox(width: 16),
Expanded(

View file

@ -1,4 +1,5 @@
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:cake_wallet/themes/extensions/filter_theme.dart';
import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -23,8 +24,8 @@ class StandardCheckbox extends StatelessWidget {
@override
Widget build(BuildContext context) {
final baseGradient = LinearGradient(colors: [
Theme.of(context).extension<SendPageTheme>()!.firstGradientColor,
Theme.of(context).extension<SendPageTheme>()!.secondGradientColor,
Theme.of(context).extension<FilterTheme>()!.checkboxFirstGradientColor,
Theme.of(context).extension<FilterTheme>()!.checkboxSecondGradientColor,
], begin: Alignment.centerLeft, end: Alignment.centerRight);
final boxBorder = Border.all(

View file

@ -54,7 +54,7 @@ class StandardListRow extends StatelessWidget {
Widget? buildTrailing(BuildContext context) => null;
Color titleColor(BuildContext context) => isSelected
? Palette.blueCraiola
? Theme.of(context).primaryColor
: Theme.of(context).extension<CakeTextTheme>()!.titleColor;
}

View file

@ -0,0 +1,14 @@
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/themes/monero_dark_theme.dart';
import 'package:flutter/material.dart';
class BitcoinDarkTheme extends MoneroDarkTheme {
BitcoinDarkTheme({required int raw}) : super(raw: raw);
@override
String get title => S.current.bitcoin_dark_theme;
@override
Color get primaryColor => Palette.bitcoinOrange;
}

View file

@ -0,0 +1,13 @@
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/themes/monero_light_theme.dart';
import 'package:flutter/material.dart';
class BitcoinLightTheme extends MoneroLightTheme {
BitcoinLightTheme({required int raw}) : super(raw: raw);
@override
String get title => S.current.bitcoin_light_theme;
@override
Color get primaryColor => Palette.bitcoinOrange;
}

View file

@ -38,6 +38,8 @@ class BrightTheme extends LightTheme {
firstGradientBackgroundColor: Palette.blueCraiola,
secondGradientBackgroundColor: Palette.pinkFlamingo,
thirdGradientBackgroundColor: Palette.redHat,
pageTitleTextColor: Colors.white,
mainActionsIconColor: Colors.white,
textColor: Colors.white,
indicatorDotTheme: IndicatorDotTheme(
indicatorColor: Colors.white.withOpacity(0.5),
@ -58,24 +60,24 @@ class BrightTheme extends LightTheme {
firstGradientTopPanelColor: Palette.blueCraiola);
@override
NewWalletTheme get newWalletTheme => NewWalletTheme(
NewWalletTheme get newWalletTheme => super.newWalletTheme.copyWith(
hintTextColor: Palette.darkGray,
underlineColor: Palette.periwinkleCraiola);
@override
BalancePageTheme get balancePageTheme =>
BalancePageTheme(textColor: Colors.white.withOpacity(0.5));
BalancePageTheme get balancePageTheme => super
.balancePageTheme
.copyWith(labelTextColor: Colors.white.withOpacity(0.5));
@override
CakeMenuTheme get menuTheme => super.menuTheme.copyWith(
headerSecondGradientColor: Palette.pinkFlamingo,
iconColor: PaletteDark.pigeonBlue);
CakeMenuTheme get menuTheme =>
super.menuTheme.copyWith(headerSecondGradientColor: Palette.pinkFlamingo);
@override
FilterTheme get filterTheme => super.filterTheme.copyWith(
checkboxSecondGradientColor: Palette.pinkFlamingo,
checkboxBackgroundColor: Colors.white,
buttonColor: Colors.white.withOpacity(0.2),
iconColor: Colors.white);
buttonColor: Colors.white.withOpacity(0.2));
@override
WalletListTheme get walletListTheme => super.walletListTheme.copyWith(
@ -117,10 +119,4 @@ class BrightTheme extends LightTheme {
CakeTextTheme get cakeTextTheme => super.cakeTextTheme.copyWith(
addressButtonBorderColor: Colors.white.withOpacity(0.4),
dateSectionRowColor: Colors.white.withOpacity(0.5));
@override
ThemeData get themeData => super.themeData.copyWith(
indicatorColor: Colors.white.withOpacity(0.5), // page indicator
dividerColor: Palette.paleBlue,
hintColor: Palette.gray);
}

View file

@ -93,10 +93,6 @@ class DarkTheme extends ThemeBase {
hintTextColor: PaletteDark.cyanBlue,
underlineColor: PaletteDark.darkGrey);
@override
BalancePageTheme get balancePageTheme =>
BalancePageTheme(textColor: PaletteDark.cyanBlue);
@override
AddressTheme get addressTheme =>
AddressTheme(actionButtonColor: PaletteDark.nightBlue);
@ -108,6 +104,11 @@ class DarkTheme extends ThemeBase {
indicatorColor: PaletteDark.cyanBlue,
activeIndicatorColor: Colors.white));
@override
BalancePageTheme get balancePageTheme => BalancePageTheme(
textColor: dashboardPageTheme.textColor,
labelTextColor: PaletteDark.cyanBlue);
@override
CakeMenuTheme get menuTheme => CakeMenuTheme(
headerFirstGradientColor: PaletteDark.deepPurpleBlue,
@ -115,10 +116,13 @@ class DarkTheme extends ThemeBase {
backgroundColor: PaletteDark.deepPurpleBlue,
subnameTextColor: PaletteDark.darkCyanBlue,
dividerColor: PaletteDark.darkOceanBlue,
iconColor: PaletteDark.pigeonBlue);
settingActionsIconColor: PaletteDark.pigeonBlue,
iconColor: PaletteDark.darkCyanBlue);
@override
FilterTheme get filterTheme => FilterTheme(
checkboxFirstGradientColor: PaletteDark.darkNightBlue,
checkboxSecondGradientColor: PaletteDark.darkNightBlue,
checkboxBoundsColor: PaletteDark.wildVioletBlue,
checkboxBackgroundColor: PaletteDark.wildVioletBlue.withOpacity(0.3),
titlesColor: Colors.white,
@ -202,7 +206,6 @@ class DarkTheme extends ThemeBase {
@override
ThemeData get themeData => super.themeData.copyWith(
indicatorColor: PaletteDark.cyanBlue,
dividerColor: PaletteDark.dividerColor,
hintColor: PaletteDark.pigeonBlue,
disabledColor: PaletteDark.deepVioletBlue,

View file

@ -2,12 +2,33 @@ import 'package:flutter/material.dart';
class BalancePageTheme extends ThemeExtension<BalancePageTheme> {
final Color textColor;
final Color labelTextColor;
final Color balanceAmountColor;
final Color assetTitleColor;
final Color cardBorderColor;
BalancePageTheme({required this.textColor});
BalancePageTheme(
{required this.labelTextColor,
required this.textColor,
Color? balanceAmountColor,
Color? assetTitleColor,
this.cardBorderColor = Colors.transparent})
: this.balanceAmountColor = balanceAmountColor ?? textColor,
this.assetTitleColor = assetTitleColor ?? textColor;
@override
BalancePageTheme copyWith({Color? textColor}) =>
BalancePageTheme(textColor: textColor ?? this.textColor);
BalancePageTheme copyWith(
{Color? textColor,
Color? labelTextColor,
Color? balanceAmountColor,
Color? assetTitleColor,
Color? cardBorderColor}) =>
BalancePageTheme(
textColor: textColor ?? this.textColor,
labelTextColor: labelTextColor ?? this.labelTextColor,
balanceAmountColor: balanceAmountColor ?? this.balanceAmountColor,
assetTitleColor: assetTitleColor ?? this.assetTitleColor,
cardBorderColor: cardBorderColor ?? this.cardBorderColor);
@override
BalancePageTheme lerp(ThemeExtension<BalancePageTheme>? other, double t) {
@ -16,7 +37,17 @@ class BalancePageTheme extends ThemeExtension<BalancePageTheme> {
}
return BalancePageTheme(
textColor: Color.lerp(textColor, other.textColor, t) ?? textColor,
);
textColor: Color.lerp(textColor, other.textColor, t) ?? textColor,
labelTextColor: Color.lerp(labelTextColor, other.labelTextColor, t) ??
labelTextColor,
balanceAmountColor:
Color.lerp(balanceAmountColor, other.balanceAmountColor, t) ??
balanceAmountColor,
assetTitleColor:
Color.lerp(assetTitleColor, other.assetTitleColor, t) ??
assetTitleColor,
cardBorderColor:
Color.lerp(cardBorderColor, other.cardBorderColor, t) ??
cardBorderColor);
}
}

View file

@ -6,15 +6,21 @@ class DashboardPageTheme extends ThemeExtension<DashboardPageTheme> {
final Color secondGradientBackgroundColor;
final Color thirdGradientBackgroundColor;
final Color textColor;
final Color pageTitleTextColor;
final Color mainActionsIconColor;
final IndicatorDotTheme? indicatorDotTheme;
final IndicatorDotTheme indicatorDotTheme;
DashboardPageTheme(
{required this.firstGradientBackgroundColor,
required this.secondGradientBackgroundColor,
required this.thirdGradientBackgroundColor,
required this.textColor,
this.indicatorDotTheme});
required this.indicatorDotTheme,
Color? mainActionsIconColor,
Color? pageTitleTextColor})
: pageTitleTextColor = pageTitleTextColor ?? textColor,
mainActionsIconColor = mainActionsIconColor ?? textColor;
@override
DashboardPageTheme copyWith(
@ -22,7 +28,9 @@ class DashboardPageTheme extends ThemeExtension<DashboardPageTheme> {
Color? secondGradientBackgroundColor,
Color? thirdGradientBackgroundColor,
Color? textColor,
IndicatorDotTheme? indicatorDotTheme}) =>
IndicatorDotTheme? indicatorDotTheme,
Color? pageTitleTextColor,
Color? mainActionsIconColor}) =>
DashboardPageTheme(
firstGradientBackgroundColor:
firstGradientBackgroundColor ?? this.firstGradientBackgroundColor,
@ -31,7 +39,10 @@ class DashboardPageTheme extends ThemeExtension<DashboardPageTheme> {
thirdGradientBackgroundColor:
thirdGradientBackgroundColor ?? this.thirdGradientBackgroundColor,
textColor: textColor ?? this.textColor,
indicatorDotTheme: indicatorDotTheme ?? this.indicatorDotTheme);
indicatorDotTheme: indicatorDotTheme ?? this.indicatorDotTheme,
pageTitleTextColor: pageTitleTextColor ?? this.pageTitleTextColor,
mainActionsIconColor:
mainActionsIconColor ?? this.mainActionsIconColor);
@override
DashboardPageTheme lerp(ThemeExtension<DashboardPageTheme>? other, double t) {
@ -50,6 +61,12 @@ class DashboardPageTheme extends ThemeExtension<DashboardPageTheme> {
other.thirdGradientBackgroundColor, t) ??
thirdGradientBackgroundColor,
textColor: Color.lerp(textColor, other.textColor, t) ?? textColor,
indicatorDotTheme: indicatorDotTheme?.lerp(other.indicatorDotTheme, t));
indicatorDotTheme: indicatorDotTheme.lerp(other.indicatorDotTheme, t),
pageTitleTextColor:
Color.lerp(pageTitleTextColor, other.pageTitleTextColor, t) ??
pageTitleTextColor,
mainActionsIconColor:
Color.lerp(mainActionsIconColor, other.mainActionsIconColor, t) ??
mainActionsIconColor);
}
}

View file

@ -1,6 +1,8 @@
import 'package:flutter/material.dart';
class FilterTheme extends ThemeExtension<FilterTheme> {
final Color checkboxFirstGradientColor;
final Color checkboxSecondGradientColor;
final Color checkboxBoundsColor;
final Color checkboxBackgroundColor;
final Color titlesColor;
@ -8,7 +10,9 @@ class FilterTheme extends ThemeExtension<FilterTheme> {
final Color iconColor;
FilterTheme(
{required this.checkboxBoundsColor,
{required this.checkboxFirstGradientColor,
required this.checkboxSecondGradientColor,
required this.checkboxBoundsColor,
required this.checkboxBackgroundColor,
required this.titlesColor,
required this.buttonColor,
@ -16,6 +20,8 @@ class FilterTheme extends ThemeExtension<FilterTheme> {
@override
FilterTheme copyWith({
Color? checkboxFirstGradientColor,
Color? checkboxSecondGradientColor,
Color? checkboxBoundsColor,
Color? checkboxBackgroundColor,
Color? titlesColor,
@ -23,13 +29,16 @@ class FilterTheme extends ThemeExtension<FilterTheme> {
Color? iconColor,
}) =>
FilterTheme(
checkboxBoundsColor: checkboxBoundsColor ?? this.checkboxBoundsColor,
checkboxBackgroundColor:
checkboxBackgroundColor ?? this.checkboxBackgroundColor,
titlesColor: titlesColor ?? this.titlesColor,
buttonColor: buttonColor ?? this.buttonColor,
iconColor: iconColor ?? this.iconColor,
);
checkboxFirstGradientColor:
checkboxFirstGradientColor ?? this.checkboxFirstGradientColor,
checkboxSecondGradientColor:
checkboxSecondGradientColor ?? this.checkboxSecondGradientColor,
checkboxBoundsColor: checkboxBoundsColor ?? this.checkboxBoundsColor,
checkboxBackgroundColor:
checkboxBackgroundColor ?? this.checkboxBackgroundColor,
titlesColor: titlesColor ?? this.titlesColor,
buttonColor: buttonColor ?? this.buttonColor,
iconColor: iconColor ?? this.iconColor);
@override
FilterTheme lerp(ThemeExtension<FilterTheme>? other, double t) {
@ -38,6 +47,12 @@ class FilterTheme extends ThemeExtension<FilterTheme> {
}
return FilterTheme(
checkboxFirstGradientColor: Color.lerp(checkboxFirstGradientColor,
other.checkboxFirstGradientColor, t) ??
this.checkboxFirstGradientColor,
checkboxSecondGradientColor: Color.lerp(checkboxSecondGradientColor,
other.checkboxSecondGradientColor, t) ??
this.checkboxSecondGradientColor,
checkboxBoundsColor:
Color.lerp(checkboxBoundsColor, other.checkboxBoundsColor, t) ??
this.checkboxBoundsColor,

View file

@ -7,6 +7,7 @@ class CakeMenuTheme extends ThemeExtension<CakeMenuTheme> {
final Color dividerColor;
final Color backgroundColor;
final Color iconColor;
final Color settingActionsIconColor;
CakeMenuTheme(
{required this.headerFirstGradientColor,
@ -14,7 +15,8 @@ class CakeMenuTheme extends ThemeExtension<CakeMenuTheme> {
required this.backgroundColor,
required this.subnameTextColor,
required this.dividerColor,
required this.iconColor});
required this.iconColor,
required this.settingActionsIconColor});
@override
CakeMenuTheme copyWith(
@ -23,7 +25,8 @@ class CakeMenuTheme extends ThemeExtension<CakeMenuTheme> {
Color? backgroundColor,
Color? subnameTextColor,
Color? dividerColor,
Color? iconColor}) =>
Color? iconColor,
Color? settingActionsIconColor}) =>
CakeMenuTheme(
headerFirstGradientColor:
headerFirstGradientColor ?? this.headerFirstGradientColor,
@ -32,7 +35,9 @@ class CakeMenuTheme extends ThemeExtension<CakeMenuTheme> {
backgroundColor: backgroundColor ?? this.backgroundColor,
subnameTextColor: subnameTextColor ?? this.subnameTextColor,
dividerColor: dividerColor ?? this.dividerColor,
iconColor: iconColor ?? this.iconColor);
iconColor: iconColor ?? this.iconColor,
settingActionsIconColor:
settingActionsIconColor ?? this.settingActionsIconColor);
@override
CakeMenuTheme lerp(ThemeExtension<CakeMenuTheme>? other, double t) {
@ -55,6 +60,9 @@ class CakeMenuTheme extends ThemeExtension<CakeMenuTheme> {
subnameTextColor,
dividerColor:
Color.lerp(dividerColor, other.dividerColor, t) ?? dividerColor,
iconColor: Color.lerp(iconColor, other.iconColor, t) ?? iconColor);
iconColor: Color.lerp(iconColor, other.iconColor, t) ?? iconColor,
settingActionsIconColor: Color.lerp(
settingActionsIconColor, other.settingActionsIconColor, t) ??
settingActionsIconColor);
}
}

View file

@ -0,0 +1,53 @@
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/indicator_dot_theme.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:cake_wallet/themes/monero_light_theme.dart';
import 'package:flutter/material.dart';
class HighContrastTheme extends MoneroLightTheme {
HighContrastTheme({required int raw}) : super(raw: raw);
@override
String get title => S.current.high_contrast_theme;
@override
Color get primaryColor => Colors.black;
@override
Color get containerColor => Palette.highContrastGray;
@override
ColorScheme get colorScheme => ColorScheme.fromSwatch(
primarySwatch: Colors.grey,
accentColor: primaryColor,
backgroundColor: Colors.white,
cardColor: containerColor,
brightness: Brightness.light);
@override
Color get primaryTextColor => colorScheme.onBackground;
@override
SyncIndicatorTheme get syncIndicatorStyle =>
super.syncIndicatorStyle.copyWith(
textColor: colorScheme.background,
syncedBackgroundColor: containerColor);
@override
BalancePageTheme get balancePageTheme => super.balancePageTheme.copyWith(
textColor: Colors.white,
labelTextColor: Colors.grey,
assetTitleColor: Colors.white,
balanceAmountColor: Colors.white);
@override
DashboardPageTheme get dashboardPageTheme =>
super.dashboardPageTheme.copyWith(
// textColor: Colors.white,
mainActionsIconColor: Colors.white,
indicatorDotTheme: IndicatorDotTheme(
indicatorColor:
super.dashboardPageTheme.indicatorDotTheme.indicatorColor,
activeIndicatorColor: primaryColor));
}

View file

@ -93,10 +93,6 @@ class LightTheme extends ThemeBase {
hintTextColor: Palette.darkGray,
underlineColor: Palette.periwinkleCraiola);
@override
BalancePageTheme get balancePageTheme =>
BalancePageTheme(textColor: Palette.darkBlueCraiola.withOpacity(0.67));
@override
AddressTheme get addressTheme =>
AddressTheme(actionButtonColor: Palette.shadowWhite);
@ -108,6 +104,11 @@ class LightTheme extends ThemeBase {
indicatorColor: PaletteDark.darkCyanBlue.withOpacity(0.67),
activeIndicatorColor: PaletteDark.darkNightBlue));
@override
BalancePageTheme get balancePageTheme => BalancePageTheme(
textColor: dashboardPageTheme.textColor,
labelTextColor: Palette.darkBlueCraiola.withOpacity(0.67));
@override
CakeMenuTheme get menuTheme => CakeMenuTheme(
headerFirstGradientColor: Palette.blueCraiola,
@ -115,10 +116,13 @@ class LightTheme extends ThemeBase {
backgroundColor: Colors.white,
subnameTextColor: Colors.white,
dividerColor: Palette.wildLavender,
iconColor: Palette.gray);
iconColor: Colors.white,
settingActionsIconColor: Palette.gray);
@override
FilterTheme get filterTheme => FilterTheme(
checkboxFirstGradientColor: Palette.blueCraiola,
checkboxSecondGradientColor: Palette.blueGreyCraiola,
checkboxBoundsColor: Palette.wildPeriwinkle,
checkboxBackgroundColor: Colors.white,
titlesColor: Palette.darkGray,
@ -201,8 +205,6 @@ class LightTheme extends ThemeBase {
@override
ThemeData get themeData => super.themeData.copyWith(
indicatorColor:
PaletteDark.darkCyanBlue.withOpacity(0.67), // page indicator
dividerColor: Palette.paleBlue,
hintColor: Palette.gray,
disabledColor: Palette.darkGray,

View file

@ -0,0 +1,14 @@
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/themes/monero_dark_theme.dart';
import 'package:flutter/material.dart';
class MatrixGreenTheme extends MoneroDarkTheme {
MatrixGreenTheme({required int raw}) : super(raw: raw);
@override
String get title => S.current.matrix_green_dark_theme;
@override
Color get primaryColor => PaletteDark.matrixGreen;
}

View file

@ -0,0 +1,185 @@
import 'package:cake_wallet/themes/dark_theme.dart';
import 'package:cake_wallet/themes/extensions/account_list_theme.dart';
import 'package:cake_wallet/themes/extensions/address_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/cake_scrollbar_theme.dart';
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/exchange_page_theme.dart';
import 'package:cake_wallet/themes/extensions/filter_theme.dart';
import 'package:cake_wallet/themes/extensions/indicator_dot_theme.dart';
import 'package:cake_wallet/themes/extensions/info_theme.dart';
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
import 'package:cake_wallet/themes/extensions/new_wallet_theme.dart';
import 'package:cake_wallet/themes/extensions/picker_theme.dart';
import 'package:cake_wallet/themes/extensions/pin_code_theme.dart';
import 'package:cake_wallet/themes/extensions/qr_code_theme.dart';
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
import 'package:cake_wallet/themes/extensions/seed_widget_theme.dart';
import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:cake_wallet/themes/extensions/transaction_trade_theme.dart';
import 'package:cake_wallet/themes/extensions/wallet_list_theme.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/palette.dart';
import 'package:flutter/material.dart';
class MoneroDarkTheme extends DarkTheme {
MoneroDarkTheme({required int raw}) : super(raw: raw);
@override
String get title => S.current.monero_dark_theme;
@override
Color get backgroundColor => Colors.black;
@override
Color get primaryColor => PaletteDark.moneroOrange;
@override
Color get containerColor => PaletteDark.moneroCard;
@override
Color get dialogBackgroundColor => containerColor;
@override
CakeScrollbarTheme get scrollbarTheme =>
super.scrollbarTheme.copyWith(thumbColor: Colors.grey);
@override
SyncIndicatorTheme get syncIndicatorStyle =>
super.syncIndicatorStyle.copyWith(
textColor: Colors.white,
notSyncedBackgroundColor: Colors.grey.withOpacity(0.2),
syncedBackgroundColor: containerColor);
@override
PinCodeTheme get pinCodeTheme => super
.pinCodeTheme
.copyWith(indicatorsColor: primaryColor, switchColor: Colors.grey);
@override
ExchangePageTheme get exchangePageTheme => super.exchangePageTheme.copyWith(
hintTextColor: Colors.grey,
qrCodeColor: primaryTextColor,
buttonBackgroundColor: colorScheme.surfaceVariant,
textFieldButtonColor: colorScheme.onInverseSurface,
textFieldBorderBottomPanelColor: colorScheme.surfaceVariant,
textFieldBorderTopPanelColor: colorScheme.surfaceVariant,
secondGradientBottomPanelColor: containerColor,
firstGradientBottomPanelColor: containerColor,
secondGradientTopPanelColor: colorScheme.surface,
firstGradientTopPanelColor: colorScheme.surface,
receiveAmountColor: colorScheme.surfaceVariant);
@override
NewWalletTheme get newWalletTheme => super
.newWalletTheme
.copyWith(hintTextColor: Colors.grey, underlineColor: Colors.grey);
@override
AddressTheme get addressTheme =>
super.addressTheme.copyWith(actionButtonColor: containerColor);
@override
DashboardPageTheme get dashboardPageTheme =>
super.dashboardPageTheme.copyWith(
pageTitleTextColor: primaryColor,
mainActionsIconColor: primaryColor,
indicatorDotTheme: IndicatorDotTheme(
indicatorColor: colorScheme.secondaryContainer,
activeIndicatorColor: colorScheme.inversePrimary));
@override
BalancePageTheme get balancePageTheme => super.balancePageTheme.copyWith(
cardBorderColor: primaryColor.withOpacity(0.2),
labelTextColor: Colors.grey,
balanceAmountColor: primaryColor,
assetTitleColor: primaryColor);
@override
CakeMenuTheme get menuTheme => super.menuTheme.copyWith(
headerFirstGradientColor: containerColor,
headerSecondGradientColor: containerColor,
backgroundColor: containerColor,
subnameTextColor: Colors.grey,
dividerColor: colorScheme.secondaryContainer,
iconColor: colorScheme.secondaryContainer,
settingActionsIconColor: colorScheme.secondaryContainer);
@override
FilterTheme get filterTheme => super.filterTheme.copyWith(
checkboxFirstGradientColor: colorScheme.secondaryContainer,
checkboxSecondGradientColor: colorScheme.inversePrimary,
checkboxBoundsColor: PaletteDark.wildVioletBlue,
checkboxBackgroundColor: PaletteDark.wildVioletBlue.withOpacity(0.3),
buttonColor: containerColor,
iconColor: Colors.grey);
@override
WalletListTheme get walletListTheme => super.walletListTheme.copyWith(
restoreWalletButtonTextColor: Colors.white,
createNewWalletButtonBackgroundColor: primaryColor);
@override
InfoTheme get infoTheme => super.infoTheme.copyWith(textColor: Colors.grey);
@override
PickerTheme get pickerTheme =>
super.pickerTheme.copyWith(dividerColor: Colors.grey.withOpacity(0.5));
@override
SendPageTheme get sendPageTheme => super.sendPageTheme.copyWith(
templateNewTextColor:
dashboardPageTheme.indicatorDotTheme.activeIndicatorColor,
templateDottedBorderColor: colorScheme.primaryContainer,
textFieldButtonIconColor: colorScheme.inverseSurface,
textFieldButtonColor: colorScheme.onInverseSurface,
textFieldHintColor: Colors.grey.withOpacity(0.5),
textFieldBorderColor: Colors.grey.withOpacity(0.5),
secondGradientColor: containerColor,
firstGradientColor: containerColor,
indicatorDotColor: dashboardPageTheme.indicatorDotTheme.indicatorColor);
@override
SeedWidgetTheme get seedWidgetTheme =>
super.seedWidgetTheme.copyWith(hintTextColor: Colors.grey);
@override
TransactionTradeTheme get transactionTradeTheme =>
super.transactionTradeTheme.copyWith(
detailsTitlesColor: Colors.grey, rowsColor: containerColor);
@override
CakeTextTheme get cakeTextTheme => super.cakeTextTheme.copyWith(
secondaryTextColor: Colors.grey,
addressButtonBorderColor: primaryColor.withOpacity(0.2),
dateSectionRowColor: Colors.grey,
textfieldUnderlineColor: Colors.grey.withOpacity(0.5));
@override
AccountListTheme get accountListTheme =>
super.accountListTheme.copyWith(tilesBackgroundColor: containerColor);
@override
ReceivePageTheme get receivePageTheme => super.receivePageTheme.copyWith(
currentTileBackgroundColor: primaryColor,
currentTileTextColor: Colors.white,
tilesBackgroundColor: containerColor,
iconsBackgroundColor: colorScheme.onInverseSurface,
iconsColor: colorScheme.inverseSurface,
amountBottomBorderColor: Colors.grey,
amountHintTextColor: Colors.grey);
@override
QRCodeTheme get qrCodeTheme => QRCodeTheme(
qrCodeColor: Colors.grey, qrWidgetCopyButtonColor: Colors.grey);
@override
ThemeData get themeData => super.themeData.copyWith(
dividerColor: pickerTheme.dividerColor,
hintColor: Colors.grey,
dialogTheme:
super.themeData.dialogTheme.copyWith(backgroundColor: containerColor),
appBarTheme: super.themeData.appBarTheme.copyWith(
titleTextStyle: super
.themeData
.appBarTheme
.titleTextStyle!
.copyWith(color: primaryColor)));
}

View file

@ -0,0 +1,153 @@
import 'package:cake_wallet/themes/extensions/account_list_theme.dart';
import 'package:cake_wallet/themes/extensions/address_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/exchange_page_theme.dart';
import 'package:cake_wallet/themes/extensions/filter_theme.dart';
import 'package:cake_wallet/themes/extensions/indicator_dot_theme.dart';
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
import 'package:cake_wallet/themes/extensions/new_wallet_theme.dart';
import 'package:cake_wallet/themes/extensions/qr_code_theme.dart';
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
import 'package:cake_wallet/themes/extensions/seed_widget_theme.dart';
import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:cake_wallet/themes/extensions/transaction_trade_theme.dart';
import 'package:cake_wallet/themes/extensions/wallet_list_theme.dart';
import 'package:cake_wallet/themes/light_theme.dart';
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:flutter/material.dart';
class MoneroLightTheme extends LightTheme {
MoneroLightTheme({required int raw}) : super(raw: raw);
@override
String get title => S.current.monero_light_theme;
@override
Color get primaryColor => Palette.moneroOrange;
@override
Color get containerColor => Palette.moneroLightOrange;
@override
Color get primaryTextColor => colorScheme.onPrimaryContainer;
@override
Color get dialogBackgroundColor => containerColor;
@override
SyncIndicatorTheme get syncIndicatorStyle =>
super.syncIndicatorStyle.copyWith(
textColor: primaryTextColor,
syncedBackgroundColor: colorScheme.primaryContainer,
notSyncedBackgroundColor: containerColor.withOpacity(0.75));
@override
ExchangePageTheme get exchangePageTheme => super.exchangePageTheme.copyWith(
qrCodeColor: primaryTextColor,
buttonBackgroundColor: containerColor,
secondGradientBottomPanelColor: primaryColor.withOpacity(0.7),
firstGradientBottomPanelColor: colorScheme.primary.withOpacity(0.7),
secondGradientTopPanelColor: primaryColor,
firstGradientTopPanelColor: colorScheme.primary,
textFieldBorderBottomPanelColor: colorScheme.surfaceVariant,
textFieldBorderTopPanelColor: colorScheme.surfaceVariant,
receiveAmountColor: colorScheme.surfaceVariant);
@override
NewWalletTheme get newWalletTheme => super.newWalletTheme.copyWith(
hintTextColor: colorScheme.secondary,
underlineColor: colorScheme.secondary);
@override
AddressTheme get addressTheme =>
super.addressTheme.copyWith(actionButtonColor: containerColor);
@override
DashboardPageTheme get dashboardPageTheme =>
super.dashboardPageTheme.copyWith(
indicatorDotTheme: IndicatorDotTheme(
indicatorColor: colorScheme.secondaryContainer,
activeIndicatorColor: colorScheme.inversePrimary));
@override
BalancePageTheme get balancePageTheme => super.balancePageTheme.copyWith(
textColor: primaryTextColor.withOpacity(0.67),
labelTextColor: colorScheme.secondary);
@override
CakeMenuTheme get menuTheme => super.menuTheme.copyWith(
headerFirstGradientColor: colorScheme.primary,
headerSecondGradientColor: primaryColor,
dividerColor: colorScheme.secondaryContainer,
iconColor: colorScheme.secondaryContainer,
settingActionsIconColor: colorScheme.secondary);
@override
FilterTheme get filterTheme => super.filterTheme.copyWith(
checkboxFirstGradientColor: colorScheme.secondaryContainer,
checkboxSecondGradientColor: colorScheme.inversePrimary,
checkboxBoundsColor: PaletteDark.wildVioletBlue,
checkboxBackgroundColor: PaletteDark.wildVioletBlue.withOpacity(0.3),
buttonColor: containerColor,
iconColor: colorScheme.secondary);
@override
WalletListTheme get walletListTheme => super.walletListTheme.copyWith(
restoreWalletButtonTextColor: Colors.white,
createNewWalletButtonBackgroundColor: primaryColor);
@override
SendPageTheme get sendPageTheme => super.sendPageTheme.copyWith(
templateTitleColor: primaryTextColor,
templateBackgroundColor: containerColor,
templateNewTextColor: primaryTextColor,
templateDottedBorderColor: colorScheme.primaryContainer,
secondGradientColor: primaryColor,
firstGradientColor: colorScheme.primary,
indicatorDotColor: dashboardPageTheme.indicatorDotTheme.indicatorColor);
@override
SeedWidgetTheme get seedWidgetTheme =>
super.seedWidgetTheme.copyWith(hintTextColor: colorScheme.secondary);
@override
TransactionTradeTheme get transactionTradeTheme =>
super.transactionTradeTheme.copyWith(
detailsTitlesColor: colorScheme.secondary, rowsColor: containerColor);
@override
CakeTextTheme get cakeTextTheme => super.cakeTextTheme.copyWith(
titleColor: primaryTextColor,
secondaryTextColor: colorScheme.secondary,
addressButtonBorderColor: primaryColor.withOpacity(0.2),
dateSectionRowColor: colorScheme.secondary,
textfieldUnderlineColor: colorScheme.secondary.withOpacity(0.5));
@override
AccountListTheme get accountListTheme =>
super.accountListTheme.copyWith(tilesBackgroundColor: containerColor);
@override
ReceivePageTheme get receivePageTheme => super.receivePageTheme.copyWith(
currentTileBackgroundColor: primaryColor,
tilesBackgroundColor: containerColor,
tilesTextColor: primaryTextColor,
iconsBackgroundColor: colorScheme.surfaceVariant,
iconsColor: colorScheme.onSurfaceVariant,
amountBottomBorderColor: primaryTextColor,
amountHintTextColor: primaryTextColor,
currentTileTextColor: Colors.white);
@override
QRCodeTheme get qrCodeTheme => super
.qrCodeTheme
.copyWith(qrWidgetCopyButtonColor: colorScheme.secondary);
@override
ThemeData get themeData => super.themeData.copyWith(
dividerColor: pickerTheme.dividerColor,
hintColor: colorScheme.secondary,
dialogTheme: super
.themeData
.dialogTheme
.copyWith(backgroundColor: containerColor));
}

View file

@ -7,6 +7,7 @@ import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/exchange_page_theme.dart';
import 'package:cake_wallet/themes/extensions/filter_theme.dart';
import 'package:cake_wallet/themes/extensions/indicator_dot_theme.dart';
import 'package:cake_wallet/themes/extensions/info_theme.dart';
import 'package:cake_wallet/themes/extensions/keyboard_theme.dart';
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
@ -59,7 +60,9 @@ abstract class ThemeBase {
firstGradientBackgroundColor: backgroundColor,
secondGradientBackgroundColor: backgroundColor,
thirdGradientBackgroundColor: backgroundColor,
textColor: primaryTextColor);
textColor: primaryTextColor,
indicatorDotTheme: IndicatorDotTheme(
indicatorColor: primaryColor, activeIndicatorColor: backgroundColor));
CakeScrollbarTheme get scrollbarTheme;
@ -140,11 +143,13 @@ abstract class ThemeBase {
receivePageTheme,
qrCodeTheme,
],
scrollbarTheme: ScrollbarThemeData(
scrollbarTheme: generatedThemeData.scrollbarTheme.copyWith(
thumbColor: MaterialStateProperty.all(scrollbarTheme.thumbColor),
trackColor: MaterialStateProperty.all(scrollbarTheme.trackColor),
radius: Radius.circular(3),
thickness: MaterialStateProperty.all(6),
thumbVisibility: MaterialStateProperty.all(true),
crossAxisMargin: 6));
crossAxisMargin: 6),
appBarTheme: generatedThemeData.appBarTheme.copyWith(
titleTextStyle: TextStyle(color: cakeTextTheme.titleColor)));
}

View file

@ -1,25 +1,60 @@
import 'package:cake_wallet/themes/bright_theme.dart';
import 'package:cake_wallet/themes/dark_theme.dart';
import 'package:cake_wallet/themes/light_theme.dart';
import 'package:cake_wallet/themes/monero_light_theme.dart';
import 'package:cake_wallet/themes/monero_dark_theme.dart';
import 'package:cake_wallet/themes/matrix_green_theme.dart';
import 'package:cake_wallet/themes/bitcoin_dark_theme.dart';
import 'package:cake_wallet/themes/bitcoin_light_theme.dart';
import 'package:cake_wallet/themes/high_contrast_theme.dart';
import 'package:cake_wallet/themes/theme_base.dart';
class ThemeList {
static final all = [brightTheme, lightTheme, darkTheme];
static final all = [
brightTheme,
lightTheme,
darkTheme,
moneroDarkTheme,
moneroLightTheme,
matrixGreenTheme,
bitcoinDarkTheme,
bitcoinLightTheme,
highContrastTheme
];
static final lightTheme = LightTheme(raw: 0);
static final brightTheme = BrightTheme(raw: 1);
static final brightTheme = BrightTheme(raw: 0);
static final lightTheme = LightTheme(raw: 1);
static final darkTheme = DarkTheme(raw: 2);
static final moneroDarkTheme = MoneroDarkTheme(raw: 3);
static final moneroLightTheme = MoneroLightTheme(raw: 4);
static final matrixGreenTheme = MatrixGreenTheme(raw: 5);
static final bitcoinDarkTheme = BitcoinDarkTheme(raw: 6);
static final bitcoinLightTheme = BitcoinLightTheme(raw: 7);
static final highContrastTheme = HighContrastTheme(raw: 8);
static ThemeBase deserialize({required int raw}) {
switch (raw) {
case 0:
return lightTheme;
case 1:
return brightTheme;
case 1:
return lightTheme;
case 2:
return darkTheme;
case 3:
return moneroDarkTheme;
case 4:
return moneroLightTheme;
case 5:
return matrixGreenTheme;
case 6:
return bitcoinDarkTheme;
case 7:
return bitcoinLightTheme;
case 8:
return highContrastTheme;
default:
throw Exception('Unexpected token raw: $raw for deserialization of ThemeBase');
throw Exception(
'Unexpected token raw: $raw for deserialization of ThemeBase');
}
}
}

View file

@ -725,5 +725,11 @@
"setup_2fa_text": "كعكة 2FA ليست آمنة مثل التخزين البارد. تحمي 2FA من الأنواع الأساسية للهجمات ، مثل قيام صديقك بتقديم بصمة إصبعك أثناء نومك. لا تحمي Cake 2FA من جهاز مخترق من قِبل مهاجم متطور. إذا فقدت الوصول إلى رموز 2FA الخاصة بك ، ستفقد إمكانية الوصول إلى هذه المحفظة. سوف تحتاج إلى استعادة محفظتك من بذرة ذاكري. يجب عليك بالتالي الاحتفاظ بنسخة احتياطية من بذور الذاكرة الخاصة بك! علاوة على ذلك ، سيتمكن أي شخص لديه حق الوصول إلى بذرة (بذور) ذاكري من سرقة أموالك ، متجاوزًا Cake 2FA. لن يتمكن فريق دعم الكيك من مساعدتك إذا فقدت الوصول إلى بذرتك ، نظرًا لأن Cake هي المحفظة غير الحافظة.",
"setup_totp_recommended": "إعداد TOTP (موصى به)",
"disable_buy": "تعطيل إجراء الشراء",
"disable_sell": "قم بتعطيل إجراء البيع"
"disable_sell": "قم بتعطيل إجراء البيع",
"monero_dark_theme": "موضوع مونيرو الظلام",
"bitcoin_dark_theme": "موضوع البيتكوين الظلام",
"bitcoin_light_theme": "موضوع البيتكوين الخفيفة",
"high_contrast_theme": "موضوع عالي التباين",
"matrix_green_dark_theme": "موضوع ماتريكس الأخضر الداكن",
"monero_light_theme": " ضوء مونيرو"
}

View file

@ -721,5 +721,11 @@
"setup_2fa_text": "Тортата 2FA НЕ е толкова сигурна, колкото хладилното съхранение. 2FA защитава срещу основни видове атаки, като например вашият приятел да предостави вашия пръстов отпечатък, докато спите.\n\n Cake 2FA НЕ защитава срещу компрометирано устройство от сложен хакер.\n\n Ако загубите достъп до своите 2FA кодове , ЩЕ ЗАГУБИТЕ ДОСТЪП ДО ТОЗИ ПОРТФЕЙЛ. Ще трябва да възстановите портфейла си от мнемонично семе. ЗАТОВА ТРЯБВА ДА НАПРАВИТЕ РЕЗЕРВНО КОПИЕ НА ВАШИТЕ МНЕМОНИЧНИ СЕМЕНА! Освен това, някой с достъп до вашите мнемонични начални точки ще може да открадне вашите средства, заобикаляйки Cake 2FA.\n\n Персоналът по поддръжката на Cake няма да може да ви помогне, ако загубите достъп до вашите мнемонични начални стойности, тъй като Cake е портфейл без попечителство.",
"setup_totp_recommended": "Настройка на TOTP (препоръчително)",
"disable_buy": "Деактивирайте действието за покупка",
"disable_sell": "Деактивирайте действието за продажба"
"disable_sell": "Деактивирайте действието за продажба",
"monero_dark_theme": "Тъмна тема Monero",
"bitcoin_dark_theme": "Тъмна тема за биткойн",
"bitcoin_light_theme": "Лека биткойн тема",
"high_contrast_theme": "Тема с висок контраст",
"matrix_green_dark_theme": "Зелена тъмна тема Matrix",
"monero_light_theme": "Лека тема Monero"
}

View file

@ -721,5 +721,11 @@
"setup_2fa_text": "Cake 2FA NENÍ tak bezpečný jako skladování v chladu. 2FA chrání před základními typy útoků, jako je váš přítel, který vám poskytne otisk prstu, když spíte.\n\n Cake 2FA nechrání před napadením zařízení sofistikovaným útočníkem.\n\n Pokud ztratíte přístup ke svým kódům 2FA , ZTRÁTÍTE PŘÍSTUP K TÉTO PENĚŽENCE. Budete muset obnovit svou peněženku z mnemotechnického semínka. MUSÍTE TEDY ZÁLOHOVAT SVÉ MNEMONICKÉ SEMÉNKY! Kromě toho někdo s přístupem k vašemu mnemotechnickému semenu bude moci ukrást vaše finanční prostředky a obejít Cake 2FA.\n\n Pracovníci podpory Cake vám nebudou schopni pomoci, pokud ztratíte přístup k vašemu mnemotechnickému semenu, protože Cake je nevazební peněženka.",
"setup_totp_recommended": "Nastavit TOTP (doporučeno)",
"disable_buy": "Zakázat akci nákupu",
"disable_sell": "Zakázat akci prodeje"
"disable_sell": "Zakázat akci prodeje",
"monero_dark_theme": "Tmavé téma Monero",
"bitcoin_dark_theme": "Tmavé téma bitcoinů",
"bitcoin_light_theme": "Světlé téma bitcoinů",
"high_contrast_theme": "Téma s vysokým kontrastem",
"matrix_green_dark_theme": "Tmavé téma Matrix Green",
"monero_light_theme": "Světlé téma Monero"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "Cake 2FA ist NICHT so sicher wie eine Kühllagerung. 2FA schützt vor grundlegenden Arten von Angriffen, z. B. wenn Ihr Freund Ihren Fingerabdruck bereitstellt, während Sie schlafen.\n\n Cake 2FA schützt NICHT vor einem kompromittierten Gerät durch einen raffinierten Angreifer.\n\n Wenn Sie den Zugriff auf Ihre 2FA-Codes verlieren , VERLIEREN SIE DEN ZUGANG ZU DIESEM WALLET. Sie müssen Ihre Brieftasche aus mnemonic Seed wiederherstellen. SIE MÜSSEN DESHALB IHRE MNEMONISCHEN SEEDS SICHERN! Außerdem kann jemand mit Zugriff auf Ihre mnemonischen Seed(s) Ihr Geld stehlen und Cake 2FA umgehen.\n\n Cake-Supportmitarbeiter können Ihnen nicht helfen, wenn Sie den Zugriff auf Ihre mnemonischen Seed(s) verlieren, da Cake ein Brieftasche ohne Verwahrung.",
"setup_totp_recommended": "TOTP einrichten (empfohlen)",
"disable_buy": "Kaufaktion deaktivieren",
"disable_sell": "Verkaufsaktion deaktivieren"
"disable_sell": "Verkaufsaktion deaktivieren",
"monero_dark_theme": "Dunkles Monero-Thema",
"bitcoin_dark_theme": "Dunkles Bitcoin-Thema",
"bitcoin_light_theme": "Bitcoin Light-Thema",
"high_contrast_theme": "Kontrastreiches Thema",
"matrix_green_dark_theme": "Matrix Green Dark Theme",
"monero_light_theme": "Monero Light-Thema"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "Cake 2FA is NOT as secure as cold storage. 2FA protects against basic types of attacks, such as your friend providing your fingerprint while you are sleeping.\n\n Cake 2FA does NOT protect against a compromised device by a sophisticated attacker.\n\n If you lose access to your 2FA codes, YOU WILL LOSE ACCESS TO THIS WALLET. You will need to restore your wallet from mnemonic seed. YOU MUST THEREFORE BACK UP YOUR MNEMONIC SEEDS! Further, someone with access to your mnemonic seed(s) will be able to steal your funds, bypassing Cake 2FA.\n\n Cake support staff will be unable to assist you if you lose access to your mnemonic seed, since Cake is a noncustodial wallet.",
"setup_totp_recommended": "Set up TOTP (Recommended)",
"disable_buy": "Disable buy action",
"disable_sell": "Disable sell action"
"disable_sell": "Disable sell action",
"monero_dark_theme": "Monero Dark Theme",
"bitcoin_dark_theme": "Bitcoin Dark Theme",
"bitcoin_light_theme": "Bitcoin Light Theme",
"high_contrast_theme": "High Contrast Theme",
"matrix_green_dark_theme": "Matrix Green Dark Theme",
"monero_light_theme": "Monero Light Theme"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "Cake 2FA NO es tan seguro como el almacenamiento en frío. 2FA protege contra tipos básicos de ataques, como cuando un amigo proporciona su huella digital mientras usted duerme.\n\n Cake 2FA NO protege contra un dispositivo comprometido por un atacante sofisticado.\n\n Si pierde el acceso a sus códigos 2FA , PERDERÁS EL ACCESO A ESTA BILLETERA. Deberá restaurar su billetera desde la semilla mnemotécnica. ¡POR LO TANTO, DEBE HACER UNA COPIA DE SEGURIDAD DE SUS SEMILLAS MNEMÓNICAS! Además, alguien con acceso a sus semillas mnemotécnicas podrá robar sus fondos, sin pasar por Cake 2FA.\n\n El personal de soporte de Cake no podrá ayudarlo si pierde el acceso a su semilla mnemotécnica, ya que Cake es un billetera sin custodia.",
"setup_totp_recommended": "Configurar TOTP (Recomendado)",
"disable_buy": "Desactivar acción de compra",
"disable_sell": "Desactivar acción de venta"
"disable_sell": "Desactivar acción de venta",
"monero_dark_theme": "Tema oscuro de Monero",
"bitcoin_dark_theme": "Tema oscuro de Bitcoin",
"bitcoin_light_theme": "Tema de la luz de Bitcoin",
"high_contrast_theme": "Tema de alto contraste",
"matrix_green_dark_theme": "Matrix verde oscuro tema",
"monero_light_theme": "Tema ligero de Monero"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "Cake 2FA (Authentification à 2 Facteurs) n'est PAS aussi sûr que le stockage à froid. Cake 2FA protège contre les attaques basiques, comme un ami fournissant votre empreinte digitale pendant que vous dormez.\n\n Cake 2FA ne protège PAS contre un appareil compromis par un attaquant sophistiqué.\n\n Si vous perdez l'accès à vos codes 2FA , VOUS PERDREZ L'ACCÈS À CE PORTEFEUILLE (WALLET). Vous devrez restaurer votre portefeuille à partir de sa phrase secrète (seed). VOUS DEVEZ DONC SAUVEGARDER VOTRE PHRASE SECRÈTE ! De plus, quelqu'un ayant accès à votre phrase secrète pourra voler vos fonds, en contournant Cake 2FA.\n\n Le personnel d'assistance de Cake ne pourra pas vous aider si vous perdez l'accès à votre phrase secrète, puisque Cake est un portefeuille non dépositaire (non custodial).",
"setup_totp_recommended": "Configurer TOTP (recommandé)",
"disable_buy": "Désactiver l'action d'achat",
"disable_sell": "Désactiver l'action de vente"
"disable_sell": "Désactiver l'action de vente",
"monero_dark_theme": "Thème sombre Monero",
"bitcoin_dark_theme": "Thème sombre Bitcoin",
"bitcoin_light_theme": "Thème léger Bitcoin",
"high_contrast_theme": "Thème à contraste élevé",
"matrix_green_dark_theme": "Thème Matrix Green Dark",
"monero_light_theme": "Thème de lumière Monero"
}

View file

@ -710,5 +710,11 @@
"show_market_place" :"Nuna dan kasuwa",
"prevent_screenshots": "Fada lambobi da jarrabobi na kayan lambobi",
"disable_buy": "Kashe alama",
"disable_sell": "Kashe karbuwa"
"disable_sell": "Kashe karbuwa",
"monero_dark_theme": "Monero Dark Jigo",
"bitcoin_dark_theme": "Bitcoin Dark Jigo",
"bitcoin_light_theme": "Jigon Hasken Bitcoin",
"high_contrast_theme": "Babban Jigon Kwatance",
"matrix_green_dark_theme": "Matrix Green Dark Jigo",
"monero_light_theme": "Jigon Hasken Monero"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "केक 2FA कोल्ड स्टोरेज जितना सुरक्षित नहीं है। 2FA बुनियादी प्रकार के हमलों से बचाता है, जैसे कि आपका मित्र सोते समय आपको अपना फ़िंगरप्रिंट प्रदान करता है।\n\n Cake 2FA परिष्कृत हमलावर द्वारा किसी डिवाइस से छेड़छाड़ से रक्षा नहीं करता है।\n\n यदि आप अपने 2FA कोड तक पहुंच खो देते हैं , आप इस वॉलेट तक पहुंच खो देंगे। आपको अपने बटुए को स्मरणीय बीज से पुनर्स्थापित करने की आवश्यकता होगी। इसलिए आपको अपने स्मरणीय बीजों का बैकअप लेना चाहिए! इसके अलावा, आपके स्मरक बीज (बीजों) तक पहुंच रखने वाला कोई व्यक्ति केक 2FA को दरकिनार कर आपके धन की चोरी करने में सक्षम होगा। अप्रबंधित बटुआ।",
"setup_totp_recommended": "टीओटीपी सेट अप करें (अनुशंसित)",
"disable_buy": "खरीद कार्रवाई अक्षम करें",
"disable_sell": "बेचने की कार्रवाई अक्षम करें"
"disable_sell": "बेचने की कार्रवाई अक्षम करें",
"monero_dark_theme": "मोनेरो डार्क थीम",
"bitcoin_dark_theme": "बिटकॉइन डार्क थीम",
"bitcoin_light_theme": "बिटकॉइन लाइट थीम",
"high_contrast_theme": "उच्च कंट्रास्ट थीम",
"matrix_green_dark_theme": "मैट्रिक्स ग्रीन डार्क थीम",
"monero_light_theme": "मोनेरो लाइट थीम"
}

View file

@ -727,7 +727,13 @@
"setup_2fa_text": "Torta 2FA NIJE sigurna kao hladno skladište. 2FA štiti od osnovnih vrsta napada, kao što je vaš prijatelj koji vam daje otisak prsta dok spavate.\n\n Cake 2FA NE štiti od kompromitiranog uređaja od strane sofisticiranog napadača.\n\n Ako izgubite pristup svojim 2FA kodovima , IZGUBIT ĆETE PRISTUP OVOM NOVČANIKU. Morat ćete obnoviti svoj novčanik iz mnemoničkog sjemena. STOGA MORATE NAPRAVITI SIGURNOSNE KOPIJE SVOJIH MNEMONIČKIH SJEMENA! Nadalje, netko tko ima pristup vašem mnemoničkom seedu(ima) moći će ukrasti vaša sredstva, zaobilazeći Cake 2FA.\n\n Cake osoblje za podršku neće vam moći pomoći ako izgubite pristup svom mnemoničkom seedu, budući da je Cake neskrbnički novčanik.",
"setup_totp_recommended": "Postavite TOTP (preporučeno)",
"disable_buy": "Onemogući kupnju",
"disable_sell": "Onemogući akciju prodaje"
"disable_sell": "Onemogući akciju prodaje",
"monero_dark_theme": "Monero tamna tema",
"bitcoin_dark_theme": "Bitcoin Tamna tema",
"bitcoin_light_theme": "Bitcoin Light Theme",
"high_contrast_theme": "Tema visokog kontrasta",
"matrix_green_dark_theme": "Matrix Green Dark Theme",
"monero_light_theme": "Monero lagana tema"
}

View file

@ -703,7 +703,13 @@
"setup_2fa_text": "Cake 2FA TIDAK seaman cold storage. 2FA melindungi dari jenis serangan dasar, seperti teman Anda memberikan sidik jari saat Anda sedang tidur.\n\n Cake 2FA TIDAK melindungi dari perangkat yang disusupi oleh penyerang canggih.\n\n Jika Anda kehilangan akses ke kode 2FA , ANDA AKAN KEHILANGAN AKSES KE DOMPET INI. Anda perlu memulihkan dompet Anda dari benih mnemonik. OLEH KARENA ITU, ANDA HARUS MENYIMPAN BIJI MNEMONIK ANDA! Selanjutnya, seseorang yang memiliki akses ke benih mnemonik Anda akan dapat mencuri dana Anda, melewati Cake 2FA.\n\n Staf pendukung Cake tidak akan dapat membantu Anda jika Anda kehilangan akses ke benih mnemonik Anda, karena Cake adalah dompet tanpa hak asuh.",
"setup_totp_recommended": "Siapkan TOTP (Disarankan)",
"disable_buy": "Nonaktifkan tindakan beli",
"disable_sell": "Nonaktifkan aksi jual"
"disable_sell": "Nonaktifkan aksi jual",
"monero_dark_theme": "Tema Gelap Monero",
"bitcoin_dark_theme": "Tema Gelap Bitcoin",
"bitcoin_light_theme": "Tema Cahaya Bitcoin",
"high_contrast_theme": "Tema Kontras Tinggi",
"matrix_green_dark_theme": "Tema Matrix Green Dark",
"monero_light_theme": "Tema Cahaya Monero"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "Cake 2FA NON è sicuro come la cella frigorifera. 2FA protegge da tipi di attacchi di base, come il tuo amico che fornisce la tua impronta digitale mentre dormi.\n\n Cake 2FA NON protegge da un dispositivo compromesso da un aggressore sofisticato.\n\n Se perdi l'accesso ai tuoi codici 2FA , PERDERAI L'ACCESSO A QUESTO PORTAFOGLIO. Dovrai ripristinare il tuo portafoglio dal seme mnemonico. DOVETE QUINDI SOSTITUIRE I VOSTRI SEMI MNEMONICI! Inoltre, qualcuno con accesso ai tuoi seed mnemonici sarà in grado di rubare i tuoi fondi, aggirando Cake 2FA.\n\n Il personale di supporto di Cake non sarà in grado di aiutarti se perdi l'accesso al tuo seed mnemonico, poiché Cake è un portafoglio non detentivo.",
"setup_totp_recommended": "Imposta TOTP (consigliato)",
"disable_buy": "Disabilita l'azione di acquisto",
"disable_sell": "Disabilita l'azione di vendita"
"disable_sell": "Disabilita l'azione di vendita",
"monero_dark_theme": "Tema scuro di Monero",
"bitcoin_dark_theme": "Tema oscuro di Bitcoin",
"bitcoin_light_theme": "Tema luce Bitcoin",
"high_contrast_theme": "Tema ad alto contrasto",
"matrix_green_dark_theme": "Tema Matrix verde scuro",
"monero_light_theme": "Tema leggero Monero"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "Cake 2FA は、コールド ストレージほど安全ではありません。 2FA は、あなたが寝ているときに友人が指紋を提供するなどの基本的なタイプの攻撃から保護します。\n\n Cake 2FA は、巧妙な攻撃者による侵害されたデバイスから保護しません。\n\n 2FA コードにアクセスできなくなった場合、このウォレットにアクセスできなくなります。ニーモニック シードからウォレットを復元する必要があります。したがって、ニーモニック シードをバックアップする必要があります。さらに、あなたのニーモニック シードにアクセスできる誰かが、Cake 2FA をバイパスして、あなたの資金を盗むことができます。\n\n Cake は無印の財布。",
"setup_totp_recommended": "TOTP を設定する (推奨)",
"disable_buy": "購入アクションを無効にする",
"disable_sell": "販売アクションを無効にする"
"disable_sell": "販売アクションを無効にする",
"monero_dark_theme": "モネロダークテーマ",
"bitcoin_dark_theme": "ビットコインダークテーマ",
"bitcoin_light_theme": "ビットコインライトテーマ",
"high_contrast_theme": "ハイコントラストテーマ",
"matrix_green_dark_theme": "マトリックスグリーンダークテーマ",
"monero_light_theme": "モネロ ライト テーマ"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "케이크 2FA는 냉장 보관만큼 안전하지 않습니다. 2FA는 당신이 잠자는 동안 친구가 지문을 제공하는 것과 같은 기본적인 유형의 공격으로부터 보호합니다.\n\n Cake 2FA는 정교한 공격자에 의해 손상된 장치로부터 보호하지 않습니다.\n\n 2FA 코드에 대한 액세스 권한을 잃으면 , 이 지갑에 대한 액세스 권한을 잃게 됩니다. 니모닉 시드에서 지갑을 복원해야 합니다. 따라서 니모닉 시드를 백업해야 합니다! 또한 니모닉 시드에 액세스할 수 있는 사람이 Cake 2FA를 우회하여 자금을 훔칠 수 있습니다.\n\n 니모닉 시드에 대한 액세스 권한을 잃으면 Cake 지원 직원이 도와줄 수 없습니다. 비수탁 지갑.",
"setup_totp_recommended": "TOTP 설정(권장)",
"disable_buy": "구매 행동 비활성화",
"disable_sell": "판매 조치 비활성화"
"disable_sell": "판매 조치 비활성화",
"monero_dark_theme": "모네로 다크 테마",
"bitcoin_dark_theme": "비트코인 다크 테마",
"bitcoin_light_theme": "비트코인 라이트 테마",
"high_contrast_theme": "고대비 테마",
"matrix_green_dark_theme": "매트릭스 그린 다크 테마",
"monero_light_theme": "모네로 라이트 테마"
}

View file

@ -727,7 +727,13 @@
"setup_2fa_text": "ကိတ်မုန့် 2FA သည် အအေးခန်းကဲ့သို့ မလုံခြုံပါ။ 2FA သည် သင်အိပ်နေစဉ်တွင် သင့်သူငယ်ချင်းသည် သင့်လက်ဗွေရာကို ပေးဆောင်ခြင်းကဲ့သို့သော အခြေခံတိုက်ခိုက်မှုအမျိုးအစားများကို ကာကွယ်ပေးပါသည်။\n\n Cake 2FA သည် ခေတ်မီဆန်းပြားသော တိုက်ခိုက်သူ၏ အန္တရာယ်ပြုသည့်စက်ပစ္စည်းကို မကာကွယ်ပါ။\n\n သင်၏ 2FA ကုဒ်များကို အသုံးပြုခွင့်ဆုံးရှုံးသွားပါက၊ ဤပိုက်ဆံအိတ်ကို သင်ဝင်ရောက်ခွင့်ဆုံးရှုံးလိမ့်မည်။ သင့်ပိုက်ဆံအိတ်ကို mnemonic မျိုးစေ့မှ ပြန်လည်ရယူရန် လိုအပ်မည်ဖြစ်သည်။ ထို့ကြောင့် သင်၏ MNEMONIC မျိုးစေ့များကို အရန်သိမ်းထားရပါမည်။ ထို့အပြင်၊ သင်၏ mnemonic မျိုးစေ့(များ) ကို အသုံးပြုခွင့်ရှိသူတစ်ဦးက Cake 2FA ကိုကျော်ဖြတ်ကာ သင့်ရန်ပုံငွေများကို ခိုးယူနိုင်ပါမည်။\n\n ကိတ်မုန့်သည် သင့် mnemonic မျိုးစေ့သို့ ဝင်ရောက်ခွင့်ဆုံးရှုံးသွားပါက သင့်အား ကူညီပေးနိုင်မည်မဟုတ်ပါ၊ အထိန်းအချုပ်မရှိသော ပိုက်ဆံအိတ်။",
"setup_totp_recommended": "TOTP ကို ​​စနစ်ထည့်သွင်းပါ (အကြံပြုထားသည်)",
"disable_buy": "ဝယ်ယူမှု လုပ်ဆောင်ချက်ကို ပိတ်ပါ။",
"disable_sell": "ရောင်းချခြင်းလုပ်ဆောင်ချက်ကို ပိတ်ပါ။"
"disable_sell": "ရောင်းချခြင်းလုပ်ဆောင်ချက်ကို ပိတ်ပါ။",
"monero_dark_theme": "Monero Dark အပြင်အဆင်",
"bitcoin_dark_theme": "Bitcoin Dark Theme",
"bitcoin_light_theme": "Bitcoin Light အပြင်အဆင်",
"high_contrast_theme": "အလင်းအမှောင် မြင့်မားသော အပြင်အဆင်",
"matrix_green_dark_theme": "Matrix Green Dark အပြင်အဆင်",
"monero_light_theme": "Monero Light အပြင်အဆင်"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "Cake 2FA is NIET zo veilig als koude opslag. 2FA beschermt tegen basistypen aanvallen, zoals uw vriend die uw vingerafdruk geeft terwijl u slaapt.\n\n Cake 2FA biedt GEEN bescherming tegen een gecompromitteerd apparaat door een geavanceerde aanvaller.\n\n Als u de toegang tot uw 2FA-codes kwijtraakt , VERLIEST U DE TOEGANG TOT DEZE PORTEFEUILLE. U moet uw portemonnee herstellen van mnemonic seed. JE MOET DAAROM EEN BACK-UP MAKEN VAN JE MNEMONISCHE ZADEN! Verder kan iemand met toegang tot je geheugensteuntje(s) je geld stelen, waarbij Cake 2FA wordt omzeild.\n\n Het ondersteunend personeel van Cake kan je niet helpen als je de toegang tot je geheugensteuntje kwijtraakt, aangezien Cake een niet-bewaarbare portemonnee.",
"setup_totp_recommended": "TOTP instellen (aanbevolen)",
"disable_buy": "Koopactie uitschakelen",
"disable_sell": "Verkoopactie uitschakelen"
"disable_sell": "Verkoopactie uitschakelen",
"monero_dark_theme": "Monero donker thema",
"bitcoin_dark_theme": "Bitcoin donker thema",
"bitcoin_light_theme": "Bitcoin Light-thema",
"high_contrast_theme": "Thema met hoog contrast",
"matrix_green_dark_theme": "Matrix groen donker thema",
"monero_light_theme": "Monero Light-thema"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "Cake 2FA NIE jest tak bezpieczny jak przechowywanie w chłodni. 2FA chroni przed podstawowymi typami ataków, takimi jak udostępnienie odcisku palca przez znajomego podczas snu.\n\n Cake 2FA NIE chroni przed zhakowanym urządzeniem przez wyrafinowanego atakującego.\n\n Jeśli utracisz dostęp do swoich kodów 2FA , UTRACISZ DOSTĘP DO TEGO PORTFELA. Będziesz musiał przywrócić swój portfel z mnemonicznego materiału siewnego. DLATEGO MUSISZ ZROBIĆ KOPIĘ SWOICH NASION MNEMONICZNYCH! Co więcej, ktoś z dostępem do twoich mnemonicznych nasion będzie mógł ukraść twoje fundusze, omijając Cake 2FA.\n\n Personel pomocniczy Cake nie będzie mógł ci pomóc, jeśli stracisz dostęp do swojego mnemonicznego seeda, ponieważ Cake jest portfel niezabezpieczony.",
"setup_totp_recommended": "Skonfiguruj TOTP (zalecane)",
"disable_buy": "Wyłącz akcję kupna",
"disable_sell": "Wyłącz akcję sprzedaży"
"disable_sell": "Wyłącz akcję sprzedaży",
"monero_dark_theme": "Ciemny motyw Monero",
"bitcoin_dark_theme": "Ciemny motyw Bitcoina",
"bitcoin_light_theme": "Lekki motyw Bitcoin",
"high_contrast_theme": "Motyw o wysokim kontraście",
"matrix_green_dark_theme": "Matrix Zielony ciemny motyw",
"monero_light_theme": "Lekki motyw Monero"
}

View file

@ -726,5 +726,11 @@
"setup_2fa_text": "O Cake 2FA NÃO é tão seguro quanto o armazenamento a frio. O 2FA protege contra tipos básicos de ataques, como seu amigo fornecer sua impressão digital enquanto você está dormindo.\n\n O Cake 2FA NÃO protege contra um dispositivo comprometido por um invasor sofisticado.\n\n Se você perder o acesso aos seus códigos 2FA , VOCÊ PERDERÁ O ACESSO A ESTA CARTEIRA. Você precisará restaurar sua carteira da semente mnemônica. VOCÊ DEVE, PORTANTO, FAZER BACKUP DE SUAS SEMENTES MNEMÔNICAS! Além disso, alguém com acesso às suas sementes mnemônicas poderá roubar seus fundos, ignorando o Cake 2FA.\n\n A equipe de suporte do Cake não poderá ajudá-lo se você perder o acesso à sua semente mnemônica, pois o Cake é um carteira não custodial.",
"setup_totp_recommended": "Configurar TOTP (recomendado)",
"disable_buy": "Desativar ação de compra",
"disable_sell": "Desativar ação de venda"
"disable_sell": "Desativar ação de venda",
"monero_dark_theme": "Monero Tema Escuro",
"bitcoin_dark_theme": "Tema escuro Bitcoin",
"bitcoin_light_theme": "Tema claro de bitcoin",
"high_contrast_theme": "Tema de alto contraste",
"matrix_green_dark_theme": "Tema escuro verde matrix",
"monero_light_theme": "Monero Light Theme"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "Cake 2FA НЕ так безопасен, как холодное хранилище. Двухфакторная аутентификация защищает от основных типов атак, таких как отпечаток вашего друга, когда вы спите.\n\n Двухфакторная аутентификация Cake НЕ защищает от взлома устройства опытным злоумышленником.\n\n Если вы потеряете доступ к своим кодам двухфакторной аутентификации. , ВЫ ПОТЕРЯЕТЕ ДОСТУП К ЭТОМУ КОШЕЛЬКУ. Вам нужно будет восстановить свой кошелек из мнемонической семени. ПОЭТОМУ ВЫ ДОЛЖНЫ СОЗДАТЬ РЕЗЕРВНУЮ ВЕРСИЮ СВОИХ МНЕМОНИКОВ! Кроме того, кто-то, имеющий доступ к вашему мнемоническому семени, сможет украсть ваши средства, минуя Cake 2FA.\n\n Персонал службы поддержки Cake не сможет помочь вам, если вы потеряете доступ к своему мнемоническому семени, поскольку Cake — это некастодиальный кошелек.",
"setup_totp_recommended": "Настроить TOTP (рекомендуется)",
"disable_buy": "Отключить действие покупки",
"disable_sell": "Отключить действие продажи"
"disable_sell": "Отключить действие продажи",
"monero_dark_theme": "Темная тема Monero",
"bitcoin_dark_theme": "Биткойн Темная тема",
"bitcoin_light_theme": "Легкая биткойн-тема",
"high_contrast_theme": "Высококонтрастная тема",
"matrix_green_dark_theme": "Матрица Зеленая Темная Тема",
"monero_light_theme": "Светлая тема Monero"
}

View file

@ -725,5 +725,11 @@
"setup_2fa_text": "Cake 2FA ไม่ปลอดภัยเท่าห้องเย็น 2FA ป้องกันการโจมตีประเภทพื้นฐาน เช่น เพื่อนของคุณให้ลายนิ้วมือขณะที่คุณนอนหลับ\n\n Cake 2FA ไม่ป้องกันอุปกรณ์ที่ถูกบุกรุกโดยผู้โจมตีที่เชี่ยวชาญ\n\n หากคุณสูญเสียการเข้าถึงรหัส 2FA ของคุณ คุณจะสูญเสียการเข้าถึงกระเป๋าเงินนี้ คุณจะต้องกู้คืนกระเป๋าเงินของคุณจากเมล็ดช่วยจำ คุณต้องสำรองเมล็ดความจำของคุณ! นอกจากนี้ ผู้ที่สามารถเข้าถึงเมล็ดช่วยจำของคุณจะสามารถขโมยเงินของคุณ โดยผ่าน Cake 2FA\n\n เจ้าหน้าที่ช่วยเหลือของ Cake จะไม่สามารถช่วยเหลือคุณได้ หากคุณสูญเสียการเข้าถึงเมล็ดช่วยจำ เนื่องจาก Cake เป็น กระเป๋าสตางค์ที่ไม่เป็นผู้ดูแล",
"setup_totp_recommended": "ตั้งค่า TOTP (แนะนำ)",
"disable_buy": "ปิดการใช้งานการซื้อ",
"disable_sell": "ปิดการใช้งานการขาย"
"disable_sell": "ปิดการใช้งานการขาย",
"monero_dark_theme": "ธีมมืด Monero",
"bitcoin_dark_theme": "ธีมมืด Bitcoin",
"bitcoin_light_theme": "ธีมแสง Bitcoin",
"high_contrast_theme": "ธีมความคมชัดสูง",
"matrix_green_dark_theme": "ธีมเมทริกซ์สีเขียวเข้ม",
"monero_light_theme": "ธีมแสง Monero"
}

View file

@ -727,5 +727,11 @@
"setup_2fa_text": "Cake 2FA, soğuk hava deposu kadar güvenli DEĞİLDİR. 2FA, siz uyurken arkadaşınızın parmak izinizi sağlaması gibi temel saldırı türlerine karşı koruma sağlar.\n\n Cake 2FA, gelişmiş bir saldırgan tarafından güvenliği ihlal edilmiş bir cihaza karşı koruma SAĞLAMAZ.\n\n 2FA kodlarınıza erişimi kaybederseniz , BU CÜZDANA ERİŞİMİNİZİ KAYBEDECEKSİNİZ. Mnemonic seed'den cüzdanınızı geri yüklemeniz gerekecek. BU NEDENLE HATIRLAYICI TOHUMLARINIZI YEDEKLEMELİSİNİZ! Ayrıca anımsatıcı tohumlarınıza erişimi olan biri, Cake 2FA'yı atlayarak paranızı çalabilir.\n\n Cake, anımsatıcı tohumlarınıza erişimi kaybederseniz size yardımcı olamaz, çünkü Cake bir saklama dışı cüzdan.",
"setup_totp_recommended": "TOTP'yi kurun (Önerilir)",
"disable_buy": "Satın alma işlemini devre dışı bırak",
"disable_sell": "Satış işlemini devre dışı bırak"
"disable_sell": "Satış işlemini devre dışı bırak",
"monero_dark_theme": "Monero Koyu Tema",
"bitcoin_dark_theme": "Bitcoin Karanlık Teması",
"bitcoin_light_theme": "Bitcoin Hafif Tema",
"high_contrast_theme": "Yüksek Kontrastlı Tema",
"matrix_green_dark_theme": "Matrix Yeşil Koyu Tema",
"monero_light_theme": "Monero Hafif Tema"
}

View file

@ -726,5 +726,11 @@
"setup_2fa_text": "Торт 2FA НЕ такий безпечний, як холодне зберігання. 2FA захищає від основних типів атак, наприклад ваш друг надає ваш відбиток пальця, поки ви спите.\n\n Cake 2FA НЕ захищає від скомпрометованого пристрою досвідченим зловмисником.\n\n Якщо ви втратите доступ до своїх кодів 2FA , ВИ ВТРАТИТЕ ДОСТУП ДО ЦЬОГО ГАМАНЦЯ. Вам потрібно буде відновити свій гаманець з мнемонічного коду. ТОМУ ВИ ПОВИННІ СТВОРИТИ РЕЗЕРВНУ КОПІЮ СВОЇХ МНЕМОНІЧНИХ НАСІН! Крім того, хтось із доступом до ваших мнемонічних початкових значень зможе викрасти ваші кошти, оминаючи Cake 2FA.\n\n Співробітники служби підтримки Cake не зможуть вам допомогти, якщо ви втратите доступ до своїх мнемонічних вихідних даних, оскільки Cake є гаманець без опіки.",
"setup_totp_recommended": "Налаштувати TOTP (рекомендовано)",
"disable_buy": "Вимкнути дію покупки",
"disable_sell": "Вимкнути дію продажу"
"disable_sell": "Вимкнути дію продажу",
"monero_dark_theme": "Темна тема Monero",
"bitcoin_dark_theme": "Темна тема Bitcoin",
"bitcoin_light_theme": "Світла тема Bitcoin",
"high_contrast_theme": "Тема високої контрастності",
"matrix_green_dark_theme": "Зелена темна тема Matrix",
"monero_light_theme": "Легка тема Monero"
}

View file

@ -722,5 +722,11 @@
"setup_2fa_text": "کیک 2FA کولڈ اسٹوریج کی طرح محفوظ نہیں ہے۔ 2FA بنیادی قسم کے حملوں سے حفاظت کرتا ہے، جیسے کہ آپ کا دوست آپ کے سوتے وقت آپ کے فنگر پرنٹ فراہم کرتا ہے۔\n\n کیک 2FA کسی جدید حملہ آور کے ذریعے سمجھوتہ کرنے والے آلہ سے حفاظت نہیں کرتا ہے۔\n\n اگر آپ اپنے 2FA کوڈز تک رسائی کھو دیتے ہیں ، آپ اس بٹوے تک رسائی سے محروم ہو جائیں گے۔ آپ کو یادداشت کے بیج سے اپنے بٹوے کو بحال کرنے کی ضرورت ہوگی۔ اس لیے آپ کو اپنے یادداشت کے بیجوں کا بیک اپ لینا چاہیے! اس کے علاوہ، آپ کے یادداشت کے بیج تک رسائی رکھنے والا کوئی شخص کیک 2FA کو نظرانداز کرتے ہوئے آپ کے فنڈز چرا سکے گا۔\n\n اگر آپ اپنے یادداشت کے بیج تک رسائی کھو دیتے ہیں تو کیک کا معاون عملہ آپ کی مدد نہیں کر سکے گا، کیونکہ کیک ایک ہے غیر نگہداشت پرس.",
"setup_totp_recommended": "TOTP ترتیب دیں (تجویز کردہ)",
"disable_buy": "خرید ایکشن کو غیر فعال کریں۔",
"disable_sell": "فروخت کی کارروائی کو غیر فعال کریں۔"
"disable_sell": "فروخت کی کارروائی کو غیر فعال کریں۔",
"monero_dark_theme": "مونیرو ڈارک تھیم",
"bitcoin_dark_theme": "بٹ کوائن ڈارک تھیم",
"bitcoin_light_theme": "بٹ کوائن لائٹ تھیم",
"high_contrast_theme": "ہائی کنٹراسٹ تھیم",
"matrix_green_dark_theme": "میٹرکس گرین ڈارک تھیم",
"monero_light_theme": "مونیرو لائٹ تھیم"
}

View file

@ -723,5 +723,11 @@
"setup_2fa_text": "Cake 2FA kii ṣe nipasẹ aisan tabi ni akoso aisan. 2FA ti ṣe pada ninu awọn iṣẹ pataki, bi atilẹyin ti o fun iṣẹ rẹ ti o ti jẹ saanu.\n\n Cake 2FA kii ṣe pada ninu atilẹyin ti o ti ba alabara kan ti o sise gidi gan.\n\n Ti o ba pọ akosile rẹ 2FA, O YOO RI ATOJU SI IWE IWE NA. O yoo nilo lati yan pẹlu iwe iwe ni o ba ṣe iṣẹ rẹ. O ni aṣẹ iru ki o gba asise akojọ iwe iwe rẹ! Nitori a ko ni aṣẹ pẹlu ohun ti o ba ṣe iṣẹ rẹ lati yan pẹlu akojọ iwe iwe rẹ, nitori Cake ni iwe iwe ti ko se iṣẹ itumọ.",
"setup_totp_recommended": "Sọ TOTP (Kẹṣọdọ)",
"disable_buy": "Ko iṣọrọ ọja",
"disable_sell": "Ko iṣọrọ iṣọrọ"
"disable_sell": "Ko iṣọrọ iṣọrọ",
"monero_dark_theme": "Monero Dudu Akori",
"bitcoin_dark_theme": "Bitcoin Dark Akori",
"bitcoin_light_theme": "Bitcoin Light Akori",
"high_contrast_theme": "Akori Iyatọ giga",
"matrix_green_dark_theme": "Matrix Green Dark Akori",
"monero_light_theme": "Monero Light Akori"
}

View file

@ -726,5 +726,11 @@
"setup_2fa_text": "Cake 2FA 不如冷藏安全。 2FA 可防止基本类型的攻击,例如您的朋友在您睡觉时提供您的指纹。\n\n Cake 2FA 无法防止老练的攻击者破坏设备。\n\n 如果您无法访问您的 2FA 代码, 您将无法访问此钱包。您将需要从助记词种子恢复您的钱包。因此,您必须备份您的助记词种子!此外,有权访问您的助记种子的人将能够绕过 Cake 2FA 窃取您的资金。\n\n 如果您无法访问您的助记种子Cake 支持人员将无法帮助您,因为 Cake 是一个非托管钱包。",
"setup_totp_recommended": "设置 TOTP推荐",
"disable_buy": "禁用购买操作",
"disable_sell": "禁用卖出操作"
"disable_sell": "禁用卖出操作",
"monero_dark_theme": "门罗币深色主题",
"bitcoin_dark_theme": "比特币黑暗主题",
"bitcoin_light_theme": "比特币浅色主题",
"high_contrast_theme": "高对比度主题",
"matrix_green_dark_theme": "矩阵绿暗主题",
"monero_light_theme": "门罗币浅色主题"
}