diff --git a/db/migrations/1734186355_created_activities.go b/db/migrations/1734186355_created_activities.go new file mode 100644 index 00000000..f0851bea --- /dev/null +++ b/db/migrations/1734186355_created_activities.go @@ -0,0 +1,182 @@ +package migrations + +import ( + "encoding/json" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + m "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/models" +) + +func init() { + m.Register(func(db dbx.Builder) error { + jsonData := `{ + "id": "t9lphichi5xwyeu", + "created": "2024-12-14 14:25:55.563Z", + "updated": "2024-12-14 14:25:55.563Z", + "name": "activities", + "type": "view", + "system": false, + "schema": [ + { + "system": false, + "id": "zegqj8bt", + "name": "date", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }, + { + "system": false, + "id": "mztv5od5", + "name": "name", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }, + { + "system": false, + "id": "4hq14mc5", + "name": "description", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }, + { + "system": false, + "id": "hbyuxehw", + "name": "gpx", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }, + { + "system": false, + "id": "syp8ya96", + "name": "author", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }, + { + "system": false, + "id": "rrfp5omm", + "name": "photos", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }, + { + "system": false, + "id": "tacveduk", + "name": "distance", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }, + { + "system": false, + "id": "ydhldat1", + "name": "duration", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }, + { + "system": false, + "id": "9gg24ge8", + "name": "elevation_gain", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }, + { + "system": false, + "id": "ujsn6lqc", + "name": "elevation_loss", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }, + { + "system": false, + "id": "nvvrulvj", + "name": "type", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + } + ], + "indexes": [], + "listRule": null, + "viewRule": null, + "createRule": null, + "updateRule": null, + "deleteRule": null, + "options": { + "query": "SELECT id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss, type \nFROM (\n SELECT summit_logs.id,summit_logs.date,trails.name,text as description,summit_logs.gpx,summit_logs.author,summit_logs.photos,summit_logs.distance,summit_logs.duration,summit_logs.elevation_gain,summit_logs.elevation_loss,\"summit_log\" as type \n FROM summit_logs\n LEFT JOIN trails ON summit_logs.id IN (\n SELECT value\n FROM json_each(trails.summit_logs)\n )\n UNION\n SELECT id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss, \"trail\" as type \n FROM trails\n) ORDER BY date DESC" + } + }` + + collection := &models.Collection{} + if err := json.Unmarshal([]byte(jsonData), &collection); err != nil { + return err + } + + return daos.New(db).SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("t9lphichi5xwyeu") + if err != nil { + return err + } + + return dao.DeleteCollection(collection) + }) +} diff --git a/db/migrations/1734187284_updated_activities.go b/db/migrations/1734187284_updated_activities.go new file mode 100644 index 00000000..b2db73a0 --- /dev/null +++ b/db/migrations/1734187284_updated_activities.go @@ -0,0 +1,503 @@ +package migrations + +import ( + "encoding/json" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + m "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/models/schema" + "github.com/pocketbase/pocketbase/tools/types" +) + +func init() { + m.Register(func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("t9lphichi5xwyeu") + if err != nil { + return err + } + + collection.ListRule = types.Pointer("") + + collection.ViewRule = types.Pointer("") + + // remove + collection.Schema.RemoveField("zegqj8bt") + + // remove + collection.Schema.RemoveField("mztv5od5") + + // remove + collection.Schema.RemoveField("4hq14mc5") + + // remove + collection.Schema.RemoveField("hbyuxehw") + + // remove + collection.Schema.RemoveField("syp8ya96") + + // remove + collection.Schema.RemoveField("rrfp5omm") + + // remove + collection.Schema.RemoveField("tacveduk") + + // remove + collection.Schema.RemoveField("ydhldat1") + + // remove + collection.Schema.RemoveField("9gg24ge8") + + // remove + collection.Schema.RemoveField("ujsn6lqc") + + // remove + collection.Schema.RemoveField("nvvrulvj") + + // add + new_date := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "qejtfjom", + "name": "date", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_date); err != nil { + return err + } + collection.Schema.AddField(new_date) + + // add + new_name := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "nskezkjx", + "name": "name", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_name); err != nil { + return err + } + collection.Schema.AddField(new_name) + + // add + new_description := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "viedej4h", + "name": "description", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_description); err != nil { + return err + } + collection.Schema.AddField(new_description) + + // add + new_gpx := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "vljhhvdy", + "name": "gpx", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_gpx); err != nil { + return err + } + collection.Schema.AddField(new_gpx) + + // add + new_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "z1uaeqzu", + "name": "author", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_author); err != nil { + return err + } + collection.Schema.AddField(new_author) + + // add + new_photos := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "9nnpyhlq", + "name": "photos", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_photos); err != nil { + return err + } + collection.Schema.AddField(new_photos) + + // add + new_distance := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "7kzcclzu", + "name": "distance", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_distance); err != nil { + return err + } + collection.Schema.AddField(new_distance) + + // add + new_duration := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "gwpsktbu", + "name": "duration", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_duration); err != nil { + return err + } + collection.Schema.AddField(new_duration) + + // add + new_elevation_gain := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "5tze9ybp", + "name": "elevation_gain", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_elevation_gain); err != nil { + return err + } + collection.Schema.AddField(new_elevation_gain) + + // add + new_elevation_loss := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "xkuz8ixp", + "name": "elevation_loss", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_elevation_loss); err != nil { + return err + } + collection.Schema.AddField(new_elevation_loss) + + // add + new_type := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "soylsusn", + "name": "type", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_type); err != nil { + return err + } + collection.Schema.AddField(new_type) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("t9lphichi5xwyeu") + if err != nil { + return err + } + + collection.ListRule = nil + + collection.ViewRule = nil + + // add + del_date := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "zegqj8bt", + "name": "date", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_date); err != nil { + return err + } + collection.Schema.AddField(del_date) + + // add + del_name := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "mztv5od5", + "name": "name", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_name); err != nil { + return err + } + collection.Schema.AddField(del_name) + + // add + del_description := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "4hq14mc5", + "name": "description", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_description); err != nil { + return err + } + collection.Schema.AddField(del_description) + + // add + del_gpx := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "hbyuxehw", + "name": "gpx", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_gpx); err != nil { + return err + } + collection.Schema.AddField(del_gpx) + + // add + del_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "syp8ya96", + "name": "author", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_author); err != nil { + return err + } + collection.Schema.AddField(del_author) + + // add + del_photos := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "rrfp5omm", + "name": "photos", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_photos); err != nil { + return err + } + collection.Schema.AddField(del_photos) + + // add + del_distance := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "tacveduk", + "name": "distance", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_distance); err != nil { + return err + } + collection.Schema.AddField(del_distance) + + // add + del_duration := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "ydhldat1", + "name": "duration", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_duration); err != nil { + return err + } + collection.Schema.AddField(del_duration) + + // add + del_elevation_gain := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "9gg24ge8", + "name": "elevation_gain", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_elevation_gain); err != nil { + return err + } + collection.Schema.AddField(del_elevation_gain) + + // add + del_elevation_loss := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "ujsn6lqc", + "name": "elevation_loss", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_elevation_loss); err != nil { + return err + } + collection.Schema.AddField(del_elevation_loss) + + // add + del_type := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "nvvrulvj", + "name": "type", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_type); err != nil { + return err + } + collection.Schema.AddField(del_type) + + // remove + collection.Schema.RemoveField("qejtfjom") + + // remove + collection.Schema.RemoveField("nskezkjx") + + // remove + collection.Schema.RemoveField("viedej4h") + + // remove + collection.Schema.RemoveField("vljhhvdy") + + // remove + collection.Schema.RemoveField("z1uaeqzu") + + // remove + collection.Schema.RemoveField("9nnpyhlq") + + // remove + collection.Schema.RemoveField("7kzcclzu") + + // remove + collection.Schema.RemoveField("gwpsktbu") + + // remove + collection.Schema.RemoveField("5tze9ybp") + + // remove + collection.Schema.RemoveField("xkuz8ixp") + + // remove + collection.Schema.RemoveField("soylsusn") + + return dao.SaveCollection(collection) + }) +} diff --git a/db/migrations/1734191497_updated_activities.go b/db/migrations/1734191497_updated_activities.go new file mode 100644 index 00000000..086add57 --- /dev/null +++ b/db/migrations/1734191497_updated_activities.go @@ -0,0 +1,531 @@ +package migrations + +import ( + "encoding/json" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + m "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/models/schema" +) + +func init() { + m.Register(func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("t9lphichi5xwyeu") + if err != nil { + return err + } + + options := map[string]any{} + if err := json.Unmarshal([]byte(`{ + "query": "SELECT id,trail_id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss, type \nFROM (\n SELECT summit_logs.id,trails.id as trail_id,summit_logs.date,trails.name,text as description,summit_logs.gpx,summit_logs.author,summit_logs.photos,summit_logs.distance,summit_logs.duration,summit_logs.elevation_gain,summit_logs.elevation_loss,\"summit_log\" as type \n FROM summit_logs\n LEFT JOIN trails ON summit_logs.id IN (\n SELECT value\n FROM json_each(trails.summit_logs)\n )\n UNION\n SELECT id,id as trail_id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss, \"trail\" as type \n FROM trails\n) ORDER BY date DESC" + }`), &options); err != nil { + return err + } + collection.SetOptions(options) + + // remove + collection.Schema.RemoveField("qejtfjom") + + // remove + collection.Schema.RemoveField("nskezkjx") + + // remove + collection.Schema.RemoveField("viedej4h") + + // remove + collection.Schema.RemoveField("vljhhvdy") + + // remove + collection.Schema.RemoveField("z1uaeqzu") + + // remove + collection.Schema.RemoveField("9nnpyhlq") + + // remove + collection.Schema.RemoveField("7kzcclzu") + + // remove + collection.Schema.RemoveField("gwpsktbu") + + // remove + collection.Schema.RemoveField("5tze9ybp") + + // remove + collection.Schema.RemoveField("xkuz8ixp") + + // remove + collection.Schema.RemoveField("soylsusn") + + // add + new_trail_id := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "xbcmb4ax", + "name": "trail_id", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_trail_id); err != nil { + return err + } + collection.Schema.AddField(new_trail_id) + + // add + new_date := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "elenpjfu", + "name": "date", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_date); err != nil { + return err + } + collection.Schema.AddField(new_date) + + // add + new_name := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "gvcm04wv", + "name": "name", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_name); err != nil { + return err + } + collection.Schema.AddField(new_name) + + // add + new_description := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "lzg9ifgi", + "name": "description", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_description); err != nil { + return err + } + collection.Schema.AddField(new_description) + + // add + new_gpx := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "rzqpztsp", + "name": "gpx", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_gpx); err != nil { + return err + } + collection.Schema.AddField(new_gpx) + + // add + new_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "oqzupzz2", + "name": "author", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_author); err != nil { + return err + } + collection.Schema.AddField(new_author) + + // add + new_photos := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "xmzmcgjm", + "name": "photos", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_photos); err != nil { + return err + } + collection.Schema.AddField(new_photos) + + // add + new_distance := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "rslhnvby", + "name": "distance", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_distance); err != nil { + return err + } + collection.Schema.AddField(new_distance) + + // add + new_duration := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "xgfy26z9", + "name": "duration", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_duration); err != nil { + return err + } + collection.Schema.AddField(new_duration) + + // add + new_elevation_gain := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "iuhfh4vo", + "name": "elevation_gain", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_elevation_gain); err != nil { + return err + } + collection.Schema.AddField(new_elevation_gain) + + // add + new_elevation_loss := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "hoauojgi", + "name": "elevation_loss", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_elevation_loss); err != nil { + return err + } + collection.Schema.AddField(new_elevation_loss) + + // add + new_type := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "7b25xfwx", + "name": "type", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_type); err != nil { + return err + } + collection.Schema.AddField(new_type) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("t9lphichi5xwyeu") + if err != nil { + return err + } + + options := map[string]any{} + if err := json.Unmarshal([]byte(`{ + "query": "SELECT id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss, type \nFROM (\n SELECT summit_logs.id,summit_logs.date,trails.name,text as description,summit_logs.gpx,summit_logs.author,summit_logs.photos,summit_logs.distance,summit_logs.duration,summit_logs.elevation_gain,summit_logs.elevation_loss,\"summit_log\" as type \n FROM summit_logs\n LEFT JOIN trails ON summit_logs.id IN (\n SELECT value\n FROM json_each(trails.summit_logs)\n )\n UNION\n SELECT id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss, \"trail\" as type \n FROM trails\n) ORDER BY date DESC" + }`), &options); err != nil { + return err + } + collection.SetOptions(options) + + // add + del_date := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "qejtfjom", + "name": "date", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_date); err != nil { + return err + } + collection.Schema.AddField(del_date) + + // add + del_name := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "nskezkjx", + "name": "name", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_name); err != nil { + return err + } + collection.Schema.AddField(del_name) + + // add + del_description := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "viedej4h", + "name": "description", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_description); err != nil { + return err + } + collection.Schema.AddField(del_description) + + // add + del_gpx := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "vljhhvdy", + "name": "gpx", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_gpx); err != nil { + return err + } + collection.Schema.AddField(del_gpx) + + // add + del_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "z1uaeqzu", + "name": "author", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_author); err != nil { + return err + } + collection.Schema.AddField(del_author) + + // add + del_photos := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "9nnpyhlq", + "name": "photos", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_photos); err != nil { + return err + } + collection.Schema.AddField(del_photos) + + // add + del_distance := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "7kzcclzu", + "name": "distance", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_distance); err != nil { + return err + } + collection.Schema.AddField(del_distance) + + // add + del_duration := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "gwpsktbu", + "name": "duration", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_duration); err != nil { + return err + } + collection.Schema.AddField(del_duration) + + // add + del_elevation_gain := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "5tze9ybp", + "name": "elevation_gain", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_elevation_gain); err != nil { + return err + } + collection.Schema.AddField(del_elevation_gain) + + // add + del_elevation_loss := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "xkuz8ixp", + "name": "elevation_loss", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_elevation_loss); err != nil { + return err + } + collection.Schema.AddField(del_elevation_loss) + + // add + del_type := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "soylsusn", + "name": "type", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_type); err != nil { + return err + } + collection.Schema.AddField(del_type) + + // remove + collection.Schema.RemoveField("xbcmb4ax") + + // remove + collection.Schema.RemoveField("elenpjfu") + + // remove + collection.Schema.RemoveField("gvcm04wv") + + // remove + collection.Schema.RemoveField("lzg9ifgi") + + // remove + collection.Schema.RemoveField("rzqpztsp") + + // remove + collection.Schema.RemoveField("oqzupzz2") + + // remove + collection.Schema.RemoveField("xmzmcgjm") + + // remove + collection.Schema.RemoveField("rslhnvby") + + // remove + collection.Schema.RemoveField("xgfy26z9") + + // remove + collection.Schema.RemoveField("iuhfh4vo") + + // remove + collection.Schema.RemoveField("hoauojgi") + + // remove + collection.Schema.RemoveField("7b25xfwx") + + return dao.SaveCollection(collection) + }) +} diff --git a/web/src/lib/components/base/tabs.svelte b/web/src/lib/components/base/tabs.svelte index 27d4bbb4..b90cbd31 100644 --- a/web/src/lib/components/base/tabs.svelte +++ b/web/src/lib/components/base/tabs.svelte @@ -18,7 +18,7 @@ }); onMount(() => { - switchTabs(0); + switchTabs(activeTab ?? 0); }); function switchTabs(index: number) { @@ -26,7 +26,7 @@ const childElement = tabs?.children[index + 1] as HTMLElement; const newWidth = childElement?.getBoundingClientRect().width ?? 0; - const newPosition = childElement.offsetLeft; + const newPosition = childElement?.offsetLeft; indicatorWidth.set(newWidth); indicatorPosition.set(newPosition); diff --git a/web/src/lib/components/profile/activity_card.svelte b/web/src/lib/components/profile/activity_card.svelte new file mode 100644 index 00000000..5c0d2bd6 --- /dev/null +++ b/web/src/lib/components/profile/activity_card.svelte @@ -0,0 +1,93 @@ + + +
+ {new Date(activity.date).toLocaleDateString(undefined, { + month: "long", + day: "2-digit", + year: "numeric", + timeZone: "UTC", + })} +
++ {!fullDescription + ? activity.description?.substring(0, 100) + : activity.description} + {#if (activity.description?.length ?? 0) > 100 && !fullDescription} + + {/if} +
+ {/if} +