@planningcenter/topbar 8.1.0 → 8.1.1-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG-pre-4.9.0.md +134 -0
- package/CHANGELOG.md +151 -0
- package/dist/topbar.js +1 -1
- package/dist/topbar.js.map +1 -1
- package/dist/topbar.modern.js +1 -1
- package/dist/topbar.modern.js.map +1 -1
- package/dist/topbar.module.js +1 -1
- package/dist/topbar.module.js.map +1 -1
- package/dist/topbar.umd.js +1 -1
- package/dist/topbar.umd.js.map +1 -1
- package/dist/types/modules/components/notification_item.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# LOST ENTRIES
|
|
2
|
+
|
|
3
|
+
# 3.0.0 Release
|
|
4
|
+
|
|
5
|
+
### Squircle Icons
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
You've seen them in Slack.
|
|
10
|
+
Now you can experience them in your own apps.
|
|
11
|
+
|
|
12
|
+
SQUIRCLES!
|
|
13
|
+
|
|
14
|
+
### Support for Church Center and API
|
|
15
|
+
|
|
16
|
+
Some of our products can't be found in Topbar's app-switcher.
|
|
17
|
+
v3 adds support for those non-navigable apps.
|
|
18
|
+
Now, these apps can use Topbar **and** keep out of the app-switcher.
|
|
19
|
+
|
|
20
|
+
### Support for React 16
|
|
21
|
+
|
|
22
|
+
@glosie gets the badge for first app to React 16.
|
|
23
|
+
He also gets a badge for updating Topbar's dependencies, allowing you to upgrade to React 16 too!
|
|
24
|
+
|
|
25
|
+
🤗
|
|
26
|
+
|
|
27
|
+
### Various UX fixes
|
|
28
|
+
|
|
29
|
+
v3 resolves a [long-stading useability bug](https://trello.com/c/PQtq5w1u/2568-%F0%9F%90%9E-previously-logged-in-users-linked-accounts-are-visible-for-a-split-second#) where users could (for a split second) see the `connected_people` from the previous session.
|
|
30
|
+
|
|
31
|
+
Thanks @mcfadden and @ClaytonRector for surfacing that.
|
|
32
|
+
|
|
33
|
+
## Upgrade from v2
|
|
34
|
+
|
|
35
|
+
This should be a mostly painless upgrade.
|
|
36
|
+
Here are the APIs that changed and how to update.
|
|
37
|
+
|
|
38
|
+
### `PlatformAnnouncements`
|
|
39
|
+
|
|
40
|
+
Platform Announcements were a quickly concieved feature.
|
|
41
|
+
The v2 API has a very "build-your-own" feel.
|
|
42
|
+
After implementing them across apps, we have a better understanding of what they are and how they should be used.
|
|
43
|
+
|
|
44
|
+
Now I expose a single component for platform announcements.
|
|
45
|
+
|
|
46
|
+
```jsx
|
|
47
|
+
import { PlatformAnnouncements } from "@planningcenter/topbar";
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Implemented it in your `{App}Topbar` like so:
|
|
51
|
+
|
|
52
|
+
```jsx
|
|
53
|
+
<PlatformAnnouncement
|
|
54
|
+
data={this.props.platformAnnouncements}
|
|
55
|
+
colors={shared.colors}
|
|
56
|
+
env={shared.env}
|
|
57
|
+
/>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### Naming problems
|
|
61
|
+
|
|
62
|
+
> Didn't these used to `PlatformNotifications`?
|
|
63
|
+
|
|
64
|
+
Yes 😬
|
|
65
|
+
|
|
66
|
+
There are a lot of `notification` features in the pipeline.
|
|
67
|
+
To distinguish these in Topbar-land, we've written up a [dictionary of terms](https://planningcenter.design/interfaces-and-interactions/announcements-and-notifications-and-alerts-oh-my).
|
|
68
|
+
|
|
69
|
+
I know that this introduces some cognitive dissonence—now that Topbar uses `PlatformAnnouncements` but `platform_notifications` is used for all the #platform tooling.
|
|
70
|
+
|
|
71
|
+
I'm sorry.
|
|
72
|
+
|
|
73
|
+
I knew there was eventually naming problem
|
|
74
|
+
but I didn't have a comprehensive solution before the feature needed to ship.
|
|
75
|
+
You only know what you know when you know it.
|
|
76
|
+
|
|
77
|
+
If you find this dissonence problematic, you can assign on import.
|
|
78
|
+
|
|
79
|
+
```js
|
|
80
|
+
import { PlatformAnnouncements as PlatformNotifications } from "@planningcenter/topbar";
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The props for this componenent are intentionnaly generic (`data`, `renderItem`) to be clear, when referenced by either name.
|
|
84
|
+
|
|
85
|
+
### `AppsProvider` and `ConnectedPeopleProvider`
|
|
86
|
+
|
|
87
|
+
These two data-fetching, provider components have new callback signatures.
|
|
88
|
+
|
|
89
|
+
In adding a `clearCache` method to both, I made the decision to pass objects down instead of functions.
|
|
90
|
+
This allows me to add functionality without changing function arity.
|
|
91
|
+
|
|
92
|
+
Your use of these components should now look like this:
|
|
93
|
+
|
|
94
|
+
```jsx
|
|
95
|
+
<ConnectedPeopleProvider
|
|
96
|
+
render={(connectedPeople, connectedPeopleActions) => (
|
|
97
|
+
<AppsProvider
|
|
98
|
+
render={(apps, appsActions) => (
|
|
99
|
+
/*
|
|
100
|
+
* connectedPeople
|
|
101
|
+
* connectedPeopleActions.fetch()
|
|
102
|
+
* connectedPeopleActions.remove()
|
|
103
|
+
*
|
|
104
|
+
* apps
|
|
105
|
+
* appsActions.fetch()
|
|
106
|
+
* appsActions.remove()
|
|
107
|
+
*/
|
|
108
|
+
)}
|
|
109
|
+
/>
|
|
110
|
+
)}
|
|
111
|
+
/>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### `SmallTopbar` and `NotSmallTopbar`
|
|
115
|
+
|
|
116
|
+
To support the removal of cached `localStorage` data, both Topbars take an additional required props: `requestClearAppsCache` and `requestClearConnectedPeopleCache`.
|
|
117
|
+
|
|
118
|
+
In practice these callbacks should be provided from `ConnectedPeopleProvider` and `AppsProvider` like so:
|
|
119
|
+
|
|
120
|
+
```jsx
|
|
121
|
+
<ConnectedPeopleProvider
|
|
122
|
+
render={(connectedPeople, connectedPeopleActions) => (
|
|
123
|
+
<AppsProvider
|
|
124
|
+
render={(apps, appsActions) => (
|
|
125
|
+
<SmallTopbar
|
|
126
|
+
requestClearConnectedPeopleCache={connectedPeopleActions.remove}
|
|
127
|
+
requestClearAppsCache={appsActions.remove}
|
|
128
|
+
{...allTheOtherProps}
|
|
129
|
+
/>
|
|
130
|
+
)}
|
|
131
|
+
/>
|
|
132
|
+
)}
|
|
133
|
+
/>
|
|
134
|
+
```
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Don't send a `timeZone` key to `@churchcenter/datetime-fmt` if it doesn't have a value
|
|
13
|
+
|
|
14
|
+
## [8.1.0] - 2021-04-11
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Removed references to Resources
|
|
19
|
+
- Transition away from branded Accounts symbols
|
|
20
|
+
- Fix padding in account switcher
|
|
21
|
+
- Update styles for account switcher on mobile
|
|
22
|
+
- Fix dark mode text styles in notifications inbox
|
|
23
|
+
- Fix notification date timezone not displaying in the org's time zone
|
|
24
|
+
|
|
25
|
+
## [8.0.1] - 2021-03-29
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
- Correct the capitalization of "Check-Ins" in order to set the correct color for notifications
|
|
30
|
+
- Bring back the `notifications` prop for topbars so that if notifications are not enabled, it will render the `notifications` prop instead
|
|
31
|
+
|
|
32
|
+
## [8.0.0] - 2021-03-24
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
|
|
36
|
+
- Notification bell, indicator, and dropdown that displays the current user's read and unread notifications.
|
|
37
|
+
- Subscribe to push notifications via Jolt after initial load. Whenever a push event is received, a GET request is sent to the notifications API endpoint to retrieve the details of the new notification.
|
|
38
|
+
- Set up prettier and eslint and allow them to have their way on the code
|
|
39
|
+
- Control the admin notifications inbox with the flipper flag of `TOPBAR_notifications_enabled` in People. Disable for a specific app by setting `window.notificationsDisabled = true`.
|
|
40
|
+
- Control the Login info section with the flipper flag of `TOPBAR_mfa_enabled` in People.
|
|
41
|
+
- Show an indicator for whether MFA is configured for the current profile
|
|
42
|
+
- Add `props.linkToProfile` to `SharedTopbarProps` (so it's available to small and not small)
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- No-op `AppsProvider`'s `fetch` and `remove` functions that are passed along with `apps` to the `render` function prop. Since we will always have fresh data now, there is no need to have these functions run.
|
|
47
|
+
- The information required to render the topbar is now contained in a single API request from people (`/me/topbar`). This includes the list of apps to render in the app switcher and enabled features inside the topbar. This is a change specifically to the app switcher, so changes had to be made in terms of the expected shape of the response from the server in order to render the app switcher. The `AppsProvider` `mapApps` function has been updated accordingly.
|
|
48
|
+
|
|
49
|
+
### Removed
|
|
50
|
+
|
|
51
|
+
- `mapResourcesToCalendar` is removed as an export of `AppsProvider`. The apps array we receive from the API no longer returns Resources. Use `mapApps` instead (or, better still, don't pass anything to `formatter` and let us use the default).
|
|
52
|
+
- `MediumTopbar`. Only one app (API) was using it and it wasn't worth attempting to keep feature parity with the other two topbars.
|
|
53
|
+
|
|
54
|
+
## [7.2.1] - 2021-12-09
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
|
|
58
|
+
- Bug z-stacking Safari bug that caused expanded `smalltopbar` items to show up behind elements [#46](https://github.com/ministrycentered/topbar/pull/46)
|
|
59
|
+
- Bug causing user settings to be hidden on mobile when Home wasn't enabled for the user [#47](https://github.com/ministrycentered/topbar/pull/47)
|
|
60
|
+
|
|
61
|
+
## [7.2.0] - 2021-12-02
|
|
62
|
+
|
|
63
|
+
### Changed
|
|
64
|
+
|
|
65
|
+
- New look and feel for the app switcher ([#40](https://github.com/ministrycentered/topbar/pull/40), [#42](https://github.com/ministrycentered/topbar/pull/42)).
|
|
66
|
+
The switcher now displays Home at the top with some visual separation and Accounts (as "account") at the bottom—also with visual separation.
|
|
67
|
+
|
|
68
|
+
## [7.1.3] - 2021-11-16
|
|
69
|
+
|
|
70
|
+
### Fixed
|
|
71
|
+
|
|
72
|
+
- Corrected the sorting of app names in mobile topbar as well [#36](https://github.com/ministrycentered/topbar/pull/36)
|
|
73
|
+
|
|
74
|
+
## [7.1.2] - 2021-11-11
|
|
75
|
+
|
|
76
|
+
### Fixed
|
|
77
|
+
|
|
78
|
+
- Corrected the corrected sorting of app names in app switcher [#33](https://github.com/ministrycentered/topbar/pull/33)
|
|
79
|
+
|
|
80
|
+
## [7.1.1] - 2021-11-10
|
|
81
|
+
|
|
82
|
+
### Fixed
|
|
83
|
+
|
|
84
|
+
- Corrected sorting of app names in app switcher [#32](https://github.com/ministrycentered/topbar/pull/32)
|
|
85
|
+
|
|
86
|
+
## [7.1.0] - 2021-11-08
|
|
87
|
+
|
|
88
|
+
### Added
|
|
89
|
+
|
|
90
|
+
- Add Home to the app switcher dropdown
|
|
91
|
+
|
|
92
|
+
## [7.0.0] - 2021-10-01
|
|
93
|
+
|
|
94
|
+
- Add CSRF support to login ([#46](https://github.com/planningcenter/design/pull/46) @danielma)
|
|
95
|
+
- [First implementation in Accounts](https://github.com/ministrycentered/accounts/pull/1877/files)
|
|
96
|
+
- [Second implementation in Giving](https://github.com/ministrycentered/giving/pull/4482/files)
|
|
97
|
+
- Update devDependencies pins
|
|
98
|
+
- `microbundle`: `^0.12.4` => `^0.13.0`
|
|
99
|
+
- `webpack`: `^4.46.0` => `^5.13.0`
|
|
100
|
+
- `webpack-cli`: `^3.3.13` => `^4.3.1`
|
|
101
|
+
- `ts-loader`: `^7.0.5` => `^8.0.14`
|
|
102
|
+
- `typescript`: `^3.9.7` => `^4.1.3`
|
|
103
|
+
- `react`: `^16.14.0` => `^17.0.1`
|
|
104
|
+
- `react-dom`: `^16.14.0` => `^17.0.1`
|
|
105
|
+
- `@types/react`: `^16.14.2` => `^17.0.0`
|
|
106
|
+
- `@types/react-dom`: `^16.9.10` => `^17.0.0`
|
|
107
|
+
- Unlock modern builds by removing `--format cjs` flag for improved bundling app-side
|
|
108
|
+
- Add `referer` query parameter to `AppSwitch` urls: [Accounts PR](https://github.com/ministrycentered/accounts/pull/1910)
|
|
109
|
+
- Add the ability to override the topbar’s link colors via props in `NotSmallTopbar` [#122](https://github.com/planningcenter/design/pull/122)
|
|
110
|
+
- Add `ProductAnnouncement` component
|
|
111
|
+
- Additional top-level exports:
|
|
112
|
+
- `ProductAnnouncementStyleProvider`
|
|
113
|
+
- `StyledProductAnnouncement`
|
|
114
|
+
- `StyledProductAnnouncementDimissButton`
|
|
115
|
+
- `Topbar_ProductAnnouncement` parent selector for styling content
|
|
116
|
+
- Fix Announcement topbars to be 14px font-size and 48px absolute height
|
|
117
|
+
|
|
118
|
+
## 6.0.0
|
|
119
|
+
|
|
120
|
+
- [BREAKING] modify `/logout` urls to target Login, a2ec71d
|
|
121
|
+
|
|
122
|
+
## 5.0.0
|
|
123
|
+
|
|
124
|
+
- [BREAKING] replace Registrations icon
|
|
125
|
+
- Add `mapRegistrationsToExpiredRegistrations` to control them
|
|
126
|
+
|
|
127
|
+
## 4.11.0
|
|
128
|
+
|
|
129
|
+
- Add `AppsProvider#formatter` and `mapApps`/`mapResourcesToCalendar` formatters to provide a AppsMenu control mechanism to product teams
|
|
130
|
+
- Add `.codes` support for `pco-box`
|
|
131
|
+
|
|
132
|
+
## 4.9.0
|
|
133
|
+
|
|
134
|
+
- Add support for "Calendar" app
|
|
135
|
+
|
|
136
|
+
## [Previous entries]
|
|
137
|
+
|
|
138
|
+
Versions entries to this changelog weren't tracked very well and were presented in a less organized style (more like a README or upgrade guide). If you are interested in that, you can read about the changes in [README-pre-4.9.0].
|
|
139
|
+
|
|
140
|
+
[unreleased]: https://github.com/ministrycentered/topbar/compare/v8.1.0..main
|
|
141
|
+
[8.1.0]: https://github.com/ministrycentered/topbar/compare/v8.0.1..v8.1.0
|
|
142
|
+
[8.0.1]: https://github.com/ministrycentered/topbar/compare/v8.0.0..v8.0.1
|
|
143
|
+
[8.0.0]: https://github.com/ministrycentered/topbar/compare/v7.2.1..v8.0.0
|
|
144
|
+
[7.2.1]: https://github.com/ministrycentered/topbar/compare/v7.2.0..v7.2.1
|
|
145
|
+
[7.2.0]: https://github.com/ministrycentered/topbar/compare/v7.1.3..v7.2.0
|
|
146
|
+
[7.1.3]: https://github.com/ministrycentered/topbar/compare/v7.1.2..v7.1.3
|
|
147
|
+
[7.1.2]: https://github.com/ministrycentered/topbar/compare/v7.1.1..v7.1.2
|
|
148
|
+
[7.1.1]: https://github.com/ministrycentered/topbar/compare/v7.1.0..v7.1.1
|
|
149
|
+
[7.1.0]: https://github.com/ministrycentered/topbar/compare/v7.0.0..v7.1.0
|
|
150
|
+
[7.0.0]: https://github.com/ministrycentered/topbar/compare/@planningcenter/topbar@6.0.6..v7.0.0
|
|
151
|
+
[previous entries]: CHANGELOG-pre-4.9.0.md
|