@checkstack/notification-frontend 0.2.9 → 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,28 @@
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
+
3
26
  ## 0.2.9
4
27
 
5
28
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkstack/notification-frontend",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "type": "module",
5
5
  "main": "src/index.tsx",
6
6
  "checkstack": {
@@ -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 ? error.message : "Failed to update preference"
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 ? error.message : "Failed to delete notification"
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">