-
-
+ About mediarepo +
+
+
+ {{version | async}}
+
+
+ {{tauriVersion | async}}
+
+
+
+
++
Built with
+
+
+ {{lib[0]}}
+
+
+
+
+
diff --git a/mediarepo-ui/src/app/components/core/repositories-tab/repository-overview/about-dialog/about-dialog.component.scss b/mediarepo-ui/src/app/components/core/repositories-tab/repository-overview/about-dialog/about-dialog.component.scss
new file mode 100644
index 0000000..607eefd
--- /dev/null
+++ b/mediarepo-ui/src/app/components/core/repositories-tab/repository-overview/about-dialog/about-dialog.component.scss
@@ -0,0 +1,20 @@
+.title {
+ text-align: center;
+}
+
+.actions {
+ display: block;
+
+ button {
+ float: right;
+ }
+}
+
+.content {
+ text-align: center;
+}
+
+.lib-list {
+ display: flex;
+ flex-direction: column;
+}
diff --git a/mediarepo-ui/src/app/components/core/repositories-tab/repository-overview/about-dialog/about-dialog.component.spec.ts b/mediarepo-ui/src/app/components/core/repositories-tab/repository-overview/about-dialog/about-dialog.component.spec.ts
new file mode 100644
index 0000000..e95648e
--- /dev/null
+++ b/mediarepo-ui/src/app/components/core/repositories-tab/repository-overview/about-dialog/about-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import {ComponentFixture, TestBed} from "@angular/core/testing";
+
+import {AboutDialogComponent} from "./about-dialog.component";
+
+describe("AboutDialogComponent", () => {
+ let component: AboutDialogComponent;
+ let fixture: ComponentFixtureAll Repositories
+ + +
-
, dialog: MatDialogRef };
@@ -94,6 +95,13 @@ export class RepositoryOverviewComponent implements OnInit, AfterViewInit {
}
}
+ public openAboutDialog(): void {
+ this.dialog.open(AboutDialogComponent, {
+ minWidth: "30%",
+ minHeight: "50%",
+ });
+ }
+
private async forceCloseRepository() {
try {
await this.repoService.closeSelectedRepository();
diff --git a/mediarepo-ui/src/app/components/shared/app-common/app-common.module.ts b/mediarepo-ui/src/app/components/shared/app-common/app-common.module.ts
index a556c14..0a25e48 100644
--- a/mediarepo-ui/src/app/components/shared/app-common/app-common.module.ts
+++ b/mediarepo-ui/src/app/components/shared/app-common/app-common.module.ts
@@ -25,6 +25,7 @@ import {MatRippleModule} from "@angular/material/core";
import {FlapButtonComponent} from "./flap-button/flap-button.component";
import {MiddleCenteredComponent} from "./middle-centered/middle-centered.component";
import {FormatBytesPipe} from "./pipes/format-bytes.pipe";
+import {ExternalUrlComponent} from "./external-url/external-url.component";
@NgModule({
@@ -44,6 +45,7 @@ import {FormatBytesPipe} from "./pipes/format-bytes.pipe";
FlapButtonComponent,
MiddleCenteredComponent,
FormatBytesPipe,
+ ExternalUrlComponent,
],
exports: [
ConfirmDialogComponent,
@@ -60,6 +62,7 @@ import {FormatBytesPipe} from "./pipes/format-bytes.pipe";
FlapButtonComponent,
MiddleCenteredComponent,
FormatBytesPipe,
+ ExternalUrlComponent,
],
imports: [
CommonModule,
diff --git a/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.html b/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.html
new file mode 100644
index 0000000..7148987
--- /dev/null
+++ b/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.scss b/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.scss
new file mode 100644
index 0000000..3fccf25
--- /dev/null
+++ b/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.scss
@@ -0,0 +1,15 @@
+@import "src/colors";
+
+.highlight {
+ cursor: pointer;
+ color: $primary-lighter-20;
+ text-decoration: underline;
+
+ &:hover {
+ color: $primary-lighter-30;
+ }
+
+ &:active {
+ color: $accent;
+ }
+}
diff --git a/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.spec.ts b/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.spec.ts
new file mode 100644
index 0000000..77018c4
--- /dev/null
+++ b/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.spec.ts
@@ -0,0 +1,25 @@
+import {ComponentFixture, TestBed} from "@angular/core/testing";
+
+import {ExternalUrlComponent} from "./external-url.component";
+
+describe("ExternalUrlComponent", () => {
+ let component: ExternalUrlComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [ExternalUrlComponent]
+ })
+ .compileComponents();
+ });
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(ExternalUrlComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it("should create", () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.ts b/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.ts
new file mode 100644
index 0000000..7d3c10b
--- /dev/null
+++ b/mediarepo-ui/src/app/components/shared/app-common/external-url/external-url.component.ts
@@ -0,0 +1,31 @@
+import {ChangeDetectionStrategy, Component, Input} from "@angular/core";
+import {shell} from "@tauri-apps/api";
+
+@Component({
+ selector: "app-external-url",
+ templateUrl: "./external-url.component.html",
+ styleUrls: ["./external-url.component.scss"],
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class ExternalUrlComponent {
+
+ @Input() href!: string;
+ private opening = false;
+
+ constructor() {
+ }
+
+ public async openUrl() {
+ if (this.opening) {
+ return;
+ }
+ this.opening = true;
+ try {
+ await shell.open(this.href);
+ } catch (err) {
+ console.error(err);
+ } finally {
+ this.opening = false;
+ }
+ }
+}
diff --git a/mediarepo-ui/src/app/components/shared/app-common/metadata-entry/metadata-entry.component.html b/mediarepo-ui/src/app/components/shared/app-common/metadata-entry/metadata-entry.component.html
index 9edc4cb..22dfb2f 100644
--- a/mediarepo-ui/src/app/components/shared/app-common/metadata-entry/metadata-entry.component.html
+++ b/mediarepo-ui/src/app/components/shared/app-common/metadata-entry/metadata-entry.component.html
@@ -1,4 +1,6 @@
-