@checkstack/notification-frontend 0.2.8 → 0.2.10
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.md
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# @checkstack/notification-frontend
|
|
2
2
|
|
|
3
|
+
## 0.2.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 223081d: Add icon support to PageLayout and improve mobile responsiveness
|
|
8
|
+
|
|
9
|
+
**PageLayout Icons:**
|
|
10
|
+
|
|
11
|
+
- Added required `icon` prop to `PageLayout` and `PageHeader` components that accepts a Lucide icon component reference
|
|
12
|
+
- Icons are rendered with consistent `h-6 w-6 text-primary` styling
|
|
13
|
+
- Updated all page components to include appropriate icons in their headers
|
|
14
|
+
|
|
15
|
+
**Mobile Layout Improvements:**
|
|
16
|
+
|
|
17
|
+
- Standardized responsive padding in main app shell (`p-3` on mobile, `p-6` on desktop)
|
|
18
|
+
- Added `CardHeaderRow` component for mobile-safe card headers with proper wrapping
|
|
19
|
+
- Improved `DateRangeFilter` responsive behavior with vertical stacking on mobile
|
|
20
|
+
- Migrated pages to use `PageLayout` for consistent responsive behavior
|
|
21
|
+
|
|
22
|
+
- Updated dependencies [223081d]
|
|
23
|
+
- @checkstack/ui@0.5.0
|
|
24
|
+
- @checkstack/auth-frontend@0.5.5
|
|
25
|
+
|
|
26
|
+
## 0.2.9
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Updated dependencies [db1f56f]
|
|
31
|
+
- Updated dependencies [538e45d]
|
|
32
|
+
- @checkstack/common@0.6.0
|
|
33
|
+
- @checkstack/ui@0.4.1
|
|
34
|
+
- @checkstack/auth-frontend@0.5.4
|
|
35
|
+
- @checkstack/frontend-api@0.3.3
|
|
36
|
+
- @checkstack/notification-common@0.2.3
|
|
37
|
+
- @checkstack/signal-frontend@0.0.10
|
|
38
|
+
|
|
3
39
|
## 0.2.8
|
|
4
40
|
|
|
5
41
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -72,7 +72,7 @@ export const NotificationSettingsPage = () => {
|
|
|
72
72
|
refetch: refetchStrategies,
|
|
73
73
|
} = notificationClient.getDeliveryStrategies.useQuery(
|
|
74
74
|
{},
|
|
75
|
-
{ enabled: isAdmin }
|
|
75
|
+
{ enabled: isAdmin },
|
|
76
76
|
);
|
|
77
77
|
|
|
78
78
|
// Query: User delivery channels
|
|
@@ -97,7 +97,7 @@ export const NotificationSettingsPage = () => {
|
|
|
97
97
|
},
|
|
98
98
|
onError: (error) => {
|
|
99
99
|
toast.error(
|
|
100
|
-
error instanceof Error ? error.message : "Failed to save settings"
|
|
100
|
+
error instanceof Error ? error.message : "Failed to save settings",
|
|
101
101
|
);
|
|
102
102
|
},
|
|
103
103
|
});
|
|
@@ -109,7 +109,7 @@ export const NotificationSettingsPage = () => {
|
|
|
109
109
|
},
|
|
110
110
|
onError: (error) => {
|
|
111
111
|
toast.error(
|
|
112
|
-
error instanceof Error ? error.message : "Failed to unsubscribe"
|
|
112
|
+
error instanceof Error ? error.message : "Failed to unsubscribe",
|
|
113
113
|
);
|
|
114
114
|
},
|
|
115
115
|
});
|
|
@@ -123,7 +123,7 @@ export const NotificationSettingsPage = () => {
|
|
|
123
123
|
},
|
|
124
124
|
onError: (error) => {
|
|
125
125
|
toast.error(
|
|
126
|
-
error instanceof Error ? error.message : "Failed to update channel"
|
|
126
|
+
error instanceof Error ? error.message : "Failed to update channel",
|
|
127
127
|
);
|
|
128
128
|
setStrategySaving(undefined);
|
|
129
129
|
},
|
|
@@ -138,7 +138,9 @@ export const NotificationSettingsPage = () => {
|
|
|
138
138
|
},
|
|
139
139
|
onError: (error) => {
|
|
140
140
|
toast.error(
|
|
141
|
-
error instanceof Error
|
|
141
|
+
error instanceof Error
|
|
142
|
+
? error.message
|
|
143
|
+
: "Failed to update preference",
|
|
142
144
|
);
|
|
143
145
|
setChannelSaving(undefined);
|
|
144
146
|
},
|
|
@@ -153,7 +155,7 @@ export const NotificationSettingsPage = () => {
|
|
|
153
155
|
},
|
|
154
156
|
onError: (error) => {
|
|
155
157
|
toast.error(
|
|
156
|
-
error instanceof Error ? error.message : "Failed to disconnect"
|
|
158
|
+
error instanceof Error ? error.message : "Failed to disconnect",
|
|
157
159
|
);
|
|
158
160
|
setChannelSaving(undefined);
|
|
159
161
|
},
|
|
@@ -166,7 +168,7 @@ export const NotificationSettingsPage = () => {
|
|
|
166
168
|
},
|
|
167
169
|
onError: (error) => {
|
|
168
170
|
toast.error(
|
|
169
|
-
error instanceof Error ? error.message : "Failed to start OAuth flow"
|
|
171
|
+
error instanceof Error ? error.message : "Failed to start OAuth flow",
|
|
170
172
|
);
|
|
171
173
|
setChannelConnecting(undefined);
|
|
172
174
|
},
|
|
@@ -180,7 +182,7 @@ export const NotificationSettingsPage = () => {
|
|
|
180
182
|
|
|
181
183
|
const handleSaveRetention = () => {
|
|
182
184
|
setRetentionMutation.mutate(
|
|
183
|
-
retentionSettings as { enabled: boolean; retentionDays: number }
|
|
185
|
+
retentionSettings as { enabled: boolean; retentionDays: number },
|
|
184
186
|
);
|
|
185
187
|
};
|
|
186
188
|
|
|
@@ -192,7 +194,7 @@ export const NotificationSettingsPage = () => {
|
|
|
192
194
|
strategyId: string,
|
|
193
195
|
enabled: boolean,
|
|
194
196
|
config?: Record<string, unknown>,
|
|
195
|
-
layoutConfig?: Record<string, unknown
|
|
197
|
+
layoutConfig?: Record<string, unknown>,
|
|
196
198
|
) => {
|
|
197
199
|
setStrategySaving(strategyId);
|
|
198
200
|
await updateStrategyMutation.mutateAsync({
|
|
@@ -226,7 +228,7 @@ export const NotificationSettingsPage = () => {
|
|
|
226
228
|
|
|
227
229
|
const handleChannelConfigSave = async (
|
|
228
230
|
strategyId: string,
|
|
229
|
-
userConfig: Record<string, unknown
|
|
231
|
+
userConfig: Record<string, unknown>,
|
|
230
232
|
) => {
|
|
231
233
|
setChannelSaving(strategyId);
|
|
232
234
|
const channel = userChannels.find((c) => c.strategyId === strategyId);
|
|
@@ -243,7 +245,7 @@ export const NotificationSettingsPage = () => {
|
|
|
243
245
|
};
|
|
244
246
|
|
|
245
247
|
return (
|
|
246
|
-
<PageLayout title="Notification Settings" loading={subsLoading}>
|
|
248
|
+
<PageLayout title="Notification Settings" icon={Bell} loading={subsLoading}>
|
|
247
249
|
<div className="space-y-8">
|
|
248
250
|
{/* Your Notification Channels - All users */}
|
|
249
251
|
<section>
|
|
@@ -48,7 +48,7 @@ export const NotificationsPage = () => {
|
|
|
48
48
|
},
|
|
49
49
|
onError: (error) => {
|
|
50
50
|
toast.error(
|
|
51
|
-
error instanceof Error ? error.message : "Failed to mark as read"
|
|
51
|
+
error instanceof Error ? error.message : "Failed to mark as read",
|
|
52
52
|
);
|
|
53
53
|
},
|
|
54
54
|
});
|
|
@@ -61,7 +61,9 @@ export const NotificationsPage = () => {
|
|
|
61
61
|
},
|
|
62
62
|
onError: (error) => {
|
|
63
63
|
toast.error(
|
|
64
|
-
error instanceof Error
|
|
64
|
+
error instanceof Error
|
|
65
|
+
? error.message
|
|
66
|
+
: "Failed to delete notification",
|
|
65
67
|
);
|
|
66
68
|
},
|
|
67
69
|
});
|
|
@@ -74,7 +76,7 @@ export const NotificationsPage = () => {
|
|
|
74
76
|
},
|
|
75
77
|
onError: (error) => {
|
|
76
78
|
toast.error(
|
|
77
|
-
error instanceof Error ? error.message : "Failed to mark all as read"
|
|
79
|
+
error instanceof Error ? error.message : "Failed to mark all as read",
|
|
78
80
|
);
|
|
79
81
|
},
|
|
80
82
|
});
|
|
@@ -129,7 +131,7 @@ export const NotificationsPage = () => {
|
|
|
129
131
|
};
|
|
130
132
|
|
|
131
133
|
return (
|
|
132
|
-
<PageLayout title="Notifications" loading={loading}>
|
|
134
|
+
<PageLayout title="Notifications" icon={Bell} loading={loading}>
|
|
133
135
|
<div className="space-y-4">
|
|
134
136
|
{/* Header with filters */}
|
|
135
137
|
<div className="flex items-center justify-between">
|