added bridge instance settings

This commit is contained in:
Nicolas Constant 2021-02-28 01:50:06 -05:00
parent fb4c99870e
commit 7653398642
No known key found for this signature in database
GPG Key ID: 1E9F677FB01A5688
3 changed files with 49 additions and 2 deletions

View File

@ -35,6 +35,7 @@
</form> </form>
<a href class="form-button sound__play" type="submit" (click)="playNotificationSound()">play</a> <a href class="form-button sound__play" type="submit" (click)="playNotificationSound()">play</a>
</div> </div>
<h4 class="panel__subtitle">Shortcuts</h4> <h4 class="panel__subtitle">Shortcuts</h4>
<div class="sub-section"> <div class="sub-section">
<span class="sub-section__title">switch column:</span><br /> <span class="sub-section__title">switch column:</span><br />
@ -50,6 +51,21 @@
<br> <br>
</div> </div>
<h4 class="panel__subtitle">Twitter Bridge</h4>
<div class="sub-section">
<input class="sub-section__checkbox" [(ngModel)]="twitterBridgeEnabled"
(change)="onTwitterBridgeEnabledChanged()" type="checkbox" name="onTwitterBridgeEnabled"
value="onTwitterBridgeEnabled" id="onTwitterBridgeEnabled">
<label class="noselect sub-section__label" for="onTwitterBridgeEnabled">enable bridge</label>
<br>
<div *ngIf="twitterBridgeEnabled">
<p>Please provide your bridge instance:
<input type="text" class="form-control form-control-sm sub_section__text-input"
[(ngModel)]="setTwitterBridgeInstance" placeholder="bridge.tld" />
If you don't know any, consider using <a href="https://github.com/NicolasConstant/BirdsiteLive" target="_blank" class="version__link">BirdsiteLIVE</a></p>
</div>
</div>
<h4 class="panel__subtitle">Content-Warning Policies</h4> <h4 class="panel__subtitle">Content-Warning Policies</h4>
<div class="sub-section"> <div class="sub-section">
<span class="sub-section__title">global behavior:</span><br /> <span class="sub-section__title">global behavior:</span><br />

View File

@ -31,6 +31,8 @@ export class SettingsComponent implements OnInit {
hasPleromaAccount: boolean; hasPleromaAccount: boolean;
autoFollowOnListEnabled: boolean; autoFollowOnListEnabled: boolean;
twitterBridgeEnabled: boolean;
columnShortcutEnabled: ColumnShortcut = ColumnShortcut.Ctrl; columnShortcutEnabled: ColumnShortcut = ColumnShortcut.Ctrl;
timeLineHeader: TimeLineHeaderEnum = TimeLineHeaderEnum.Title_DomainName; timeLineHeader: TimeLineHeaderEnum = TimeLineHeaderEnum.Title_DomainName;
timeLineMode: TimeLineModeEnum = TimeLineModeEnum.OnTop; timeLineMode: TimeLineModeEnum = TimeLineModeEnum.OnTop;
@ -63,6 +65,16 @@ export class SettingsComponent implements OnInit {
return this.contentHidedCompletely; 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( constructor(
private readonly navigationService: NavigationService, private readonly navigationService: NavigationService,
private formBuilder: FormBuilder, private formBuilder: FormBuilder,
@ -111,7 +123,10 @@ export class SettingsComponent implements OnInit {
} }
}) })
.catch(err => console.error(err)); .catch(err => console.error(err));
}); });
this.twitterBridgeEnabled = settings.twitterBridgeEnabled;
this.twitterBridgeInstance = settings.twitterBridgeInstance;
} }
onShortcutChange(id: ColumnShortcut) { onShortcutChange(id: ColumnShortcut) {
@ -178,12 +193,18 @@ export class SettingsComponent implements OnInit {
} }
this.toolsService.saveContentWarningPolicy(cwPolicySettings); this.toolsService.saveContentWarningPolicy(cwPolicySettings);
} }
private splitCwValues(data: string): string[]{ private splitCwValues(data: string): string[]{
return data.split(';').map(x => x.trim().toLowerCase()).filter((value, index, self) => self.indexOf(value) === index).filter(y => y !== ''); 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 { // reload(): boolean {
// window.location.reload(); // window.location.reload();
// return false; // return false;
@ -240,6 +261,12 @@ export class SettingsComponent implements OnInit {
this.toolsService.saveSettings(settings); this.toolsService.saveSettings(settings);
} }
onTwitterBridgeEnabledChanged(){
let settings = this.toolsService.getSettings();
settings.twitterBridgeEnabled = this.twitterBridgeEnabled;
this.toolsService.saveSettings(settings);
}
isCleanningAll: boolean = false; isCleanningAll: boolean = false;
startClearAllLocalData(): boolean { startClearAllLocalData(): boolean {
this.isCleanningAll = !this.isCleanningAll; this.isCleanningAll = !this.isCleanningAll;

View File

@ -67,8 +67,10 @@ export class GlobalSettings {
disableSounds = false; disableSounds = false;
disableRemoteStatusFetching = false; disableRemoteStatusFetching = false;
autoFollowOnListEnabled = false; autoFollowOnListEnabled = false;
twitterBridgeEnabled = false;
notificationSoundFileId: string = '0'; notificationSoundFileId: string = '0';
twitterBridgeInstance: string = '';
timelineHeader: TimeLineHeaderEnum = TimeLineHeaderEnum.Title_DomainName; timelineHeader: TimeLineHeaderEnum = TimeLineHeaderEnum.Title_DomainName;
timelineMode: TimeLineModeEnum = TimeLineModeEnum.OnTop; timelineMode: TimeLineModeEnum = TimeLineModeEnum.OnTop;
@ -166,6 +168,8 @@ export class SettingsState {
newSettings.timelineHeader = oldSettings.timelineHeader; newSettings.timelineHeader = oldSettings.timelineHeader;
newSettings.timelineMode = oldSettings.timelineMode; newSettings.timelineMode = oldSettings.timelineMode;
newSettings.autoFollowOnListEnabled = oldSettings.autoFollowOnListEnabled; newSettings.autoFollowOnListEnabled = oldSettings.autoFollowOnListEnabled;
newSettings.twitterBridgeEnabled = oldSettings.twitterBridgeEnabled;
newSettings.twitterBridgeInstance = oldSettings.twitterBridgeInstance;
return newSettings; return newSettings;
} }