Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • arsnova/arsnova-lite
1 result
Show changes
Commits on Source (9)
# ARSnova lite
This is the new Frontend for the Audience Response System ARSnova and is currently in beta.
This is the new frontend for the Audience Response System [ARSnova](https://arsnova.eu) and is currently in beta.
The project aims to provide a new experience with ARS systems and breaks with conventions introduced by arsnova-mobile. You can head over to [arsnova-lite](https://arsnova-lite.mni.thm.de/) to see it in action.
The project aims at creating the best possible user experience with a web-based audience response app. You can head over to [ARSnova lite](https://beta.arsnova.eu) to see it in action.
## Documentation
......
......@@ -22,7 +22,8 @@
"src/manifest.webmanifest"
],
"styles": [
"src/styles.scss"
"src/styles.scss",
"./node_modules/material-design-icons/iconfont/material-icons.css"
],
"scripts": [
"node_modules/marked/lib/marked.js"
......
......@@ -7168,6 +7168,11 @@
"resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz",
"integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg=="
},
"material-design-icons": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz",
"integrity": "sha1-mnHEh0chjrylHlGmbaaCA4zct78="
},
"md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
......
......@@ -33,6 +33,7 @@
"core-js": "^2.5.7",
"hammerjs": "^2.0.8",
"is-docker": "^1.1.0",
"material-design-icons": "^3.0.1",
"ng2-charts": "^1.6.0",
"ngx-markdown": "^1.6.0",
"rxjs": "^6.5.2",
......
......@@ -12,12 +12,12 @@
<span class="fill-remaining-space"></span>
<div class="button-bar" fxLayoutAlign="center center">
<button mat-icon-button class="searchBarButton" *ngIf="!searchBox.value && comments.length > 0"
<button mat-icon-button class="searchBarButton" *ngIf="!searchBox.value && comments && comments.length > 0"
[matMenuTriggerFor]="filterMenu" matTooltip="{{ 'comment-list.filter-comments' | translate }}">
<mat-icon class="searchBarIcon">filter_list</mat-icon>
</button>
<button mat-icon-button class="searchBarButton" *ngIf="!searchBox.value && comments.length > 0"
<button mat-icon-button class="searchBarButton" *ngIf="!searchBox.value && comments && comments.length > 0"
[matMenuTriggerFor]="sortMenu" matTooltip="{{ 'comment-list.sort-comments' | translate }}">
<mat-icon class="searchBarIcon">sort</mat-icon>
</button>
......@@ -71,6 +71,6 @@
<app-comment *ngFor="let current of hideCommentsList ? filteredComments : comments" [comment]="current" [parseVote]="getVote(current)"></app-comment>
</div>
<div *ngIf="comments.length < 1" fxLayout="row" fxLayoutAlign="center center" class="no-comments">
<div *ngIf="comments && comments.length < 1" fxLayout="row" fxLayoutAlign="center center" class="no-comments">
<h4>{{ 'comment-page.no-comments' | translate }}</h4>
</div>
......@@ -89,7 +89,7 @@ export class CommentListComponent implements OnInit {
getComments(): void {
this.isLoading = false;
let commentThreshold = -10;
if (this.room.extensions && this.room.extensions['comments']) {
if (this.room && this.room.extensions && this.room.extensions['comments']) {
commentThreshold = this.room.extensions['comments'].commentThreshold;
if (this.hideCommentsList) {
this.filteredComments = this.filteredComments.filter( x => x.score >= commentThreshold );
......
......@@ -76,7 +76,7 @@ export class CommentComponent implements OnInit {
@Input()
set parseVote(vote: Vote) {
if (this.isStudent) {
if (vote) {
this.hasVoted = vote.vote;
}
}
......
......@@ -8,14 +8,14 @@
"back": "Zurück",
"my-sessions": "Meine Sessions",
"visited-sessions": "Besuchte Sessions",
"change-theme": "Theme ändern",
"change-theme": "Stil ändern",
"change-language": "Sprache ändern",
"login": "Login",
"my-account": "Mein Account"
},
"login-page": {
"creator": "Dozent/in",
"participant": "Student/in",
"creator": "Referent/in",
"participant": "Teilnehmer/in",
"password-reset": "Passwort vergessen?",
"not-registered": "Noch keinen Account?",
"register": "Registrieren",
......@@ -24,54 +24,54 @@
"home-page": {
"join-demo-session": "Demo-Session betreten",
"session-id": "Session-ID",
"no-room-found": "Es wurde keine Session mit dieser ID gefunden",
"no-room-found": "Es wurde keine Session mit dieser ID gefunden.",
"please-enter": "Bitte Session-ID eingeben",
"exactly-8": "Eine Session-ID hat genau 8 Ziffern",
"exactly-8": "Eine Session-ID hat genau 8 Ziffern.",
"create-session": "Neue Session",
"no-empty-name": "Bitte geben Sie einen Namen ein",
"no-empty-name": "Bitte geben Sie einen Namen ein.",
"created-1": "Session '",
"created-2": "' erfolgreich erstellt",
"only-numbers": "Eine Session-ID besteht aus Ziffern",
"only-numbers": "Eine Session-ID besteht aus Ziffern.",
"update-available": "Eine neue Version ist verfügbar.",
"install": "Installieren"
},
"login": {
"email": "E-mail",
"email-invalid": "E-mail Adresse ist ungültig",
"email-required": "E-mail Adresse ist erforderlich",
"email-invalid": "E-Mail-Adresse ungültig",
"email-required": "E-Mail-Adresse erforderlich",
"guest-login": "Anmelden als Gast",
"input-incorrect": "Bitte prüfen Sie Ihre Eingaben",
"input-incorrect": "Bitte prüfen Sie Ihre Eingaben.",
"login-successful": "Login erfolgreich",
"login": "Anmelden",
"login-data-incorrect": "Benutzername oder Passwort nicht korrekt",
"password": "Passwort",
"password-required": "Passwort ist erforderlich",
"password-required": "Passwort erforderlich",
"activate": "Aktivieren",
"activation-key": "Aktivierungsschlüssel",
"activation-key-required": "Aktivierungsschlüssel erforderlich",
"activation-key-incorrect": "Aktivierungsschlüssel falsch"
},
"password-reset": {
"email": "E-mail",
"email-invalid": "E-mail Adresse ist ungültig.",
"email-required": "E-mail Adresse ist erforderlich.",
"input-incorrect": "Bitte prüfen Sie Ihre Eingaben",
"email": "E-Mail",
"email-invalid": "E-Mail-Adresse ungültig",
"email-required": "E-Mail-Adresse erforderlich",
"input-incorrect": "Bitte prüfen Sie Ihre Eingaben.",
"reset-password": "Passwort zurücksetzen",
"reset-successful": "Passwort wurde zurückgesetzt. Bitte prüfen Sie Ihre E-mails"
"reset-successful": "Passwort wurde zurückgesetzt. Bitte prüfen Sie Ihre E-Mails."
},
"register": {
"email": "E-mail",
"email": "E-Mail",
"email-verify": "E-mail bestätigen",
"email-invalid": "E-mail Adresse ist ungültig",
"email-required": "E-mail Adresse ist erforderlich",
"email-unmatch": "E-mail Adressen stimmen nicht überein",
"email-invalid": "E-Mail-Adresse ungültig",
"email-required": "E-Mail-Adresse erforderlich",
"email-unmatch": "E-Mail-Adressen stimmen nicht überein",
"password": "Passwort",
"password-required": "Passwort ist erforderlich",
"password-required": "Passwort erforderlich",
"password-unmatch": "Passwörter stimmen nicht überein",
"password-verify": "Passwort bestätigen",
"register": "Registrieren",
"register-successful": "Erfolgreich registriert. Bitte prüfen Sie Ihre E-mails",
"register-unsuccessful": "Bitte prüfen Sie Ihre Eingaben",
"register-successful": "Erfolgreich registriert. Bitte prüfen Sie Ihre E-Mails.",
"register-unsuccessful": "Bitte prüfen Sie Ihre Eingaben.",
"register-request-error": "Etwas ist bei der Registierung fehlgeschlagen. Haben Sie sich vielleicht schon registriert?"
},
"session": {
......@@ -81,7 +81,7 @@
"create-session": "Session erstellen"
},
"footer": {
"dsgvo": "DSGVO",
"dsgvo": "Datenschutz",
"imprint": "Impressum",
"will-open": " wird in einem neuen Fenster geöffnet...",
"open": "Öffnen"
......
......@@ -35,7 +35,6 @@
<link rel="shortcut icon" href="assets/icons/favicon.png">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:regular,bold,italic,thin,light,bolditalic,black,medium&amp;lang=en">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="manifest" href="manifest.webmanifest">
<meta name="theme-color" content="#fafafa">
</head>
......