UX: improvements to new dashboard

- remove inactive user report and replace with posts
- clean up internals so grouping by week happens on client
- when switching periods old report was not destroyed leading to bugs
- calculate trend based on previous interval ... not previous 30 days
- show percentages for mau/dau
- be more careful about utc date usage
- show uniqu and click through rate on search panel
- publish key of report with report so we only load the correct one
- subscribe earlier in channel in case of concurrency issues
This commit is contained in:
Sam
2018-05-11 13:30:21 +10:00
parent 52d6b0f948
commit 8a783412b7
21 changed files with 324 additions and 107 deletions

View File

@ -37,30 +37,34 @@ export default Ember.Controller.extend({
@computed("period")
startDate(period) {
let fullDay = moment().utc().subtract(1, "day");
switch (period) {
case "yearly":
return moment().subtract(1, "year").startOf("day");
return fullDay.subtract(1, "year").startOf("day");
break;
case "quarterly":
return moment().subtract(3, "month").startOf("day");
return fullDay.subtract(3, "month").startOf("day");
break;
case "weekly":
return moment().subtract(1, "week").startOf("day");
return fullDay.subtract(1, "week").startOf("day");
break;
case "monthly":
return moment().subtract(1, "month").startOf("day");
break;
case "daily":
return moment().startOf("day");
return fullDay.subtract(1, "month").startOf("day");
break;
default:
return null;
}
},
@computed("period")
endDate(period) {
return period === "all" ? null : moment().endOf("day");
@computed()
lastWeek() {
return moment().utc().endOf("day").subtract(1, "week");
},
@computed()
endDate() {
return moment().utc().subtract(1, "day").endOf("day");
},
@computed("updated_at")