PasswordTileComponent is a Tile now

This commit is contained in:
Patrick Haßel 2024-11-06 15:08:37 +01:00
parent 232d824ceb
commit 9636bd222b
11 changed files with 74 additions and 82 deletions

View File

@ -1,15 +1,6 @@
<div class="tileContainer"> <div class="tileContainer">
<div class="tile" *ngIf="group === null && granted === false"> <app-password-tile [visible]="group === null && granted === false" (join)="join($event)"></app-password-tile>
<div class="tileInner">
<div class="tileTitle">
Passwort
</div>
</div>
<div class="tileContent">
<app-password [visible]="true" (join)="join($event)"></app-password>
</div>
</div>
<ng-container *ngIf="group"> <ng-container *ngIf="group">

View File

@ -7,7 +7,7 @@ import {GroupService} from "../../../api/group/group.service";
import {UserService} from "../../../api/User/user.service"; import {UserService} from "../../../api/User/user.service";
import {Group} from "../../../api/group/Group"; import {Group} from "../../../api/group/Group";
import {NumbersService} from "../../../api/tools/Numbers/numbers.service"; import {NumbersService} from "../../../api/tools/Numbers/numbers.service";
import {PasswordComponent} from "../../../shared/password/password.component"; import {PasswordTileComponent} from "../../../shared/password-tile/password-tile.component";
import {Numbers} from "../../../api/tools/Numbers/Numbers"; import {Numbers} from "../../../api/tools/Numbers/Numbers";
import {Page} from "../../../api/common/Page"; import {Page} from "../../../api/common/Page";
import {RelativePipe} from "../../../shared/relative.pipe"; import {RelativePipe} from "../../../shared/relative.pipe";
@ -26,7 +26,7 @@ import {UserPublic} from "../../../api/User/UserPublic";
ReactiveFormsModule, ReactiveFormsModule,
TextComponent, TextComponent,
FormsModule, FormsModule,
PasswordComponent, PasswordTileComponent,
RelativePipe RelativePipe
], ],
templateUrl: './group.component.html', templateUrl: './group.component.html',

View File

@ -4,7 +4,7 @@ import {ActivatedRoute} from "@angular/router";
import {NumbersService} from "../../../api/tools/Numbers/numbers.service"; import {NumbersService} from "../../../api/tools/Numbers/numbers.service";
import {NgIf} from "@angular/common"; import {NgIf} from "@angular/common";
import {FormsModule} from "@angular/forms"; import {FormsModule} from "@angular/forms";
import {PasswordComponent} from "../../../shared/password/password.component"; import {PasswordTileComponent} from "../../../shared/password-tile/password-tile.component";
import {GroupService} from "../../../api/group/group.service"; import {GroupService} from "../../../api/group/group.service";
import {UserService} from "../../../api/User/user.service"; import {UserService} from "../../../api/User/user.service";
import {RelativePipe} from "../../../shared/relative.pipe"; import {RelativePipe} from "../../../shared/relative.pipe";
@ -16,7 +16,7 @@ import {Subscription, timer} from "rxjs";
imports: [ imports: [
NgIf, NgIf,
FormsModule, FormsModule,
PasswordComponent, PasswordTileComponent,
RelativePipe RelativePipe
], ],
templateUrl: './numbers.component.html', templateUrl: './numbers.component.html',

View File

@ -0,0 +1,13 @@
<div class="tile" *ngIf="visible">
<div class="tileInner" *ngIf="visible">
<div class="tileTitle">
Gruppenpasswort
</div>
<div class="tileContent">
<input type="text" [(ngModel)]="password" (keydown.enter)="join.emit(password)">
<div class="buttons">
<div class="button buttonRight buttonJoin" (click)="join.emit(password)">Beitreten</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1 @@
@import "../../../common";

View File

@ -3,16 +3,16 @@ import {FormsModule} from "@angular/forms";
import {NgIf} from "@angular/common"; import {NgIf} from "@angular/common";
@Component({ @Component({
selector: 'app-password', selector: 'app-password-tile',
standalone: true, standalone: true,
imports: [ imports: [
FormsModule, FormsModule,
NgIf NgIf
], ],
templateUrl: './password.component.html', templateUrl: './password-tile.component.html',
styleUrl: './password.component.less' styleUrl: './password-tile.component.less'
}) })
export class PasswordComponent implements OnInit { export class PasswordTileComponent implements OnInit {
@Input() @Input()
visible: boolean = false; visible: boolean = false;

View File

@ -1,7 +0,0 @@
<ng-container *ngIf="visible">
<h1>Passwort</h1>
<input type="text" [(ngModel)]="password" (keydown.enter)="join.emit(password)">
<div class="buttons">
<div class="button buttonRight buttonJoin" (click)="join.emit(password)">Beitreten</div>
</div>
</ng-container>

View File

@ -1,4 +1,3 @@
@import "./tile.less";
@import "./user.less"; @import "./user.less";
.buttons { .buttons {

View File

@ -29,10 +29,61 @@ table {
border-collapse: collapse; border-collapse: collapse;
} }
.tileContainer {
padding: @halfSpace;
.tile {
width: 100%;
padding: @halfSpace;
.tileInner {
border: 1px solid #ddd;
border-radius: @space;
background-color: #fbfbfb;
.tileTitle {
font-weight: bold;
padding: @halfSpace @space;
background-color: lightskyblue;
}
.tileContent {
padding: @halfSpace;
table {
width: 100%;
}
td {
white-space: nowrap;
border: 0.2em solid white;
}
}
.tileFooter {
padding: @halfSpace @space;
}
}
}
}
@media (min-width: 1000px) { @media (min-width: 1000px) {
body { body {
font-size: 18px; font-size: 18px;
} }
.tileContainer {
.tile {
float: left;
width: 500px;
}
}
} }

View File

@ -1,56 +0,0 @@
@import "./config.less";
.tileContainer {
padding: @halfSpace;
.tile {
width: 100%;
padding: @halfSpace;
.tileInner {
border: 1px solid #ddd;
border-radius: @space;
background-color: #fbfbfb;
.tileTitle {
font-weight: bold;
padding: @halfSpace @space;
background-color: lightskyblue;
}
.tileContent {
padding: @halfSpace;
table {
width: 100%;
}
td {
white-space: nowrap;
border: 0.2em solid white;
}
}
.tileFooter {
padding: @halfSpace @space;
}
}
}
}
@media (min-width: 1000px) {
.tileContainer {
.tile {
float: left;
width: 500px;
}
}
}