From a81cb860db6c0b3857057821f31b07170df83f27 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tarje=20S=C3=A6len=20Lavik?= <tarje.lavik@gmail.com>
Date: Wed, 21 Apr 2021 13:04:16 +0200
Subject: [PATCH] Improve preview on activity objects

---
 studio/schemas/objects/activities/Birth.js   |  4 ++--
 studio/schemas/objects/activities/Death.js   |  4 ++--
 studio/schemas/objects/activities/Joining.js | 12 ++++++++++--
 studio/schemas/objects/activities/Leaving.js | 14 +++++++++++---
 4 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/studio/schemas/objects/activities/Birth.js b/studio/schemas/objects/activities/Birth.js
index 359fc13..e497c5d 100644
--- a/studio/schemas/objects/activities/Birth.js
+++ b/studio/schemas/objects/activities/Birth.js
@@ -25,8 +25,8 @@ export default {
       const {type, bb, eb, date, be, ee} = selection
       const timespan = timespanAsString(bb, eb, date, be, ee, 'nb')
       return {
-        title: timespan,
-        subtitle: `${capitalize(type)}`,
+        title: `${capitalize(type)}`,
+        subtitle: timespan,
       }
     },
   },
diff --git a/studio/schemas/objects/activities/Death.js b/studio/schemas/objects/activities/Death.js
index e0f7e71..0b7ceda 100644
--- a/studio/schemas/objects/activities/Death.js
+++ b/studio/schemas/objects/activities/Death.js
@@ -25,8 +25,8 @@ export default {
       const {type, bb, eb, date, be, ee} = selection
       const timespan = timespanAsString(bb, eb, date, be, ee, 'nb')
       return {
-        title: timespan,
-        subtitle: `${capitalize(type)}`,
+        title: `${capitalize(type)}`,
+        subtitle: timespan,
       }
     },
   },
diff --git a/studio/schemas/objects/activities/Joining.js b/studio/schemas/objects/activities/Joining.js
index 359ad5e..4de945f 100644
--- a/studio/schemas/objects/activities/Joining.js
+++ b/studio/schemas/objects/activities/Joining.js
@@ -1,3 +1,4 @@
+import { timespanAsString } from '../../helpers/helpers'
 import {timespan, referredToBy, tookPlaceAt, featured} from '../../props'
 
 var capitalize = require('capitalize')
@@ -61,12 +62,19 @@ export default {
   preview: {
     select: {
       type: '_type',
+      joinedWith: 'joinedWith.label',
+      bb: 'timespan.0.beginOfTheBegin',
+      eb: 'timespan.0.endOfTheBegin',
       date: 'timespan.0.date',
+      be: 'timespan.0.beginOfTheEnd',
+      ee: 'timespan.0.endOfTheEnd',
     },
     prepare(selection) {
-      const {type, date} = selection
+      const {type, joinedWith, bb, eb, date, be, ee} = selection
+      const timespan = timespanAsString(bb, eb, date, be, ee, 'nb')
       return {
-        title: `${capitalize(type)}${date ? ' at ' + date : ''}`,
+        title: `${capitalize(type)} ${joinedWith ? joinedWith : ''}`,
+        subtitle: `${timespan ? timespan : ''}`,
       }
     },
   },
diff --git a/studio/schemas/objects/activities/Leaving.js b/studio/schemas/objects/activities/Leaving.js
index f029af4..07f42fa 100644
--- a/studio/schemas/objects/activities/Leaving.js
+++ b/studio/schemas/objects/activities/Leaving.js
@@ -1,5 +1,6 @@
 import {timespan, tookPlaceAt, referredToBy, featured} from '../../props'
 import {defaultFieldsets} from '../../fieldsets'
+import { timespanAsString } from '../../helpers/helpers'
 
 var capitalize = require('capitalize')
 
@@ -56,12 +57,19 @@ export default {
   preview: {
     select: {
       type: '_type',
-      date: 'date',
+      joinedWith: 'joinedWith.label',
+      bb: 'timespan.0.beginOfTheBegin',
+      eb: 'timespan.0.endOfTheBegin',
+      date: 'timespan.0.date',
+      be: 'timespan.0.beginOfTheEnd',
+      ee: 'timespan.0.endOfTheEnd',
     },
     prepare(selection) {
-      const {type, date} = selection
+      const {type, joinedWith, bb, eb, date, be, ee} = selection
+      const timespan = timespanAsString(bb, eb, date, be, ee, 'nb')
       return {
-        title: `${capitalize(type)}${date ? ' at ' + date : ''}`,
+        title: `${capitalize(type)} ${joinedWith ? joinedWith : ''}`,
+        subtitle: `${timespan ? timespan : ''}`,
       }
     },
   },
-- 
GitLab