Files
standardnotes-app-web/app/assets/javascripts/preferences/panes/AccountPreferences.tsx
Vardan Hakobyan 04fab80adb feat: fetch features and store locally for offline users (#706)
* feat: fetch features and store locally for offline users

* feat: handle success and error cases

* refactor: move offline activation code reading/validation to snjs

* chore: update after renaming snjs function

* fix: correct condition for checking offline users

* feat: let users remove their previous offline keys (WIP)

* refactor: handle setOfflineFeatures function response accordingly

* feat: remove corresponding local data when removing offline key

* fix: use snjs' confirm dialog instead of custom one

* feat: show warning before installing extension from untrusted source

* refactor: move functions for validating external feature url and checking if custom server host was used to snjs

* chore: put correct snjs version

* chore: make `eslint-plugin-react-hooks` in yarn.lock to match the `develop` branch

* chore: deps update

* chore: deps update
2021-11-03 22:27:36 +04:00

44 lines
1.3 KiB
TypeScript

import {
Sync,
SubscriptionWrapper,
Credentials,
SignOutWrapper,
Authentication,
Advanced
} from '@/preferences/panes/account';
import { PreferencesPane } from '@/preferences/components';
import { observer } from 'mobx-react-lite';
import { WebApplication } from '@/ui_models/application';
import { AppState } from '@/ui_models/app_state';
type Props = {
application: WebApplication;
appState: AppState;
};
export const AccountPreferences = observer(
({ application, appState }: Props) => {
if (!application.hasAccount()) {
return (
<PreferencesPane>
<Authentication application={application} appState={appState} />
{appState.enableUnfinishedFeatures && <SubscriptionWrapper application={application} />}
<SignOutWrapper application={application} appState={appState} />
<Advanced application={application} appState={appState} />
</PreferencesPane>
);
}
return (
<PreferencesPane>
<Credentials application={application} appState={appState} />
<Sync application={application} />
{appState.enableUnfinishedFeatures && <SubscriptionWrapper application={application} />}
<SignOutWrapper application={application} appState={appState} />
<Advanced application={application} appState={appState} />
</PreferencesPane>
);
}
);