[Scouting App] Note scout multiple robots and add keywords

Note scouts often scout multiple robots so the scouting app should support it and
checkboxes were added to select keywords/tags. These tags will likely have to be modified
according to 2023's game.

Mobile UI Preview: https://ibb.co/QdFxwGj

Change-Id: If4fcb3ee97da5f52e428cb0a4b0a8401b4700a02
Signed-off-by: Filip Kujawa <filip.j.kujawa@gmail.com>
diff --git a/scouting/db/db.go b/scouting/db/db.go
index 37c8a6b..82f7fa8 100644
--- a/scouting/db/db.go
+++ b/scouting/db/db.go
@@ -67,9 +67,15 @@
 }
 
 type NotesData struct {
-	ID         uint `gorm:"primaryKey"`
-	TeamNumber int32
-	Notes      string
+	ID           uint `gorm:"primaryKey"`
+	TeamNumber   int32
+	Notes        string
+	GoodDriving  bool
+	BadDriving   bool
+	SketchyClimb bool
+	SolidClimb   bool
+	GoodDefense  bool
+	BadDefense   bool
 }
 
 type Ranking struct {
@@ -253,10 +259,16 @@
 	return rankins, result.Error
 }
 
-func (database *Database) AddNotes(teamNumber int, data string) error {
+func (database *Database) AddNotes(data NotesData) error {
 	result := database.Create(&NotesData{
-		TeamNumber: int32(teamNumber),
-		Notes:      data,
+		TeamNumber:   data.TeamNumber,
+		Notes:        data.Notes,
+		GoodDriving:  data.GoodDriving,
+		BadDriving:   data.BadDriving,
+		SketchyClimb: data.SketchyClimb,
+		SolidClimb:   data.SolidClimb,
+		GoodDefense:  data.GoodDefense,
+		BadDefense:   data.BadDefense,
 	})
 	return result.Error
 }