diff --git a/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.html b/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.html index 5368e88b0..1ca4d303b 100644 --- a/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.html +++ b/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.html @@ -1,11 +1,11 @@

{{ 'labels.heading.Notes' | translate }}

-
+
@@ -24,28 +24,33 @@
- - -
-
- - {{ entityNote.note }} - - {{ 'labels.inputs.Created By' | translate }}: {{ entityNote.createdByUsername }} - {{ 'labels.inputs.Date' | translate }}: {{ entityNote.createdOn | dateFormat }} - +
+
+
+
+ {{ entityNote.note }}
-
-
- - +
- - +
+ + +
No notes available
+
+
diff --git a/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.scss b/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.scss index a09ec0f38..707bc5d2e 100644 --- a/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.scss +++ b/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.scss @@ -1,26 +1,200 @@ +/* Hidden elements */ +.hidden-mat-list { + display: none; +} + .tab-container { - padding: 1%; - margin: 1%; + padding: 2rem; } -.list-item-content { +.tab-container h3 { + margin-bottom: 20px; + color: #333; + font-weight: 500; +} + +.add-note-section { + margin-bottom: 10px; + padding-bottom: 10px; +} + +.layout-row { display: flex; - align-items: center; - width: 100%; -} - -.note-details { - font-size: 14px; -} - -.left-section { - display: flex; - align-items: center; + align-items: flex-start; gap: 10px; } -.right-section { - margin-left: auto; +.layout-row.align-start-baseline { + align-items: baseline; +} + +.layout-row.gap-10px { + gap: 10px; +} + +.flex-85-minus-20px { + flex: 1; + min-width: 300px; +} + +.flex-1 { + flex: none; + white-space: nowrap; +} + +.note-card { + background: white; + border: 1px solid #e0e0e0; + border-radius: 0.2rem; + padding: 1rem; + margin-bottom: 1rem; + box-shadow: 0 2px 4px rgb(0 0 0 / 8%); + transition: all 0.2s ease; +} + +.note-card:hover { + box-shadow: 0 4px 8px rgb(0 0 0 / 12%); + border-color: #d0d0d0; +} + +.note-content { + color: #333; + font-size: 14px; + line-height: 1rem; + margin: 0; + margin-bottom: 16px; + padding: 0.5rem; + word-wrap: break-word; + white-space: normal; + text-indent: 0; + text-align: left; +} + +.note-footer { display: flex; - gap: 4px; + justify-content: space-between; + align-items: center; + padding-top: 0.65rem; + border-top: 1px solid #f0f0f0; +} + +.note-meta { + color: #666; + font-size: 12px; +} + +.created-by { + font-weight: 500; + color: #007acc; + margin-bottom: 2px; +} + +.created-date { + color: #888; +} + +.note-actions { + display: flex; + gap: 8px; +} + +.edit-btn, +.delete-btn { + border: 1px solid #dee2e6; + padding: 8px 14px; + border-radius: 4px; + font-size: 14px; + cursor: pointer; + transition: all 0.2s ease; + background: none; + outline: none; +} + +.edit-btn { + color: #6c757d; + background-color: #daedff; +} + +.delete-btn { + color: #dc3545; + background-color: #ffcfcf; +} + +.edit-btn:disabled, +.delete-btn:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +.edit-btn:hover:not(:disabled) { + background-color: #a8d4ff; + color: #495057; + border-color: #adb5bd; +} + +.delete-btn:hover:not(:disabled) { + background-color: #f5c6cb; + color: #721c24; + border-color: #ff9ca5; +} + +.empty-state { + text-align: center; + padding: 40px 20px; + color: #666; + font-style: italic; + background: #fafafa; + border-radius: 8px; + border: 1px dashed #ddd; +} + +.m-r-10 { + margin-right: 10px; +} + +@media (width <= 768px) { + .tab-container { + padding: 16px; + } + + .layout-row { + flex-direction: column; + align-items: stretch; + gap: 15px; + } + + .flex-85-minus-20px, + .flex-1 { + width: 100%; + } + + .note-card { + padding: 16px; + margin-bottom: 12px; + } + + .note-content { + font-size: 13px; + margin-bottom: 12px; + } + + .note-footer { + flex-direction: column; + align-items: flex-start; + gap: 12px; + } + + .edit-btn, + .delete-btn { + padding: 5px 10px; + font-size: 11px; + } + + .note-meta { + width: 100%; + } + + .note-actions { + align-self: flex-end; + } } diff --git a/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.ts b/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.ts index 6749f39d3..604862f8f 100644 --- a/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.ts +++ b/src/app/shared/tabs/entity-notes-tab/entity-notes-tab.component.ts @@ -9,7 +9,6 @@ import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.co import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component'; import { CdkTextareaAutosize } from '@angular/cdk/text-field'; import { FaIconComponent } from '@fortawesome/angular-fontawesome'; -import { MatList, MatListItem } from '@angular/material/list'; import { DateFormatPipe } from '../../../pipes/date-format.pipe'; import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module'; @@ -21,8 +20,6 @@ import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module'; ...STANDALONE_SHARED_IMPORTS, CdkTextareaAutosize, FaIconComponent, - MatList, - MatListItem, DateFormatPipe ] })