Feature/improve onboarding for ios (#1035)
* Improve onboarding for iOS * Update changelog
This commit is contained in:
parent
928a13310d
commit
df6bb489c2
@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Improved the onboarding for iOS
|
||||||
|
|
||||||
## 1.162.0 - 18.06.2022
|
## 1.162.0 - 18.06.2022
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
@ -32,7 +32,7 @@ import {
|
|||||||
PortfolioSummary,
|
PortfolioSummary,
|
||||||
User
|
User
|
||||||
} from '@ghostfolio/common/interfaces';
|
} from '@ghostfolio/common/interfaces';
|
||||||
import { permissions } from '@ghostfolio/common/permissions';
|
import { filterGlobalPermissions } from '@ghostfolio/common/permissions';
|
||||||
import { DateRange } from '@ghostfolio/common/types';
|
import { DateRange } from '@ghostfolio/common/types';
|
||||||
import { DataSource, Order as OrderModel } from '@prisma/client';
|
import { DataSource, Order as OrderModel } from '@prisma/client';
|
||||||
import { parseISO } from 'date-fns';
|
import { parseISO } from 'date-fns';
|
||||||
@ -115,12 +115,14 @@ export class DataService {
|
|||||||
|
|
||||||
public fetchInfo(): InfoItem {
|
public fetchInfo(): InfoItem {
|
||||||
const info = cloneDeep((window as any).info);
|
const info = cloneDeep((window as any).info);
|
||||||
|
const utmSource = <'ios' | 'trusted-web-activity'>(
|
||||||
|
window.localStorage.getItem('utm_source')
|
||||||
|
);
|
||||||
|
|
||||||
if (window.localStorage.getItem('utm_source') === 'trusted-web-activity') {
|
info.globalPermissions = filterGlobalPermissions(
|
||||||
info.globalPermissions = info.globalPermissions.filter(
|
info.globalPermissions,
|
||||||
(permission) => permission !== permissions.enableSubscription
|
utmSource
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ import { LOCALE_ID } from '@angular/core';
|
|||||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||||
import { locale } from '@ghostfolio/common/config';
|
import { locale } from '@ghostfolio/common/config';
|
||||||
import { InfoItem } from '@ghostfolio/common/interfaces';
|
import { InfoItem } from '@ghostfolio/common/interfaces';
|
||||||
import { permissions } from '@ghostfolio/common/permissions';
|
import { filterGlobalPermissions } from '@ghostfolio/common/permissions';
|
||||||
|
|
||||||
import { AppModule } from './app/app.module';
|
import { AppModule } from './app/app.module';
|
||||||
import { environment } from './environments/environment';
|
import { environment } from './environments/environment';
|
||||||
@ -11,12 +11,14 @@ import { environment } from './environments/environment';
|
|||||||
(async () => {
|
(async () => {
|
||||||
const response = await fetch('/api/v1/info');
|
const response = await fetch('/api/v1/info');
|
||||||
const info: InfoItem = await response.json();
|
const info: InfoItem = await response.json();
|
||||||
|
const utmSource = <'ios' | 'trusted-web-activity'>(
|
||||||
|
window.localStorage.getItem('utm_source')
|
||||||
|
);
|
||||||
|
|
||||||
if (window.localStorage.getItem('utm_source') === 'trusted-web-activity') {
|
info.globalPermissions = filterGlobalPermissions(
|
||||||
info.globalPermissions = info.globalPermissions.filter(
|
info.globalPermissions,
|
||||||
(permission) => permission !== permissions.enableSubscription
|
utmSource
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
(window as any).info = info;
|
(window as any).info = info;
|
||||||
|
|
||||||
|
@ -73,6 +73,28 @@ export function getPermissions(aRole: Role): string[] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function filterGlobalPermissions(
|
||||||
|
aGlobalPermissions: string[],
|
||||||
|
aUtmSource: 'ios' | 'trusted-web-activity'
|
||||||
|
) {
|
||||||
|
const globalPermissions = aGlobalPermissions;
|
||||||
|
|
||||||
|
if (aUtmSource === 'ios') {
|
||||||
|
return globalPermissions.filter((permission) => {
|
||||||
|
return (
|
||||||
|
permission !== permissions.enableSocialLogin &&
|
||||||
|
permission !== permissions.enableSubscription
|
||||||
|
);
|
||||||
|
});
|
||||||
|
} else if (aUtmSource === 'trusted-web-activity') {
|
||||||
|
return globalPermissions.filter((permission) => {
|
||||||
|
return permission !== permissions.enableSubscription;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return globalPermissions;
|
||||||
|
}
|
||||||
|
|
||||||
export function hasPermission(
|
export function hasPermission(
|
||||||
aPermissions: string[] = [],
|
aPermissions: string[] = [],
|
||||||
aPermission: string
|
aPermission: string
|
||||||
|
Loading…
x
Reference in New Issue
Block a user