mirror of
https://github.com/vee1e/bulk-questionnaire-upload.git
synced 2026-09-01 09:50:06 +00:00
fix: refine validation UI with updated colors and spacing in upload component, and other fixes
This commit is contained in:
parent
6841e1e3a4
commit
30167af8d4
11 changed files with 56 additions and 37 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -22,3 +22,4 @@ dist/
|
|||
tests/
|
||||
project-plans/
|
||||
.DS_Store
|
||||
.cursorrules
|
||||
|
|
|
|||
17
README.md
17
README.md
|
|
@ -163,18 +163,19 @@ mongosh --eval "db.runCommand('ping')"
|
|||
|
||||
Below is a real example of metrics collected for uploading 10 forms (each with ~400 questions and 3-10 options per question) based on the latest performance data:
|
||||
|
||||
| Description | Time |
|
||||
| ------------------------------------------------ | ----------------------- |
|
||||
| Time to validate each form file | 45.80-123.20ms (59.98ms) |
|
||||
| Time to process and save one form | 0.49-288.43ms (126.84ms) |
|
||||
| Time to process and save all questions in a form | 59.64-82.80ms (64.59ms) |
|
||||
| Average time to process one question | 0.15-0.20ms (0.16ms) |
|
||||
| Average time to process one option | 0.15-0.17ms (0.16ms) |
|
||||
| Description | Time |
|
||||
| ------------------------------------------------ | -------------------------- |
|
||||
| Time to validate each form file | 45.80-123.20ms (59.98ms) |
|
||||
| Time to process and save one form | 0.49-288.43ms (126.84ms) |
|
||||
| Time to process and save all questions in a form | 59.64-82.80ms (64.59ms) |
|
||||
| Average time to process one question | 0.15-0.20ms (0.16ms) |
|
||||
| Average time to process one option | 0.15-0.17ms (0.16ms) |
|
||||
| Time to process all forms in the batch | 228.62-288.43ms (253.00ms) |
|
||||
| Number of forms processed in the batch | 10 |
|
||||
| Number of forms processed in the batch | 10 |
|
||||
| Average time to process one form in the batch | 228.62-288.43ms (253.00ms) |
|
||||
|
||||
**Notes:**
|
||||
|
||||
- Metrics collected from backend/metrics.txt on 2025-07-28
|
||||
- All times are in ms unless specified otherwise
|
||||
- Hardware used is an M3 Pro Macbook Pro, with 18GB unified memory and 512GB of storage.
|
||||
|
|
|
|||
|
|
@ -309,15 +309,15 @@ import { FormPreviewService } from '../../services/form-preview.service';
|
|||
}
|
||||
|
||||
.invalid {
|
||||
color: white;
|
||||
background: #F44336;
|
||||
border: 1px solid #F44336;
|
||||
color: #ff0000;
|
||||
background: #1c0000;
|
||||
border: 1px solid #660000;
|
||||
}
|
||||
}
|
||||
|
||||
.validation-details {
|
||||
margin-top: 0.75rem;
|
||||
padding-top: 0.75rem;
|
||||
margin-top: 0.00rem;
|
||||
padding-top: 0.30rem;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.2);
|
||||
min-height: 0;
|
||||
transition: all 0.3s ease;
|
||||
|
|
@ -352,9 +352,9 @@ import { FormPreviewService } from '../../services/form-preview.service';
|
|||
}
|
||||
|
||||
&.warning {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border-left: 3px solid #ffffff;
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
background: rgba(255, 193, 7, 0.12);
|
||||
border-left: 3px solid #FFC107;
|
||||
border: 1px solid rgba(255, 193, 7, 0.25);
|
||||
}
|
||||
|
||||
.validation-header {
|
||||
|
|
@ -365,8 +365,8 @@ import { FormPreviewService } from '../../services/form-preview.service';
|
|||
|
||||
.validation-type {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
padding: 0.125rem 0.375rem;
|
||||
border-radius: 12px;
|
||||
padding: 0.0 0.375rem;
|
||||
border-radius: 6px;
|
||||
font-size: 0.7rem;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
|
|
@ -513,6 +513,24 @@ import { FormPreviewService } from '../../services/form-preview.service';
|
|||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
|
||||
::ng-deep .mat-mdc-icon-button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
|
||||
.mat-icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 20px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
::ng-deep {
|
||||
|
|
|
|||
3
run.sh
3
run.sh
|
|
@ -3,7 +3,7 @@
|
|||
PROJECT_ROOT="/Users/verma/Projects/bulk-questionnaire-upload"
|
||||
FRONTEND_PATH="$PROJECT_ROOT/frontend"
|
||||
BACKEND_PATH="$PROJECT_ROOT/backend"
|
||||
SESSION_NAME="dev-project"
|
||||
SESSION_NAME="bulk-questionnaire-upload"
|
||||
|
||||
if ! tmux has-session -t "$SESSION_NAME"; then
|
||||
tmux new-session -s "$SESSION_NAME" -d
|
||||
|
|
@ -20,7 +20,6 @@ if ! tmux has-session -t "$SESSION_NAME"; then
|
|||
tmux send-keys -t "$SESSION_NAME:0.1" "uvicorn main:app --reload" C-m
|
||||
|
||||
tmux attach-session -t "$SESSION_NAME"
|
||||
open "http://localhost:4200"
|
||||
else
|
||||
echo "Tmux session '$SESSION_NAME' already exists. Attaching..."
|
||||
tmux attach-session -t "$SESSION_NAME"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue