diff --git a/client/src/components/forms/AssigneesForm/assignees-form.scss b/client/src/components/forms/AssigneesForm/assignees-form.scss index 66de42f7c95e28e47e5da1524242aada28035847..1c0ddd3eeb473ff4c2d6ce30a416f74780428cfc 100644 --- a/client/src/components/forms/AssigneesForm/assignees-form.scss +++ b/client/src/components/forms/AssigneesForm/assignees-form.scss @@ -37,6 +37,8 @@ align-items: center; font-size: 24px; font-weight: s.$weight-bold; + height: calc(2em + 40px); + user-select: none; } } } diff --git a/client/src/components/forms/AssigneesForm/index.tsx b/client/src/components/forms/AssigneesForm/index.tsx index 4a130b26e4abe723451ce0e701674e7007c56a12..cbdeb6a6c8ff49800e58ea39fc1686387010351b 100644 --- a/client/src/components/forms/AssigneesForm/index.tsx +++ b/client/src/components/forms/AssigneesForm/index.tsx @@ -80,7 +80,7 @@ export default function AssigneesForm({ assignees, members, onNew, onDelete }: P addNew && ( <Popup onClose={() => setAddNew(false)}> <select onChange={(e) => setSelectedMember(e.target.value)}> - <option value="">Please select a user</option> + <option value="" selected disabled hidden>Please select a user</option> { possibleMembers.map((member) => ( <option value={member.id} key={member.id}>{member.label}</option> diff --git a/client/src/components/forms/ProjectForm/index.tsx b/client/src/components/forms/ProjectForm/index.tsx index 6383c5a9b515848941ae957ffa76917b4538ba9a..e90180eeb78b1f4438e13b3159f19b0b3309f747 100644 --- a/client/src/components/forms/ProjectForm/index.tsx +++ b/client/src/components/forms/ProjectForm/index.tsx @@ -141,12 +141,12 @@ export default function ProjectForm({ project, onSubmit }: Props) { status && <div className="field"> <label className="field-label" htmlFor="status">Status</label> - <select id="status" defaultValue={project?.status} onChange={(e) => { + <select id="status" defaultValue={project?.status ?? ''} onChange={(e) => { let currentStatus = Object.values(Status).find(s => s === e.target.value) ?? undefined; setStatus(currentStatus); } }> - <option value="">Please choose a status</option> + <option value="" disabled hidden>Please choose a status</option> { allStatus.map((s) => ( <option value={s} key={s}>{s}</option> diff --git a/client/src/components/forms/RequirementsForm/index.tsx b/client/src/components/forms/RequirementsForm/index.tsx index 07235a3ad447c906a1a1bb1561a8256cdc2f06b6..c074075bdc98cd54e2c0ccd23389c442bd903be0 100644 --- a/client/src/components/forms/RequirementsForm/index.tsx +++ b/client/src/components/forms/RequirementsForm/index.tsx @@ -76,7 +76,7 @@ export default function RequirementsForm({ roles, requirements, onNew, onDelete addNew && ( <Popup onClose={() => setAddNew(false)}> <select onChange={(e) => setSelectedRole(e.target.value)}> - <option value="">Please select a role</option> + <option value="" selected disabled hidden>Please select a role</option> { possibleRoles.map((role) => ( <option value={role.id} key={role.id}>{role.label}</option> diff --git a/client/src/components/forms/RequirementsForm/requirements-form.scss b/client/src/components/forms/RequirementsForm/requirements-form.scss index e7dcfcba6f703c212d573dd1f04ba63b13390ceb..6e3aca9475b45b103aa37c1becfcfec63280118a 100644 --- a/client/src/components/forms/RequirementsForm/requirements-form.scss +++ b/client/src/components/forms/RequirementsForm/requirements-form.scss @@ -37,6 +37,8 @@ align-items: center; font-size: 24px; font-weight: s.$weight-bold; + height: calc(2em + 40px); + user-select: none; } } } diff --git a/client/src/components/forms/TaskForm/index.tsx b/client/src/components/forms/TaskForm/index.tsx index 890d4ad563f47e875c6b3dc052f75c4ebb9f431f..5de3fd176da3a7890f9982d4267a65dea7c06b83 100644 --- a/client/src/components/forms/TaskForm/index.tsx +++ b/client/src/components/forms/TaskForm/index.tsx @@ -185,11 +185,11 @@ export default function TaskForm({ task, onSubmit, project }: Props) { <label className="field-label" htmlFor="status"> Priority </label> - <select defaultValue={priority} onChange={(e) => { + <select defaultValue={priority ?? ''} onChange={(e) => { let currentPriority = Object.values(Priority).find(s => s === e.target.value) ?? undefined; setPriority(currentPriority); }}> - <option value={''}>Please choose a priority</option> + <option value="" disabled hidden>Please choose a priority</option> { allPriorities.map((priority) => ( <option value={priority} key={priority}>{priority}</option> @@ -206,16 +206,16 @@ export default function TaskForm({ task, onSubmit, project }: Props) { </div> <div className="col"> { - status && ( + task && ( <div className="field"> <label className="field-label" htmlFor="status"> Status </label> - <select defaultValue={status} id="status" onChange={(e) => { + <select defaultValue={status ?? ''} id="status" onChange={(e) => { let currentStatus = Object.values(Status).find(s => s === e.target.value) ?? undefined; setStatus(currentStatus); }}> - <option value={''}>Please choose a status</option> + <option value="" disabled hidden>Please choose a status</option> { allStatus.map((status) => ( <option value={status} key={status}>{status}</option> diff --git a/client/src/components/ui/Popup/popup.scss b/client/src/components/ui/Popup/popup.scss index bf6e8379d7d665376d42cb4e4b3e37e0be1ca610..8293f07781040ac84e837618653f3756536c9d6a 100644 --- a/client/src/components/ui/Popup/popup.scss +++ b/client/src/components/ui/Popup/popup.scss @@ -14,6 +14,7 @@ align-items: center; .popup { + will-change: transform; animation: moveup 300ms ease; max-height: 100vh; overflow: auto; @@ -44,7 +45,6 @@ transform: translateY(50px); opacity: 0.5; } - to { transform: translateY(0); opacity: 1; @@ -55,7 +55,6 @@ from { opacity: 0; } - to { opacity: 1; }