Skip to content
Snippets Groups Projects
Unverified Commit 7702ee4f authored by Matiss Janis Aboltins's avatar Matiss Janis Aboltins Committed by GitHub
Browse files

:sparkles: release simplefin as a first-party feature (#3459)

Closes #2272
parent d0ba623c
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,6 @@ import { pushModal } from 'loot-core/client/actions';
import { send } from 'loot-core/src/platform/client/fetch';
import { authorizeBank } from '../../gocardless';
import { useFeatureFlag } from '../../hooks/useFeatureFlag';
import { useGoCardlessStatus } from '../../hooks/useGoCardlessStatus';
import { useSimpleFinStatus } from '../../hooks/useSimpleFinStatus';
import { useSyncServerStatus } from '../../hooks/useSyncServerStatus';
......@@ -180,8 +179,6 @@ export function CreateAccountModal({ upgradingAccountId }: CreateAccountProps) {
title = 'Link Account';
}
const simpleFinSyncFeatureFlag = useFeatureFlag('simpleFinSync');
return (
<Modal name="add-account">
{({ state: { close } }) => (
......@@ -290,77 +287,73 @@ export function CreateAccountModal({ upgradingAccountId }: CreateAccountProps) {
to automatically download transactions. GoCardless provides
reliable, up-to-date information from hundreds of banks.
</Text>
{simpleFinSyncFeatureFlag === true && (
<>
<View
style={{
flexDirection: 'row',
gap: 10,
marginTop: '18px',
alignItems: 'center',
}}
>
<ButtonWithLoading
isDisabled={syncServerStatus !== 'online'}
isLoading={loadingSimpleFinAccounts}
style={{
padding: '10px 0',
fontSize: 15,
fontWeight: 600,
flex: 1,
}}
onPress={onConnectSimpleFin}
<View
style={{
flexDirection: 'row',
gap: 10,
marginTop: '18px',
alignItems: 'center',
}}
>
<ButtonWithLoading
isDisabled={syncServerStatus !== 'online'}
isLoading={loadingSimpleFinAccounts}
style={{
padding: '10px 0',
fontSize: 15,
fontWeight: 600,
flex: 1,
}}
onPress={onConnectSimpleFin}
>
{isSimpleFinSetupComplete
? 'Link bank account with SimpleFIN'
: 'Set up SimpleFIN for bank sync'}
</ButtonWithLoading>
{isSimpleFinSetupComplete && (
<>
<Button
ref={triggerRef}
variant="bare"
onPress={() => setSimplefinMenuOpen(true)}
aria-label="SimpleFIN menu"
>
<SvgDotsHorizontalTriple
width={15}
height={15}
style={{ transform: 'rotateZ(90deg)' }}
/>
</Button>
<Popover
triggerRef={triggerRef}
isOpen={menuSimplefinOpen}
onOpenChange={() => setSimplefinMenuOpen(false)}
>
{isSimpleFinSetupComplete
? 'Link bank account with SimpleFIN'
: 'Set up SimpleFIN for bank sync'}
</ButtonWithLoading>
{isSimpleFinSetupComplete && (
<>
<Button
ref={triggerRef}
variant="bare"
onPress={() => setSimplefinMenuOpen(true)}
aria-label="SimpleFIN menu"
>
<SvgDotsHorizontalTriple
width={15}
height={15}
style={{ transform: 'rotateZ(90deg)' }}
/>
</Button>
<Popover
triggerRef={triggerRef}
isOpen={menuSimplefinOpen}
onOpenChange={() => setSimplefinMenuOpen(false)}
>
<Menu
onMenuSelect={item => {
if (item === 'reconfigure') {
onSimpleFinReset();
}
}}
items={[
{
name: 'reconfigure',
text: 'Reset SimpleFIN credentials',
},
]}
/>
</Popover>
</>
)}
</View>
<Text style={{ lineHeight: '1.4em', fontSize: 15 }}>
<strong>
Link a <em>North American</em> bank account
</strong>{' '}
to automatically download transactions. SimpleFIN
provides reliable, up-to-date information from hundreds
of banks.
</Text>
</>
)}
<Menu
onMenuSelect={item => {
if (item === 'reconfigure') {
onSimpleFinReset();
}
}}
items={[
{
name: 'reconfigure',
text: 'Reset SimpleFIN credentials',
},
]}
/>
</Popover>
</>
)}
</View>
<Text style={{ lineHeight: '1.4em', fontSize: 15 }}>
<strong>
Link a <em>North American</em> bank account
</strong>{' '}
to automatically download transactions. SimpleFIN provides
reliable, up-to-date information from hundreds of banks.
</Text>
</>
) : (
<>
......
......@@ -104,12 +104,6 @@ export function ExperimentalFeatures() {
<FeatureToggle flag="goalTemplatesEnabled">
<Trans>Goal templates</Trans>
</FeatureToggle>
<FeatureToggle
flag="simpleFinSync"
feedbackLink="https://github.com/actualbudget/actual/issues/2272"
>
<Trans>SimpleFIN sync</Trans>
</FeatureToggle>
<FeatureToggle
flag="dashboards"
feedbackLink="https://github.com/actualbudget/actual/issues/3282"
......
......@@ -6,7 +6,6 @@ const DEFAULT_FEATURE_FLAG_STATE: Record<FeatureFlag, boolean> = {
reportBudget: false,
goalTemplatesEnabled: false,
spendingReport: false,
simpleFinSync: false,
dashboards: false,
};
......
......@@ -4,8 +4,7 @@ export type FeatureFlag =
| 'dashboards'
| 'reportBudget'
| 'goalTemplatesEnabled'
| 'spendingReport'
| 'simpleFinSync';
| 'spendingReport';
/**
* Cross-device preferences. These sync across devices when they are changed.
......
---
category: Features
authors: [MatissJanis]
---
SimpleFIN is officially released as a first-party feature of Actual.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment