diff --git a/src/app/components/floating-column/settings/settings.component.html b/src/app/components/floating-column/settings/settings.component.html index 01df4b0f..24cf54dd 100644 --- a/src/app/components/floating-column/settings/settings.component.html +++ b/src/app/components/floating-column/settings/settings.component.html @@ -135,6 +135,17 @@
+
+

Pleroma

+
+ + +
+
+
+

Other

About

Sengi version: {{version}}
- open tutorial
- imprint & privacy
- check for updates + open tutorial
+ imprint & privacy
+ check for updates

diff --git a/src/app/components/floating-column/settings/settings.component.ts b/src/app/components/floating-column/settings/settings.component.ts index 838135b3..9c185416 100644 --- a/src/app/components/floating-column/settings/settings.component.ts +++ b/src/app/components/floating-column/settings/settings.component.ts @@ -3,7 +3,7 @@ import { FormBuilder, FormGroup } from '@angular/forms'; import { Howl } from 'howler'; import { environment } from '../../../../environments/environment'; -import { ToolsService } from '../../../services/tools.service'; +import { ToolsService, InstanceType } from '../../../services/tools.service'; import { UserNotificationService, NotificationSoundDefinition } from '../../../services/user-notification.service'; import { ServiceWorkerService } from '../../../services/service-worker.service'; import { ContentWarningPolicy, ContentWarningPolicyEnum, TimeLineModeEnum, TimeLineHeaderEnum } from '../../../states/settings.state'; @@ -28,6 +28,9 @@ export class SettingsComponent implements OnInit { disableSoundsEnabled: boolean; version: string; + hasPleromaAccount: boolean; + autoFollowOnListEnabled: boolean; + columnShortcutEnabled: ColumnShortcut = ColumnShortcut.Ctrl; timeLineHeader: TimeLineHeaderEnum = TimeLineHeaderEnum.Title_DomainName; timeLineMode: TimeLineModeEnum = TimeLineModeEnum.OnTop; @@ -97,6 +100,18 @@ export class SettingsComponent implements OnInit { this.timeLineHeader = settings.timelineHeader; this.timeLineMode = settings.timelineMode; + + this.autoFollowOnListEnabled = settings.autoFollowOnListEnabled; + const accs = this.toolsService.getAllAccounts(); + accs.forEach(a => { + this.toolsService.getInstanceInfo(a) + .then(ins => { + if(ins.type === InstanceType.Pleroma){ + this.hasPleromaAccount = true; + } + }) + .catch(err => console.error(err)); + }); } onShortcutChange(id: ColumnShortcut) { @@ -219,6 +234,12 @@ export class SettingsComponent implements OnInit { this.toolsService.saveSettings(settings); } + onAutoFollowOnListChanged(){ + let settings = this.toolsService.getSettings(); + settings.autoFollowOnListEnabled = this.autoFollowOnListEnabled; + this.toolsService.saveSettings(settings); + } + isCleanningAll: boolean = false; startClearAllLocalData(): boolean { this.isCleanningAll = !this.isCleanningAll; diff --git a/src/app/states/settings.state.ts b/src/app/states/settings.state.ts index 3b71a199..2bc8cff5 100644 --- a/src/app/states/settings.state.ts +++ b/src/app/states/settings.state.ts @@ -66,6 +66,7 @@ export class GlobalSettings { disableAvatarNotifications = false; disableSounds = false; disableRemoteStatusFetching = false; + autoFollowOnListEnabled = false; notificationSoundFileId: string = '0'; @@ -164,6 +165,7 @@ export class SettingsState { newSettings.disableRemoteStatusFetching = oldSettings.disableRemoteStatusFetching; newSettings.timelineHeader = oldSettings.timelineHeader; newSettings.timelineMode = oldSettings.timelineMode; + newSettings.autoFollowOnListEnabled = oldSettings.autoFollowOnListEnabled; return newSettings; }