diff --git a/src/Squidex/app/app.module.ts b/src/Squidex/app/app.module.ts index d8de43f3f..419c2fdad 100644 --- a/src/Squidex/app/app.module.ts +++ b/src/Squidex/app/app.module.ts @@ -41,7 +41,7 @@ export function configCurrency() { } export function configUserReport() { - return new UserReportConfig('5e3e70c2-19b8-493a-9fa0-af240d50e0ba'); + return new UserReportConfig('221afe63-0ca2-42aa-8efe-188d77964a7f'); } @NgModule({ diff --git a/src/Squidex/app/features/dashboard/pages/dashboard-page.component.html b/src/Squidex/app/features/dashboard/pages/dashboard-page.component.html index 26e2c9c7c..26b524d1b 100644 --- a/src/Squidex/app/features/dashboard/pages/dashboard-page.component.html +++ b/src/Squidex/app/features/dashboard/pages/dashboard-page.component.html @@ -1,12 +1,54 @@ -
-
-

Dashboard

-
+
+
+

Hi {{profileDisplayName}}

-
-
+
+ Welcome to {{appName() | async}} dashboard.
-
\ No newline at end of file + +
+ +
+
+ +
+ +

New Schema

+

A schema defines the structure of your content element.

+
+
+ +
+
+ +
+ +

API Documentation

+

Swagger compatible documentation for your schemas.

+
+
+ +
+
+ +
+ +

Feedback

+

Provide feedback and request features to help us to improve Squidex.

+
+
+ +
+
+ +
+ +

Github

+

Get the source code from Github and report bugs or ask for support.

+
+
+
+
\ No newline at end of file diff --git a/src/Squidex/app/features/dashboard/pages/dashboard-page.component.scss b/src/Squidex/app/features/dashboard/pages/dashboard-page.component.scss index e69de29bb..76eb1450b 100644 --- a/src/Squidex/app/features/dashboard/pages/dashboard-page.component.scss +++ b/src/Squidex/app/features/dashboard/pages/dashboard-page.component.scss @@ -0,0 +1,65 @@ +@import '_vars'; +@import '_mixins'; + +.dashboard { + padding: 2rem; + padding-right: 1rem; +} + +h1 { + font-weight: light; + font-size: 1.4rem; +} + +.subtext { + margin-top: .5rem; + margin-bottom: .8rem; + color: $color-subtext; +} + +.app-name { + color: $color-title; +} + +.card { + & { + cursor: pointer; + margin-right: 1rem; + margin-bottom: 1rem; + width: 16rem; + float: left; + } + + &:hover { + @include box-shadow(0, 3px, 16px, .2px); + } + + &:hover, + &:active { + text-decoration: none; + } + + h4 { + color: $color-title; + } + + &-block { + min-height: 14.5rem; + } + + &-image { + text-align: center; + } + + &-text { + font-weight: normal; + font-size: .9rem; + color: $color-empty; + } + + &-title { + font-weight: light; + font-size: 1.2rem; + margin-top: .4rem; + } +} \ No newline at end of file diff --git a/src/Squidex/app/features/dashboard/pages/dashboard-page.component.ts b/src/Squidex/app/features/dashboard/pages/dashboard-page.component.ts index 9f349914c..938d89649 100644 --- a/src/Squidex/app/features/dashboard/pages/dashboard-page.component.ts +++ b/src/Squidex/app/features/dashboard/pages/dashboard-page.component.ts @@ -6,22 +6,51 @@ */ import { Component } from '@angular/core'; +import { Subscription} from 'rxjs'; import { AppComponentBase, AppsStoreService, + AuthService, NotificationService, UsersProviderService } from 'shared'; +declare var _urq: any; + @Component({ selector: 'sqx-dashboard-page', styleUrls: ['./dashboard-page.component.scss'], templateUrl: './dashboard-page.component.html' }) export class DashboardPageComponent extends AppComponentBase { - constructor(apps: AppsStoreService, notifications: NotificationService, users: UsersProviderService) { + private authenticationSubscription: Subscription; + + public profileDisplayName = ''; + + constructor(apps: AppsStoreService, notifications: NotificationService, users: UsersProviderService, + private readonly auth: AuthService + ) { super(apps, notifications, users); } + + public ngOnDestroy() { + this.authenticationSubscription.unsubscribe(); + } + + public ngOnInit() { + this.authenticationSubscription = + this.auth.isAuthenticated.subscribe(() => { + const user = this.auth.user; + + if (user) { + this.profileDisplayName = user.displayName; + } + }); + } + + public showForum() { + _urq.push(['Feedback_Open']); + } } diff --git a/src/Squidex/app/features/schemas/pages/schema/schema-page.component.ts b/src/Squidex/app/features/schemas/pages/schema/schema-page.component.ts index 5dd2fd510..d8dd3ddce 100644 --- a/src/Squidex/app/features/schemas/pages/schema/schema-page.component.ts +++ b/src/Squidex/app/features/schemas/pages/schema/schema-page.component.ts @@ -83,6 +83,7 @@ export class SchemaPageComponent extends AppComponentBase implements OnInit { this.schemaName = schema.name; this.schemaFields = ImmutableArray.of(schema.fields); this.schemaProperties = new SchemaPropertiesDto(schema.name, schema.label, schema.hints); + this.isPublished = schema.isPublished; }); } diff --git a/src/Squidex/app/features/schemas/pages/schemas/schemas-page.component.ts b/src/Squidex/app/features/schemas/pages/schemas/schemas-page.component.ts index fc3725330..97a87efca 100644 --- a/src/Squidex/app/features/schemas/pages/schemas/schemas-page.component.ts +++ b/src/Squidex/app/features/schemas/pages/schemas/schemas-page.component.ts @@ -6,6 +6,7 @@ */ import { Component, OnDestroy, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; import { FormControl } from '@angular/forms'; import { Subscription } from 'rxjs'; @@ -46,8 +47,9 @@ export class SchemasPageComponent extends AppComponentBase implements OnDestroy, constructor(apps: AppsStoreService, notifications: NotificationService, users: UsersProviderService, private readonly schemasService: SchemasService, + private readonly authService: AuthService, private readonly messageBus: MessageBus, - private readonly authService: AuthService + private readonly route: ActivatedRoute ) { super(apps, notifications, users); } @@ -64,6 +66,12 @@ export class SchemasPageComponent extends AppComponentBase implements OnDestroy, this.updateSchemas(this.schemas, this.schemaQuery = q); }); + this.route.params.map(q => q['showDialog']).subscribe(showDialog => { + if (showDialog) { + this.addSchemaDialog.show(); + } + }); + this.messageSubscription = this.messageBus.of(SchemaUpdated) .subscribe(m => { diff --git a/src/Squidex/app/framework/angular/modal-view.directive.ts b/src/Squidex/app/framework/angular/modal-view.directive.ts index f6dab0319..8fc03fd04 100644 --- a/src/Squidex/app/framework/angular/modal-view.directive.ts +++ b/src/Squidex/app/framework/angular/modal-view.directive.ts @@ -17,7 +17,7 @@ export class ModalViewDirective implements OnChanges, OnInit, OnDestroy { private subscription: Subscription; private isEnabled = true; private clickHandler: Function | null; - private renderedView: EmbeddedViewRef | null; + private renderedView: EmbeddedViewRef | null = null; @Input('sqxModalView') public modalView: ModalView; diff --git a/src/Squidex/app/theme/_bootstrap.scss b/src/Squidex/app/theme/_bootstrap.scss index c365f1940..0e0d3da39 100644 --- a/src/Squidex/app/theme/_bootstrap.scss +++ b/src/Squidex/app/theme/_bootstrap.scss @@ -37,7 +37,7 @@ body { } .dropdown-menu { - @include box-shadow(0, .3px, 16px, .2px); + @include box-shadow(0, 3px, 16px, .2px); border: 0; background: $panel-light-background; } diff --git a/src/Squidex/app/theme/_vars.scss b/src/Squidex/app/theme/_vars.scss index 2477e048e..83047de9b 100644 --- a/src/Squidex/app/theme/_vars.scss +++ b/src/Squidex/app/theme/_vars.scss @@ -3,8 +3,10 @@ $color-background: #eef1f4; $color-border: #dae4e9; $color-border-dark: darken($color-border, 20%); +$color-title: #000; $color-text: #373a3c; -$color-empty: #777; +$color-subtext: #818181; +$color-empty: #949494; $color-control: rgba(0, 0, 0, .15); $color-theme-blue: #438cef; diff --git a/src/Squidex/wwwroot/images/dashboard-api.png b/src/Squidex/wwwroot/images/dashboard-api.png new file mode 100644 index 000000000..05df0eb65 Binary files /dev/null and b/src/Squidex/wwwroot/images/dashboard-api.png differ diff --git a/src/Squidex/wwwroot/images/dashboard-feedback.png b/src/Squidex/wwwroot/images/dashboard-feedback.png new file mode 100644 index 000000000..4777c0210 Binary files /dev/null and b/src/Squidex/wwwroot/images/dashboard-feedback.png differ diff --git a/src/Squidex/wwwroot/images/dashboard-github.png b/src/Squidex/wwwroot/images/dashboard-github.png new file mode 100644 index 000000000..beb023fed Binary files /dev/null and b/src/Squidex/wwwroot/images/dashboard-github.png differ diff --git a/src/Squidex/wwwroot/images/dashboard-schema.png b/src/Squidex/wwwroot/images/dashboard-schema.png new file mode 100644 index 000000000..a690e8097 Binary files /dev/null and b/src/Squidex/wwwroot/images/dashboard-schema.png differ