diff --git a/mediarepo-ui/src/app/app-routing.module.ts b/mediarepo-ui/src/app/app-routing.module.ts
index 229020b..f223ae1 100644
--- a/mediarepo-ui/src/app/app-routing.module.ts
+++ b/mediarepo-ui/src/app/app-routing.module.ts
@@ -1,9 +1,9 @@
import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
-import {HomeComponent} from "./pages/home/home.component";
+import {CoreComponent} from "./components/core/core.component";
const routes: Routes = [
- {path: "", component: HomeComponent}];
+ {path: "", component: CoreComponent}];
@NgModule({
imports: [RouterModule.forRoot(routes)],
diff --git a/mediarepo-ui/src/app/app.component.html b/mediarepo-ui/src/app/app.component.html
index 0680b43..1d0e354 100644
--- a/mediarepo-ui/src/app/app.component.html
+++ b/mediarepo-ui/src/app/app.component.html
@@ -1 +1 @@
-
+
diff --git a/mediarepo-ui/src/app/app.module.ts b/mediarepo-ui/src/app/app.module.ts
index dd087ca..17d0dd4 100644
--- a/mediarepo-ui/src/app/app.module.ts
+++ b/mediarepo-ui/src/app/app.module.ts
@@ -4,143 +4,18 @@ import {BrowserModule} from '@angular/platform-browser';
import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
-import {RepositoriesTabComponent} from './pages/home/repositories-tab/repositories-tab.component';
-import {HomeComponent} from './pages/home/home.component';
-import {RepositoryCardComponent} from './pages/home/repositories-tab/repository-card/repository-card.component';
-import {MatCardModule} from "@angular/material/card";
-import {MatListModule} from "@angular/material/list";
-import {MatButtonModule} from "@angular/material/button";
-import {MatToolbarModule} from "@angular/material/toolbar";
-import {MatSnackBarModule} from "@angular/material/snack-bar";
-import {MatFormFieldModule} from "@angular/material/form-field";
-import {MatInputModule} from "@angular/material/input";
-import {ReactiveFormsModule} from "@angular/forms";
-import {FileGridComponent} from './components/file-multiview/file-grid/file-grid.component';
-import {MatSidenavModule} from "@angular/material/sidenav";
-import {MatGridListModule} from "@angular/material/grid-list";
-import {FileGridEntryComponent} from './components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component';
-import {MatProgressBarModule} from "@angular/material/progress-bar";
-import {MatPaginatorModule} from "@angular/material/paginator";
-import {ScrollingModule} from "@angular/cdk/scrolling";
-import {MatChipsModule} from "@angular/material/chips";
-import {MatAutocompleteModule} from "@angular/material/autocomplete";
-import {FileSearchComponent} from './components/file-search/file-search.component';
-import {MatTabsModule} from "@angular/material/tabs";
-import {FilesTabComponent} from './pages/home/files-tab/files-tab.component';
-import {FlexModule, GridModule} from "@angular/flex-layout";
-import {MatRippleModule} from "@angular/material/core";
-import {SortDialogComponent} from './components/file-search/sort-dialog/sort-dialog.component';
-import {MatDialogModule} from "@angular/material/dialog";
-import {MatSelectModule} from "@angular/material/select";
-import {FileGalleryComponent} from './components/file-multiview/file-gallery/file-gallery.component';
-import {FileGalleryEntryComponent} from './components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component';
-import {MatProgressSpinnerModule} from "@angular/material/progress-spinner";
-import {BlockUIModule} from "primeng/blockui";
-import {PanelModule} from "primeng/panel";
-import {DragDropModule} from "@angular/cdk/drag-drop";
-import {ContentAwareImageComponent} from './components/content-aware-image/content-aware-image.component';
-import {MatSliderModule} from "@angular/material/slider";
-import {AddRepositoryDialogComponent} from './pages/home/repositories-tab/add-repository-dialog/add-repository-dialog.component';
-import {MatTooltipModule} from "@angular/material/tooltip";
-import {MatMenuModule} from "@angular/material/menu";
-import {ConfirmDialogComponent} from './components/confirm-dialog/confirm-dialog.component';
-import {FilesTabSidebarComponent} from './pages/home/files-tab/files-tab-sidebar/files-tab-sidebar.component';
-import {MatExpansionModule} from "@angular/material/expansion";
-import {TagItemComponent} from './components/tag-item/tag-item.component';
-import {FileEditComponent} from './components/file-edit/file-edit.component';
-import {ImportTabComponent} from './pages/home/import-tab/import-tab.component';
-import {ImportTabSidebarComponent} from './pages/home/import-tab/import-tab-sidebar/import-tab-sidebar.component';
-import {NativeFileSelectComponent} from './components/inputs/native-file-select/native-file-select.component';
-import {FilesystemImportComponent} from './pages/home/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component';
-import {MatCheckboxModule} from "@angular/material/checkbox";
-import {FilterDialogComponent} from './components/file-search/filter-dialog/filter-dialog.component';
-import {TagFilterListItemComponent} from './components/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component';
-import {TagInputComponent} from './components/inputs/tag-input/tag-input.component';
-import {ContextMenuComponent} from './components/context-menu/context-menu.component';
-import {FileContextMenuComponent} from './components/context-menu/file-context-menu/file-context-menu.component';
-import {ContentViewerComponent} from './components/file-multiview/file-gallery/content-viewer/content-viewer.component';
-import {ImageViewerComponent} from './components/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component';
-import {VideoViewerComponent} from './components/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component';
-import {HttpClientModule} from "@angular/common/http";
-import { AudioViewerComponent } from './components/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component';
-import { BusyIndicatorComponent } from './components/busy-indicator/busy-indicator.component';
-import { FileThumbnailComponent } from './components/file-thumbnail/file-thumbnail.component';
import {NgIconsModule} from "@ng-icons/core";
import * as materialIcons from "@ng-icons/material-icons";
-import { FileMultiviewComponent } from './components/file-multiview/file-multiview.component';
+import {CoreModule} from "./components/core/core.module";
@NgModule({
declarations: [
AppComponent,
- RepositoriesTabComponent,
- HomeComponent,
- RepositoryCardComponent,
- FileGridComponent,
- FileGridEntryComponent,
- FileSearchComponent,
- FilesTabComponent,
- SortDialogComponent,
- FileGalleryComponent,
- FileGalleryEntryComponent,
- ContentAwareImageComponent,
- AddRepositoryDialogComponent,
- ConfirmDialogComponent,
- FilesTabSidebarComponent,
- TagItemComponent,
- FileEditComponent,
- ImportTabComponent,
- ImportTabSidebarComponent,
- NativeFileSelectComponent,
- FilesystemImportComponent,
- FilterDialogComponent,
- TagFilterListItemComponent,
- TagInputComponent,
- ContextMenuComponent,
- FileContextMenuComponent,
- ContentViewerComponent,
- ImageViewerComponent,
- VideoViewerComponent,
- AudioViewerComponent,
- BusyIndicatorComponent,
- FileThumbnailComponent,
- FileMultiviewComponent,
],
imports: [
BrowserModule,
- AppRoutingModule,
BrowserAnimationsModule,
- MatCardModule,
- MatListModule,
- MatButtonModule,
- MatToolbarModule,
- MatSnackBarModule,
- MatFormFieldModule,
- MatInputModule,
- ReactiveFormsModule,
- MatSidenavModule,
- MatGridListModule,
- MatProgressBarModule,
- MatPaginatorModule,
- ScrollingModule,
- MatChipsModule,
- MatAutocompleteModule,
- MatTabsModule,
- FlexModule,
- GridModule,
- MatRippleModule,
- MatDialogModule,
- MatSelectModule,
- MatProgressSpinnerModule,
- BlockUIModule,
- PanelModule,
- DragDropModule,
- MatSliderModule,
- MatTooltipModule,
- MatMenuModule,
- MatExpansionModule,
- MatCheckboxModule,
- HttpClientModule,
- NgIconsModule.withIcons({...materialIcons}),
+ CoreModule,
],
providers: [],
bootstrap: [AppComponent]
diff --git a/mediarepo-ui/src/app/pages/home/home.component.html b/mediarepo-ui/src/app/components/core/core.component.html
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/home.component.html
rename to mediarepo-ui/src/app/components/core/core.component.html
diff --git a/mediarepo-ui/src/app/pages/home/home.component.scss b/mediarepo-ui/src/app/components/core/core.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/home.component.scss
rename to mediarepo-ui/src/app/components/core/core.component.scss
diff --git a/mediarepo-ui/src/app/pages/home/home.component.spec.ts b/mediarepo-ui/src/app/components/core/core.component.spec.ts
similarity index 64%
rename from mediarepo-ui/src/app/pages/home/home.component.spec.ts
rename to mediarepo-ui/src/app/components/core/core.component.spec.ts
index de03240..14c2ab0 100644
--- a/mediarepo-ui/src/app/pages/home/home.component.spec.ts
+++ b/mediarepo-ui/src/app/components/core/core.component.spec.ts
@@ -1,20 +1,20 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
-import {HomeComponent} from './home.component';
+import {CoreComponent} from './core.component';
describe('HomeComponent', () => {
- let component: HomeComponent;
- let fixture: ComponentFixture;
+ let component: CoreComponent;
+ let fixture: ComponentFixture;
beforeEach(async () => {
await TestBed.configureTestingModule({
- declarations: [HomeComponent]
+ declarations: [CoreComponent]
})
.compileComponents();
});
beforeEach(() => {
- fixture = TestBed.createComponent(HomeComponent);
+ fixture = TestBed.createComponent(CoreComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
diff --git a/mediarepo-ui/src/app/pages/home/home.component.ts b/mediarepo-ui/src/app/components/core/core.component.ts
similarity index 90%
rename from mediarepo-ui/src/app/pages/home/home.component.ts
rename to mediarepo-ui/src/app/components/core/core.component.ts
index 8d3bfc3..4b8cfb1 100644
--- a/mediarepo-ui/src/app/pages/home/home.component.ts
+++ b/mediarepo-ui/src/app/components/core/core.component.ts
@@ -6,11 +6,11 @@ import {TagService} from "../../services/tag/tag.service";
import {TabService} from "../../services/tab/tab.service";
@Component({
- selector: 'app-home',
- templateUrl: './home.component.html',
- styleUrls: ['./home.component.scss']
+ selector: 'app-core',
+ templateUrl: './core.component.html',
+ styleUrls: ['./core.component.scss']
})
-export class HomeComponent implements OnInit {
+export class CoreComponent implements OnInit {
public selectedRepository: Repository | undefined;
diff --git a/mediarepo-ui/src/app/components/core/core.module.ts b/mediarepo-ui/src/app/components/core/core.module.ts
new file mode 100644
index 0000000..ac8cc63
--- /dev/null
+++ b/mediarepo-ui/src/app/components/core/core.module.ts
@@ -0,0 +1,75 @@
+import {NgModule} from '@angular/core';
+import {CommonModule} from '@angular/common';
+import {CoreComponent} from "./core.component";
+import {RepositoriesTabComponent} from "./repositories-tab/repositories-tab.component";
+import {FilesTabComponent} from "./files-tab/files-tab.component";
+import {FilesTabSidebarComponent} from "./files-tab/files-tab-sidebar/files-tab-sidebar.component";
+import {ImportTabComponent} from "./import-tab/import-tab.component";
+import {ImportTabSidebarComponent} from "./import-tab/import-tab-sidebar/import-tab-sidebar.component";
+import {FilesystemImportComponent} from "./import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component";
+import {MatCardModule} from "@angular/material/card";
+import {MatListModule} from "@angular/material/list";
+import {MatButtonModule} from "@angular/material/button";
+import {MatToolbarModule} from "@angular/material/toolbar";
+import {MatSnackBarModule} from "@angular/material/snack-bar";
+import {MatFormFieldModule} from "@angular/material/form-field";
+import {MatInputModule} from "@angular/material/input";
+import {ReactiveFormsModule} from "@angular/forms";
+import {MatSidenavModule} from "@angular/material/sidenav";
+import {MatGridListModule} from "@angular/material/grid-list";
+import {MatProgressBarModule} from "@angular/material/progress-bar";
+import {MatPaginatorModule} from "@angular/material/paginator";
+import {ScrollingModule} from "@angular/cdk/scrolling";
+import {MatChipsModule} from "@angular/material/chips";
+import {MatAutocompleteModule} from "@angular/material/autocomplete";
+import {MatTabsModule} from "@angular/material/tabs";
+import {FlexModule, GridModule} from "@angular/flex-layout";
+import {MatOptionModule, MatRippleModule} from "@angular/material/core";
+import {MatDialogModule} from "@angular/material/dialog";
+import {MatSelectModule} from "@angular/material/select";
+import {MatProgressSpinnerModule} from "@angular/material/progress-spinner";
+import {BlockUIModule} from "primeng/blockui";
+import {PanelModule} from "primeng/panel";
+import {DragDropModule} from "@angular/cdk/drag-drop";
+import {MatSliderModule} from "@angular/material/slider";
+import {MatTooltipModule} from "@angular/material/tooltip";
+import {MatMenuModule} from "@angular/material/menu";
+import {MatExpansionModule} from "@angular/material/expansion";
+import {MatCheckboxModule} from "@angular/material/checkbox";
+import {SharedModule} from "../shared/shared.module";
+import {MatDividerModule} from "@angular/material/divider";
+import {NgIconsModule} from "@ng-icons/core";
+import * as materialIcons from "@ng-icons/material-icons";
+
+
+@NgModule({
+ declarations: [
+ RepositoriesTabComponent,
+ CoreComponent,
+ FilesTabComponent,
+ FilesTabSidebarComponent,
+ ImportTabComponent,
+ ImportTabSidebarComponent,
+ FilesystemImportComponent,
+ ],
+ exports: [
+ CoreComponent
+ ],
+ imports: [
+ CommonModule,
+ SharedModule,
+ MatTabsModule,
+ MatSidenavModule,
+ MatOptionModule,
+ MatSelectModule,
+ MatDividerModule,
+ MatProgressBarModule,
+ MatCheckboxModule,
+ ScrollingModule,
+ NgIconsModule.withIcons({...materialIcons}),
+ FlexModule,
+ MatButtonModule,
+ ]
+})
+export class CoreModule {
+}
diff --git a/mediarepo-ui/src/app/pages/home/files-tab/files-tab-sidebar/files-tab-sidebar.component.html b/mediarepo-ui/src/app/components/core/files-tab/files-tab-sidebar/files-tab-sidebar.component.html
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/files-tab/files-tab-sidebar/files-tab-sidebar.component.html
rename to mediarepo-ui/src/app/components/core/files-tab/files-tab-sidebar/files-tab-sidebar.component.html
diff --git a/mediarepo-ui/src/app/pages/home/files-tab/files-tab-sidebar/files-tab-sidebar.component.scss b/mediarepo-ui/src/app/components/core/files-tab/files-tab-sidebar/files-tab-sidebar.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/files-tab/files-tab-sidebar/files-tab-sidebar.component.scss
rename to mediarepo-ui/src/app/components/core/files-tab/files-tab-sidebar/files-tab-sidebar.component.scss
diff --git a/mediarepo-ui/src/app/pages/home/files-tab/files-tab-sidebar/files-tab-sidebar.component.spec.ts b/mediarepo-ui/src/app/components/core/files-tab/files-tab-sidebar/files-tab-sidebar.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/files-tab/files-tab-sidebar/files-tab-sidebar.component.spec.ts
rename to mediarepo-ui/src/app/components/core/files-tab/files-tab-sidebar/files-tab-sidebar.component.spec.ts
diff --git a/mediarepo-ui/src/app/pages/home/files-tab/files-tab-sidebar/files-tab-sidebar.component.ts b/mediarepo-ui/src/app/components/core/files-tab/files-tab-sidebar/files-tab-sidebar.component.ts
similarity index 94%
rename from mediarepo-ui/src/app/pages/home/files-tab/files-tab-sidebar/files-tab-sidebar.component.ts
rename to mediarepo-ui/src/app/components/core/files-tab/files-tab-sidebar/files-tab-sidebar.component.ts
index a7ff42f..4978467 100644
--- a/mediarepo-ui/src/app/pages/home/files-tab/files-tab-sidebar/files-tab-sidebar.component.ts
+++ b/mediarepo-ui/src/app/components/core/files-tab/files-tab-sidebar/files-tab-sidebar.component.ts
@@ -12,9 +12,9 @@ import {Tag} from "../../../../models/Tag";
import {TagService} from "../../../../services/tag/tag.service";
import {FileService} from "../../../../services/file/file.service";
import {File} from "../../../../models/File";
-import {FileSearchComponent} from "../../../../components/file-search/file-search.component";
+import {FileSearchComponent} from "../../../shared/file-search/file-search.component";
import {RepositoryService} from "../../../../services/repository/repository.service";
-import {FileEditComponent} from "../../../../components/file-edit/file-edit.component";
+import {FileEditComponent} from "../../../shared/file-edit/file-edit.component";
import {clipboard} from "@tauri-apps/api";
@Component({
diff --git a/mediarepo-ui/src/app/pages/home/files-tab/files-tab.component.html b/mediarepo-ui/src/app/components/core/files-tab/files-tab.component.html
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/files-tab/files-tab.component.html
rename to mediarepo-ui/src/app/components/core/files-tab/files-tab.component.html
diff --git a/mediarepo-ui/src/app/pages/home/files-tab/files-tab.component.scss b/mediarepo-ui/src/app/components/core/files-tab/files-tab.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/files-tab/files-tab.component.scss
rename to mediarepo-ui/src/app/components/core/files-tab/files-tab.component.scss
diff --git a/mediarepo-ui/src/app/pages/home/files-tab/files-tab.component.spec.ts b/mediarepo-ui/src/app/components/core/files-tab/files-tab.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/files-tab/files-tab.component.spec.ts
rename to mediarepo-ui/src/app/components/core/files-tab/files-tab.component.spec.ts
diff --git a/mediarepo-ui/src/app/pages/home/files-tab/files-tab.component.ts b/mediarepo-ui/src/app/components/core/files-tab/files-tab.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/files-tab/files-tab.component.ts
rename to mediarepo-ui/src/app/components/core/files-tab/files-tab.component.ts
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.html b/mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.html
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.html
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.html
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.scss b/mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.scss
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.scss
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.spec.ts b/mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.spec.ts
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.spec.ts
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.ts b/mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.ts
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/filesystem-import/filesystem-import.component.ts
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/import-tab-sidebar.component.html b/mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/import-tab-sidebar.component.html
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/import-tab-sidebar.component.html
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/import-tab-sidebar.component.html
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/import-tab-sidebar.component.scss b/mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/import-tab-sidebar.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/import-tab-sidebar.component.scss
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/import-tab-sidebar.component.scss
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/import-tab-sidebar.component.spec.ts b/mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/import-tab-sidebar.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/import-tab-sidebar.component.spec.ts
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/import-tab-sidebar.component.spec.ts
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/import-tab-sidebar.component.ts b/mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/import-tab-sidebar.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab-sidebar/import-tab-sidebar.component.ts
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab-sidebar/import-tab-sidebar.component.ts
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab.component.html b/mediarepo-ui/src/app/components/core/import-tab/import-tab.component.html
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab.component.html
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab.component.html
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab.component.scss b/mediarepo-ui/src/app/components/core/import-tab/import-tab.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab.component.scss
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab.component.scss
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab.component.spec.ts b/mediarepo-ui/src/app/components/core/import-tab/import-tab.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab.component.spec.ts
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab.component.spec.ts
diff --git a/mediarepo-ui/src/app/pages/home/import-tab/import-tab.component.ts b/mediarepo-ui/src/app/components/core/import-tab/import-tab.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/import-tab/import-tab.component.ts
rename to mediarepo-ui/src/app/components/core/import-tab/import-tab.component.ts
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/add-repository-dialog/add-repository-dialog.component.html b/mediarepo-ui/src/app/components/core/repositories-tab/add-repository-dialog/add-repository-dialog.component.html
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/add-repository-dialog/add-repository-dialog.component.html
rename to mediarepo-ui/src/app/components/core/repositories-tab/add-repository-dialog/add-repository-dialog.component.html
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/add-repository-dialog/add-repository-dialog.component.scss b/mediarepo-ui/src/app/components/core/repositories-tab/add-repository-dialog/add-repository-dialog.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/add-repository-dialog/add-repository-dialog.component.scss
rename to mediarepo-ui/src/app/components/core/repositories-tab/add-repository-dialog/add-repository-dialog.component.scss
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/add-repository-dialog/add-repository-dialog.component.spec.ts b/mediarepo-ui/src/app/components/core/repositories-tab/add-repository-dialog/add-repository-dialog.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/add-repository-dialog/add-repository-dialog.component.spec.ts
rename to mediarepo-ui/src/app/components/core/repositories-tab/add-repository-dialog/add-repository-dialog.component.spec.ts
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/add-repository-dialog/add-repository-dialog.component.ts b/mediarepo-ui/src/app/components/core/repositories-tab/add-repository-dialog/add-repository-dialog.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/add-repository-dialog/add-repository-dialog.component.ts
rename to mediarepo-ui/src/app/components/core/repositories-tab/add-repository-dialog/add-repository-dialog.component.ts
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/repositories-tab.component.html b/mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.html
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/repositories-tab.component.html
rename to mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.html
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/repositories-tab.component.scss b/mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/repositories-tab.component.scss
rename to mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.scss
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/repositories-tab.component.spec.ts b/mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/repositories-tab.component.spec.ts
rename to mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.spec.ts
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/repositories-tab.component.ts b/mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/repositories-tab.component.ts
rename to mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.ts
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/repository-card/repository-card.component.html b/mediarepo-ui/src/app/components/core/repositories-tab/repository-card/repository-card.component.html
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/repository-card/repository-card.component.html
rename to mediarepo-ui/src/app/components/core/repositories-tab/repository-card/repository-card.component.html
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/repository-card/repository-card.component.scss b/mediarepo-ui/src/app/components/core/repositories-tab/repository-card/repository-card.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/repository-card/repository-card.component.scss
rename to mediarepo-ui/src/app/components/core/repositories-tab/repository-card/repository-card.component.scss
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/repository-card/repository-card.component.spec.ts b/mediarepo-ui/src/app/components/core/repositories-tab/repository-card/repository-card.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/repository-card/repository-card.component.spec.ts
rename to mediarepo-ui/src/app/components/core/repositories-tab/repository-card/repository-card.component.spec.ts
diff --git a/mediarepo-ui/src/app/pages/home/repositories-tab/repository-card/repository-card.component.ts b/mediarepo-ui/src/app/components/core/repositories-tab/repository-card/repository-card.component.ts
similarity index 94%
rename from mediarepo-ui/src/app/pages/home/repositories-tab/repository-card/repository-card.component.ts
rename to mediarepo-ui/src/app/components/core/repositories-tab/repository-card/repository-card.component.ts
index 4544ffe..babaee7 100644
--- a/mediarepo-ui/src/app/pages/home/repositories-tab/repository-card/repository-card.component.ts
+++ b/mediarepo-ui/src/app/components/core/repositories-tab/repository-card/repository-card.component.ts
@@ -4,8 +4,8 @@ import {RepositoryService} from "../../../../services/repository/repository.serv
import {Router} from "@angular/router";
import {ErrorBrokerService} from "../../../../services/error-broker/error-broker.service";
import {MatDialog} from "@angular/material/dialog";
-import {ConfirmDialogComponent} from "../../../../components/confirm-dialog/confirm-dialog.component";
-import {BusyIndicatorComponent} from "../../../../components/busy-indicator/busy-indicator.component";
+import {ConfirmDialogComponent} from "../../../shared/confirm-dialog/confirm-dialog.component";
+import {BusyIndicatorComponent} from "../../../shared/busy-indicator/busy-indicator.component";
@Component({
selector: 'app-repository-card',
diff --git a/mediarepo-ui/src/app/components/busy-indicator/busy-indicator.component.html b/mediarepo-ui/src/app/components/shared/busy-indicator/busy-indicator.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/busy-indicator/busy-indicator.component.html
rename to mediarepo-ui/src/app/components/shared/busy-indicator/busy-indicator.component.html
diff --git a/mediarepo-ui/src/app/components/busy-indicator/busy-indicator.component.scss b/mediarepo-ui/src/app/components/shared/busy-indicator/busy-indicator.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/busy-indicator/busy-indicator.component.scss
rename to mediarepo-ui/src/app/components/shared/busy-indicator/busy-indicator.component.scss
diff --git a/mediarepo-ui/src/app/components/busy-indicator/busy-indicator.component.spec.ts b/mediarepo-ui/src/app/components/shared/busy-indicator/busy-indicator.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/busy-indicator/busy-indicator.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/busy-indicator/busy-indicator.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/busy-indicator/busy-indicator.component.ts b/mediarepo-ui/src/app/components/shared/busy-indicator/busy-indicator.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/busy-indicator/busy-indicator.component.ts
rename to mediarepo-ui/src/app/components/shared/busy-indicator/busy-indicator.component.ts
diff --git a/mediarepo-ui/src/app/components/confirm-dialog/confirm-dialog.component.html b/mediarepo-ui/src/app/components/shared/confirm-dialog/confirm-dialog.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/confirm-dialog/confirm-dialog.component.html
rename to mediarepo-ui/src/app/components/shared/confirm-dialog/confirm-dialog.component.html
diff --git a/mediarepo-ui/src/app/components/confirm-dialog/confirm-dialog.component.scss b/mediarepo-ui/src/app/components/shared/confirm-dialog/confirm-dialog.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/confirm-dialog/confirm-dialog.component.scss
rename to mediarepo-ui/src/app/components/shared/confirm-dialog/confirm-dialog.component.scss
diff --git a/mediarepo-ui/src/app/components/confirm-dialog/confirm-dialog.component.spec.ts b/mediarepo-ui/src/app/components/shared/confirm-dialog/confirm-dialog.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/confirm-dialog/confirm-dialog.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/confirm-dialog/confirm-dialog.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/confirm-dialog/confirm-dialog.component.ts b/mediarepo-ui/src/app/components/shared/confirm-dialog/confirm-dialog.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/confirm-dialog/confirm-dialog.component.ts
rename to mediarepo-ui/src/app/components/shared/confirm-dialog/confirm-dialog.component.ts
diff --git a/mediarepo-ui/src/app/components/content-aware-image/content-aware-image.component.html b/mediarepo-ui/src/app/components/shared/content-aware-image/content-aware-image.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/content-aware-image/content-aware-image.component.html
rename to mediarepo-ui/src/app/components/shared/content-aware-image/content-aware-image.component.html
diff --git a/mediarepo-ui/src/app/components/content-aware-image/content-aware-image.component.scss b/mediarepo-ui/src/app/components/shared/content-aware-image/content-aware-image.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/content-aware-image/content-aware-image.component.scss
rename to mediarepo-ui/src/app/components/shared/content-aware-image/content-aware-image.component.scss
diff --git a/mediarepo-ui/src/app/components/content-aware-image/content-aware-image.component.spec.ts b/mediarepo-ui/src/app/components/shared/content-aware-image/content-aware-image.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/content-aware-image/content-aware-image.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/content-aware-image/content-aware-image.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/content-aware-image/content-aware-image.component.ts b/mediarepo-ui/src/app/components/shared/content-aware-image/content-aware-image.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/content-aware-image/content-aware-image.component.ts
rename to mediarepo-ui/src/app/components/shared/content-aware-image/content-aware-image.component.ts
diff --git a/mediarepo-ui/src/app/components/context-menu/context-menu.component.html b/mediarepo-ui/src/app/components/shared/context-menu/context-menu.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/context-menu/context-menu.component.html
rename to mediarepo-ui/src/app/components/shared/context-menu/context-menu.component.html
diff --git a/mediarepo-ui/src/app/components/context-menu/context-menu.component.scss b/mediarepo-ui/src/app/components/shared/context-menu/context-menu.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/context-menu/context-menu.component.scss
rename to mediarepo-ui/src/app/components/shared/context-menu/context-menu.component.scss
diff --git a/mediarepo-ui/src/app/components/context-menu/context-menu.component.spec.ts b/mediarepo-ui/src/app/components/shared/context-menu/context-menu.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/context-menu/context-menu.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/context-menu/context-menu.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/context-menu/context-menu.component.ts b/mediarepo-ui/src/app/components/shared/context-menu/context-menu.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/context-menu/context-menu.component.ts
rename to mediarepo-ui/src/app/components/shared/context-menu/context-menu.component.ts
diff --git a/mediarepo-ui/src/app/components/context-menu/file-context-menu/file-context-menu.component.html b/mediarepo-ui/src/app/components/shared/context-menu/file-context-menu/file-context-menu.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/context-menu/file-context-menu/file-context-menu.component.html
rename to mediarepo-ui/src/app/components/shared/context-menu/file-context-menu/file-context-menu.component.html
diff --git a/mediarepo-ui/src/app/components/context-menu/file-context-menu/file-context-menu.component.scss b/mediarepo-ui/src/app/components/shared/context-menu/file-context-menu/file-context-menu.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/context-menu/file-context-menu/file-context-menu.component.scss
rename to mediarepo-ui/src/app/components/shared/context-menu/file-context-menu/file-context-menu.component.scss
diff --git a/mediarepo-ui/src/app/components/context-menu/file-context-menu/file-context-menu.component.spec.ts b/mediarepo-ui/src/app/components/shared/context-menu/file-context-menu/file-context-menu.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/context-menu/file-context-menu/file-context-menu.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/context-menu/file-context-menu/file-context-menu.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/context-menu/file-context-menu/file-context-menu.component.ts b/mediarepo-ui/src/app/components/shared/context-menu/file-context-menu/file-context-menu.component.ts
similarity index 80%
rename from mediarepo-ui/src/app/components/context-menu/file-context-menu/file-context-menu.component.ts
rename to mediarepo-ui/src/app/components/shared/context-menu/file-context-menu/file-context-menu.component.ts
index 0aa41d3..73c32b8 100644
--- a/mediarepo-ui/src/app/components/context-menu/file-context-menu/file-context-menu.component.ts
+++ b/mediarepo-ui/src/app/components/shared/context-menu/file-context-menu/file-context-menu.component.ts
@@ -1,11 +1,11 @@
import {Component, ViewChild} from '@angular/core';
-import {File} from "../../../models/File";
+import {File} from "../../../../models/File";
import {ContextMenuComponent} from "../context-menu.component";
import {clipboard, dialog} from "@tauri-apps/api";
-import {FileService} from "../../../services/file/file.service";
-import {ErrorBrokerService} from "../../../services/error-broker/error-broker.service";
+import {FileService} from "../../../../services/file/file.service";
+import {ErrorBrokerService} from "../../../../services/error-broker/error-broker.service";
import {downloadDir} from "@tauri-apps/api/path";
-import {FileHelper} from "../../../services/file/file.helper";
+import {FileHelper} from "../../../../services/file/file.helper";
@Component({
selector: 'app-file-context-menu',
diff --git a/mediarepo-ui/src/app/components/file-edit/file-edit.component.html b/mediarepo-ui/src/app/components/shared/file-edit/file-edit.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-edit/file-edit.component.html
rename to mediarepo-ui/src/app/components/shared/file-edit/file-edit.component.html
diff --git a/mediarepo-ui/src/app/components/file-edit/file-edit.component.scss b/mediarepo-ui/src/app/components/shared/file-edit/file-edit.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-edit/file-edit.component.scss
rename to mediarepo-ui/src/app/components/shared/file-edit/file-edit.component.scss
diff --git a/mediarepo-ui/src/app/components/file-edit/file-edit.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-edit/file-edit.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-edit/file-edit.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-edit/file-edit.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-edit/file-edit.component.ts b/mediarepo-ui/src/app/components/shared/file-edit/file-edit.component.ts
similarity index 95%
rename from mediarepo-ui/src/app/components/file-edit/file-edit.component.ts
rename to mediarepo-ui/src/app/components/shared/file-edit/file-edit.component.ts
index 2366f2f..82efb65 100644
--- a/mediarepo-ui/src/app/components/file-edit/file-edit.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-edit/file-edit.component.ts
@@ -6,11 +6,11 @@ import {
SimpleChanges,
ViewChild
} from '@angular/core';
-import {File} from "../../models/File";
-import {Tag} from "../../models/Tag";
+import {File} from "../../../models/File";
+import {Tag} from "../../../models/Tag";
import {CdkVirtualScrollViewport} from "@angular/cdk/scrolling";
-import {TagService} from "../../services/tag/tag.service";
-import {FileService} from "../../services/file/file.service";
+import {TagService} from "../../../services/tag/tag.service";
+import {FileService} from "../../../services/file/file.service";
@Component({
selector: 'app-file-edit',
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.html b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.html
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.html
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.scss
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/content-viewer.component.html b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/content-viewer.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/content-viewer.component.html
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/content-viewer.component.html
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/content-viewer.component.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/content-viewer.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/content-viewer.component.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/content-viewer.component.scss
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/content-viewer.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/content-viewer.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/content-viewer.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/content-viewer.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/content-viewer.component.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/content-viewer.component.ts
similarity index 90%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/content-viewer.component.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/content-viewer.component.ts
index 6df8cbe..5fbc4a5 100644
--- a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/content-viewer.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/content-viewer.component.ts
@@ -8,10 +8,10 @@ import {
SimpleChanges, ViewChild
} from '@angular/core';
import {SafeResourceUrl} from "@angular/platform-browser";
-import {File} from "../../../../models/File";
-import {FileService} from "../../../../services/file/file.service";
-import {FileHelper} from "../../../../services/file/file.helper";
-import {ErrorBrokerService} from "../../../../services/error-broker/error-broker.service";
+import {File} from "../../../../../models/File";
+import {FileService} from "../../../../../services/file/file.service";
+import {FileHelper} from "../../../../../services/file/file.helper";
+import {ErrorBrokerService} from "../../../../../services/error-broker/error-broker.service";
import {BusyIndicatorComponent} from "../../../busy-indicator/busy-indicator.component";
type ContentType = "image" | "video" | "audio" | "other";
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.html b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.html
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.html
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.scss
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.html b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.html
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.html
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.scss
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component-theme.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component-theme.scss
similarity index 88%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component-theme.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component-theme.scss
index c36be2f..67873dd 100644
--- a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component-theme.scss
+++ b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component-theme.scss
@@ -1,5 +1,5 @@
@use 'sass:map';
-@use '../../../../../../node_modules/@angular/material/index' as mat;
+@use '../../../../../../../node_modules/@angular/material/index' as mat;
@mixin color($theme) {
$color-config: mat.get-color-config($theme);
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.html b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.html
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.html
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.scss
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.ts
similarity index 83%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.ts
index 341bfe9..b7e036a 100644
--- a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component.ts
@@ -7,11 +7,11 @@ import {
Output,
SimpleChanges
} from '@angular/core';
-import {File} from "../../../../models/File";
-import {FileService} from "../../../../services/file/file.service";
+import {File} from "../../../../../models/File";
+import {FileService} from "../../../../../services/file/file.service";
import {DomSanitizer, SafeResourceUrl} from "@angular/platform-browser";
-import {ErrorBrokerService} from "../../../../services/error-broker/error-broker.service";
-import {Selectable} from "../../../../models/Selectable";
+import {ErrorBrokerService} from "../../../../../services/error-broker/error-broker.service";
+import {Selectable} from "../../../../../models/Selectable";
@Component({
selector: 'app-file-gallery-entry',
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery.component.html b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery.component.html
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery.component.html
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery.component.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery.component.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery.component.scss
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery.component.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery.component.ts
similarity index 95%
rename from mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery.component.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery.component.ts
index 4cc2057..ec3a195 100644
--- a/mediarepo-ui/src/app/components/file-multiview/file-gallery/file-gallery.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-multiview/file-gallery/file-gallery.component.ts
@@ -9,12 +9,12 @@ import {
SimpleChanges,
ViewChild
} from '@angular/core';
-import {File} from "../../../models/File";
-import {FileService} from "../../../services/file/file.service";
+import {File} from "../../../../models/File";
+import {FileService} from "../../../../services/file/file.service";
import {SafeResourceUrl} from "@angular/platform-browser";
-import {Selectable} from "../../../models/Selectable";
+import {Selectable} from "../../../../models/Selectable";
import {CdkVirtualScrollViewport} from "@angular/cdk/scrolling";
-import {TabService} from "../../../services/tab/tab.service";
+import {TabService} from "../../../../services/tab/tab.service";
@Component({
selector: 'app-file-gallery',
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/GridEntry.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/GridEntry.ts
similarity index 56%
rename from mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/GridEntry.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/GridEntry.ts
index e434fb4..6c45777 100644
--- a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/GridEntry.ts
+++ b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/GridEntry.ts
@@ -1,4 +1,4 @@
-import {File} from "../../../../models/File";
+import {File} from "../../../../../models/File";
export type GridEntry = {
file: File,
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component-theme.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component-theme.scss
similarity index 88%
rename from mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component-theme.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component-theme.scss
index 5dd01a8..2e520d7 100644
--- a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component-theme.scss
+++ b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component-theme.scss
@@ -1,5 +1,5 @@
@use 'sass:map';
-@use '../../../../../../node_modules/@angular/material/index' as mat;
+@use '../../../../../../../node_modules/@angular/material/index' as mat;
@mixin color($theme) {
$color-config: mat.get-color-config($theme);
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.html b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.html
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.html
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.scss
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.ts
similarity index 87%
rename from mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.ts
index 753f097..0d47376 100644
--- a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component.ts
@@ -9,9 +9,9 @@ import {
SimpleChanges,
ViewChild
} from '@angular/core';
-import {File} from "../../../../models/File";
-import {FileService} from "../../../../services/file/file.service";
-import {ErrorBrokerService} from "../../../../services/error-broker/error-broker.service";
+import {File} from "../../../../../models/File";
+import {FileService} from "../../../../../services/file/file.service";
+import {ErrorBrokerService} from "../../../../../services/error-broker/error-broker.service";
import {SafeResourceUrl} from "@angular/platform-browser";
import {GridEntry} from "./GridEntry";
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid.component.html b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid.component.html
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid.component.html
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid.component.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid.component.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid.component.scss
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid.component.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid.component.ts
similarity index 96%
rename from mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid.component.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid.component.ts
index 48bc11d..e454992 100644
--- a/mediarepo-ui/src/app/components/file-multiview/file-grid/file-grid.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-multiview/file-grid/file-grid.component.ts
@@ -10,12 +10,12 @@ import {
SimpleChanges,
ViewChild
} from '@angular/core';
-import {File} from "../../../models/File";
+import {File} from "../../../../models/File";
import {FileGridEntryComponent} from "./file-grid-entry/file-grid-entry.component";
import {GridEntry} from "./file-grid-entry/GridEntry";
import {CdkVirtualScrollViewport} from "@angular/cdk/scrolling";
-import {TabService} from "../../../services/tab/tab.service";
-import {FileService} from "../../../services/file/file.service";
+import {TabService} from "../../../../services/tab/tab.service";
+import {FileService} from "../../../../services/file/file.service";
@Component({
selector: 'app-file-grid',
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-multiview.component.html b/mediarepo-ui/src/app/components/shared/file-multiview/file-multiview.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-multiview.component.html
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-multiview.component.html
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-multiview.component.scss b/mediarepo-ui/src/app/components/shared/file-multiview/file-multiview.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-multiview.component.scss
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-multiview.component.scss
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-multiview.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-multiview.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-multiview/file-multiview.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-multiview.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-multiview/file-multiview.component.ts b/mediarepo-ui/src/app/components/shared/file-multiview/file-multiview.component.ts
similarity index 96%
rename from mediarepo-ui/src/app/components/file-multiview/file-multiview.component.ts
rename to mediarepo-ui/src/app/components/shared/file-multiview/file-multiview.component.ts
index 36ee6df..58c1bbd 100644
--- a/mediarepo-ui/src/app/components/file-multiview/file-multiview.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-multiview/file-multiview.component.ts
@@ -1,5 +1,5 @@
import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
-import {File} from "../../models/File";
+import {File} from "../../../models/File";
@Component({
selector: 'app-file-multiview',
diff --git a/mediarepo-ui/src/app/components/file-search/file-search.component-theme.scss b/mediarepo-ui/src/app/components/shared/file-search/file-search.component-theme.scss
similarity index 91%
rename from mediarepo-ui/src/app/components/file-search/file-search.component-theme.scss
rename to mediarepo-ui/src/app/components/shared/file-search/file-search.component-theme.scss
index 3b42da4..2dc0374 100644
--- a/mediarepo-ui/src/app/components/file-search/file-search.component-theme.scss
+++ b/mediarepo-ui/src/app/components/shared/file-search/file-search.component-theme.scss
@@ -1,5 +1,5 @@
@use 'sass:map';
-@use '~@angular/material' as mat;
+@use '../../../../../node_modules/@angular/material/index' as mat;
@mixin color($theme) {
$color-config: mat.get-color-config($theme);
diff --git a/mediarepo-ui/src/app/components/file-search/file-search.component.html b/mediarepo-ui/src/app/components/shared/file-search/file-search.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/file-search.component.html
rename to mediarepo-ui/src/app/components/shared/file-search/file-search.component.html
diff --git a/mediarepo-ui/src/app/components/file-search/file-search.component.scss b/mediarepo-ui/src/app/components/shared/file-search/file-search.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/file-search.component.scss
rename to mediarepo-ui/src/app/components/shared/file-search/file-search.component.scss
diff --git a/mediarepo-ui/src/app/components/file-search/file-search.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-search/file-search.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/file-search.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-search/file-search.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-search/file-search.component.ts b/mediarepo-ui/src/app/components/shared/file-search/file-search.component.ts
similarity index 91%
rename from mediarepo-ui/src/app/components/file-search/file-search.component.ts
rename to mediarepo-ui/src/app/components/shared/file-search/file-search.component.ts
index 5c916a1..e732cf3 100644
--- a/mediarepo-ui/src/app/components/file-search/file-search.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-search/file-search.component.ts
@@ -8,18 +8,18 @@ import {
Output,
ViewChild
} from '@angular/core';
-import {FileService} from "../../services/file/file.service";
-import {TagQuery} from "../../models/TagQuery";
-import {SortKey} from "../../models/SortKey";
+import {FileService} from "../../../services/file/file.service";
+import {TagQuery} from "../../../models/TagQuery";
+import {SortKey} from "../../../models/SortKey";
import {MatDialog} from "@angular/material/dialog";
import {SortDialogComponent} from "./sort-dialog/sort-dialog.component";
-import {ErrorBrokerService} from "../../services/error-broker/error-broker.service";
+import {ErrorBrokerService} from "../../../services/error-broker/error-broker.service";
import {
FilterExpression,
SingleFilterExpression
-} from "../../models/FilterExpression";
+} from "../../../models/FilterExpression";
import {FilterDialogComponent} from "./filter-dialog/filter-dialog.component";
-import {Tag} from "../../models/Tag";
+import {Tag} from "../../../models/Tag";
@Component({
diff --git a/mediarepo-ui/src/app/components/file-search/filter-dialog/filter-dialog.component.html b/mediarepo-ui/src/app/components/shared/file-search/filter-dialog/filter-dialog.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/filter-dialog/filter-dialog.component.html
rename to mediarepo-ui/src/app/components/shared/file-search/filter-dialog/filter-dialog.component.html
diff --git a/mediarepo-ui/src/app/components/file-search/filter-dialog/filter-dialog.component.scss b/mediarepo-ui/src/app/components/shared/file-search/filter-dialog/filter-dialog.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/filter-dialog/filter-dialog.component.scss
rename to mediarepo-ui/src/app/components/shared/file-search/filter-dialog/filter-dialog.component.scss
diff --git a/mediarepo-ui/src/app/components/file-search/filter-dialog/filter-dialog.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-search/filter-dialog/filter-dialog.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/filter-dialog/filter-dialog.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-search/filter-dialog/filter-dialog.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-search/filter-dialog/filter-dialog.component.ts b/mediarepo-ui/src/app/components/shared/file-search/filter-dialog/filter-dialog.component.ts
similarity index 96%
rename from mediarepo-ui/src/app/components/file-search/filter-dialog/filter-dialog.component.ts
rename to mediarepo-ui/src/app/components/shared/file-search/filter-dialog/filter-dialog.component.ts
index ce97c95..8b1df42 100644
--- a/mediarepo-ui/src/app/components/file-search/filter-dialog/filter-dialog.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-search/filter-dialog/filter-dialog.component.ts
@@ -5,11 +5,11 @@ import {
FilterExpression,
OrFilterExpression,
SingleFilterExpression
-} from "../../../models/FilterExpression";
-import {TagQuery} from "../../../models/TagQuery";
-import {Tag} from "../../../models/Tag";
+} from "../../../../models/FilterExpression";
+import {TagQuery} from "../../../../models/TagQuery";
+import {Tag} from "../../../../models/Tag";
import {TagFilterListItemComponent} from "./tag-filter-list-item/tag-filter-list-item.component";
-import {Selectable} from "../../../models/Selectable";
+import {Selectable} from "../../../../models/Selectable";
@Component({
selector: 'app-filter-dialog',
diff --git a/mediarepo-ui/src/app/components/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.html b/mediarepo-ui/src/app/components/shared/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.html
rename to mediarepo-ui/src/app/components/shared/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.html
diff --git a/mediarepo-ui/src/app/components/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.scss b/mediarepo-ui/src/app/components/shared/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.scss
rename to mediarepo-ui/src/app/components/shared/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.scss
diff --git a/mediarepo-ui/src/app/components/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.ts b/mediarepo-ui/src/app/components/shared/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.ts
similarity index 92%
rename from mediarepo-ui/src/app/components/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.ts
rename to mediarepo-ui/src/app/components/shared/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.ts
index f2d0b03..afc20c1 100644
--- a/mediarepo-ui/src/app/components/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component.ts
@@ -10,9 +10,9 @@ import {
import {
FilterExpression,
OrFilterExpression, SingleFilterExpression
-} from "../../../../models/FilterExpression";
-import {TagQuery} from "../../../../models/TagQuery";
-import {Selectable} from "../../../../models/Selectable";
+} from "../../../../../models/FilterExpression";
+import {TagQuery} from "../../../../../models/TagQuery";
+import {Selectable} from "../../../../../models/Selectable";
@Component({
selector: 'app-tag-filter-list-item',
diff --git a/mediarepo-ui/src/app/components/file-search/sort-dialog/sort-dialog.component.html b/mediarepo-ui/src/app/components/shared/file-search/sort-dialog/sort-dialog.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/sort-dialog/sort-dialog.component.html
rename to mediarepo-ui/src/app/components/shared/file-search/sort-dialog/sort-dialog.component.html
diff --git a/mediarepo-ui/src/app/components/file-search/sort-dialog/sort-dialog.component.scss b/mediarepo-ui/src/app/components/shared/file-search/sort-dialog/sort-dialog.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/sort-dialog/sort-dialog.component.scss
rename to mediarepo-ui/src/app/components/shared/file-search/sort-dialog/sort-dialog.component.scss
diff --git a/mediarepo-ui/src/app/components/file-search/sort-dialog/sort-dialog.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-search/sort-dialog/sort-dialog.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-search/sort-dialog/sort-dialog.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-search/sort-dialog/sort-dialog.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-search/sort-dialog/sort-dialog.component.ts b/mediarepo-ui/src/app/components/shared/file-search/sort-dialog/sort-dialog.component.ts
similarity index 95%
rename from mediarepo-ui/src/app/components/file-search/sort-dialog/sort-dialog.component.ts
rename to mediarepo-ui/src/app/components/shared/file-search/sort-dialog/sort-dialog.component.ts
index ebac238..30d3be0 100644
--- a/mediarepo-ui/src/app/components/file-search/sort-dialog/sort-dialog.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-search/sort-dialog/sort-dialog.component.ts
@@ -1,6 +1,6 @@
import {Component, Inject} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog";
-import {SortKey} from "../../../models/SortKey";
+import {SortKey} from "../../../../models/SortKey";
import {CdkDragDrop, moveItemInArray} from "@angular/cdk/drag-drop";
@Component({
diff --git a/mediarepo-ui/src/app/components/file-thumbnail/file-thumbnail.component.html b/mediarepo-ui/src/app/components/shared/file-thumbnail/file-thumbnail.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/file-thumbnail/file-thumbnail.component.html
rename to mediarepo-ui/src/app/components/shared/file-thumbnail/file-thumbnail.component.html
diff --git a/mediarepo-ui/src/app/components/file-thumbnail/file-thumbnail.component.scss b/mediarepo-ui/src/app/components/shared/file-thumbnail/file-thumbnail.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/file-thumbnail/file-thumbnail.component.scss
rename to mediarepo-ui/src/app/components/shared/file-thumbnail/file-thumbnail.component.scss
diff --git a/mediarepo-ui/src/app/components/file-thumbnail/file-thumbnail.component.spec.ts b/mediarepo-ui/src/app/components/shared/file-thumbnail/file-thumbnail.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/file-thumbnail/file-thumbnail.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/file-thumbnail/file-thumbnail.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/file-thumbnail/file-thumbnail.component.ts b/mediarepo-ui/src/app/components/shared/file-thumbnail/file-thumbnail.component.ts
similarity index 87%
rename from mediarepo-ui/src/app/components/file-thumbnail/file-thumbnail.component.ts
rename to mediarepo-ui/src/app/components/shared/file-thumbnail/file-thumbnail.component.ts
index a57761f..36c739a 100644
--- a/mediarepo-ui/src/app/components/file-thumbnail/file-thumbnail.component.ts
+++ b/mediarepo-ui/src/app/components/shared/file-thumbnail/file-thumbnail.component.ts
@@ -1,7 +1,7 @@
import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';
-import {File} from "../../models/File";
-import {FileService} from "../../services/file/file.service";
-import {FileHelper} from "../../services/file/file.helper";
+import {File} from "../../../models/File";
+import {FileService} from "../../../services/file/file.service";
+import {FileHelper} from "../../../services/file/file.helper";
import {SafeResourceUrl} from "@angular/platform-browser";
@Component({
diff --git a/mediarepo-ui/src/app/components/inputs/native-file-select/native-file-select.component.html b/mediarepo-ui/src/app/components/shared/inputs/native-file-select/native-file-select.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/inputs/native-file-select/native-file-select.component.html
rename to mediarepo-ui/src/app/components/shared/inputs/native-file-select/native-file-select.component.html
diff --git a/mediarepo-ui/src/app/components/inputs/native-file-select/native-file-select.component.scss b/mediarepo-ui/src/app/components/shared/inputs/native-file-select/native-file-select.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/inputs/native-file-select/native-file-select.component.scss
rename to mediarepo-ui/src/app/components/shared/inputs/native-file-select/native-file-select.component.scss
diff --git a/mediarepo-ui/src/app/components/inputs/native-file-select/native-file-select.component.spec.ts b/mediarepo-ui/src/app/components/shared/inputs/native-file-select/native-file-select.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/inputs/native-file-select/native-file-select.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/inputs/native-file-select/native-file-select.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/inputs/native-file-select/native-file-select.component.ts b/mediarepo-ui/src/app/components/shared/inputs/native-file-select/native-file-select.component.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/inputs/native-file-select/native-file-select.component.ts
rename to mediarepo-ui/src/app/components/shared/inputs/native-file-select/native-file-select.component.ts
diff --git a/mediarepo-ui/src/app/components/inputs/tag-input/tag-input.component.html b/mediarepo-ui/src/app/components/shared/inputs/tag-input/tag-input.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/inputs/tag-input/tag-input.component.html
rename to mediarepo-ui/src/app/components/shared/inputs/tag-input/tag-input.component.html
diff --git a/mediarepo-ui/src/app/components/inputs/tag-input/tag-input.component.scss b/mediarepo-ui/src/app/components/shared/inputs/tag-input/tag-input.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/inputs/tag-input/tag-input.component.scss
rename to mediarepo-ui/src/app/components/shared/inputs/tag-input/tag-input.component.scss
diff --git a/mediarepo-ui/src/app/components/inputs/tag-input/tag-input.component.spec.ts b/mediarepo-ui/src/app/components/shared/inputs/tag-input/tag-input.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/inputs/tag-input/tag-input.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/inputs/tag-input/tag-input.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/inputs/tag-input/tag-input.component.ts b/mediarepo-ui/src/app/components/shared/inputs/tag-input/tag-input.component.ts
similarity index 98%
rename from mediarepo-ui/src/app/components/inputs/tag-input/tag-input.component.ts
rename to mediarepo-ui/src/app/components/shared/inputs/tag-input/tag-input.component.ts
index 178f138..f8fec21 100644
--- a/mediarepo-ui/src/app/components/inputs/tag-input/tag-input.component.ts
+++ b/mediarepo-ui/src/app/components/shared/inputs/tag-input/tag-input.component.ts
@@ -6,7 +6,7 @@ import {
Output, SimpleChanges,
ViewChild
} from '@angular/core';
-import {Tag} from "../../../models/Tag";
+import {Tag} from "../../../../models/Tag";
import {FormControl} from "@angular/forms";
import {MatAutocompleteSelectedEvent} from "@angular/material/autocomplete";
import {Observable} from "rxjs";
diff --git a/mediarepo-ui/src/app/components/shared/shared.module.ts b/mediarepo-ui/src/app/components/shared/shared.module.ts
new file mode 100644
index 0000000..8d336ee
--- /dev/null
+++ b/mediarepo-ui/src/app/components/shared/shared.module.ts
@@ -0,0 +1,138 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import {AppComponent} from "../../app.component";
+import {RepositoryCardComponent} from "../core/repositories-tab/repository-card/repository-card.component";
+import {FileGridComponent} from "./file-multiview/file-grid/file-grid.component";
+import {FileGridEntryComponent} from "./file-multiview/file-grid/file-grid-entry/file-grid-entry.component";
+import {FileSearchComponent} from "./file-search/file-search.component";
+import {SortDialogComponent} from "./file-search/sort-dialog/sort-dialog.component";
+import {FileGalleryComponent} from "./file-multiview/file-gallery/file-gallery.component";
+import {FileGalleryEntryComponent} from "./file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component";
+import {ContentAwareImageComponent} from "./content-aware-image/content-aware-image.component";
+import {AddRepositoryDialogComponent} from "../core/repositories-tab/add-repository-dialog/add-repository-dialog.component";
+import {ConfirmDialogComponent} from "./confirm-dialog/confirm-dialog.component";
+import {TagItemComponent} from "./tag-item/tag-item.component";
+import {FileEditComponent} from "./file-edit/file-edit.component";
+import {NativeFileSelectComponent} from "./inputs/native-file-select/native-file-select.component";
+import {FilterDialogComponent} from "./file-search/filter-dialog/filter-dialog.component";
+import {TagFilterListItemComponent} from "./file-search/filter-dialog/tag-filter-list-item/tag-filter-list-item.component";
+import {TagInputComponent} from "./inputs/tag-input/tag-input.component";
+import {ContextMenuComponent} from "./context-menu/context-menu.component";
+import {FileContextMenuComponent} from "./context-menu/file-context-menu/file-context-menu.component";
+import {ContentViewerComponent} from "./file-multiview/file-gallery/content-viewer/content-viewer.component";
+import {ImageViewerComponent} from "./file-multiview/file-gallery/content-viewer/image-viewer/image-viewer.component";
+import {VideoViewerComponent} from "./file-multiview/file-gallery/content-viewer/video-viewer/video-viewer.component";
+import {AudioViewerComponent} from "./file-multiview/file-gallery/content-viewer/audio-viewer/audio-viewer.component";
+import {BusyIndicatorComponent} from "./busy-indicator/busy-indicator.component";
+import {FileThumbnailComponent} from "./file-thumbnail/file-thumbnail.component";
+import {FileMultiviewComponent} from "./file-multiview/file-multiview.component";
+import {MatCardModule} from "@angular/material/card";
+import {MatListModule} from "@angular/material/list";
+import {MatButtonModule} from "@angular/material/button";
+import {MatToolbarModule} from "@angular/material/toolbar";
+import {MatSnackBarModule} from "@angular/material/snack-bar";
+import {MatFormFieldModule} from "@angular/material/form-field";
+import {MatInputModule} from "@angular/material/input";
+import {ReactiveFormsModule} from "@angular/forms";
+import {MatSidenavModule} from "@angular/material/sidenav";
+import {MatGridListModule} from "@angular/material/grid-list";
+import {MatProgressBarModule} from "@angular/material/progress-bar";
+import {MatPaginatorModule} from "@angular/material/paginator";
+import {ScrollingModule} from "@angular/cdk/scrolling";
+import {MatChipsModule} from "@angular/material/chips";
+import {MatAutocompleteModule} from "@angular/material/autocomplete";
+import {MatTabsModule} from "@angular/material/tabs";
+import {FlexModule, GridModule} from "@angular/flex-layout";
+import {MatRippleModule} from "@angular/material/core";
+import {MatDialogModule} from "@angular/material/dialog";
+import {MatSelectModule} from "@angular/material/select";
+import {MatProgressSpinnerModule} from "@angular/material/progress-spinner";
+import {BlockUIModule} from "primeng/blockui";
+import {PanelModule} from "primeng/panel";
+import {DragDropModule} from "@angular/cdk/drag-drop";
+import {MatSliderModule} from "@angular/material/slider";
+import {MatTooltipModule} from "@angular/material/tooltip";
+import {MatMenuModule} from "@angular/material/menu";
+import {MatExpansionModule} from "@angular/material/expansion";
+import {MatCheckboxModule} from "@angular/material/checkbox";
+import {AppRoutingModule} from "../../app-routing.module";
+import {NgIconsModule} from "@ng-icons/core";
+import * as materialIcons from "@ng-icons/material-icons";
+
+
+
+@NgModule({
+ declarations: [
+ RepositoryCardComponent,
+ FileGridComponent,
+ FileGridEntryComponent,
+ FileSearchComponent,
+ SortDialogComponent,
+ FileGalleryComponent,
+ FileGalleryEntryComponent,
+ ContentAwareImageComponent,
+ AddRepositoryDialogComponent,
+ ConfirmDialogComponent,
+ TagItemComponent,
+ FileEditComponent,
+ NativeFileSelectComponent,
+ FilterDialogComponent,
+ TagFilterListItemComponent,
+ TagInputComponent,
+ ContextMenuComponent,
+ FileContextMenuComponent,
+ ContentViewerComponent,
+ ImageViewerComponent,
+ VideoViewerComponent,
+ AudioViewerComponent,
+ BusyIndicatorComponent,
+ FileThumbnailComponent,
+ FileMultiviewComponent,
+ ],
+ exports: [
+ FileMultiviewComponent,
+ NativeFileSelectComponent,
+ BusyIndicatorComponent,
+ FileSearchComponent,
+ TagItemComponent,
+ FileEditComponent,
+ ContextMenuComponent,
+ RepositoryCardComponent
+ ],
+ imports: [
+ CommonModule,
+ MatCardModule,
+ MatListModule,
+ MatButtonModule,
+ MatToolbarModule,
+ MatSnackBarModule,
+ MatFormFieldModule,
+ MatInputModule,
+ ReactiveFormsModule,
+ MatSidenavModule,
+ MatGridListModule,
+ MatProgressBarModule,
+ MatPaginatorModule,
+ ScrollingModule,
+ MatChipsModule,
+ MatAutocompleteModule,
+ MatTabsModule,
+ FlexModule,
+ GridModule,
+ MatRippleModule,
+ MatDialogModule,
+ MatSelectModule,
+ MatProgressSpinnerModule,
+ BlockUIModule,
+ PanelModule,
+ DragDropModule,
+ MatSliderModule,
+ MatTooltipModule,
+ MatMenuModule,
+ MatExpansionModule,
+ MatCheckboxModule,
+ AppRoutingModule,
+ NgIconsModule.withIcons({...materialIcons}),
+ ]
+})
+export class SharedModule { }
diff --git a/mediarepo-ui/src/app/components/tag-item/tag-item.component.html b/mediarepo-ui/src/app/components/shared/tag-item/tag-item.component.html
similarity index 100%
rename from mediarepo-ui/src/app/components/tag-item/tag-item.component.html
rename to mediarepo-ui/src/app/components/shared/tag-item/tag-item.component.html
diff --git a/mediarepo-ui/src/app/components/tag-item/tag-item.component.scss b/mediarepo-ui/src/app/components/shared/tag-item/tag-item.component.scss
similarity index 100%
rename from mediarepo-ui/src/app/components/tag-item/tag-item.component.scss
rename to mediarepo-ui/src/app/components/shared/tag-item/tag-item.component.scss
diff --git a/mediarepo-ui/src/app/components/tag-item/tag-item.component.spec.ts b/mediarepo-ui/src/app/components/shared/tag-item/tag-item.component.spec.ts
similarity index 100%
rename from mediarepo-ui/src/app/components/tag-item/tag-item.component.spec.ts
rename to mediarepo-ui/src/app/components/shared/tag-item/tag-item.component.spec.ts
diff --git a/mediarepo-ui/src/app/components/tag-item/tag-item.component.ts b/mediarepo-ui/src/app/components/shared/tag-item/tag-item.component.ts
similarity index 89%
rename from mediarepo-ui/src/app/components/tag-item/tag-item.component.ts
rename to mediarepo-ui/src/app/components/shared/tag-item/tag-item.component.ts
index 2e3f77c..80ed105 100644
--- a/mediarepo-ui/src/app/components/tag-item/tag-item.component.ts
+++ b/mediarepo-ui/src/app/components/shared/tag-item/tag-item.component.ts
@@ -1,5 +1,5 @@
import {Component, Input} from '@angular/core';
-import {Tag} from "../../models/Tag";
+import {Tag} from "../../../models/Tag";
@Component({
selector: 'app-tag-item',
diff --git a/mediarepo-ui/src/app/services/file/file.service.ts b/mediarepo-ui/src/app/services/file/file.service.ts
index 8537a97..110120c 100644
--- a/mediarepo-ui/src/app/services/file/file.service.ts
+++ b/mediarepo-ui/src/app/services/file/file.service.ts
@@ -4,13 +4,10 @@ import {File} from "../../models/File";
import {invoke} from "@tauri-apps/api/tauri";
import {DomSanitizer, SafeResourceUrl} from "@angular/platform-browser";
import {Thumbnail} from "../../models/Thumbnail";
-import {TagQuery} from "../../models/TagQuery";
import {SortKey} from "../../models/SortKey";
import {RepositoryService} from "../repository/repository.service";
import {FilterExpression} from "../../models/FilterExpression";
-import {HttpClient} from "@angular/common/http";
-import {map} from "rxjs/operators";
-import {http} from "@tauri-apps/api";
+
@Injectable({
providedIn: 'root'
@@ -23,7 +20,6 @@ export class FileService {
constructor(
@Inject(DomSanitizer) private sanitizer: DomSanitizer,
private repoService: RepositoryService,
- private http: HttpClient,
) {
repoService.selectedRepository.subscribe(_ => this.clearCache());
}
diff --git a/mediarepo-ui/src/styles.scss b/mediarepo-ui/src/styles.scss
index d5b7851..dac3ef6 100644
--- a/mediarepo-ui/src/styles.scss
+++ b/mediarepo-ui/src/styles.scss
@@ -1,9 +1,9 @@
@use 'sass:map';
@use "~@angular/material" as mat;
@use 'src/app/app.component-theme' as app;
-@use 'app/components/file-multiview/file-grid/file-grid-entry/file-grid-entry.component-theme' as file-grid-entry;
-@use 'src/app/components/file-search/file-search.component-theme' as file-search;
-@use "app/components/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component-theme" as gallery-entry;
+@use 'app/components/shared/file-multiview/file-grid/file-grid-entry/file-grid-entry.component-theme' as file-grid-entry;
+@use 'app/components/shared/file-search/file-search.component-theme' as file-search;
+@use "app/components/shared/file-multiview/file-gallery/file-gallery-entry/file-gallery-entry.component-theme" as gallery-entry;
@include mat.core();