diff --git a/package-lock.json b/package-lock.json index 800e2de..3fd1137 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "@blockcore/notes", "version": "0.0.0", "dependencies": { + "@angular-material-components/datetime-picker": "^9.0.0", "@angular/animations": "^15.0.4", "@angular/cdk": "^15.0.4", "@angular/common": "^15.0.4", @@ -347,6 +348,22 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, + "node_modules/@angular-material-components/datetime-picker": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular-material-components/datetime-picker/-/datetime-picker-9.0.0.tgz", + "integrity": "sha512-F+yf5kxzu62q1H2ZiVbKGfKHlszQhYN/avZyejCyq7bI7V9kg93BaTJ+ACOf9NEtM05USzrLXdiBGjEAMW82aQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/cdk": "^15.0.1", + "@angular/common": "^15.0.1", + "@angular/core": "^15.0.1", + "@angular/forms": "^15.0.1", + "@angular/material": "^15.0.1", + "@angular/platform-browser": "^15.0.1" + } + }, "node_modules/@angular/animations": { "version": "15.0.4", "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.0.4.tgz", @@ -12769,6 +12786,14 @@ } } }, + "@angular-material-components/datetime-picker": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular-material-components/datetime-picker/-/datetime-picker-9.0.0.tgz", + "integrity": "sha512-F+yf5kxzu62q1H2ZiVbKGfKHlszQhYN/avZyejCyq7bI7V9kg93BaTJ+ACOf9NEtM05USzrLXdiBGjEAMW82aQ==", + "requires": { + "tslib": "^2.3.0" + } + }, "@angular/animations": { "version": "15.0.4", "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.0.4.tgz", diff --git a/package.json b/package.json index ebf3796..601bbb4 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ }, "private": true, "dependencies": { + "@angular-material-components/datetime-picker": "^9.0.0", "@angular/animations": "^15.0.4", "@angular/cdk": "^15.0.4", "@angular/common": "^15.0.4", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 1686c7c..08c63c4 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -83,6 +83,8 @@ import { EventThreadComponent } from './shared/event-thread/event-thread.compone import { EventReactionsComponent } from './shared/event-reactions/event-reactions.component'; import { NgxLoadingButtonsModule } from 'ngx-loading-buttons'; import { ContentPhotosComponent } from './shared/content-photos/content-photos.component'; +import { NgxMatDatetimePickerModule, NgxMatNativeDateModule, NgxMatTimepickerModule } from '@angular-material-components/datetime-picker'; +import { MatDatepickerModule } from '@angular/material/datepicker'; @NgModule({ declarations: [ @@ -165,7 +167,11 @@ import { ContentPhotosComponent } from './shared/content-photos/content-photos.c MatSnackBarModule, MatProgressBarModule, MatDialogModule, + MatDatepickerModule, PhotoGalleryModule, + NgxMatDatetimePickerModule, + NgxMatNativeDateModule, + NgxMatTimepickerModule, NgxColorsModule, ServiceWorkerModule.register('ngsw-worker.js', { enabled: !isDevMode(), diff --git a/src/app/shared/create-note-dialog/create-note-dialog.html b/src/app/shared/create-note-dialog/create-note-dialog.html index 96e0a6d..e9f468a 100644 --- a/src/app/shared/create-note-dialog/create-note-dialog.html +++ b/src/app/shared/create-note-dialog/create-note-dialog.html @@ -1,21 +1,32 @@
-

Write Your Note

-
-
- sentiment_satisfied - +
+

Write Your Note

+
+
+ sentiment_satisfied + +
+ + + Note + + + + +
- - - Note - - -
-
- zoom_out_map - - -
+
+ zoom_out_map + + +
+
diff --git a/src/app/shared/create-note-dialog/create-note-dialog.ts b/src/app/shared/create-note-dialog/create-note-dialog.ts index acceb8b..c776955 100644 --- a/src/app/shared/create-note-dialog/create-note-dialog.ts +++ b/src/app/shared/create-note-dialog/create-note-dialog.ts @@ -1,4 +1,5 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, ViewChild } from '@angular/core'; +import { FormControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; export interface NoteDialogData { @@ -11,12 +12,30 @@ export interface NoteDialogData { styleUrls: ['create-note-dialog.scss'], }) export class NoteDialog { + @ViewChild('picker') picker: unknown; + isEmojiPickerVisible: boolean | undefined; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: NoteDialogData) { + formGroup!: UntypedFormGroup; + + minDate?: number; + + public dateControl = new FormControl(null); + + constructor(private formBuilder: UntypedFormBuilder, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: NoteDialogData) { this.data.note = ''; } + ngOnInit() { + this.minDate = Date.now(); + + this.formGroup = this.formBuilder.group({ + note: ['', Validators.required], + expiration: [''], + dateControl: [], + }); + } + onNoClick(): void { this.data.note = ''; this.dialogRef.close();