-
Notifications
You must be signed in to change notification settings - Fork 103
/
Advanced.svelte
48 lines (45 loc) · 2.06 KB
/
Advanced.svelte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<script lang="typescript">
import { HR } from 'shared/components'
import { activeProfile, isActiveLedgerProfile } from '@core/profile'
import { AdvancedSettingsRoute } from '@core/router'
import {
CrashReporting,
DeepLinks,
Diagnostics,
ErrorLog,
HiddenAccounts,
MigrateLedgerIndex,
NetworkConfiguration,
WalletFinder,
} from './'
import features from '@features/features'
const settings: {
component: unknown
childRoute: AdvancedSettingsRoute
requireLogin?: boolean
requireLedger?: boolean
}[] = [
{ component: NetworkConfiguration, childRoute: AdvancedSettingsRoute.NetworkConfiguration, requireLogin: true },
{ component: DeepLinks, childRoute: AdvancedSettingsRoute.DeepLinks },
{ component: WalletFinder, childRoute: AdvancedSettingsRoute.WalletFinder, requireLogin: true },
{ component: HiddenAccounts, childRoute: AdvancedSettingsRoute.HiddenAccounts, requireLogin: true },
{ component: ErrorLog, childRoute: AdvancedSettingsRoute.ErrorLog },
{ component: CrashReporting, childRoute: AdvancedSettingsRoute.CrashReporting },
{ component: Diagnostics, childRoute: AdvancedSettingsRoute.Diagnostics },
{ component: MigrateLedgerIndex, childRoute: AdvancedSettingsRoute.MigrateLedgerIndex, requireLedger: true },
]
const visibleSettings = settings.filter((setting) => features?.settings?.advanced?.[setting.childRoute]?.enabled)
const { loggedIn } = $activeProfile
</script>
<div>
{#each visibleSettings as { component, childRoute, requireLogin, requireLedger }, index}
{#if (!requireLogin || (requireLogin && $loggedIn)) && (!requireLedger || (requireLedger && $isActiveLedgerProfile))}
<section id={childRoute} class="w-full sm:w-3/4">
<svelte:component this={component} />
</section>
{#if index < visibleSettings.length - 1}
<HR classes="pb-5 mt-5 justify-center" />
{/if}
{/if}
{/each}
</div>