From 72d2bf6062921c20c169a020a6e7aba95837816f Mon Sep 17 00:00:00 2001 From: Christian Beutel <> Date: Fri, 3 Jan 2025 18:59:10 +0100 Subject: [PATCH] bug fixes --- .../1735925349_updated_activities.go | 545 +++++++++++++++++ .../1735925753_updated_activities.go | 561 ++++++++++++++++++ .../notification/notification_card.svelte | 2 +- .../notification/notification_dropdown.svelte | 2 +- web/src/lib/i18n/locales/de.json | 3 +- web/src/lib/i18n/locales/en.json | 3 +- web/src/lib/i18n/locales/fr.json | 3 +- web/src/lib/i18n/locales/hu.json | 3 +- web/src/lib/i18n/locales/it.json | 3 +- web/src/lib/i18n/locales/nl.json | 3 +- web/src/lib/i18n/locales/pl.json | 3 +- web/src/lib/i18n/locales/pt.json | 3 +- web/src/lib/i18n/locales/zh.json | 3 +- web/src/routes/+error.svelte | 4 +- .../profile/[id]/users/[type]/+page.svelte | 3 +- .../settings/notifications/+page.svelte | 12 +- web/src/routes/trail/view/[id]/+page.ts | 8 +- 17 files changed, 1140 insertions(+), 24 deletions(-) create mode 100644 db/migrations/1735925349_updated_activities.go create mode 100644 db/migrations/1735925753_updated_activities.go diff --git a/db/migrations/1735925349_updated_activities.go b/db/migrations/1735925349_updated_activities.go new file mode 100644 index 00000000..337fa04a --- /dev/null +++ b/db/migrations/1735925349_updated_activities.go @@ -0,0 +1,545 @@ +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("(\n @request.auth.id = author || \n (@collection.users_anonymous.id ?= author && @collection.users_anonymous.private ?= false)\n)\n&&\n(\n @collection.trails.id ?= trail_id && \n (\n @collection.trails.author = @request.auth.id ||\n @collection.trails.public = true || \n (@request.auth.id != \"\" && @collection.trails.trail_share_via_trail.user ?= @request.auth.id)\n )\n)") + + collection.ViewRule = types.Pointer("(\n @request.auth.id = author || \n (@collection.users_anonymous.id ?= author && @collection.users_anonymous.private ?= false)\n)\n&&\n(\n @collection.trails.id ?= trail_id && \n (\n @collection.trails.author = @request.auth.id ||\n @collection.trails.public = true || \n (@request.auth.id != \"\" && @collection.trails.trail_share_via_trail.user ?= @request.auth.id)\n )\n)") + + // remove + collection.Schema.RemoveField("nsakta5t") + + // remove + collection.Schema.RemoveField("oahimwtf") + + // remove + collection.Schema.RemoveField("t9nlksmj") + + // remove + collection.Schema.RemoveField("fzfiex8c") + + // remove + collection.Schema.RemoveField("1vk5125z") + + // remove + collection.Schema.RemoveField("skmgodvs") + + // remove + collection.Schema.RemoveField("5rkwvgcy") + + // remove + collection.Schema.RemoveField("xsuyuifg") + + // remove + collection.Schema.RemoveField("0hsfxjcm") + + // remove + collection.Schema.RemoveField("izyphasx") + + // remove + collection.Schema.RemoveField("bffz6a6t") + + // remove + collection.Schema.RemoveField("2xlfylnh") + + // add + new_trail_id := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "1gmbao3t", + "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": "pvlr9fv1", + "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": "ueqomhey", + "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": "chjcbrid", + "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": "2wwngiu1", + "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": "vfbs4wij", + "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": "kpitkmnj", + "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": "90almjd5", + "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": "49io1roa", + "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": "kngt1gs1", + "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": "faei1oos", + "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": "fyeket06", + "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 = types.Pointer("@request.auth.id = author || (@collection.users_anonymous.id ?= author && @collection.users_anonymous.private ?= false)") + + collection.ViewRule = types.Pointer("@request.auth.id = author || (@collection.users_anonymous.id ?= author && @collection.users_anonymous.private ?= false)") + + // add + del_trail_id := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "nsakta5t", + "name": "trail_id", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_trail_id); err != nil { + return err + } + collection.Schema.AddField(del_trail_id) + + // add + del_date := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "oahimwtf", + "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": "t9nlksmj", + "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": "fzfiex8c", + "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": "1vk5125z", + "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": "skmgodvs", + "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": "5rkwvgcy", + "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": "xsuyuifg", + "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": "0hsfxjcm", + "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": "izyphasx", + "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": "bffz6a6t", + "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": "2xlfylnh", + "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("1gmbao3t") + + // remove + collection.Schema.RemoveField("pvlr9fv1") + + // remove + collection.Schema.RemoveField("ueqomhey") + + // remove + collection.Schema.RemoveField("chjcbrid") + + // remove + collection.Schema.RemoveField("2wwngiu1") + + // remove + collection.Schema.RemoveField("vfbs4wij") + + // remove + collection.Schema.RemoveField("kpitkmnj") + + // remove + collection.Schema.RemoveField("90almjd5") + + // remove + collection.Schema.RemoveField("49io1roa") + + // remove + collection.Schema.RemoveField("kngt1gs1") + + // remove + collection.Schema.RemoveField("faei1oos") + + // remove + collection.Schema.RemoveField("fyeket06") + + return dao.SaveCollection(collection) + }) +} diff --git a/db/migrations/1735925753_updated_activities.go b/db/migrations/1735925753_updated_activities.go new file mode 100644 index 00000000..62f9d7c5 --- /dev/null +++ b/db/migrations/1735925753_updated_activities.go @@ -0,0 +1,561 @@ +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("(\n @request.auth.id = author || \n (@collection.users_anonymous.id ?= author && @collection.users_anonymous.private ?= false)\n)\n&&\n(\n @collection.trails.id ?= trail_id && \n (\n @collection.trails.author ?= @request.auth.id ||\n @collection.trails.public ?= true || \n (@request.auth.id != \"\" && @collection.trails.trail_share_via_trail.user ?= @request.auth.id)\n )\n)") + + collection.ViewRule = types.Pointer("(\n @request.auth.id = author || \n (@collection.users_anonymous.id ?= author && @collection.users_anonymous.private ?= false)\n)\n&&\n(\n @collection.trails.id ?= trail_id && \n (\n @collection.trails.author ?= @request.auth.id ||\n @collection.trails.public ?= true || \n (@request.auth.id != \"\" && @collection.trails.trail_share_via_trail.user ?= @request.auth.id)\n )\n)") + + 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,created,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_logs.created,\"summit_log\" as type \n FROM summit_logs\n 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,created,\"trail\" as type \n FROM trails\n)\nORDER BY created DESC" + }`), &options); err != nil { + return err + } + collection.SetOptions(options) + + // remove + collection.Schema.RemoveField("1gmbao3t") + + // remove + collection.Schema.RemoveField("pvlr9fv1") + + // remove + collection.Schema.RemoveField("ueqomhey") + + // remove + collection.Schema.RemoveField("chjcbrid") + + // remove + collection.Schema.RemoveField("2wwngiu1") + + // remove + collection.Schema.RemoveField("vfbs4wij") + + // remove + collection.Schema.RemoveField("kpitkmnj") + + // remove + collection.Schema.RemoveField("90almjd5") + + // remove + collection.Schema.RemoveField("49io1roa") + + // remove + collection.Schema.RemoveField("kngt1gs1") + + // remove + collection.Schema.RemoveField("faei1oos") + + // remove + collection.Schema.RemoveField("fyeket06") + + // add + new_trail_id := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "c9vvjnme", + "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": "flg0ahfn", + "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": "e6lik1pd", + "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": "hxfpjwhr", + "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": "t4vcxvux", + "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": "cpnvh0me", + "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": "wsh8ppyd", + "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": "fkd0ua94", + "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": "cj05f9if", + "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": "kjvv3j2w", + "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": "pob1he5w", + "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": "rd0cyqkb", + "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 = types.Pointer("(\n @request.auth.id = author || \n (@collection.users_anonymous.id ?= author && @collection.users_anonymous.private ?= false)\n)\n&&\n(\n @collection.trails.id ?= trail_id && \n (\n @collection.trails.author = @request.auth.id ||\n @collection.trails.public = true || \n (@request.auth.id != \"\" && @collection.trails.trail_share_via_trail.user ?= @request.auth.id)\n )\n)") + + collection.ViewRule = types.Pointer("(\n @request.auth.id = author || \n (@collection.users_anonymous.id ?= author && @collection.users_anonymous.private ?= false)\n)\n&&\n(\n @collection.trails.id ?= trail_id && \n (\n @collection.trails.author = @request.auth.id ||\n @collection.trails.public = true || \n (@request.auth.id != \"\" && @collection.trails.trail_share_via_trail.user ?= @request.auth.id)\n )\n)") + + 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,created,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_logs.created,\"summit_log\" as type \n FROM summit_logs\n 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,created,\"trail\" as type \n FROM trails\n)\nORDER BY date DESC" + }`), &options); err != nil { + return err + } + collection.SetOptions(options) + + // add + del_trail_id := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "1gmbao3t", + "name": "trail_id", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_trail_id); err != nil { + return err + } + collection.Schema.AddField(del_trail_id) + + // add + del_date := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "pvlr9fv1", + "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": "ueqomhey", + "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": "chjcbrid", + "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": "2wwngiu1", + "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": "vfbs4wij", + "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": "kpitkmnj", + "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": "90almjd5", + "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": "49io1roa", + "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": "kngt1gs1", + "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": "faei1oos", + "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": "fyeket06", + "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("c9vvjnme") + + // remove + collection.Schema.RemoveField("flg0ahfn") + + // remove + collection.Schema.RemoveField("e6lik1pd") + + // remove + collection.Schema.RemoveField("hxfpjwhr") + + // remove + collection.Schema.RemoveField("t4vcxvux") + + // remove + collection.Schema.RemoveField("cpnvh0me") + + // remove + collection.Schema.RemoveField("wsh8ppyd") + + // remove + collection.Schema.RemoveField("fkd0ua94") + + // remove + collection.Schema.RemoveField("cj05f9if") + + // remove + collection.Schema.RemoveField("kjvv3j2w") + + // remove + collection.Schema.RemoveField("pob1he5w") + + // remove + collection.Schema.RemoveField("rd0cyqkb") + + return dao.SaveCollection(collection) + }) +} diff --git a/web/src/lib/components/notification/notification_card.svelte b/web/src/lib/components/notification/notification_card.svelte index 2008adc3..c3258c9d 100644 --- a/web/src/lib/components/notification/notification_card.svelte +++ b/web/src/lib/components/notification/notification_card.svelte @@ -45,7 +45,7 @@ }, }); case NotificationType.trailCreate: - return $_("notification-new-trail", { + return $_("notification-trail-create", { values: { user: n.expand.author.username }, }); case NotificationType.trailShare: diff --git a/web/src/lib/components/notification/notification_dropdown.svelte b/web/src/lib/components/notification/notification_dropdown.svelte index 45eff33d..0b559ec8 100644 --- a/web/src/lib/components/notification/notification_dropdown.svelte +++ b/web/src/lib/components/notification/notification_dropdown.svelte @@ -103,7 +103,7 @@
- {unreadCount} + {unreadCount}{unreadCount >= 10 ? "+" : ""}
{/if}