// Copyright 2017-2020 @polkadot/app-settings authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. import { Option } from '@polkadot/apps-config/settings/types'; import { SettingsStruct } from '@polkadot/ui-settings/types'; import React from 'react'; import { ChainImg, Dropdown, IdentityIcon } from '@polkadot/react-components'; import uiSettings from '@polkadot/ui-settings'; export function createOption ({ info, isHeader, text, value }: Option, overrides: string[] = [], override = 'empty'): Option | React.ReactNode { if (isHeader) { return ( ); } return { text: (
{text}
), value }; } export function createIdenticon ({ info, text, value }: Option, overrides: string[] = [], override = 'empty'): Option { const theme = info && overrides.includes(info) ? override as 'empty' : info as 'substrate'; return { text: (
{theme === 'empty' ? ( ) : ( )}
{text}
), value }; } export function save (settings: SettingsStruct): void { uiSettings.set(settings); } export function saveAndReload (settings: SettingsStruct): void { save(settings); // HACK This is terrible, but since the API needs to re-connect, but since // the API does not yet handle re-connections properly, it is what it is window.location.reload(); }