diff --git a/src/app/components/floating-column/settings/settings.component.html b/src/app/components/floating-column/settings/settings.component.html index 24cf54dd..f6e0efb9 100644 --- a/src/app/components/floating-column/settings/settings.component.html +++ b/src/app/components/floating-column/settings/settings.component.html @@ -35,6 +35,7 @@ play +

Shortcuts

switch column:
@@ -50,6 +51,21 @@
+

Twitter Bridge

+
+ + +
+
+

Please provide your bridge instance: + + If you don't know any, consider using BirdsiteLIVE

+
+
+

Content-Warning Policies

global behavior:
diff --git a/src/app/components/floating-column/settings/settings.component.ts b/src/app/components/floating-column/settings/settings.component.ts index 9c185416..9beb5718 100644 --- a/src/app/components/floating-column/settings/settings.component.ts +++ b/src/app/components/floating-column/settings/settings.component.ts @@ -31,6 +31,8 @@ export class SettingsComponent implements OnInit { hasPleromaAccount: boolean; autoFollowOnListEnabled: boolean; + twitterBridgeEnabled: boolean; + columnShortcutEnabled: ColumnShortcut = ColumnShortcut.Ctrl; timeLineHeader: TimeLineHeaderEnum = TimeLineHeaderEnum.Title_DomainName; timeLineMode: TimeLineModeEnum = TimeLineModeEnum.OnTop; @@ -63,6 +65,16 @@ export class SettingsComponent implements OnInit { return this.contentHidedCompletely; } + private twitterBridgeInstance: string; + set setTwitterBridgeInstance(value: string) { + let instance = value.replace('https://', '').replace('http://', '').replace('/', '').trim(); + this.setBridgeInstance(instance); + this.twitterBridgeInstance = instance; + } + get setTwitterBridgeInstance(): string { + return this.twitterBridgeInstance; + } + constructor( private readonly navigationService: NavigationService, private formBuilder: FormBuilder, @@ -111,7 +123,10 @@ export class SettingsComponent implements OnInit { } }) .catch(err => console.error(err)); - }); + }); + + this.twitterBridgeEnabled = settings.twitterBridgeEnabled; + this.twitterBridgeInstance = settings.twitterBridgeInstance; } onShortcutChange(id: ColumnShortcut) { @@ -178,12 +193,18 @@ export class SettingsComponent implements OnInit { } this.toolsService.saveContentWarningPolicy(cwPolicySettings); - } + } private splitCwValues(data: string): string[]{ return data.split(';').map(x => x.trim().toLowerCase()).filter((value, index, self) => self.indexOf(value) === index).filter(y => y !== ''); } + private setBridgeInstance(instance: string){ + let settings = this.toolsService.getSettings(); + settings.twitterBridgeInstance = instance; + this.toolsService.saveSettings(settings); + } + // reload(): boolean { // window.location.reload(); // return false; @@ -240,6 +261,12 @@ export class SettingsComponent implements OnInit { this.toolsService.saveSettings(settings); } + onTwitterBridgeEnabledChanged(){ + let settings = this.toolsService.getSettings(); + settings.twitterBridgeEnabled = this.twitterBridgeEnabled; + 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 2bc8cff5..89f41a88 100644 --- a/src/app/states/settings.state.ts +++ b/src/app/states/settings.state.ts @@ -67,8 +67,10 @@ export class GlobalSettings { disableSounds = false; disableRemoteStatusFetching = false; autoFollowOnListEnabled = false; + twitterBridgeEnabled = false; notificationSoundFileId: string = '0'; + twitterBridgeInstance: string = ''; timelineHeader: TimeLineHeaderEnum = TimeLineHeaderEnum.Title_DomainName; timelineMode: TimeLineModeEnum = TimeLineModeEnum.OnTop; @@ -166,6 +168,8 @@ export class SettingsState { newSettings.timelineHeader = oldSettings.timelineHeader; newSettings.timelineMode = oldSettings.timelineMode; newSettings.autoFollowOnListEnabled = oldSettings.autoFollowOnListEnabled; + newSettings.twitterBridgeEnabled = oldSettings.twitterBridgeEnabled; + newSettings.twitterBridgeInstance = oldSettings.twitterBridgeInstance; return newSettings; }