User Administration
Waiting for admin data
diff --git a/src/app/pages/annotate/annotate.component.html b/src/app/pages/annotate/annotate.component.html index 22314989..30075e5b 100644 --- a/src/app/pages/annotate/annotate.component.html +++ b/src/app/pages/annotate/annotate.component.html @@ -1,60 +1,71 @@ -Annotate
-What are annotations?
+What are annotations?
-Annotations are multimedia containers that allow you to attach descriptions or references to points in space from - a - chosen camera perspective on 3D objects in Kompakkt. Through the selection of different perspectives on - consecutive - annotations you can generate a walk-through. Annotations can contain text, images, AV media, URLs and more. You - can - annotate your own objects with default annotations visible to everyone else. You can also create your own private - annotations or annotate other people’s objects by creating a collection and then annotating the objects you curate - into this collection.
+Annotations are multimedia containers that allow you to attach descriptions or references to points in space from + a + chosen camera perspective on 3D objects in Kompakkt. Through the selection of different perspectives on + consecutive + annotations you can generate a walk-through. Annotations can contain text, images, AV media, URLs and more. You + can + annotate your own objects with default annotations visible to everyone else. You can also create your own private + annotations or annotate other people’s objects by creating a collection and then annotating the objects you curate + into this collection.
-How to annotate objects in Kompakkt?
+How to annotate objects in Kompakkt?
-You can start annotating objects when you switch to Annotate mode via the Edit menu within your own objects or - when - you access Annotate mode from the Collection’s page Edit menu.
+You can start annotating objects when you switch to Annotate mode via the Edit menu within your own objects or + when + you access Annotate mode from the Collection’s page Edit menu.
- -Your annotations
+Your annotations
-You must be logged in to see your annotations.
-You must be logged in to see your annotations.
+ +You have created annotations within the following objects and/or collections:
+You have created annotations within the following objects and/or collections:
-You don’t have any annotations yet. Start creating annotations by accessing your existing objects and - collections, or creating new ones:
- - - - -You don’t have any annotations yet. Start creating annotations by accessing your existing objects and + collections, or creating new ones:
+ +Collaborate
-What are groups?
-You can easily collaborate with your team or your students when managing annotations and collections of objects if - you create a dedicated group. Groups allow you to manage access rights across multiple registered users. Regular - group members receive annotation access for objects/collections associated with the group. Group owners receive - annotation access and can add/remove other group members. Groups can also be helpful when managing viewing access to - private objects, which remain unpublished to other Kompakkt users.
- -How do groups work with collections?
-When you create a collection of Kompakkt objects you can annotate them regardless of their owners. This can be an - effective way to collaborate as you can invite either other individual Kompakkt users, or non-registred users (via - password-protection) to gain access rights to specific collections. If you need to continuously give access and/or - annotation rights to a number of individuals to different objects / collections, creating a group will just make - this process more efficient and will enable you to manage access rights centrally by managing the group membership. - Note that groups do require all their members to be registered users.
-Your groups
- -You must be logged in to see your groups. -
+What are groups?
+You can easily collaborate with your team or your students when managing annotations and collections of objects if + you create a dedicated group. Groups allow you to manage access rights across multiple registered users. Regular + group members receive annotation access for objects/collections associated with the group. Group owners receive + annotation access and can add/remove other group members. Groups can also be helpful when managing viewing access to + private objects, which remain unpublished to other Kompakkt users.
+ +How do groups work with collections?
+When you create a collection of Kompakkt objects you can annotate them regardless of their owners. This can be an + effective way to collaborate as you can invite either other individual Kompakkt users, or non-registred users (via + password-protection) to gain access rights to specific collections. If you need to continuously give access and/or + annotation rights to a number of individuals to different objects / collections, creating a group will just make + this process more efficient and will enable you to manage access rights centrally by managing the group membership. + Note that groups do require all their members to be registered users.
+ +Your groups
+ +You must be logged in to see your groups.
+ + +You are either the owner or a member of one of the following groups:
+You are either the owner or a member of one of the following groups:
-You are not a member of any groups yet. -
+You are not a member of any groups yet. +
- - -User Profile
No data available for the current user.
User Profile
No matches
You have not created any groups
-{{ group.name }}
-- Members: {{ group.members.length }} | Owners: - {{ group.owners.length }} -
- - - - -You are not associated with any groups
You are not partaking in any group
-{{ group.name }}
> Create a new group -Kompakkt Developer Consortium
diff --git a/src/app/pages/static-pages/contact/contact.component.html b/src/app/pages/static-pages/contact/contact.component.html index 3b133ccb..c3c4861a 100644 --- a/src/app/pages/static-pages/contact/contact.component.html +++ b/src/app/pages/static-pages/contact/contact.component.html @@ -1,4 +1,4 @@ -
Contact
Kompakkt is being developed at:
diff --git a/src/app/pages/static-pages/privacy/privacy.component.html b/src/app/pages/static-pages/privacy/privacy.component.html index b605f617..eb235ca8 100644 --- a/src/app/pages/static-pages/privacy/privacy.component.html +++ b/src/app/pages/static-pages/privacy/privacy.component.html @@ -1,4 +1,4 @@ -Privacy Policy
diff --git a/src/app/services/dialog-helper.service.ts b/src/app/services/dialog-helper.service.ts index e58768dc..64b792bf 100644 --- a/src/app/services/dialog-helper.service.ts +++ b/src/app/services/dialog-helper.service.ts @@ -4,13 +4,19 @@ import { MatDialog } from '@angular/material/dialog'; import { EventsService } from './'; import { ICompilation, IEntity } from 'src/common'; import { AuthDialogComponent } from 'src/app/components'; -import { AddCompilationWizardComponent, AddEntityWizardComponent } from 'src/app/wizards'; +import { + AddCompilationWizardComponent, + AddEntityWizardComponent, + AddGroupWizardComponent, +} from 'src/app/wizards'; import { ConfirmationDialogComponent, - RegisterDialogComponent, EditEntityDialogComponent, EntitySettingsDialogComponent, PasswordProtectedDialogComponent, + RegisterDialogComponent, + ViewerDialogComponent, + ViewerDialogData, } from 'src/app/dialogs'; @Injectable({ @@ -47,6 +53,22 @@ export class DialogHelperService { }); } + public openEntityWizard() { + return this.dialog.open(AddEntityWizardComponent, { + disableClose: true, + }); + } + + public openGroupWizard() { + return this.dialog.open(AddGroupWizardComponent, { + disableClose: true, + }); + } + + public openViewerDialog(data: ViewerDialogData) { + return this.dialog.open(ViewerDialogComponent, { data, id: 'viewer-dialog' }); + } + public editCompilation(element: ICompilation | undefined) { if (!element) return; const dialogRef = this.dialog.open(AddCompilationWizardComponent, { diff --git a/src/styles.scss b/src/styles.scss index 6987fb9a..c4685375 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -8,10 +8,12 @@ @import url('./assets/fonts/OpenSans.css'); @import url('./assets/fonts/MaterialIcons.css'); +@import 'utility'; + :root { --font-stack: 'Open Sans', Frutiger, 'Frutiger Linotype', Univers, Calibri, 'Gill Sans', - 'Gill Sans MT', 'Myriad Pro', Myriad, 'DejaVu Sans Condensed', 'Liberation Sans', - 'Nimbus Sans L', Tahoma, Geneva, 'Helvetica Neue', Helvetica, Arial, sans-serif; + 'Gill Sans MT', 'Myriad Pro', Myriad, 'DejaVu Sans Condensed', 'Liberation Sans', + 'Nimbus Sans L', Tahoma, Geneva, 'Helvetica Neue', Helvetica, Arial, sans-serif; --drop-shadow: drop-shadow(0 0.1rem 0.1rem rgba(0, 0, 0, 0.25)); --brand-color: #00afe7; } @@ -241,9 +243,10 @@ iframe { /* !important to overwrite default mat-card rule */ transition: border 280ms cubic-bezier(0.4, 0, 0.2, 1), - box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1) !important; + box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1) !important; --color: var(--brand-color); + &.error { --color: red; } @@ -412,6 +415,7 @@ app-actionbar { height: 100%; > * { + display: flex; flex-direction: column !important; } } @@ -422,7 +426,8 @@ app-annotate { #edit-entity-dialog, #explore-entity-dialog, -#explore-compilation-dialog { +#explore-compilation-dialog, +#viewer-dialog { height: 100vh; width: 100vw; @@ -433,7 +438,8 @@ app-annotate { } #explore-compilation-dialog, -#explore-entity-dialog { +#explore-entity-dialog, +#viewer-dialog{ padding: 0 !important; border-radius: 1rem !important; background: #111; @@ -447,7 +453,7 @@ app-annotate { grid-gap: 1em; padding-bottom: 10px; - grid-template-columns: repeat(5, 1fr); + grid-template-columns: repeat(4, 1fr); @include queries.small { grid-template-columns: repeat(1, 1fr); @@ -458,11 +464,11 @@ app-annotate { } @include queries.large { - grid-template-columns: repeat(5, 1fr); + grid-template-columns: repeat(4, 1fr); } @include queries.huge { - grid-template-columns: repeat(6, 1fr); + grid-template-columns: repeat(4, 1fr); } } @@ -502,6 +508,24 @@ app-annotate { } } +button { + &.rounded { + border-radius: 2em; + } + .mat-button-wrapper { + display: flex; + justify-content: center; + align-items: center; + gap: 4px; + } +} + +.button-row { + display: flex; + align-items: center; + gap: 8px; +} + #actionbar .mat-slide-toggle.mat-checked:not(.mat-disabled) { .mat-slide-toggle-bar { background-color: #aaa; @@ -546,6 +570,7 @@ app-edit-entity-dialog { .can-be-disabled { transition: filter 500ms; + &.disabled { filter: opacity(0.5); pointer-events: none; @@ -558,6 +583,7 @@ app-edit-entity-dialog { div.block { margin-bottom: 0 !important; + & + div.block { margin-top: 1rem !important; } diff --git a/src/utility.scss b/src/utility.scss new file mode 100644 index 00000000..d2102074 --- /dev/null +++ b/src/utility.scss @@ -0,0 +1,36 @@ +.centered-content { + box-sizing: border-box; + width: min(1440px, 100%); + max-width: 1440px; + align-self: center; + padding: 16px 32px; +} + +.flex { + display: flex; + align-items: flex-start; +} + +.flex-column { + display: flex; + flex-direction: column; + align-items: flex-start; +} + +.gap-12 { + gap: 12px; +} + +.gap-24 { + gap: 24px; +} + +.flex-text-margin { + h1, h2, h3, h4, h5, h6, p { + margin: 0; + } + + h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p, p + p { + margin-top: 1em; + } +}