mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-13 04:26:16 -08:00
feat(ui): add remote-control URLs + fix header typos and env
Add support for displaying local remote-control URLs and QR code in the Settings UI, including styles for URL list, row layout, monospaced links, and a QR container. Expose a new global API signature getLocalIpAddresses for retrieving local IPs. Fix several UI issues: - Correct typo in header method name (opedAddPlaylistDialog -> openAddPlaylistDialog). - Fix malformed GitHub URL and collapse img tag formatting. - Reformat imports and viewChild usage for readability. Change local development backend URL to localhost:3000 in the local environment to point to the running local API during development. These changes improve developer ergonomics (local backend), add a remote control discovery UX for users on the same network, and tidy up header bugs and formatting.
This commit is contained in:
1 parent
7e4732a1bf
commit
3e2afe11e3
11 files changed
+171
-18
No files matched your search
@@ -1,4 +1,13 @@
|
||||
import { Component, HostBinding, OnInit, effect, inject, input, output, viewChild } from '@angular/core';
|
||||
import {
|
||||
Component,
|
||||
HostBinding,
|
||||
OnInit,
|
||||
effect,
|
||||
inject,
|
||||
input,
|
||||
output,
|
||||
viewChild,
|
||||
} from '@angular/core';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatCheckboxModule } from '@angular/material/checkbox';
|
||||
@@ -12,8 +21,8 @@ import { Store } from '@ngrx/store';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { DataService, SortBy, SortOrder, SortService } from 'services';
|
||||
//import { shell } from 'electron';
|
||||
import { selectActiveTypeFilters, setSelectedFilters } from 'm3u-state';
|
||||
import { AddPlaylistMenuComponent, PlaylistType } from 'components';
|
||||
import { selectActiveTypeFilters, setSelectedFilters } from 'm3u-state';
|
||||
import { HomeComponent } from '../../../home/home.component';
|
||||
import { AboutDialogComponent } from '../about-dialog/about-dialog.component';
|
||||
import { AddPlaylistDialogComponent } from '../add-playlist/add-playlist-dialog.component';
|
||||
@@ -47,7 +56,9 @@ export class HeaderComponent implements OnInit {
|
||||
private store = inject(Store);
|
||||
private sortService = inject(SortService);
|
||||
|
||||
readonly addPlaylistMenuComponent = viewChild.required(AddPlaylistMenuComponent);
|
||||
readonly addPlaylistMenuComponent = viewChild.required(
|
||||
AddPlaylistMenuComponent
|
||||
);
|
||||
readonly isDesktop = !!window.electron;
|
||||
readonly title = input.required<string>();
|
||||
readonly subtitle = input.required<string>();
|
||||
@@ -133,7 +144,7 @@ export class HeaderComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
opedAddPlaylistDialog(type: PlaylistType) {
|
||||
openAddPlaylistDialog(type: PlaylistType) {
|
||||
this.dialog.open<AddPlaylistDialogComponent, { type: PlaylistType }>(
|
||||
AddPlaylistDialogComponent,
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user