diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index a6c362d..2f294f5 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -1,7 +1,7 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
-import { AuthGuard, AuthUpdateGuard, AuthenticatedGuard, AnonymousGuard } from './auth/auth.guard';
+import { AuthUpdateGuard, AuthenticatedGuard, AnonymousGuard } from './auth/auth.guard';
import { PageBookmarks } from './pages/bookmarks/bookmarks.page';
import { PageComment } from './pages/comment/comment.page';
import { PageEntryEdit } from './pages/entry/edit/edit.page';
@@ -25,7 +25,7 @@ import { UiMain } from './ui/main/main.ui';
const routes: Routes = [
{
path: '', component: UiMain, children: [
- { path: '', redirectTo: "/v/TOP", pathMatch: 'full' },
+ { path: '', component: PageView, canActivate: [ AuthenticatedGuard ] },
{ path: 'login', component: PageLogin, canActivate: [ AnonymousGuard ] },
{ path: 'search', component: PageSearch, canActivate: [ AuthenticatedGuard ] },
{ path: 'moderation/comments', component: PageModerationComments, canActivate: [ AuthenticatedGuard ] },
diff --git a/src/app/material/autofocus.ts b/src/app/material/autofocus.ts
index 592312e..8290d33 100644
--- a/src/app/material/autofocus.ts
+++ b/src/app/material/autofocus.ts
@@ -1,5 +1,4 @@
import { Directive, ElementRef, OnInit } from '@angular/core';
-import { MatInput } from '@angular/material/input';
@Directive({
selector: '[matAutofocus]',
diff --git a/src/app/pages/bookmarks/bookmarks.page.ts b/src/app/pages/bookmarks/bookmarks.page.ts
index 5ed3681..0453181 100644
--- a/src/app/pages/bookmarks/bookmarks.page.ts
+++ b/src/app/pages/bookmarks/bookmarks.page.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, Input } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
import { BookmarksService } from '../../services/bookmarks.service';
@@ -16,7 +16,7 @@ export class PageBookmarks implements OnInit {
}
fetch(page: number, size: number) {
- return this.bookmarksService.getEntries(page,size);
+ return this.bookmarksService.getEntries(page, size);
}
}
diff --git a/src/app/pages/comment/comment.page.ts b/src/app/pages/comment/comment.page.ts
index 16f275a..c7e1fe9 100644
--- a/src/app/pages/comment/comment.page.ts
+++ b/src/app/pages/comment/comment.page.ts
@@ -1,9 +1,8 @@
-import { Component, OnInit, ViewChild } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { CommentService } from '../../services/comment.service';
-import { UiComments } from '../../ui/comments/comments.ui';
@Component({
selector: 'page-comment',
@@ -15,7 +14,7 @@ export class PageComment implements OnInit {
id: number;
comment: any;
notfound: boolean = false;
- ignoreSubcomments : string[] = ['entry'];
+ ignoreSubcomments: string[] = [ 'entry' ];
constructor(private commentService: CommentService,
private route: ActivatedRoute) { }
diff --git a/src/app/pages/moderation/comments/moderation.comments.page.ts b/src/app/pages/moderation/comments/moderation.comments.page.ts
index ec72f89..b9297e3 100644
--- a/src/app/pages/moderation/comments/moderation.comments.page.ts
+++ b/src/app/pages/moderation/comments/moderation.comments.page.ts
@@ -1,6 +1,5 @@
import { Component, OnInit, Input } from '@angular/core';
-import { Router, ActivatedRoute } from '@angular/router';
import { ModerationService } from '../../../services/moderarion.service';
@Component({
diff --git a/src/app/pages/search/search.page.ts b/src/app/pages/search/search.page.ts
index 5524a71..4cebe27 100644
--- a/src/app/pages/search/search.page.ts
+++ b/src/app/pages/search/search.page.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, ViewChild } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { PageEvent } from '@angular/material/paginator';
import { ActivatedRoute, Router } from '@angular/router';
diff --git a/src/app/pages/user/user.page.ts b/src/app/pages/user/user.page.ts
index 9c1c4ac..c0e277b 100644
--- a/src/app/pages/user/user.page.ts
+++ b/src/app/pages/user/user.page.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, ViewChild } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
diff --git a/src/app/pages/user/usercomments/usercomments.page.ts b/src/app/pages/user/usercomments/usercomments.page.ts
index 6bc68f2..920bb2c 100644
--- a/src/app/pages/user/usercomments/usercomments.page.ts
+++ b/src/app/pages/user/usercomments/usercomments.page.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, Input, OnDestroy } from '@angular/core';
+import { Component, OnInit, OnDestroy } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { Subscription } from 'rxjs';
diff --git a/src/app/pages/view/edit/edit.page.ts b/src/app/pages/view/edit/edit.page.ts
index 68c4da3..a5949cd 100644
--- a/src/app/pages/view/edit/edit.page.ts
+++ b/src/app/pages/view/edit/edit.page.ts
@@ -1,6 +1,6 @@
-import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';
+import { Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
-import { FormBuilder, FormGroup, Validators, NgForm } from '@angular/forms';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { MatSnackBar } from '@angular/material/snack-bar';
import { TagsService } from 'src/app/services/tags.service';
import { SettingsService } from 'src/app/services/settings.service';
diff --git a/src/app/pages/view/view.page.html b/src/app/pages/view/view.page.html
index 3adc92e..a0a5709 100644
--- a/src/app/pages/view/view.page.html
+++ b/src/app/pages/view/view.page.html
@@ -1,4 +1,4 @@
edit
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/app/pages/view/view.page.ts b/src/app/pages/view/view.page.ts
index 463f1b5..45a30f8 100644
--- a/src/app/pages/view/view.page.ts
+++ b/src/app/pages/view/view.page.ts
@@ -31,13 +31,24 @@ export class PageView implements OnInit, OnDestroy {
this.name = params[ 'name' ];
this.username = params[ 'username' ];
- this.viewService.getView(this.name, this.username).subscribe((data) => {
- if (this.entries) {
- this.entries.refresh();
- }
- }, (error) => {
- this.router.navigate([ '/v' ], { queryParams: { name: this.name }, queryParamsHandling: 'merge' });
- })
+ if (!this.name) {
+ this.viewService.getViews().then((data: any) => {
+ const views = data.content;
+ if (!views || views.length == 0) {
+ this.router.navigate([ '/v' ], { queryParams: { name: this.name }, queryParamsHandling: 'merge' });
+ } else {
+ this.router.navigateByUrl('/v/' + views[ 0 ].name);
+ }
+ })
+ } else {
+ this.viewService.getView(this.name, this.username).subscribe((data) => {
+ if (this.entries) {
+ this.entries.refresh();
+ }
+ }, (error) => {
+ this.router.navigate([ '/v' ], { queryParams: { name: this.name }, queryParamsHandling: 'merge' });
+ })
+ }
});
this.boundFetch = this.fetch.bind(this);
}
diff --git a/src/app/services/requesterror.ts b/src/app/services/requesterror.ts
index 621bb93..2fa43de 100644
--- a/src/app/services/requesterror.ts
+++ b/src/app/services/requesterror.ts
@@ -1,4 +1,3 @@
-
export class RequestError extends Error {
response: any;
diff --git a/src/app/services/settings.service.ts b/src/app/services/settings.service.ts
index 16a6d06..2d5fe46 100644
--- a/src/app/services/settings.service.ts
+++ b/src/app/services/settings.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core';
-import { ReplaySubject, of } from 'rxjs';
+import { ReplaySubject } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { RequestError } from './requesterror';
diff --git a/src/app/services/tags.service.ts b/src/app/services/tags.service.ts
index a0b8755..65aedc5 100644
--- a/src/app/services/tags.service.ts
+++ b/src/app/services/tags.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core';
-import { HttpClient, HttpParams } from '@angular/common/http';
+import { HttpClient } from '@angular/common/http';
import { environment } from '../../environments/environment';
@Injectable({
diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts
index 9a520d1..f1b9318 100644
--- a/src/app/services/user.service.ts
+++ b/src/app/services/user.service.ts
@@ -1,6 +1,5 @@
import { Injectable } from '@angular/core';
-import { ReplaySubject, of } from 'rxjs';
-import { HttpClient, HttpHeaders } from '@angular/common/http';
+import { HttpClient } from '@angular/common/http';
import { environment } from '../../environments/environment';
diff --git a/src/app/ui/comment/comment.ui.ts b/src/app/ui/comment/comment.ui.ts
index 128f032..da1c256 100644
--- a/src/app/ui/comment/comment.ui.ts
+++ b/src/app/ui/comment/comment.ui.ts
@@ -1,6 +1,6 @@
import { Component, OnInit, Input, ViewChild } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
-import { FormBuilder, FormGroup, Validators, NgForm } from '@angular/forms';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { AuthService } from '../../services/auth.service';
import { VoteService } from '../../services/vote.service';
diff --git a/src/app/ui/comments/comments.ui.ts b/src/app/ui/comments/comments.ui.ts
index 4ac5dcc..0d39cfb 100644
--- a/src/app/ui/comments/comments.ui.ts
+++ b/src/app/ui/comments/comments.ui.ts
@@ -1,5 +1,4 @@
import { Component, OnInit, Input, OnDestroy } from '@angular/core';
-import { PageEvent } from '@angular/material/paginator';
import { Subscription } from 'rxjs';
import { CommentService } from '../../services/comment.service';
diff --git a/src/app/ui/entries/entries.ui.ts b/src/app/ui/entries/entries.ui.ts
index bf7d3a6..5379c70 100644
--- a/src/app/ui/entries/entries.ui.ts
+++ b/src/app/ui/entries/entries.ui.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, Input, ViewChild } from '@angular/core';
+import { Component, OnInit, Input } from '@angular/core';
import { Observable } from 'rxjs';
@Component({
diff --git a/src/app/ui/entry/entry.ui.ts b/src/app/ui/entry/entry.ui.ts
index 45cd670..11744e1 100644
--- a/src/app/ui/entry/entry.ui.ts
+++ b/src/app/ui/entry/entry.ui.ts
@@ -8,7 +8,7 @@ import { BookmarksService } from '../../services/bookmarks.service';
import { ModerationService } from '../../services/moderarion.service';
import { ConfirmDialog } from '../../ui/confirm/confirm.component';
import { EntriesService } from 'src/app/services/entries.service';
-import { ActivatedRoute, Params, Router } from '@angular/router';
+import { ActivatedRoute, Router } from '@angular/router';
@Component({
selector: 'ui-entry',
diff --git a/src/app/ui/main/main.ui.ts b/src/app/ui/main/main.ui.ts
index 626503f..ae4b622 100644
--- a/src/app/ui/main/main.ui.ts
+++ b/src/app/ui/main/main.ui.ts
@@ -1,4 +1,4 @@
-import { Component, HostListener, ViewChild } from '@angular/core';
+import { Component, HostListener } from '@angular/core';
import { Router } from '@angular/router';
import { DomSanitizer } from '@angular/platform-browser';
import { MatIconRegistry } from '@angular/material/icon';
@@ -9,7 +9,6 @@ import { AuthService } from '../../services/auth.service';
import { UserService } from '../../services/user.service';
import { I18nService } from '../../services/i18n.service';
import { SettingsService } from '../../services/settings.service';
-import { MatSidenav } from '@angular/material/sidenav';
@Component({
selector: 'ui-main',
diff --git a/src/app/ui/tags/tagspicker.ui.ts b/src/app/ui/tags/tagspicker.ui.ts
index e5f27a9..97c1cd0 100644
--- a/src/app/ui/tags/tagspicker.ui.ts
+++ b/src/app/ui/tags/tagspicker.ui.ts
@@ -3,7 +3,6 @@ import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';
import { FormControl } from '@angular/forms';
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
import { MatChipInputEvent } from '@angular/material/chips';
-import { MatPaginator } from '@angular/material/paginator';
import { Observable } from 'rxjs';
import { debounceTime, switchMap } from 'rxjs/operators';
import { TagsService } from 'src/app/services/tags.service';