chore: upgrade deps (#906)
* chore: upgrade deps * fix: MenuArrowRight import * fix: type naming
This commit is contained in:
@@ -1,19 +1,16 @@
|
||||
import { observer } from 'mobx-react-lite';
|
||||
import { AppState } from '@/ui_models/app_state';
|
||||
import { WebApplication } from '@/ui_models/application';
|
||||
import { User } from '@standardnotes/snjs/dist/@types/services/api/responses';
|
||||
import { User as UserType } from '@standardnotes/responses';
|
||||
|
||||
type Props = {
|
||||
appState: AppState;
|
||||
application: WebApplication;
|
||||
}
|
||||
};
|
||||
|
||||
const User = observer(({
|
||||
appState,
|
||||
application,
|
||||
}: Props) => {
|
||||
const User = observer(({ appState, application }: Props) => {
|
||||
const { server } = appState.accountMenu;
|
||||
const user = application.getUser();
|
||||
const user = application.getUser() as UserType;
|
||||
|
||||
return (
|
||||
<div className="sk-panel-section">
|
||||
@@ -21,8 +18,8 @@ const User = observer(({
|
||||
<div className="sk-notification danger">
|
||||
<div className="sk-notification-title">Sync Unreachable</div>
|
||||
<div className="sk-notification-text">
|
||||
Hmm...we can't seem to sync your account.
|
||||
The reason: {appState.sync.errorMessage}
|
||||
Hmm...we can't seem to sync your account. The reason:{' '}
|
||||
{appState.sync.errorMessage}
|
||||
</div>
|
||||
<a
|
||||
className="sk-a info-contrast sk-bold sk-panel-row"
|
||||
@@ -36,12 +33,8 @@ const User = observer(({
|
||||
)}
|
||||
<div className="sk-panel-row">
|
||||
<div className="sk-panel-column">
|
||||
<div className="sk-h1 sk-bold wrap">
|
||||
{(user as User).email}
|
||||
</div>
|
||||
<div className="sk-subtitle neutral">
|
||||
{server}
|
||||
</div>
|
||||
<div className="sk-h1 sk-bold wrap">{user.email}</div>
|
||||
<div className="sk-subtitle neutral">{server}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="sk-panel-row" />
|
||||
|
||||
@@ -39,7 +39,7 @@ import {
|
||||
MarkdownIcon,
|
||||
MenuArrowDownAlt,
|
||||
MenuArrowDownIcon,
|
||||
MenuArrowRight,
|
||||
MenuArrowRightIcon,
|
||||
MenuCloseIcon,
|
||||
MoreIcon,
|
||||
NotesIcon,
|
||||
@@ -92,7 +92,7 @@ const ICONS = {
|
||||
'lock-filled': LockFilledIcon,
|
||||
'menu-arrow-down-alt': MenuArrowDownAlt,
|
||||
'menu-arrow-down': MenuArrowDownIcon,
|
||||
'menu-arrow-right': MenuArrowRight,
|
||||
'menu-arrow-right': MenuArrowRightIcon,
|
||||
'menu-close': MenuCloseIcon,
|
||||
'pencil-filled': PencilFilledIcon,
|
||||
'pencil-off': PencilOffIcon,
|
||||
|
||||
@@ -76,7 +76,7 @@ export const createEditorMenuGroups = (
|
||||
name: editor.name,
|
||||
component: editor,
|
||||
isEntitled:
|
||||
application.getFeatureStatus(editor.identifier) ===
|
||||
application.features.getFeatureStatus(editor.identifier) ===
|
||||
FeatureStatus.Entitled,
|
||||
};
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ export const FocusModeSwitch: FunctionComponent<Props> = ({
|
||||
}) => {
|
||||
const premiumModal = usePremiumModal();
|
||||
const isEntitled =
|
||||
application.getFeatureStatus(FeatureIdentifier.FocusMode) ===
|
||||
application.features.getFeatureStatus(FeatureIdentifier.FocusMode) ===
|
||||
FeatureStatus.Entitled;
|
||||
|
||||
const toggle = useCallback(
|
||||
|
||||
@@ -22,12 +22,13 @@ export const ThemesMenuButton: FunctionComponent<Props> = ({
|
||||
const premiumModal = usePremiumModal();
|
||||
|
||||
const isThirdPartyTheme = useMemo(
|
||||
() => application.isThirdPartyFeature(item.identifier),
|
||||
() => application.features.isThirdPartyFeature(item.identifier),
|
||||
[application, item.identifier]
|
||||
);
|
||||
const isEntitledToTheme = useMemo(
|
||||
() =>
|
||||
application.getFeatureStatus(item.identifier) === FeatureStatus.Entitled,
|
||||
application.features.getFeatureStatus(item.identifier) ===
|
||||
FeatureStatus.Entitled,
|
||||
[application, item.identifier]
|
||||
);
|
||||
const canActivateTheme = useMemo(
|
||||
|
||||
@@ -155,7 +155,9 @@ export const HistoryListContainer: FunctionComponent<Props> = observer(
|
||||
async (revisionListEntry: RevisionListEntry) => {
|
||||
setShowContentLockedScreen(false);
|
||||
|
||||
if (application.hasMinimumRole(revisionListEntry.required_role)) {
|
||||
if (
|
||||
application.features.hasMinimumRole(revisionListEntry.required_role)
|
||||
) {
|
||||
setIsFetchingSelectedRevision(true);
|
||||
setSelectedRevision(undefined);
|
||||
setSelectedRemoteEntry(undefined);
|
||||
|
||||
@@ -95,9 +95,9 @@ export const RemoteHistoryList: FunctionComponent<RemoteHistoryListProps> =
|
||||
>
|
||||
<div className="flex flex-grow items-center justify-between">
|
||||
<div>{previewHistoryEntryTitle(entry)}</div>
|
||||
{!application.hasMinimumRole(entry.required_role) && (
|
||||
<Icon type="premium-feature" />
|
||||
)}
|
||||
{!application.features.hasMinimumRole(
|
||||
entry.required_role
|
||||
) && <Icon type="premium-feature" />}
|
||||
</div>
|
||||
</HistoryListItem>
|
||||
))}
|
||||
|
||||
@@ -32,7 +32,7 @@ export const Appearance: FunctionComponent<Props> = observer(
|
||||
({ application }) => {
|
||||
const premiumModal = usePremiumModal();
|
||||
const isEntitledToMidnightTheme =
|
||||
application.getFeatureStatus(FeatureIdentifier.MidnightTheme) ===
|
||||
application.features.getFeatureStatus(FeatureIdentifier.MidnightTheme) ===
|
||||
FeatureStatus.Entitled;
|
||||
|
||||
const [themeItems, setThemeItems] = useState<DropdownItem[]>([]);
|
||||
|
||||
@@ -58,7 +58,7 @@ export const Extensions: FunctionComponent<{
|
||||
};
|
||||
|
||||
const submitExtensionUrl = async (url: string) => {
|
||||
const component = await application.downloadExternalFeature(url);
|
||||
const component = await application.features.downloadExternalFeature(url);
|
||||
if (component) {
|
||||
setConfirmableExtension(component);
|
||||
}
|
||||
|
||||
@@ -27,15 +27,17 @@ export const OfflineSubscription: FunctionalComponent<IProps> = observer(
|
||||
useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (application.hasOfflineRepo()) {
|
||||
if (application.features.hasOfflineRepo()) {
|
||||
setHasUserPreviouslyStoredCode(true);
|
||||
}
|
||||
}, [application]);
|
||||
|
||||
const shouldShowOfflineSubscription = () => {
|
||||
return !application.hasAccount() ||
|
||||
return (
|
||||
!application.hasAccount() ||
|
||||
application.isThirdPartyHostUsed() ||
|
||||
hasUserPreviouslyStoredCode;
|
||||
hasUserPreviouslyStoredCode
|
||||
);
|
||||
};
|
||||
|
||||
const handleSubscriptionCodeSubmit = async (
|
||||
@@ -43,7 +45,9 @@ export const OfflineSubscription: FunctionalComponent<IProps> = observer(
|
||||
) => {
|
||||
event.preventDefault();
|
||||
|
||||
const result = await application.setOfflineFeaturesCode(activationCode);
|
||||
const result = await application.features.setOfflineFeaturesCode(
|
||||
activationCode
|
||||
);
|
||||
|
||||
if (result?.error) {
|
||||
await application.alertService.alert(result.error);
|
||||
@@ -55,7 +59,7 @@ export const OfflineSubscription: FunctionalComponent<IProps> = observer(
|
||||
};
|
||||
|
||||
const handleRemoveOfflineKey = async () => {
|
||||
await application.deleteOfflineFeatureRepo();
|
||||
await application.features.deleteOfflineFeatureRepo();
|
||||
|
||||
setIsSuccessfullyActivated(false);
|
||||
setHasUserPreviouslyStoredCode(false);
|
||||
|
||||
@@ -62,7 +62,7 @@ export const EmailBackups = observer(({ application }: Props) => {
|
||||
}, [application]);
|
||||
|
||||
useEffect(() => {
|
||||
const emailBackupsFeatureStatus = application.getFeatureStatus(
|
||||
const emailBackupsFeatureStatus = application.features.getFeatureStatus(
|
||||
FeatureIdentifier.DailyEmailBackup
|
||||
);
|
||||
setIsEntitledToEmailBackups(
|
||||
|
||||
@@ -65,13 +65,13 @@ export const CloudLink: FunctionComponent<Props> = ({ application }) => {
|
||||
}, [application]);
|
||||
|
||||
useEffect(() => {
|
||||
const dailyDropboxBackupStatus = application.getFeatureStatus(
|
||||
const dailyDropboxBackupStatus = application.features.getFeatureStatus(
|
||||
FeatureIdentifier.DailyDropboxBackup
|
||||
);
|
||||
const dailyGdriveBackupStatus = application.getFeatureStatus(
|
||||
const dailyGdriveBackupStatus = application.features.getFeatureStatus(
|
||||
FeatureIdentifier.DailyGDriveBackup
|
||||
);
|
||||
const dailyOneDriveBackupStatus = application.getFeatureStatus(
|
||||
const dailyOneDriveBackupStatus = application.features.getFeatureStatus(
|
||||
FeatureIdentifier.DailyOneDriveBackup
|
||||
);
|
||||
const isCloudBackupsAllowed = [
|
||||
|
||||
@@ -74,7 +74,9 @@ export const ExtensionItem: FunctionComponent<ExtensionItemProps> = ({
|
||||
};
|
||||
|
||||
const localInstallable = extension.package_info.download_url;
|
||||
const isThirParty = application.isThirdPartyFeature(extension.identifier);
|
||||
const isThirParty = application.features.isThirdPartyFeature(
|
||||
extension.identifier
|
||||
);
|
||||
|
||||
return (
|
||||
<PreferencesSegment classes={'mb-5'}>
|
||||
|
||||
@@ -99,6 +99,7 @@ export class AlertService implements SNAlertService {
|
||||
const alert = new SKAlert({
|
||||
title: title && sanitizeHtmlString(title),
|
||||
text: sanitizeHtmlString(text),
|
||||
buttons: [],
|
||||
});
|
||||
alert.present();
|
||||
return () => {
|
||||
|
||||
@@ -14,6 +14,7 @@ import {
|
||||
import { WebAppEvent, WebApplication } from '@/ui_models/application';
|
||||
import { isDesktopApplication } from '@/utils';
|
||||
import { Bridge, ElectronDesktopCallbacks } from './bridge';
|
||||
import { InternalEventBus } from '@standardnotes/services';
|
||||
|
||||
/**
|
||||
* An interface used by the Desktop application to interact with SN
|
||||
@@ -31,7 +32,7 @@ export class DesktopManager
|
||||
lastSearchedText?: string;
|
||||
|
||||
constructor(application: WebApplication, private bridge: Bridge) {
|
||||
super(application);
|
||||
super(application, new InternalEventBus());
|
||||
}
|
||||
|
||||
get webApplication() {
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
PayloadSource,
|
||||
PrefKey,
|
||||
} from '@standardnotes/snjs';
|
||||
import { InternalEventBus } from '@standardnotes/services';
|
||||
|
||||
const CACHED_THEMES_KEY = 'cachedThemes';
|
||||
|
||||
@@ -21,7 +22,7 @@ export class ThemeManager extends ApplicationService {
|
||||
private unregisterStream!: () => void;
|
||||
|
||||
constructor(application: WebApplication) {
|
||||
super(application);
|
||||
super(application, new InternalEventBus());
|
||||
this.colorSchemeEventHandler = this.colorSchemeEventHandler.bind(this);
|
||||
}
|
||||
|
||||
@@ -127,7 +128,9 @@ export class ThemeManager extends ApplicationService {
|
||||
this.deactivateTheme(themeUuid);
|
||||
hasChange = true;
|
||||
} else {
|
||||
const status = this.application.getFeatureStatus(theme.identifier);
|
||||
const status = this.application.features.getFeatureStatus(
|
||||
theme.identifier
|
||||
);
|
||||
if (status !== FeatureStatus.Entitled) {
|
||||
if (theme.active) {
|
||||
this.application.toggleTheme(theme);
|
||||
@@ -212,7 +215,7 @@ export class ThemeManager extends ApplicationService {
|
||||
|
||||
if (
|
||||
!skipEntitlementCheck &&
|
||||
this.application.getFeatureStatus(theme.identifier) !==
|
||||
this.application.features.getFeatureStatus(theme.identifier) !==
|
||||
FeatureStatus.Entitled
|
||||
) {
|
||||
return;
|
||||
|
||||
@@ -87,7 +87,7 @@ export class FeaturesState {
|
||||
}
|
||||
|
||||
private hasNativeFolders(): boolean {
|
||||
const status = this.application.getFeatureStatus(
|
||||
const status = this.application.features.getFeatureStatus(
|
||||
FeatureIdentifier.TagNesting
|
||||
);
|
||||
|
||||
@@ -95,7 +95,7 @@ export class FeaturesState {
|
||||
}
|
||||
|
||||
private hasNativeSmartViews(): boolean {
|
||||
const status = this.application.getFeatureStatus(
|
||||
const status = this.application.features.getFeatureStatus(
|
||||
FeatureIdentifier.SmartFilters
|
||||
);
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ import { IOService } from '@/services/ioService';
|
||||
import { AutolockService } from '@/services/autolock_service';
|
||||
import { StatusManager } from '@/services/statusManager';
|
||||
import { ThemeManager } from '@/services/themeManager';
|
||||
import { InternalEventBus } from '@standardnotes/services';
|
||||
|
||||
export class ApplicationGroup extends SNApplicationGroup {
|
||||
constructor(
|
||||
@@ -62,7 +63,10 @@ export class ApplicationGroup extends SNApplicationGroup {
|
||||
const io = new IOService(
|
||||
platform === Platform.MacWeb || platform === Platform.MacDesktop
|
||||
);
|
||||
const autolockService = new AutolockService(application);
|
||||
const autolockService = new AutolockService(
|
||||
application,
|
||||
new InternalEventBus()
|
||||
);
|
||||
const statusManager = new StatusManager();
|
||||
const themeService = new ThemeManager(application);
|
||||
application.setWebServices({
|
||||
|
||||
Reference in New Issue
Block a user