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;
}