fromApiResponse static method
Parses the raw API response from getKfAssetsProperties. Expects: data.components.LEAD_GENE_POPUP.properties
Implementation
static KfAssetsConfig? fromApiResponse(dynamic apiResponse) {
try {
final data = apiResponse is Map ? apiResponse['data'] : null;
final components = data is Map ? data['components'] : null;
final popup = components is Map ? components['LEAD_GENE_POPUP'] : null;
final props = popup is Map ? popup['properties'] : null;
if (props is! Map<String, dynamic>) return null;
return KfAssetsConfig(
primaryColour: props['PrimaryColour']?.toString() ?? '#112693',
formScreen: props['form_screen'] is Map<String, dynamic>
? KfFormScreen.fromJson(props['form_screen'] as Map<String, dynamic>)
: const KfFormScreen(title: '', subTitle: '', buttonText: 'Submit', inputFields: []),
addressScreen: props['address_screen'] is Map<String, dynamic>
? KfAddressScreen.fromJson(props['address_screen'] as Map<String, dynamic>)
: const KfAddressScreen(inputFields: []),
successScreen: props['success_screen'] is Map<String, dynamic>
? KfSuccessScreen.fromJson(props['success_screen'] as Map<String, dynamic>)
: const KfSuccessScreen(logo: '', heading: '', message: '', screenTimeout: 5),
);
} catch (e) {
return null;
}
}