diff --git a/src/app/xtream-tauri/account-info/account-info.component.scss b/src/app/xtream-tauri/account-info/account-info.component.scss new file mode 100644 index 000000000..14abef981 --- /dev/null +++ b/src/app/xtream-tauri/account-info/account-info.component.scss @@ -0,0 +1,86 @@ +.account-info-card { + margin: 16px; + max-width: 1200px; +} + +.info-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 24px; +} + +.info-section { + border: 1px solid #333; + border-radius: 8px; + padding: 16px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); +} + +.info-section h3 { + margin-bottom: 16px; + padding-left: 16px; + font-size: 1.1em; + border-bottom: 1px solid #333; + padding-bottom: 8px; +} + +mat-list-item { + height: auto !important; + margin-bottom: 8px; + padding: 8px 16px; +} + +strong { + margin-right: 8px; + min-width: 140px; + display: inline-block; +} + +.active { + color: #4caf50; + font-weight: 500; +} + +.trial { + color: #ff9800; + font-weight: 500; +} + +.formats { + color: #2196f3; +} + +.ports { + display: flex; + gap: 16px; + flex-wrap: wrap; +} + +.ports span { + padding: 4px 8px; + background: #2196f3; + border-radius: 4px; + font-size: 0.9em; +} + +.welcome-message { + border: 1px solid #333; + padding: 16px; + border-radius: 4px; + margin-bottom: 16px; + text-align: center; + font-style: italic; +} + +@media (max-width: 768px) { + .info-grid { + grid-template-columns: 1fr; + } + .account-info-card { + margin: 8px; + } + .ports { + flex-direction: column; + gap: 8px; + } +} \ No newline at end of file diff --git a/src/app/xtream-tauri/account-info/account-info.component.ts b/src/app/xtream-tauri/account-info/account-info.component.ts new file mode 100644 index 000000000..cdda903fd --- /dev/null +++ b/src/app/xtream-tauri/account-info/account-info.component.ts @@ -0,0 +1,206 @@ +import { CommonModule } from '@angular/common'; +import { Component, Inject, inject } from '@angular/core'; +import { MatButton } from '@angular/material/button'; +import { MatCardModule } from '@angular/material/card'; +import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog'; +import { MatListModule } from '@angular/material/list'; +import { Store } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; +import { DataService } from '../../services/data.service'; +import { selectActivePlaylist } from '../../state/selectors'; +import { XtreamAccountInfo } from './account-info.interface'; + +@Component({ + selector: 'app-account-info', + standalone: true, + imports: [ + CommonModule, + MatButton, + MatDialogModule, + MatCardModule, + MatListModule, + TranslateModule, + ], + template: ` +
+ Added: + {{ item.added_at | date: 'd MMMM, y, hh:mm' }} +
+No favorite {{ type }} items
++ {{ item.type | titlecase }} +
++ {{ item.viewed_at | date: 'd MMMM, y, hh:mm' }} +
+No recently viewed items
+{{ item.description }}
+No results found for "{{ searchTerm }}"
+
+ }
+