mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2024-12-27 05:49:21 +00:00
42 lines
1.2 KiB
Dart
42 lines
1.2 KiB
Dart
/*
|
|
* 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:stackwallet/utilities/extensions/impl/string.dart';
|
|
|
|
extension GradientExt on Gradient {
|
|
static Gradient fromJson(Map<String, dynamic> json) {
|
|
switch (json["background"]["type"]) {
|
|
case "Linear":
|
|
final colorStrings =
|
|
List<String>.from(json["background"]["colors"] as List);
|
|
return LinearGradient(
|
|
begin: Alignment(
|
|
json["background"]["begin"]["x"] as double,
|
|
json["background"]["begin"]["y"] as double,
|
|
),
|
|
end: Alignment(
|
|
json["background"]["end"]["x"] as double,
|
|
json["background"]["end"]["y"] as double,
|
|
),
|
|
colors: colorStrings
|
|
.map(
|
|
(e) => Color(
|
|
e.toBigIntFromHex.toInt(),
|
|
),
|
|
)
|
|
.toList(),
|
|
);
|
|
|
|
default:
|
|
throw ArgumentError("Invalid json gradient: $json");
|
|
}
|
|
}
|
|
}
|