diff --git a/src/Ombi/ClientApp/src/app/app.module.ts b/src/Ombi/ClientApp/src/app/app.module.ts
index d2b38d782..85c840e6c 100644
--- a/src/Ombi/ClientApp/src/app/app.module.ts
+++ b/src/Ombi/ClientApp/src/app/app.module.ts
@@ -68,7 +68,8 @@ const routes: Routes = [
{ loadChildren: "./settings/settings.module#SettingsModule", path: "Settings" },
{ loadChildren: "./wizard/wizard.module#WizardModule", path: "Wizard" },
{ loadChildren: "./usermanagement/usermanagement.module#UserManagementModule", path: "usermanagement" },
- { loadChildren: "./requests/requests.module#RequestsModule", path: "requests" },
+ { loadChildren: "./requests/requests.module#RequestsModule", path: "requestsOld" },
+ { loadChildren: "./requests-list/requests-list.module#RequestsListModule", path: "requests" },
{ loadChildren: "./search/search.module#SearchModule", path: "search" },
{ loadChildren: "./recentlyAdded/recentlyAdded.module#RecentlyAddedModule", path: "recentlyadded" },
{ loadChildren: "./vote/vote.module#VoteModule", path: "vote" },
diff --git a/src/Ombi/ClientApp/src/app/media-details/media-details.components.ts b/src/Ombi/ClientApp/src/app/media-details/media-details.components.ts
deleted file mode 100644
index e69de29bb..000000000
diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/index.ts b/src/Ombi/ClientApp/src/app/requests-list/components/index.ts
new file mode 100644
index 000000000..fd3f7445c
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/requests-list/components/index.ts
@@ -0,0 +1,8 @@
+import { RequestsListComponent } from "./requests-list.component";
+import { MoviesGridComponent } from "./movies-grid/movies-grid.component";
+
+export const components: any[] = [
+ RequestsListComponent,
+ MoviesGridComponent,
+];
+
diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.html b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.html
new file mode 100644
index 000000000..23490a43a
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.html
@@ -0,0 +1,47 @@
+
+
+
+
+
+ Requested By |
+ {{element.requestedUser.userAlias}} |
+
+
+
+ Title |
+ {{element.title}} ({{element.releaseDate | amLocal | amDateFormat: 'YYYY'}}) |
+
+
+
+ Request Date |
+ {{element.requestedDate | amLocal | amDateFormat: 'LL'}} |
+
+
+
+ Status |
+ {{element.status}} |
+
+
+
+
+ Request Status |
+
+ {{'Common.ProcessingRequest' | translate}}
+ {{'Common.PendingApproval' | translate}}
+
+ {{'Common.NotRequested' | translate}}
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts
new file mode 100644
index 000000000..3dad4584f
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts
@@ -0,0 +1,23 @@
+import { Component, OnInit } from "@angular/core";
+import { RequestService } from "../../../services";
+import { IMovieRequests, OrderType, FilterType, IRequestsViewModel } from "../../../interfaces";
+
+@Component({
+ templateUrl: "./movies-grid.component.html",
+ selector: "movies-grid",
+ styleUrls: ["../requests-list.component.scss"]
+})
+export class MoviesGridComponent implements OnInit {
+ public dataSource: IRequestsViewModel;
+
+ public displayedColumns: string[] = ['requestedBy', 'title', 'requestedDate', 'status', 'requestStatus', 'actions'];
+
+ constructor(private requestService: RequestService) {
+
+ }
+
+ public async ngOnInit() {
+ this.dataSource = await this.requestService.getMovieRequests(30,0, OrderType.RequestedDateDesc,
+ {availabilityFilter: FilterType.None, statusFilter: FilterType.None}).toPromise();
+ }
+}
diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.html b/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.html
new file mode 100644
index 000000000..0ae25240f
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ Some more tab content
+ ...
+
+
+ Some more tab content
+ ...
+
+
+
+
diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.scss b/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.scss
new file mode 100644
index 000000000..a420998bc
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.scss
@@ -0,0 +1,8 @@
+.small-middle-container{
+ margin: auto;
+ width: 95%;
+}
+
+.table {
+ width: 100%;
+}
\ No newline at end of file
diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.ts b/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.ts
new file mode 100644
index 000000000..6489b6208
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.ts
@@ -0,0 +1,8 @@
+import { Component } from "@angular/core";
+
+@Component({
+ templateUrl: "./requests-list.component.html",
+ styleUrls: ["./requests-list.component.scss"]
+})
+export class RequestsListComponent {
+}
diff --git a/src/Ombi/ClientApp/src/app/requests-list/requests-list.module.ts b/src/Ombi/ClientApp/src/app/requests-list/requests-list.module.ts
new file mode 100644
index 000000000..26c04d32a
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/requests-list/requests-list.module.ts
@@ -0,0 +1,36 @@
+import { NgModule } from "@angular/core";
+import { RouterModule, Routes } from "@angular/router";
+
+import { RequestService } from "../services";
+
+import { SharedModule } from "../shared/shared.module";
+import { PipeModule } from "../pipes/pipe.module";
+
+import { AuthGuard } from "../auth/auth.guard";
+
+import * as fromComponents from './components';
+import { RequestsListComponent } from "./components/requests-list.component";
+
+const routes: Routes = [
+ { path: "", component: RequestsListComponent, canActivate: [AuthGuard] },
+];
+@NgModule({
+ imports: [
+ RouterModule.forChild(routes),
+ SharedModule,
+ PipeModule,
+ ],
+ declarations: [
+ ...fromComponents.components
+ ],
+ exports: [
+ RouterModule,
+ ],
+ entryComponents: [
+ ],
+ providers: [
+ RequestService,
+ ],
+
+})
+export class RequestsListModule { }
diff --git a/src/Ombi/ClientApp/src/app/shared/shared.module.ts b/src/Ombi/ClientApp/src/app/shared/shared.module.ts
index ea6cbcace..00a17e891 100644
--- a/src/Ombi/ClientApp/src/app/shared/shared.module.ts
+++ b/src/Ombi/ClientApp/src/app/shared/shared.module.ts
@@ -10,7 +10,7 @@ import { IssuesReportComponent } from "./issues-report.component";
import { InputSwitchModule, SidebarModule } from "primeng/primeng";
import {
- MatButtonModule, MatNativeDateModule, MatIconModule, MatSidenavModule, MatListModule, MatToolbarModule, MatTooltipModule, MatSelectModule} from '@angular/material';
+ MatButtonModule, MatNativeDateModule, MatIconModule, MatSidenavModule, MatListModule, MatToolbarModule, MatTooltipModule, MatSelectModule, MatTableModule} from '@angular/material';
import { MatCardModule, MatInputModule, MatTabsModule, MatAutocompleteModule, MatCheckboxModule, MatExpansionModule, MatDialogModule, MatProgressSpinnerModule,
MatChipsModule } from "@angular/material";
import { EpisodeRequestComponent } from "./episode-request/episode-request.component";
@@ -76,6 +76,7 @@ import { EpisodeRequestComponent } from "./episode-request/episode-request.compo
MatCheckboxModule,
MatExpansionModule,
MatDialogModule,
+ MatTableModule,
],
})
export class SharedModule {}