From 73a88ebc8e0307bf0464e4068bd7ee082526e21b Mon Sep 17 00:00:00 2001
From: Katarina Platkova <xplatkov@fi.muni.cz>
Date: Thu, 16 May 2024 10:00:38 +0200
Subject: [PATCH] Buttons and language

---
 .../DefinitionManager/components/Definition.tsx    | 11 +++++++----
 frontend/src/users/DefinitionAssignment/index.tsx  |  8 ++++----
 frontend/src/users/ExerciseAssignment/index.tsx    |  8 ++++----
 frontend/src/users/UserDetail/UserDetailRow.tsx    | 12 +++++-------
 frontend/src/users/UsersSelection/index.tsx        | 14 ++++++++++----
 frontend/src/users/utilities.ts                    |  2 +-
 6 files changed, 31 insertions(+), 24 deletions(-)

diff --git a/frontend/src/exercisepanel/DefinitionManager/components/Definition.tsx b/frontend/src/exercisepanel/DefinitionManager/components/Definition.tsx
index 631ff047d..6f5967544 100644
--- a/frontend/src/exercisepanel/DefinitionManager/components/Definition.tsx
+++ b/frontend/src/exercisepanel/DefinitionManager/components/Definition.tsx
@@ -1,5 +1,5 @@
 import { useNavigate } from '@/router'
-import { Button, Card } from '@blueprintjs/core'
+import { Button, ButtonGroup, Card } from '@blueprintjs/core'
 import type { Definition } from '@inject/graphql/fragments/Definition.generated'
 import { useDeleteDefinition } from '@inject/graphql/mutations/DeleteDefinition.generated'
 import { GetDefinitionsDocument } from '@inject/graphql/queries/GetDefinitions.generated'
@@ -50,8 +50,11 @@ const DefinitionComp: FC<DefinitionProps> = ({ definition }) => {
       <div>
         <h3>{name || id}</h3>
       </div>
-
-      <div style={{ marginTop: '1rem', alignSelf: 'end' }}>
+      <ButtonGroup
+        vertical
+        alignText='left'
+        style={{ marginTop: '1rem', alignSelf: 'end' }}
+      >
         <Button type='button' onClick={handleRemove} icon='cross'>
           Remove
         </Button>
@@ -67,7 +70,7 @@ const DefinitionComp: FC<DefinitionProps> = ({ definition }) => {
         >
           Access
         </Button>
-      </div>
+      </ButtonGroup>
     </Card>
   )
 }
diff --git a/frontend/src/users/DefinitionAssignment/index.tsx b/frontend/src/users/DefinitionAssignment/index.tsx
index c597c4ee1..70d070084 100644
--- a/frontend/src/users/DefinitionAssignment/index.tsx
+++ b/frontend/src/users/DefinitionAssignment/index.tsx
@@ -40,7 +40,7 @@ const DefinitionAssignment: FC<DefinitionAssignmentProps> = ({
         refetchQueries: [GetDefinitionDocument],
       })
         .then(() => {
-          notify('Instructors assigned to defition')
+          notify('Instructors assigned to the defition')
         })
         .catch(() => {
           notify('Definition access asignment failed', {
@@ -104,14 +104,14 @@ const DefinitionAssignment: FC<DefinitionAssignmentProps> = ({
             users={data?.definition.userSet?.filter(notEmpty) || []}
             onRemove={(ids: string[]) => handleRemoveButton(ids)}
             onAssign={() => setListView(prev => !prev)}
-            assignTitle='Assign instructors'
-            removeTitle='Remove access for selected'
+            assignTitle='Add'
+            removeTitle='Remove'
           />
         ) : (
           <UserTableSelection
             onBack={() => setListView(prev => !prev)}
             onAssign={(ids: string[]) => handleAssignButton(ids)}
-            assignTitle='Add instructors'
+            assignTitle='Add selected'
           />
         )}
       </SectionCard>
diff --git a/frontend/src/users/ExerciseAssignment/index.tsx b/frontend/src/users/ExerciseAssignment/index.tsx
index 676e9706d..b02623f98 100644
--- a/frontend/src/users/ExerciseAssignment/index.tsx
+++ b/frontend/src/users/ExerciseAssignment/index.tsx
@@ -153,8 +153,8 @@ const ExerciseAssignment: FC<ExerciseAssignmentProps> = ({ exerciseId }) => {
                     setListView(prev => !prev)
                     setCurrentTeam(null)
                   }}
-                  assignTitle='Assign instructors'
-                  removeTitle='Remove selected'
+                  assignTitle='Add'
+                  removeTitle='Remove'
                 />
               </SectionCard>
             </Section>
@@ -174,8 +174,8 @@ const ExerciseAssignment: FC<ExerciseAssignmentProps> = ({ exerciseId }) => {
                       setListView(prev => !prev)
                       setCurrentTeam(team.id)
                     }}
-                    assignTitle='Assign trainees'
-                    removeTitle='Remove selected'
+                    assignTitle='Add'
+                    removeTitle='Remove'
                   />
                 </SectionCard>
               </Section>
diff --git a/frontend/src/users/UserDetail/UserDetailRow.tsx b/frontend/src/users/UserDetail/UserDetailRow.tsx
index fa449c542..373a67779 100644
--- a/frontend/src/users/UserDetail/UserDetailRow.tsx
+++ b/frontend/src/users/UserDetail/UserDetailRow.tsx
@@ -8,12 +8,10 @@ interface UserDetailRowProps {
   value: UserValueType
 }
 
-const UserDetailRow: FC<UserDetailRowProps> = ({ name, value }) => {
-  return (
-    <div className={detailRow}>
-      <span className={detailRowName}>{name}: </span> {formatValue(value)}
-    </div>
-  )
-}
+const UserDetailRow: FC<UserDetailRowProps> = ({ name, value }) => (
+  <div className={detailRow}>
+    <span className={detailRowName}>{name}: </span> {formatValue(value)}
+  </div>
+)
 
 export default UserDetailRow
diff --git a/frontend/src/users/UsersSelection/index.tsx b/frontend/src/users/UsersSelection/index.tsx
index ad65ccf4b..aef978854 100644
--- a/frontend/src/users/UsersSelection/index.tsx
+++ b/frontend/src/users/UsersSelection/index.tsx
@@ -1,4 +1,4 @@
-import { Button, Checkbox, NonIdealState } from '@blueprintjs/core'
+import { Button, ButtonGroup, Checkbox, NonIdealState } from '@blueprintjs/core'
 import type { RestrictedUser } from '@inject/graphql/fragments/RestrictedUser.generated'
 import type { FC } from 'react'
 import { useState } from 'react'
@@ -47,7 +47,7 @@ const UsersSelection: FC<UserSelectionProps> = ({
           />
         ))}
       </div>
-      <div style={{ display: 'flex', justifyContent: 'space-between' }}>
+      <ButtonGroup style={{ display: 'flex', justifyContent: 'space-between' }}>
         <Button
           onClick={() => {
             onRemove(
@@ -55,11 +55,17 @@ const UsersSelection: FC<UserSelectionProps> = ({
             )
             setSelectedUsers(new Array(users.length).fill(false))
           }}
+          icon='trash'
           text={removeTitle}
           disabled={selectedUsers.every(val => !val)}
         />
-        <Button intent='primary' onClick={onAssign} text={assignTitle} />
-      </div>
+        <Button
+          intent='primary'
+          onClick={onAssign}
+          icon='plus'
+          text={assignTitle}
+        />
+      </ButtonGroup>
     </>
   )
 }
diff --git a/frontend/src/users/utilities.ts b/frontend/src/users/utilities.ts
index 172b630bb..dc5f70c5a 100644
--- a/frontend/src/users/utilities.ts
+++ b/frontend/src/users/utilities.ts
@@ -1,5 +1,5 @@
 import { formatTimestamp } from '@/analyst/utilities'
-import { UserValueType } from './UserTable'
+import type { UserValueType } from './UserTable'
 
 export const formatValue = (value: UserValueType) => {
   if (typeof value === 'string') return value
-- 
GitLab