- <div class="form-group">
- <my-peertube-checkbox inputName="servicesTwitterWhitelisted" formControlName="whitelisted">
- <ng-template ptTemplate="label">
- <ng-container i18n>Instance whitelisted by Twitter</ng-container>
- </ng-template>
-
- <ng-template ptTemplate="help">
- <ng-container i18n>
- If your instance is whitelisted by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share.<br />
- If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.<br /><br />
- Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on
- <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a>
- to see if you instance is whitelisted.
- </ng-container>
- </ng-template>
- </my-peertube-checkbox>
+ <ng-container formGroupName="searchIndex">
+ <div class="form-group">
+ <my-peertube-checkbox
+ inputName="searchIndexEnabled" formControlName="enabled"
+ i18n-labelText labelText="Enable global search"
+ >
+ <ng-container ngProjectAs="description">
+ <p i18n>⚠️ This functionality depends heavily on the moderation of instances followed by the search index you select.</p>
+
+ <span i18n>
+ You should only use moderated search indexes in production, or <a href="https://framagit.org/framasoft/peertube/search-index">host your own</a>.
+ </span>
+ </ng-container>
+
+ <ng-container ngProjectAs="extra">
+ <div [ngClass]="{ 'disabled-checkbox-extra': !isSearchIndexEnabled() }">
+ <label i18n for="searchIndexUrl">Search index URL</label>
+ <input
+ type="text" id="searchIndexUrl" class="form-control"
+ formControlName="url" [ngClass]="{ 'input-error': formErrors['search.searchIndex.url'] }"
+ >
+ <div *ngIf="formErrors.search.searchIndex.url" class="form-error">{{ formErrors.search.searchIndex.url }}</div>
+ </div>
+
+ <div class="mt-3">
+ <my-peertube-checkbox [ngClass]="{ 'disabled-checkbox-extra': !isSearchIndexEnabled() }"
+ inputName="searchIndexDisableLocalSearch" formControlName="disableLocalSearch"
+ i18n-labelText labelText="Disable local search in search bar"
+ ></my-peertube-checkbox>
+ </div>
+
+ <div class="mt-3">
+ <my-peertube-checkbox [ngClass]="{ 'disabled-checkbox-extra': !isSearchIndexEnabled() }"
+ inputName="searchIndexIsDefaultSearch" formControlName="isDefaultSearch"
+ i18n-labelText labelText="Search bar uses the global search index by default"
+ >
+ <ng-container ngProjectAs="description">
+ <span i18n>Otherwise the local search stays used by default</span>
+ </ng-container>
+ </my-peertube-checkbox>
+ </div>
+
+ </ng-container>
+ </my-peertube-checkbox>
+ </div>
+
+ </ng-container>
+
+ </ng-container>
+
+ </div>
+ </div>
+
+ <div class="form-row mt-4"> <!-- federation grid -->
+ <div class="form-group col-12 col-lg-4 col-xl-3">
+ <div i18n class="inner-form-title">FEDERATION</div>
+ <div i18n class="inner-form-description">
+ Manage <a routerLink="/admin/follows">relations</a> with other instances.