@flamingo-stack/openframe-frontend-core 0.0.347-snapshot.20260630182958 → 0.0.347
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/dist/{chunk-LBBRR56M.cjs → chunk-2WTA2TGZ.cjs} +26 -26
- package/dist/{chunk-LBBRR56M.cjs.map → chunk-2WTA2TGZ.cjs.map} +1 -1
- package/dist/{chunk-6BW37KWJ.js → chunk-AQWXNUY5.js} +4 -4
- package/dist/{chunk-K5G3JKIU.cjs → chunk-BAQUBE3J.cjs} +5 -5
- package/dist/{chunk-K5G3JKIU.cjs.map → chunk-BAQUBE3J.cjs.map} +1 -1
- package/dist/{chunk-3JIUN64F.cjs → chunk-BB75OCWM.cjs} +25 -25
- package/dist/{chunk-3JIUN64F.cjs.map → chunk-BB75OCWM.cjs.map} +1 -1
- package/dist/{chunk-NUO4JXTS.js → chunk-DBP5XYHP.js} +2 -2
- package/dist/{chunk-DU5LLHRI.js → chunk-DNIXKKAO.js} +4 -4
- package/dist/{chunk-WADLOXCY.js → chunk-E5GGKGLG.js} +4 -4
- package/dist/{chunk-RT6GEODM.js → chunk-EQQS4C66.js} +2 -2
- package/dist/{chunk-7CBXPBSB.js → chunk-FCQTT3EN.js} +1 -1
- package/dist/{chunk-7CBXPBSB.js.map → chunk-FCQTT3EN.js.map} +1 -1
- package/dist/{chunk-CH2F32CW.cjs → chunk-IK76VFPB.cjs} +56 -56
- package/dist/{chunk-CH2F32CW.cjs.map → chunk-IK76VFPB.cjs.map} +1 -1
- package/dist/{chunk-XBJJIMIG.js → chunk-JDWOPC5W.js} +2 -2
- package/dist/{chunk-IROBEIGB.cjs → chunk-LLKZVG42.cjs} +31 -31
- package/dist/{chunk-IROBEIGB.cjs.map → chunk-LLKZVG42.cjs.map} +1 -1
- package/dist/{chunk-4UUFNLXQ.cjs → chunk-LURIO2V6.cjs} +7 -7
- package/dist/{chunk-4UUFNLXQ.cjs.map → chunk-LURIO2V6.cjs.map} +1 -1
- package/dist/{chunk-PQG3L4MK.cjs → chunk-LUZMRZIT.cjs} +37 -37
- package/dist/{chunk-PQG3L4MK.cjs.map → chunk-LUZMRZIT.cjs.map} +1 -1
- package/dist/{chunk-RDJNK5AV.js → chunk-LYKMMMJM.js} +2 -2
- package/dist/{chunk-O5D3YWMW.cjs → chunk-Q2ACKKFN.cjs} +1 -1
- package/dist/{chunk-O5D3YWMW.cjs.map → chunk-Q2ACKKFN.cjs.map} +1 -1
- package/dist/{chunk-ZS7YHQXO.js → chunk-Q2MTKMST.js} +2 -2
- package/dist/{chunk-MZGJBQ72.cjs → chunk-RVQCUROB.cjs} +15 -15
- package/dist/{chunk-MZGJBQ72.cjs.map → chunk-RVQCUROB.cjs.map} +1 -1
- package/dist/{chunk-QZVKSUPR.cjs → chunk-SN55DABG.cjs} +62 -62
- package/dist/{chunk-QZVKSUPR.cjs.map → chunk-SN55DABG.cjs.map} +1 -1
- package/dist/{chunk-YTSX3CIK.cjs → chunk-SNGWHQOT.cjs} +12 -12
- package/dist/{chunk-YTSX3CIK.cjs.map → chunk-SNGWHQOT.cjs.map} +1 -1
- package/dist/{chunk-YFOLFU7F.cjs → chunk-T3NJFBR4.cjs} +9 -9
- package/dist/{chunk-YFOLFU7F.cjs.map → chunk-T3NJFBR4.cjs.map} +1 -1
- package/dist/{chunk-YWEWRAMA.js → chunk-TTVJV7AX.js} +4 -4
- package/dist/{chunk-YOVM7KGM.js → chunk-USF72I36.js} +2 -2
- package/dist/{chunk-4RMUTJTZ.js → chunk-WV2O2KJQ.js} +2 -2
- package/dist/components/announcement-bar.d.ts.map +1 -1
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/index.cjs +127 -127
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +15 -15
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/types/announcement.cjs.map +1 -1
- package/dist/types/announcement.d.ts +22 -17
- package/dist/types/announcement.d.ts.map +1 -1
- package/dist/types/announcement.js.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/supabase.d.ts +9 -6
- package/dist/types/supabase.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/announcement-bar.tsx +6 -9
- package/src/stories/AnnouncementBar.stories.tsx +11 -9
- package/src/types/announcement.ts +23 -17
- package/src/types/supabase.ts +9 -6
- /package/dist/{chunk-6BW37KWJ.js.map → chunk-AQWXNUY5.js.map} +0 -0
- /package/dist/{chunk-NUO4JXTS.js.map → chunk-DBP5XYHP.js.map} +0 -0
- /package/dist/{chunk-DU5LLHRI.js.map → chunk-DNIXKKAO.js.map} +0 -0
- /package/dist/{chunk-WADLOXCY.js.map → chunk-E5GGKGLG.js.map} +0 -0
- /package/dist/{chunk-RT6GEODM.js.map → chunk-EQQS4C66.js.map} +0 -0
- /package/dist/{chunk-XBJJIMIG.js.map → chunk-JDWOPC5W.js.map} +0 -0
- /package/dist/{chunk-RDJNK5AV.js.map → chunk-LYKMMMJM.js.map} +0 -0
- /package/dist/{chunk-ZS7YHQXO.js.map → chunk-Q2MTKMST.js.map} +0 -0
- /package/dist/{chunk-YWEWRAMA.js.map → chunk-TTVJV7AX.js.map} +0 -0
- /package/dist/{chunk-YOVM7KGM.js.map → chunk-USF72I36.js.map} +0 -0
- /package/dist/{chunk-4RMUTJTZ.js.map → chunk-WV2O2KJQ.js.map} +0 -0
|
@@ -40,7 +40,8 @@ const baseAnnouncement: Announcement = {
|
|
|
40
40
|
title: 'New Feature Released',
|
|
41
41
|
description: 'Check out our latest updates and improvements to the platform.',
|
|
42
42
|
background_color: '#FFD951',
|
|
43
|
-
|
|
43
|
+
icon_type: 'svg',
|
|
44
|
+
icon_svg_name: 'rocket',
|
|
44
45
|
platform_id: 'openframe',
|
|
45
46
|
is_active: true,
|
|
46
47
|
created_at: now,
|
|
@@ -94,12 +95,12 @@ export const WithCTA: Story = {
|
|
|
94
95
|
title: 'OpenFrame v2.0 is here!',
|
|
95
96
|
description: 'Explore the new dashboard, improved device management, and more.',
|
|
96
97
|
background_color: '#FFD951',
|
|
97
|
-
|
|
98
|
+
icon_svg_name: 'star',
|
|
98
99
|
cta_enabled: true,
|
|
99
100
|
cta_text: 'Learn More',
|
|
100
101
|
cta_url: 'https://example.com',
|
|
101
102
|
cta_target: '_blank',
|
|
102
|
-
|
|
103
|
+
cta_icon: 'rocket',
|
|
103
104
|
cta_show_icon: true,
|
|
104
105
|
cta_button_background_color: '#1A1A1A',
|
|
105
106
|
cta_button_text_color: '#FFFFFF',
|
|
@@ -121,7 +122,7 @@ export const WithCTASameTab: Story = {
|
|
|
121
122
|
title: 'Scheduled Maintenance',
|
|
122
123
|
description: 'We will perform maintenance on Saturday from 2:00 AM to 4:00 AM UTC.',
|
|
123
124
|
background_color: '#FFE082',
|
|
124
|
-
|
|
125
|
+
icon_svg_name: 'info',
|
|
125
126
|
cta_enabled: true,
|
|
126
127
|
cta_text: 'View Status',
|
|
127
128
|
cta_url: '/status',
|
|
@@ -144,7 +145,7 @@ export const BlueBackground: Story = {
|
|
|
144
145
|
title: 'Join our Community',
|
|
145
146
|
description: 'Connect with other MSPs and share best practices.',
|
|
146
147
|
background_color: '#60A5FA',
|
|
147
|
-
|
|
148
|
+
icon_svg_name: 'megaphone',
|
|
148
149
|
})
|
|
149
150
|
return <Story />
|
|
150
151
|
},
|
|
@@ -163,7 +164,7 @@ export const GreenBackground: Story = {
|
|
|
163
164
|
title: 'All Systems Operational',
|
|
164
165
|
description: 'Everything is running smoothly. No issues detected.',
|
|
165
166
|
background_color: '#86EFAC',
|
|
166
|
-
|
|
167
|
+
icon_svg_name: 'bell',
|
|
167
168
|
})
|
|
168
169
|
return <Story />
|
|
169
170
|
},
|
|
@@ -182,7 +183,7 @@ export const WithOpenFrameLogo: Story = {
|
|
|
182
183
|
title: 'Welcome to OpenFrame',
|
|
183
184
|
description: 'Your open-source IT infrastructure management platform.',
|
|
184
185
|
background_color: '#FFD951',
|
|
185
|
-
|
|
186
|
+
icon_svg_name: 'openframe-logo',
|
|
186
187
|
cta_enabled: true,
|
|
187
188
|
cta_text: 'Get Started',
|
|
188
189
|
cta_url: '/getting-started',
|
|
@@ -207,7 +208,8 @@ export const WithPNGIcon: Story = {
|
|
|
207
208
|
title: 'Partner Program Launch',
|
|
208
209
|
description: 'Become an OpenFrame certified partner and grow your business.',
|
|
209
210
|
background_color: '#C4B5FD',
|
|
210
|
-
|
|
211
|
+
icon_type: 'png',
|
|
212
|
+
icon_png_url: 'https://placehold.co/32x32/1a1a1a/white?text=OF',
|
|
211
213
|
})
|
|
212
214
|
return <Story />
|
|
213
215
|
},
|
|
@@ -227,7 +229,7 @@ export const LongContent: Story = {
|
|
|
227
229
|
description:
|
|
228
230
|
'This is an extremely long description that goes into great detail about the announcement. It should be truncated on the desktop view and hidden on mobile view to keep the bar compact and readable.',
|
|
229
231
|
background_color: '#FCA5A5',
|
|
230
|
-
|
|
232
|
+
icon_svg_name: 'info',
|
|
231
233
|
cta_enabled: true,
|
|
232
234
|
cta_text: 'Read Full Announcement',
|
|
233
235
|
cta_url: '/announcements/long',
|
|
@@ -2,23 +2,26 @@
|
|
|
2
2
|
import type { LegacyPlatform, PlatformFilter, PlatformRecord } from './platform';
|
|
3
3
|
|
|
4
4
|
// For backward compatibility, maintain the old Platform type temporarily
|
|
5
|
+
export type IconType = 'svg' | 'png';
|
|
6
|
+
|
|
5
7
|
// Database Models
|
|
6
8
|
export interface Announcement {
|
|
7
9
|
id: string;
|
|
8
10
|
title: string;
|
|
9
11
|
description: string;
|
|
10
12
|
background_color: string;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
icon_type: IconType;
|
|
14
|
+
icon_svg_name?: string;
|
|
15
|
+
icon_png_url?: string;
|
|
13
16
|
/** Extra props for the main bar/icon */
|
|
14
|
-
|
|
17
|
+
icon_svg_props?: Record<string, any>;
|
|
15
18
|
platform_id: string; // Foreign key to platforms table
|
|
16
19
|
platform?: PlatformRecord; // Joined platform data
|
|
17
20
|
is_active: boolean;
|
|
18
21
|
// CTA (Call-To-Action) fields
|
|
19
22
|
cta_enabled?: boolean;
|
|
20
23
|
cta_text?: string;
|
|
21
|
-
|
|
24
|
+
cta_icon?: string;
|
|
22
25
|
cta_show_icon?: boolean;
|
|
23
26
|
cta_url?: string;
|
|
24
27
|
cta_target?: '_self' | '_blank';
|
|
@@ -54,16 +57,17 @@ export interface CreateAnnouncementData {
|
|
|
54
57
|
title: string;
|
|
55
58
|
description: string;
|
|
56
59
|
background_color: string;
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
icon_type: IconType;
|
|
61
|
+
icon_svg_name?: string;
|
|
62
|
+
icon_png_url?: string;
|
|
59
63
|
/** Extra props for the main bar/icon */
|
|
60
|
-
|
|
64
|
+
icon_svg_props?: Record<string, any>;
|
|
61
65
|
platforms?: string[]; // entity_platforms set (multi-select)
|
|
62
66
|
is_active?: boolean;
|
|
63
67
|
// CTA (Call-To-Action) fields
|
|
64
68
|
cta_enabled?: boolean;
|
|
65
69
|
cta_text?: string;
|
|
66
|
-
|
|
70
|
+
cta_icon?: string;
|
|
67
71
|
cta_show_icon?: boolean;
|
|
68
72
|
cta_url?: string;
|
|
69
73
|
cta_target?: '_self' | '_blank';
|
|
@@ -77,16 +81,17 @@ export interface UpdateAnnouncementData {
|
|
|
77
81
|
title?: string;
|
|
78
82
|
description?: string;
|
|
79
83
|
background_color?: string;
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
icon_type?: IconType;
|
|
85
|
+
icon_svg_name?: string;
|
|
86
|
+
icon_png_url?: string;
|
|
82
87
|
/** Extra props for the main bar/icon */
|
|
83
|
-
|
|
88
|
+
icon_svg_props?: Record<string, any>;
|
|
84
89
|
platforms?: string[]; // entity_platforms set (multi-select)
|
|
85
90
|
is_active?: boolean;
|
|
86
91
|
// CTA (Call-To-Action) fields
|
|
87
92
|
cta_enabled?: boolean;
|
|
88
93
|
cta_text?: string;
|
|
89
|
-
|
|
94
|
+
cta_icon?: string;
|
|
90
95
|
cta_show_icon?: boolean;
|
|
91
96
|
cta_url?: string;
|
|
92
97
|
cta_target?: '_self' | '_blank';
|
|
@@ -118,14 +123,15 @@ export interface AnnouncementFormData {
|
|
|
118
123
|
title: string;
|
|
119
124
|
description: string;
|
|
120
125
|
background_color: string;
|
|
121
|
-
|
|
122
|
-
|
|
126
|
+
icon_type: IconType;
|
|
127
|
+
icon_svg_name: string;
|
|
128
|
+
icon_png_file?: File;
|
|
123
129
|
platforms: string[]; // entity_platforms set (multi-select; no single platform_id)
|
|
124
130
|
is_active: boolean;
|
|
125
131
|
// CTA (Call-To-Action) fields
|
|
126
132
|
cta_enabled: boolean;
|
|
127
133
|
cta_text: string;
|
|
128
|
-
|
|
134
|
+
cta_icon: string;
|
|
129
135
|
cta_show_icon: boolean;
|
|
130
136
|
cta_url: string;
|
|
131
137
|
cta_target: '_self' | '_blank';
|
|
@@ -134,7 +140,7 @@ export interface AnnouncementFormData {
|
|
|
134
140
|
cta_button_text_color?: string;
|
|
135
141
|
cta_icon_props?: string; // JSON string in form
|
|
136
142
|
/** Extra props for the main bar/icon */
|
|
137
|
-
|
|
143
|
+
icon_svg_props?: string;
|
|
138
144
|
}
|
|
139
145
|
|
|
140
146
|
// API Query Parameters
|
|
@@ -191,7 +197,7 @@ export interface AnnouncementValidation {
|
|
|
191
197
|
required: boolean;
|
|
192
198
|
pattern: RegExp;
|
|
193
199
|
};
|
|
194
|
-
|
|
200
|
+
icon_svg_name: {
|
|
195
201
|
required: boolean;
|
|
196
202
|
validOptions: string[];
|
|
197
203
|
};
|
package/src/types/supabase.ts
CHANGED
|
@@ -56,8 +56,9 @@ export type Database = {
|
|
|
56
56
|
created_at: string | null
|
|
57
57
|
created_by: string | null
|
|
58
58
|
description: string
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
icon_png_url: string | null
|
|
60
|
+
icon_svg_name: string | null
|
|
61
|
+
icon_type: string | null
|
|
61
62
|
id: string
|
|
62
63
|
is_active: boolean | null
|
|
63
64
|
title: string
|
|
@@ -68,8 +69,9 @@ export type Database = {
|
|
|
68
69
|
created_at?: string | null
|
|
69
70
|
created_by?: string | null
|
|
70
71
|
description: string
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
icon_png_url?: string | null
|
|
73
|
+
icon_svg_name?: string | null
|
|
74
|
+
icon_type?: string | null
|
|
73
75
|
id?: string
|
|
74
76
|
is_active?: boolean | null
|
|
75
77
|
title: string
|
|
@@ -80,8 +82,9 @@ export type Database = {
|
|
|
80
82
|
created_at?: string | null
|
|
81
83
|
created_by?: string | null
|
|
82
84
|
description?: string
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
icon_png_url?: string | null
|
|
86
|
+
icon_svg_name?: string | null
|
|
87
|
+
icon_type?: string | null
|
|
85
88
|
id?: string
|
|
86
89
|
is_active?: boolean | null
|
|
87
90
|
title?: string
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|