@burdenoff/microfe-devportal 2026.1101.1 → 2026.1102.1

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.
Files changed (41) hide show
  1. package/dist/devportal/DevportalRoutes.d.ts.map +1 -1
  2. package/dist/devportal/DevportalRoutes.js +13 -9
  3. package/dist/devportal/DevportalRoutes.js.map +1 -1
  4. package/dist/devportal/components/OnboardingChecklist.d.ts +16 -0
  5. package/dist/devportal/components/OnboardingChecklist.d.ts.map +1 -0
  6. package/dist/devportal/components/OnboardingChecklist.js +151 -0
  7. package/dist/devportal/components/OnboardingChecklist.js.map +1 -0
  8. package/dist/devportal/constants/developerLinks.d.ts +47 -0
  9. package/dist/devportal/constants/developerLinks.d.ts.map +1 -0
  10. package/dist/devportal/constants/developerLinks.js +27 -0
  11. package/dist/devportal/constants/developerLinks.js.map +1 -0
  12. package/dist/devportal/hooks/useGraphQL.d.ts.map +1 -1
  13. package/dist/devportal/hooks/useGraphQL.js +2 -1
  14. package/dist/devportal/hooks/useGraphQL.js.map +1 -1
  15. package/dist/devportal/pages/DashboardPage.d.ts.map +1 -1
  16. package/dist/devportal/pages/DashboardPage.js +107 -105
  17. package/dist/devportal/pages/DashboardPage.js.map +1 -1
  18. package/dist/devportal/pages/DocumentationPage.d.ts.map +1 -1
  19. package/dist/devportal/pages/DocumentationPage.js +114 -148
  20. package/dist/devportal/pages/DocumentationPage.js.map +1 -1
  21. package/dist/devportal/pages/PublisherProfilePage.d.ts.map +1 -1
  22. package/dist/devportal/pages/PublisherProfilePage.js +170 -160
  23. package/dist/devportal/pages/PublisherProfilePage.js.map +1 -1
  24. package/dist/devportal/pages/ResourcesPage.js +2 -2
  25. package/dist/devportal/pages/ResourcesPage.js.map +1 -1
  26. package/dist/devportal/pages/SetupPage.d.ts.map +1 -1
  27. package/dist/devportal/pages/SetupPage.js +363 -218
  28. package/dist/devportal/pages/SetupPage.js.map +1 -1
  29. package/dist/devportal/utils/developerOnboarding.d.ts +85 -0
  30. package/dist/devportal/utils/developerOnboarding.d.ts.map +1 -0
  31. package/dist/devportal/utils/developerOnboarding.js +104 -0
  32. package/dist/devportal/utils/developerOnboarding.js.map +1 -0
  33. package/dist/generated/global-operations.d.ts +53 -0
  34. package/dist/generated/global-operations.d.ts.map +1 -1
  35. package/dist/generated/global-operations.js +170 -134
  36. package/dist/generated/global-operations.js.map +1 -1
  37. package/dist/translations/en.d.ts +50 -0
  38. package/dist/translations/en.d.ts.map +1 -1
  39. package/dist/translations/en.js +51 -1
  40. package/dist/translations/en.js.map +1 -1
  41. package/package.json +1 -1
@@ -1,188 +1,154 @@
1
1
  import { PageLayout as e, PageSection as t } from "../components/PageLayout.js";
2
- import { Book as n, BookOpen as r, Code2 as i, Database as a, ExternalLink as o, FileText as s, HelpCircle as c, Key as l, Lightbulb as u, MessageSquare as d, Rocket as f, Shield as p, Users as m, Video as h, Webhook as g, Zap as _ } from "lucide-react";
2
+ import { DEVELOPER_LINKS as n } from "../constants/developerLinks.js";
3
+ import { Book as r, BookOpen as i, Code2 as a, Database as o, ExternalLink as s, FileText as c, HelpCircle as l, Key as u, Lightbulb as d, MessageSquare as f, Rocket as p, Shield as m, Users as h, Webhook as g, Zap as _ } from "lucide-react";
3
4
  import { jsx as v, jsxs as y } from "react/jsx-runtime";
4
5
  import { useI18n as b } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
5
6
  import { EmphasisPanel as x } from "@burdenoff/fe-libs/ui";
6
7
  //#region src/devportal/pages/DocumentationPage.tsx
7
8
  var S = [
9
+ {
10
+ id: "register",
11
+ title: "Register as a Developer",
12
+ description: "Who can register, and the steps from a new account to a submitted app",
13
+ url: n.registrationGuide,
14
+ icon: /* @__PURE__ */ v(p, { size: 24 }),
15
+ category: "getting-started",
16
+ isNew: !0
17
+ },
8
18
  {
9
19
  id: "quickstart",
10
20
  title: "Quick Start Guide",
11
- description: "Get up and running with your first application in under 10 minutes",
12
- url: "https://docs.burdenoff.com/developer/quickstart",
13
- icon: /* @__PURE__ */ v(f, { size: 24 }),
21
+ description: "Make your first authenticated API call to the platform",
22
+ url: n.quickStart,
23
+ icon: /* @__PURE__ */ v(_, { size: 24 }),
14
24
  category: "getting-started",
15
25
  isPopular: !0
16
26
  },
17
27
  {
18
28
  id: "concepts",
19
- title: "Core Concepts",
20
- description: "Understand the fundamental concepts of the Burdenoff platform",
21
- url: "https://docs.burdenoff.com/developer/concepts",
22
- icon: /* @__PURE__ */ v(u, { size: 24 }),
29
+ title: "Platform Overview",
30
+ description: "Workspaces, tenants, actors and how the platform fits together",
31
+ url: n.platformOverview,
32
+ icon: /* @__PURE__ */ v(d, { size: 24 }),
23
33
  category: "getting-started"
24
34
  },
25
35
  {
26
36
  id: "authentication",
27
37
  title: "Authentication Guide",
28
- description: "Learn how to implement OAuth 2.0 and secure your applications",
29
- url: "https://docs.burdenoff.com/developer/auth",
30
- icon: /* @__PURE__ */ v(p, { size: 24 }),
31
- category: "getting-started",
32
- isPopular: !0
38
+ description: "Tokens, API keys and how requests are authorized",
39
+ url: n.authentication,
40
+ icon: /* @__PURE__ */ v(m, { size: 24 }),
41
+ category: "getting-started"
33
42
  },
34
43
  {
35
44
  id: "graphql-api",
36
- title: "GraphQL API Reference",
37
- description: "Complete reference for all GraphQL queries, mutations, and types",
38
- url: "https://docs.burdenoff.com/api/graphql",
39
- icon: /* @__PURE__ */ v(i, { size: 24 }),
45
+ title: "GraphQL API",
46
+ description: "Query and mutate platform data through the federated API",
47
+ url: n.graphqlApi,
48
+ icon: /* @__PURE__ */ v(a, { size: 24 }),
40
49
  category: "api",
41
50
  isPopular: !0
42
51
  },
43
- {
44
- id: "rest-api",
45
- title: "REST API Reference",
46
- description: "RESTful API endpoints for integrations and legacy support",
47
- url: "https://docs.burdenoff.com/api/rest",
48
- icon: /* @__PURE__ */ v(a, { size: 24 }),
49
- category: "api"
50
- },
51
52
  {
52
53
  id: "webhooks",
53
- title: "Webhooks Reference",
54
- description: "Event payloads, delivery mechanisms, and best practices",
55
- url: "https://docs.burdenoff.com/api/webhooks",
54
+ title: "Webhooks",
55
+ description: "Receive signed event notifications from the platform",
56
+ url: n.webhooks,
56
57
  icon: /* @__PURE__ */ v(g, { size: 24 }),
57
58
  category: "api"
58
59
  },
59
- {
60
- id: "rate-limits",
61
- title: "Rate Limits & Quotas",
62
- description: "Understanding API rate limits and quota management",
63
- url: "https://docs.burdenoff.com/api/rate-limits",
64
- icon: /* @__PURE__ */ v(_, { size: 24 }),
65
- category: "api"
66
- },
67
60
  {
68
61
  id: "building-integrations",
69
62
  title: "Building Integrations",
70
- description: "Step-by-step guide to building powerful integrations",
71
- url: "https://docs.burdenoff.com/guides/integrations",
72
- icon: /* @__PURE__ */ v(r, { size: 24 }),
73
- category: "guides",
74
- isNew: !0
75
- },
76
- {
77
- id: "building-workflows",
78
- title: "Building Workflow Apps",
79
- description: "Create custom workflow automation applications",
80
- url: "https://docs.burdenoff.com/guides/workflows",
81
- icon: /* @__PURE__ */ v(s, { size: 24 }),
63
+ description: "How integrations, providers and connections work",
64
+ url: n.integrationsOverview,
65
+ icon: /* @__PURE__ */ v(_, { size: 24 }),
82
66
  category: "guides"
83
67
  },
84
68
  {
85
- id: "building-bots",
86
- title: "Building Bots",
87
- description: "Develop conversational bots for the platform",
88
- url: "https://docs.burdenoff.com/guides/bots",
89
- icon: /* @__PURE__ */ v(d, { size: 24 }),
90
- category: "guides",
91
- isNew: !0
92
- },
93
- {
94
- id: "oauth-implementation",
95
- title: "OAuth Implementation",
96
- description: "Detailed OAuth 2.0 implementation with code examples",
97
- url: "https://docs.burdenoff.com/guides/oauth",
98
- icon: /* @__PURE__ */ v(l, { size: 24 }),
69
+ id: "publish-connector",
70
+ title: "Publish a Connector",
71
+ description: "Submit an API-key connector to the integrations catalog",
72
+ url: n.publishConnector,
73
+ icon: /* @__PURE__ */ v(u, { size: 24 }),
99
74
  category: "guides"
100
75
  },
101
76
  {
102
- id: "multi-tenant",
103
- title: "Multi-Tenant Apps",
104
- description: "Building apps that work across multiple tenants",
105
- url: "https://docs.burdenoff.com/guides/multi-tenant",
106
- icon: /* @__PURE__ */ v(m, { size: 24 }),
77
+ id: "plugins",
78
+ title: "Plugins",
79
+ description: "Extend Workspaces with UI and AI plugins",
80
+ url: n.plugins,
81
+ icon: /* @__PURE__ */ v(i, { size: 24 }),
107
82
  category: "guides"
108
83
  },
109
84
  {
110
- id: "app-manifest",
111
- title: "App Manifest Schema",
112
- description: "Complete reference for application manifest configuration",
113
- url: "https://docs.burdenoff.com/reference/manifest",
114
- icon: /* @__PURE__ */ v(s, { size: 24 }),
115
- category: "reference"
116
- },
117
- {
118
- id: "scopes",
119
- title: "OAuth Scopes",
120
- description: "All available OAuth scopes and their permissions",
121
- url: "https://docs.burdenoff.com/reference/scopes",
122
- icon: /* @__PURE__ */ v(p, { size: 24 }),
85
+ id: "node-sdk",
86
+ title: "Node.js SDK",
87
+ description: "The official TypeScript client for the platform",
88
+ url: n.nodeSdk,
89
+ icon: /* @__PURE__ */ v(o, { size: 24 }),
123
90
  category: "reference"
124
91
  },
125
92
  {
126
- id: "events",
127
- title: "Webhook Events",
128
- description: "Complete list of all webhook events and payloads",
129
- url: "https://docs.burdenoff.com/reference/events",
130
- icon: /* @__PURE__ */ v(g, { size: 24 }),
93
+ id: "python-sdk",
94
+ title: "Python SDK",
95
+ description: "The official Python client for the platform",
96
+ url: n.pythonSdk,
97
+ icon: /* @__PURE__ */ v(o, { size: 24 }),
131
98
  category: "reference"
132
99
  },
133
100
  {
134
- id: "error-codes",
135
- title: "Error Codes",
136
- description: "API error codes and troubleshooting guide",
137
- url: "https://docs.burdenoff.com/reference/errors",
101
+ id: "cli",
102
+ title: "CLI Reference",
103
+ description: "Every command of the Workspaces CLI",
104
+ url: n.cliReference,
138
105
  icon: /* @__PURE__ */ v(c, { size: 24 }),
139
106
  category: "reference"
140
107
  },
141
108
  {
142
- id: "changelog",
143
- title: "API Changelog",
144
- description: "Latest updates, changes, and deprecations",
145
- url: "https://docs.burdenoff.com/changelog",
146
- icon: /* @__PURE__ */ v(s, { size: 24 }),
147
- category: "support",
148
- isNew: !0
109
+ id: "mcp-server",
110
+ title: "MCP Server",
111
+ description: "Use Workspaces tools from AI assistants over MCP",
112
+ url: n.mcpServer,
113
+ icon: /* @__PURE__ */ v(a, { size: 24 }),
114
+ category: "reference"
149
115
  },
150
116
  {
151
- id: "video-tutorials",
152
- title: "Video Tutorials",
153
- description: "Watch step-by-step video guides and tutorials",
154
- url: "https://docs.burdenoff.com/tutorials",
155
- icon: /* @__PURE__ */ v(h, { size: 24 }),
117
+ id: "faq",
118
+ title: "Developer FAQ",
119
+ description: "Answers to common questions about building on the platform",
120
+ url: n.faq,
121
+ icon: /* @__PURE__ */ v(l, { size: 24 }),
156
122
  category: "support"
157
123
  },
158
124
  {
159
125
  id: "community",
160
126
  title: "Developer Community",
161
127
  description: "Join the community forum for discussions and help",
162
- url: "https://community.burdenoff.com/developers",
163
- icon: /* @__PURE__ */ v(m, { size: 24 }),
128
+ url: n.community,
129
+ icon: /* @__PURE__ */ v(h, { size: 24 }),
164
130
  category: "support"
165
131
  }
166
132
  ], C = [
167
133
  {
168
134
  title: "API Status",
169
- url: "https://status.burdenoff.com",
135
+ url: n.status,
170
136
  icon: /* @__PURE__ */ v(_, { size: 16 })
171
137
  },
172
138
  {
173
- title: "GitHub Examples",
174
- url: "https://github.com/burdenoff/developer-examples",
175
- icon: /* @__PURE__ */ v(i, { size: 16 })
139
+ title: "Code Examples",
140
+ url: n.examples,
141
+ icon: /* @__PURE__ */ v(a, { size: 16 })
176
142
  },
177
143
  {
178
- title: "SDK Downloads",
179
- url: "https://docs.burdenoff.com/sdks",
180
- icon: /* @__PURE__ */ v(a, { size: 16 })
144
+ title: "SDKs",
145
+ url: n.nodeSdk,
146
+ icon: /* @__PURE__ */ v(o, { size: 16 })
181
147
  },
182
148
  {
183
- title: "Support Center",
184
- url: "https://support.burdenoff.com",
185
- icon: /* @__PURE__ */ v(c, { size: 16 })
149
+ title: "Developer Agreement",
150
+ url: n.developerAgreement,
151
+ icon: /* @__PURE__ */ v(m, { size: 16 })
186
152
  }
187
153
  ], w = ({ doc: e }) => /* @__PURE__ */ y("a", {
188
154
  href: e.url,
@@ -206,7 +172,7 @@ var S = [
206
172
  className: "rounded-full bg-status-warning-bg-subtle px-2 py-0.5 text-xs font-medium text-status-warning-text",
207
173
  children: "Popular"
208
174
  }),
209
- /* @__PURE__ */ v(o, {
175
+ /* @__PURE__ */ v(s, {
210
176
  size: 16,
211
177
  className: "text-text-secondary opacity-0 transition-opacity group-hover:opacity-100"
212
178
  })
@@ -233,29 +199,29 @@ var S = [
233
199
  children: e.icon
234
200
  }),
235
201
  e.title,
236
- /* @__PURE__ */ v(o, {
202
+ /* @__PURE__ */ v(s, {
237
203
  size: 14,
238
204
  className: "ml-auto text-text-secondary"
239
205
  })
240
206
  ]
241
207
  }), E = () => {
242
- let { t: r } = b(), i = (e, t) => {
243
- let n = r(e);
208
+ let { t: i } = b(), a = (e, t) => {
209
+ let n = i(e);
244
210
  return n === e ? t : n;
245
- }, a = (e) => S.filter((t) => t.category === e);
211
+ }, o = (e) => S.filter((t) => t.category === e);
246
212
  return /* @__PURE__ */ y(e, {
247
- title: i("devportal.documentation", "Documentation"),
248
- description: i("devportal.exploreDocsDescription", "Explore guides, API references, and resources to build on the Burdenoff platform"),
249
- purpose: i("devportal.docsPurpose", "The reference material for building integrations — getting-started guides, full API docs, and how-tos. New here? Begin with Getting Started, then dive into the API reference for the endpoints your app calls."),
213
+ title: a("devportal.documentation", "Documentation"),
214
+ description: a("devportal.exploreDocsDescription", "Explore guides, API references, and resources to build on the Burdenoff platform"),
215
+ purpose: a("devportal.docsPurpose", "The reference material for building integrations — getting-started guides, full API docs, and how-tos. New here? Begin with Getting Started, then dive into the API reference for the endpoints your app calls."),
250
216
  actions: /* @__PURE__ */ y("a", {
251
- href: "https://docs.burdenoff.com",
217
+ href: n.docsHome,
252
218
  target: "_blank",
253
219
  rel: "noopener noreferrer",
254
220
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
255
221
  children: [
256
- /* @__PURE__ */ v(n, { size: 16 }),
257
- i("devportal.viewFullDocs", "View Full Docs"),
258
- /* @__PURE__ */ v(o, { size: 14 })
222
+ /* @__PURE__ */ v(r, { size: 16 }),
223
+ a("devportal.viewFullDocs", "View Full Docs"),
224
+ /* @__PURE__ */ v(s, { size: 14 })
259
225
  ]
260
226
  }),
261
227
  children: [
@@ -264,10 +230,10 @@ var S = [
264
230
  className: "mb-6 rounded-lg border border-status-warning-border bg-status-warning-bg p-4 text-sm text-status-warning-text",
265
231
  children: [/* @__PURE__ */ v("strong", {
266
232
  className: "font-semibold",
267
- children: i("devportal.docs.comingSoon.title", "Coming soon")
233
+ children: a("devportal.docs.comingSoon.title", "Coming soon")
268
234
  }), /* @__PURE__ */ v("span", {
269
235
  className: "ml-2",
270
- children: i("devportal.docs.comingSoon.description", "We're building a fully integrated documentation experience. The links below open the public docs site in the meantime.")
236
+ children: a("devportal.docs.comingSoon.description", "We're building a fully integrated documentation experience. The links below open the public docs site in the meantime.")
271
237
  })]
272
238
  }),
273
239
  /* @__PURE__ */ v(t, { children: /* @__PURE__ */ v("div", {
@@ -275,44 +241,44 @@ var S = [
275
241
  children: C.map((e) => /* @__PURE__ */ v(T, { link: e }, e.title))
276
242
  }) }),
277
243
  /* @__PURE__ */ v(x, { children: /* @__PURE__ */ v(t, {
278
- title: i("devportal.gettingStarted", "Getting Started"),
279
- description: i("devportal.everythingToStartBuilding", "Everything you need to start building"),
244
+ title: a("devportal.gettingStarted", "Getting Started"),
245
+ description: a("devportal.everythingToStartBuilding", "Everything you need to start building"),
280
246
  children: /* @__PURE__ */ v("div", {
281
247
  className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-3",
282
- children: a("getting-started").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
248
+ children: o("getting-started").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
283
249
  })
284
250
  }) }),
285
251
  /* @__PURE__ */ v(t, {
286
- title: i("devportal.apiReference", "API Reference"),
287
- description: i("devportal.completeApiDocumentation", "Complete API documentation"),
252
+ title: a("devportal.apiReference", "API Reference"),
253
+ description: a("devportal.completeApiDocumentation", "Complete API documentation"),
288
254
  children: /* @__PURE__ */ v("div", {
289
255
  className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
290
- children: a("api").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
256
+ children: o("api").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
291
257
  })
292
258
  }),
293
259
  /* @__PURE__ */ v(t, {
294
- title: i("devportal.guides", "Guides"),
295
- description: i("devportal.stepByStepTutorials", "Step-by-step tutorials and best practices"),
260
+ title: a("devportal.guides", "Guides"),
261
+ description: a("devportal.stepByStepTutorials", "Step-by-step tutorials and best practices"),
296
262
  children: /* @__PURE__ */ v("div", {
297
263
  className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-3",
298
- children: a("guides").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
264
+ children: o("guides").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
299
265
  })
300
266
  }),
301
267
  /* @__PURE__ */ y("div", {
302
268
  className: "grid gap-6 lg:grid-cols-2",
303
269
  children: [/* @__PURE__ */ v(t, {
304
- title: i("devportal.reference", "Reference"),
305
- description: i("devportal.detailedSpecifications", "Detailed specifications"),
270
+ title: a("devportal.reference", "Reference"),
271
+ description: a("devportal.detailedSpecifications", "Detailed specifications"),
306
272
  children: /* @__PURE__ */ v("div", {
307
273
  className: "grid gap-4 sm:grid-cols-2",
308
- children: a("reference").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
274
+ children: o("reference").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
309
275
  })
310
276
  }), /* @__PURE__ */ v(t, {
311
- title: i("devportal.support", "Support"),
312
- description: i("devportal.getHelpStayUpdated", "Get help and stay updated"),
277
+ title: a("devportal.support", "Support"),
278
+ description: a("devportal.getHelpStayUpdated", "Get help and stay updated"),
313
279
  children: /* @__PURE__ */ v("div", {
314
280
  className: "grid gap-4 sm:grid-cols-2",
315
- children: a("support").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
281
+ children: o("support").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
316
282
  })
317
283
  })]
318
284
  }),
@@ -322,22 +288,22 @@ var S = [
322
288
  className: "flex flex-col items-start gap-4 sm:flex-row sm:items-center sm:justify-between",
323
289
  children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("h3", {
324
290
  className: "text-lg font-semibold",
325
- children: i("devportal.needMoreHelp", "Need more help?")
291
+ children: a("devportal.needMoreHelp", "Need more help?")
326
292
  }), /* @__PURE__ */ v("p", {
327
293
  className: "mt-1 text-text-secondary",
328
- children: i("devportal.developerSupportTeamHelp", "Our developer support team is here to help you build amazing applications.")
294
+ children: a("devportal.developerSupportTeamHelp", "Our developer support team is here to help you build amazing applications.")
329
295
  })] }), /* @__PURE__ */ y("div", {
330
296
  className: "flex gap-3",
331
297
  children: [/* @__PURE__ */ y("a", {
332
- href: "https://community.burdenoff.com/developers",
298
+ href: n.community,
333
299
  target: "_blank",
334
300
  rel: "noopener noreferrer",
335
301
  className: "inline-flex items-center gap-2 rounded-md border bg-bg-surface px-4 py-2 text-sm font-medium hover:bg-accent transition-colors",
336
- children: [/* @__PURE__ */ v(m, { size: 16 }), i("devportal.community", "Community")]
302
+ children: [/* @__PURE__ */ v(h, { size: 16 }), a("devportal.community", "Community")]
337
303
  }), /* @__PURE__ */ y("a", {
338
- href: "mailto:developer-support@burdenoff.com",
304
+ href: "mailto:contact@burdenoff.com",
339
305
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
340
- children: [/* @__PURE__ */ v(d, { size: 16 }), i("devportal.contactSupport", "Contact Support")]
306
+ children: [/* @__PURE__ */ v(f, { size: 16 }), a("devportal.contactSupport", "Contact Support")]
341
307
  })]
342
308
  })]
343
309
  })
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentationPage.js","names":[],"sources":["../../../src/devportal/pages/DocumentationPage.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useI18n } from \"@burdenoff/fe-libs/shared/providers/shell/I18nProvider\";\nimport {\n Book,\n Code2,\n FileText,\n Video,\n ExternalLink,\n BookOpen,\n Lightbulb,\n Rocket,\n Shield,\n Zap,\n Database,\n Webhook,\n Key,\n Users,\n HelpCircle,\n MessageSquare,\n} from \"lucide-react\";\nimport { EmphasisPanel } from \"@burdenoff/fe-libs/ui\";\nimport { PageLayout, PageSection } from \"../components/PageLayout\";\nimport { cn } from \"../utils/cn\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\ninterface DocumentationLink {\n id: string;\n title: string;\n description: string;\n url: string;\n icon: React.ReactNode;\n category: \"getting-started\" | \"api\" | \"guides\" | \"reference\" | \"support\";\n isNew?: boolean;\n isPopular?: boolean;\n}\n\ninterface QuickLink {\n title: string;\n url: string;\n icon: React.ReactNode;\n}\n\n// =============================================================================\n// DATA\n// =============================================================================\n\nconst documentationLinks: DocumentationLink[] = [\n // Getting Started\n {\n id: \"quickstart\",\n title: \"Quick Start Guide\",\n description:\n \"Get up and running with your first application in under 10 minutes\",\n url: \"https://docs.burdenoff.com/developer/quickstart\",\n icon: <Rocket size={24} />,\n category: \"getting-started\",\n isPopular: true,\n },\n {\n id: \"concepts\",\n title: \"Core Concepts\",\n description:\n \"Understand the fundamental concepts of the Burdenoff platform\",\n url: \"https://docs.burdenoff.com/developer/concepts\",\n icon: <Lightbulb size={24} />,\n category: \"getting-started\",\n },\n {\n id: \"authentication\",\n title: \"Authentication Guide\",\n description:\n \"Learn how to implement OAuth 2.0 and secure your applications\",\n url: \"https://docs.burdenoff.com/developer/auth\",\n icon: <Shield size={24} />,\n category: \"getting-started\",\n isPopular: true,\n },\n\n // API Reference\n {\n id: \"graphql-api\",\n title: \"GraphQL API Reference\",\n description:\n \"Complete reference for all GraphQL queries, mutations, and types\",\n url: \"https://docs.burdenoff.com/api/graphql\",\n icon: <Code2 size={24} />,\n category: \"api\",\n isPopular: true,\n },\n {\n id: \"rest-api\",\n title: \"REST API Reference\",\n description: \"RESTful API endpoints for integrations and legacy support\",\n url: \"https://docs.burdenoff.com/api/rest\",\n icon: <Database size={24} />,\n category: \"api\",\n },\n {\n id: \"webhooks\",\n title: \"Webhooks Reference\",\n description: \"Event payloads, delivery mechanisms, and best practices\",\n url: \"https://docs.burdenoff.com/api/webhooks\",\n icon: <Webhook size={24} />,\n category: \"api\",\n },\n {\n id: \"rate-limits\",\n title: \"Rate Limits & Quotas\",\n description: \"Understanding API rate limits and quota management\",\n url: \"https://docs.burdenoff.com/api/rate-limits\",\n icon: <Zap size={24} />,\n category: \"api\",\n },\n\n // Guides\n {\n id: \"building-integrations\",\n title: \"Building Integrations\",\n description: \"Step-by-step guide to building powerful integrations\",\n url: \"https://docs.burdenoff.com/guides/integrations\",\n icon: <BookOpen size={24} />,\n category: \"guides\",\n isNew: true,\n },\n {\n id: \"building-workflows\",\n title: \"Building Workflow Apps\",\n description: \"Create custom workflow automation applications\",\n url: \"https://docs.burdenoff.com/guides/workflows\",\n icon: <FileText size={24} />,\n category: \"guides\",\n },\n {\n id: \"building-bots\",\n title: \"Building Bots\",\n description: \"Develop conversational bots for the platform\",\n url: \"https://docs.burdenoff.com/guides/bots\",\n icon: <MessageSquare size={24} />,\n category: \"guides\",\n isNew: true,\n },\n {\n id: \"oauth-implementation\",\n title: \"OAuth Implementation\",\n description: \"Detailed OAuth 2.0 implementation with code examples\",\n url: \"https://docs.burdenoff.com/guides/oauth\",\n icon: <Key size={24} />,\n category: \"guides\",\n },\n {\n id: \"multi-tenant\",\n title: \"Multi-Tenant Apps\",\n description: \"Building apps that work across multiple tenants\",\n url: \"https://docs.burdenoff.com/guides/multi-tenant\",\n icon: <Users size={24} />,\n category: \"guides\",\n },\n\n // Reference\n {\n id: \"app-manifest\",\n title: \"App Manifest Schema\",\n description: \"Complete reference for application manifest configuration\",\n url: \"https://docs.burdenoff.com/reference/manifest\",\n icon: <FileText size={24} />,\n category: \"reference\",\n },\n {\n id: \"scopes\",\n title: \"OAuth Scopes\",\n description: \"All available OAuth scopes and their permissions\",\n url: \"https://docs.burdenoff.com/reference/scopes\",\n icon: <Shield size={24} />,\n category: \"reference\",\n },\n {\n id: \"events\",\n title: \"Webhook Events\",\n description: \"Complete list of all webhook events and payloads\",\n url: \"https://docs.burdenoff.com/reference/events\",\n icon: <Webhook size={24} />,\n category: \"reference\",\n },\n {\n id: \"error-codes\",\n title: \"Error Codes\",\n description: \"API error codes and troubleshooting guide\",\n url: \"https://docs.burdenoff.com/reference/errors\",\n icon: <HelpCircle size={24} />,\n category: \"reference\",\n },\n\n // Support\n {\n id: \"changelog\",\n title: \"API Changelog\",\n description: \"Latest updates, changes, and deprecations\",\n url: \"https://docs.burdenoff.com/changelog\",\n icon: <FileText size={24} />,\n category: \"support\",\n isNew: true,\n },\n {\n id: \"video-tutorials\",\n title: \"Video Tutorials\",\n description: \"Watch step-by-step video guides and tutorials\",\n url: \"https://docs.burdenoff.com/tutorials\",\n icon: <Video size={24} />,\n category: \"support\",\n },\n {\n id: \"community\",\n title: \"Developer Community\",\n description: \"Join the community forum for discussions and help\",\n url: \"https://community.burdenoff.com/developers\",\n icon: <Users size={24} />,\n category: \"support\",\n },\n];\n\nconst quickLinks: QuickLink[] = [\n {\n title: \"API Status\",\n url: \"https://status.burdenoff.com\",\n icon: <Zap size={16} />,\n },\n {\n title: \"GitHub Examples\",\n url: \"https://github.com/burdenoff/developer-examples\",\n icon: <Code2 size={16} />,\n },\n {\n title: \"SDK Downloads\",\n url: \"https://docs.burdenoff.com/sdks\",\n icon: <Database size={16} />,\n },\n {\n title: \"Support Center\",\n url: \"https://support.burdenoff.com\",\n icon: <HelpCircle size={16} />,\n },\n];\n\nconst categories = [\n {\n id: \"getting-started\",\n label: \"Getting Started\",\n icon: <Rocket size={18} />,\n },\n { id: \"api\", label: \"API Reference\", icon: <Code2 size={18} /> },\n { id: \"guides\", label: \"Guides\", icon: <BookOpen size={18} /> },\n { id: \"reference\", label: \"Reference\", icon: <FileText size={18} /> },\n { id: \"support\", label: \"Support\", icon: <HelpCircle size={18} /> },\n];\n\n// =============================================================================\n// COMPONENTS\n// =============================================================================\n\nconst DocumentationCard: FC<{ doc: DocumentationLink }> = ({ doc }) => (\n <a\n href={doc.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"group flex flex-col rounded-card border border-border-seam bg-bg-surface p-5 shadow-[var(--shadow-pop)] transition-[box-shadow,border-color] hover:border-border-strong hover:shadow-[var(--shadow-pop-hover)]\"\n >\n <div className=\"flex items-start justify-between\">\n <div className=\"rounded-lg bg-action-primary-bg/10 p-2.5 text-primary\">\n {doc.icon}\n </div>\n <div className=\"flex items-center gap-2\">\n {doc.isNew && (\n <span className=\"rounded-full bg-status-success-bg-subtle px-2 py-0.5 text-xs font-medium text-status-success-text\">\n New\n </span>\n )}\n {doc.isPopular && (\n <span className=\"rounded-full bg-status-warning-bg-subtle px-2 py-0.5 text-xs font-medium text-status-warning-text\">\n Popular\n </span>\n )}\n <ExternalLink\n size={16}\n className=\"text-text-secondary opacity-0 transition-opacity group-hover:opacity-100\"\n />\n </div>\n </div>\n <h3 className=\"mt-4 font-semibold group-hover:text-primary\">{doc.title}</h3>\n <p className=\"mt-1 text-sm text-text-secondary line-clamp-2\">\n {doc.description}\n </p>\n </a>\n);\n\nconst QuickLinkCard: FC<{ link: QuickLink }> = ({ link }) => (\n <a\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-2 rounded-md border bg-bg-surface px-4 py-3 text-sm font-medium transition-colors hover:bg-accent\"\n >\n <span className=\"text-text-secondary\">{link.icon}</span>\n {link.title}\n <ExternalLink size={14} className=\"ml-auto text-text-secondary\" />\n </a>\n);\n\n// =============================================================================\n// PAGE COMPONENT\n// =============================================================================\n\nexport const DocumentationPage: FC = () => {\n const { t } = useI18n();\n const tr = (key: string, fallback: string): string => {\n const value = t(key);\n return value === key ? fallback : value;\n };\n const getDocsForCategory = (categoryId: string) =>\n documentationLinks.filter((doc) => doc.category === categoryId);\n\n return (\n <PageLayout\n title={tr(\"devportal.documentation\", \"Documentation\")}\n description={tr(\n \"devportal.exploreDocsDescription\",\n \"Explore guides, API references, and resources to build on the Burdenoff platform\",\n )}\n purpose={tr(\n \"devportal.docsPurpose\",\n \"The reference material for building integrations — getting-started guides, full API docs, and how-tos. New here? Begin with Getting Started, then dive into the API reference for the endpoints your app calls.\",\n )}\n actions={\n <a\n href=\"https://docs.burdenoff.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors\"\n >\n <Book size={16} />\n {tr(\"devportal.viewFullDocs\", \"View Full Docs\")}\n <ExternalLink size={14} />\n </a>\n }\n >\n {/* Coming-soon banner — page is intentionally a static stub until the\n CMS-backed documentation surface ships. See devportal stability\n tracker (`/docs` is Deferred). */}\n <div\n role=\"status\"\n className=\"mb-6 rounded-lg border border-status-warning-border bg-status-warning-bg p-4 text-sm text-status-warning-text\"\n >\n <strong className=\"font-semibold\">\n {tr(\"devportal.docs.comingSoon.title\", \"Coming soon\")}\n </strong>\n <span className=\"ml-2\">\n {tr(\n \"devportal.docs.comingSoon.description\",\n \"We're building a fully integrated documentation experience. The links below open the public docs site in the meantime.\",\n )}\n </span>\n </div>\n\n {/* Quick Links */}\n <PageSection>\n <div className=\"grid gap-3 sm:grid-cols-2 lg:grid-cols-4\">\n {quickLinks.map((link) => (\n <QuickLinkCard key={link.title} link={link} />\n ))}\n </div>\n </PageSection>\n\n {/* Featured / Getting Started — primary emphasis zone */}\n <EmphasisPanel>\n <PageSection\n title={tr(\"devportal.gettingStarted\", \"Getting Started\")}\n description={tr(\n \"devportal.everythingToStartBuilding\",\n \"Everything you need to start building\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-3\">\n {getDocsForCategory(\"getting-started\").map((doc) => (\n <DocumentationCard key={doc.id} doc={doc} />\n ))}\n </div>\n </PageSection>\n </EmphasisPanel>\n\n {/* API Reference */}\n <PageSection\n title={tr(\"devportal.apiReference\", \"API Reference\")}\n description={tr(\n \"devportal.completeApiDocumentation\",\n \"Complete API documentation\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-4\">\n {getDocsForCategory(\"api\").map((doc) => (\n <DocumentationCard key={doc.id} doc={doc} />\n ))}\n </div>\n </PageSection>\n\n {/* Guides */}\n <PageSection\n title={tr(\"devportal.guides\", \"Guides\")}\n description={tr(\n \"devportal.stepByStepTutorials\",\n \"Step-by-step tutorials and best practices\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-3\">\n {getDocsForCategory(\"guides\").map((doc) => (\n <DocumentationCard key={doc.id} doc={doc} />\n ))}\n </div>\n </PageSection>\n\n {/* Reference & Support Row */}\n <div className=\"grid gap-6 lg:grid-cols-2\">\n {/* Reference */}\n <PageSection\n title={tr(\"devportal.reference\", \"Reference\")}\n description={tr(\n \"devportal.detailedSpecifications\",\n \"Detailed specifications\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2\">\n {getDocsForCategory(\"reference\").map((doc) => (\n <DocumentationCard key={doc.id} doc={doc} />\n ))}\n </div>\n </PageSection>\n\n {/* Support */}\n <PageSection\n title={tr(\"devportal.support\", \"Support\")}\n description={tr(\n \"devportal.getHelpStayUpdated\",\n \"Get help and stay updated\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2\">\n {getDocsForCategory(\"support\").map((doc) => (\n <DocumentationCard key={doc.id} doc={doc} />\n ))}\n </div>\n </PageSection>\n </div>\n\n {/* Help Banner */}\n <div className=\"mt-6 rounded-card border border-border-seam bg-accent-wash p-6\">\n <div className=\"flex flex-col items-start gap-4 sm:flex-row sm:items-center sm:justify-between\">\n <div>\n <h3 className=\"text-lg font-semibold\">\n {tr(\"devportal.needMoreHelp\", \"Need more help?\")}\n </h3>\n <p className=\"mt-1 text-text-secondary\">\n {tr(\n \"devportal.developerSupportTeamHelp\",\n \"Our developer support team is here to help you build amazing applications.\",\n )}\n </p>\n </div>\n <div className=\"flex gap-3\">\n <a\n href=\"https://community.burdenoff.com/developers\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-2 rounded-md border bg-bg-surface px-4 py-2 text-sm font-medium hover:bg-accent transition-colors\"\n >\n <Users size={16} />\n {tr(\"devportal.community\", \"Community\")}\n </a>\n <a\n href=\"mailto:developer-support@burdenoff.com\"\n className=\"inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors\"\n >\n <MessageSquare size={16} />\n {tr(\"devportal.contactSupport\", \"Contact Support\")}\n </a>\n </div>\n </div>\n </div>\n </PageLayout>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"DocumentationPage.js","names":[],"sources":["../../../src/devportal/pages/DocumentationPage.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useI18n } from \"@burdenoff/fe-libs/shared/providers/shell/I18nProvider\";\nimport {\n Book,\n Code2,\n FileText,\n ExternalLink,\n BookOpen,\n Lightbulb,\n Rocket,\n Shield,\n Zap,\n Database,\n Webhook,\n Key,\n Users,\n HelpCircle,\n MessageSquare,\n} from \"lucide-react\";\nimport { EmphasisPanel } from \"@burdenoff/fe-libs/ui\";\nimport { PageLayout, PageSection } from \"../components/PageLayout\";\nimport { DEVELOPER_LINKS } from \"../constants/developerLinks\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\ninterface DocumentationLink {\n id: string;\n title: string;\n description: string;\n url: string;\n icon: React.ReactNode;\n category: \"getting-started\" | \"api\" | \"guides\" | \"reference\" | \"support\";\n isNew?: boolean;\n isPopular?: boolean;\n}\n\ninterface QuickLink {\n title: string;\n url: string;\n icon: React.ReactNode;\n}\n\n// =============================================================================\n// DATA\n// =============================================================================\n\n// Every URL comes from DEVELOPER_LINKS, which only holds pages that exist on\n// the public docs site. The previous list pointed at /developer/*, /api/*,\n// /guides/* and /reference/* paths that were never published and all\n// returned 404 (BOFF-10636).\nconst documentationLinks: DocumentationLink[] = [\n // Getting Started\n {\n id: \"register\",\n title: \"Register as a Developer\",\n description:\n \"Who can register, and the steps from a new account to a submitted app\",\n url: DEVELOPER_LINKS.registrationGuide,\n icon: <Rocket size={24} />,\n category: \"getting-started\",\n isNew: true,\n },\n {\n id: \"quickstart\",\n title: \"Quick Start Guide\",\n description: \"Make your first authenticated API call to the platform\",\n url: DEVELOPER_LINKS.quickStart,\n icon: <Zap size={24} />,\n category: \"getting-started\",\n isPopular: true,\n },\n {\n id: \"concepts\",\n title: \"Platform Overview\",\n description:\n \"Workspaces, tenants, actors and how the platform fits together\",\n url: DEVELOPER_LINKS.platformOverview,\n icon: <Lightbulb size={24} />,\n category: \"getting-started\",\n },\n {\n id: \"authentication\",\n title: \"Authentication Guide\",\n description: \"Tokens, API keys and how requests are authorized\",\n url: DEVELOPER_LINKS.authentication,\n icon: <Shield size={24} />,\n category: \"getting-started\",\n },\n\n // API Reference\n {\n id: \"graphql-api\",\n title: \"GraphQL API\",\n description: \"Query and mutate platform data through the federated API\",\n url: DEVELOPER_LINKS.graphqlApi,\n icon: <Code2 size={24} />,\n category: \"api\",\n isPopular: true,\n },\n {\n id: \"webhooks\",\n title: \"Webhooks\",\n description: \"Receive signed event notifications from the platform\",\n url: DEVELOPER_LINKS.webhooks,\n icon: <Webhook size={24} />,\n category: \"api\",\n },\n\n // Guides\n {\n id: \"building-integrations\",\n title: \"Building Integrations\",\n description: \"How integrations, providers and connections work\",\n url: DEVELOPER_LINKS.integrationsOverview,\n icon: <Zap size={24} />,\n category: \"guides\",\n },\n {\n id: \"publish-connector\",\n title: \"Publish a Connector\",\n description: \"Submit an API-key connector to the integrations catalog\",\n url: DEVELOPER_LINKS.publishConnector,\n icon: <Key size={24} />,\n category: \"guides\",\n },\n {\n id: \"plugins\",\n title: \"Plugins\",\n description: \"Extend Workspaces with UI and AI plugins\",\n url: DEVELOPER_LINKS.plugins,\n icon: <BookOpen size={24} />,\n category: \"guides\",\n },\n\n // Reference\n {\n id: \"node-sdk\",\n title: \"Node.js SDK\",\n description: \"The official TypeScript client for the platform\",\n url: DEVELOPER_LINKS.nodeSdk,\n icon: <Database size={24} />,\n category: \"reference\",\n },\n {\n id: \"python-sdk\",\n title: \"Python SDK\",\n description: \"The official Python client for the platform\",\n url: DEVELOPER_LINKS.pythonSdk,\n icon: <Database size={24} />,\n category: \"reference\",\n },\n {\n id: \"cli\",\n title: \"CLI Reference\",\n description: \"Every command of the Workspaces CLI\",\n url: DEVELOPER_LINKS.cliReference,\n icon: <FileText size={24} />,\n category: \"reference\",\n },\n {\n id: \"mcp-server\",\n title: \"MCP Server\",\n description: \"Use Workspaces tools from AI assistants over MCP\",\n url: DEVELOPER_LINKS.mcpServer,\n icon: <Code2 size={24} />,\n category: \"reference\",\n },\n\n // Support\n {\n id: \"faq\",\n title: \"Developer FAQ\",\n description: \"Answers to common questions about building on the platform\",\n url: DEVELOPER_LINKS.faq,\n icon: <HelpCircle size={24} />,\n category: \"support\",\n },\n {\n id: \"community\",\n title: \"Developer Community\",\n description: \"Join the community forum for discussions and help\",\n url: DEVELOPER_LINKS.community,\n icon: <Users size={24} />,\n category: \"support\",\n },\n];\n\nconst quickLinks: QuickLink[] = [\n {\n title: \"API Status\",\n url: DEVELOPER_LINKS.status,\n icon: <Zap size={16} />,\n },\n {\n title: \"Code Examples\",\n url: DEVELOPER_LINKS.examples,\n icon: <Code2 size={16} />,\n },\n {\n title: \"SDKs\",\n url: DEVELOPER_LINKS.nodeSdk,\n icon: <Database size={16} />,\n },\n {\n title: \"Developer Agreement\",\n url: DEVELOPER_LINKS.developerAgreement,\n icon: <Shield size={16} />,\n },\n];\n\nconst categories = [\n {\n id: \"getting-started\",\n label: \"Getting Started\",\n icon: <Rocket size={18} />,\n },\n { id: \"api\", label: \"API Reference\", icon: <Code2 size={18} /> },\n { id: \"guides\", label: \"Guides\", icon: <BookOpen size={18} /> },\n { id: \"reference\", label: \"Reference\", icon: <FileText size={18} /> },\n { id: \"support\", label: \"Support\", icon: <HelpCircle size={18} /> },\n];\n\n// =============================================================================\n// COMPONENTS\n// =============================================================================\n\nconst DocumentationCard: FC<{ doc: DocumentationLink }> = ({ doc }) => (\n <a\n href={doc.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"group flex flex-col rounded-card border border-border-seam bg-bg-surface p-5 shadow-[var(--shadow-pop)] transition-[box-shadow,border-color] hover:border-border-strong hover:shadow-[var(--shadow-pop-hover)]\"\n >\n <div className=\"flex items-start justify-between\">\n <div className=\"rounded-lg bg-action-primary-bg/10 p-2.5 text-primary\">\n {doc.icon}\n </div>\n <div className=\"flex items-center gap-2\">\n {doc.isNew && (\n <span className=\"rounded-full bg-status-success-bg-subtle px-2 py-0.5 text-xs font-medium text-status-success-text\">\n New\n </span>\n )}\n {doc.isPopular && (\n <span className=\"rounded-full bg-status-warning-bg-subtle px-2 py-0.5 text-xs font-medium text-status-warning-text\">\n Popular\n </span>\n )}\n <ExternalLink\n size={16}\n className=\"text-text-secondary opacity-0 transition-opacity group-hover:opacity-100\"\n />\n </div>\n </div>\n <h3 className=\"mt-4 font-semibold group-hover:text-primary\">{doc.title}</h3>\n <p className=\"mt-1 text-sm text-text-secondary line-clamp-2\">\n {doc.description}\n </p>\n </a>\n);\n\nconst QuickLinkCard: FC<{ link: QuickLink }> = ({ link }) => (\n <a\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-2 rounded-md border bg-bg-surface px-4 py-3 text-sm font-medium transition-colors hover:bg-accent\"\n >\n <span className=\"text-text-secondary\">{link.icon}</span>\n {link.title}\n <ExternalLink size={14} className=\"ml-auto text-text-secondary\" />\n </a>\n);\n\n// =============================================================================\n// PAGE COMPONENT\n// =============================================================================\n\nexport const DocumentationPage: FC = () => {\n const { t } = useI18n();\n const tr = (key: string, fallback: string): string => {\n const value = t(key);\n return value === key ? fallback : value;\n };\n const getDocsForCategory = (categoryId: string) =>\n documentationLinks.filter((doc) => doc.category === categoryId);\n\n return (\n <PageLayout\n title={tr(\"devportal.documentation\", \"Documentation\")}\n description={tr(\n \"devportal.exploreDocsDescription\",\n \"Explore guides, API references, and resources to build on the Burdenoff platform\",\n )}\n purpose={tr(\n \"devportal.docsPurpose\",\n \"The reference material for building integrations — getting-started guides, full API docs, and how-tos. New here? Begin with Getting Started, then dive into the API reference for the endpoints your app calls.\",\n )}\n actions={\n <a\n href={DEVELOPER_LINKS.docsHome}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors\"\n >\n <Book size={16} />\n {tr(\"devportal.viewFullDocs\", \"View Full Docs\")}\n <ExternalLink size={14} />\n </a>\n }\n >\n {/* Coming-soon banner — page is intentionally a static stub until the\n CMS-backed documentation surface ships. See devportal stability\n tracker (`/docs` is Deferred). */}\n <div\n role=\"status\"\n className=\"mb-6 rounded-lg border border-status-warning-border bg-status-warning-bg p-4 text-sm text-status-warning-text\"\n >\n <strong className=\"font-semibold\">\n {tr(\"devportal.docs.comingSoon.title\", \"Coming soon\")}\n </strong>\n <span className=\"ml-2\">\n {tr(\n \"devportal.docs.comingSoon.description\",\n \"We're building a fully integrated documentation experience. The links below open the public docs site in the meantime.\",\n )}\n </span>\n </div>\n\n {/* Quick Links */}\n <PageSection>\n <div className=\"grid gap-3 sm:grid-cols-2 lg:grid-cols-4\">\n {quickLinks.map((link) => (\n <QuickLinkCard key={link.title} link={link} />\n ))}\n </div>\n </PageSection>\n\n {/* Featured / Getting Started — primary emphasis zone */}\n <EmphasisPanel>\n <PageSection\n title={tr(\"devportal.gettingStarted\", \"Getting Started\")}\n description={tr(\n \"devportal.everythingToStartBuilding\",\n \"Everything you need to start building\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-3\">\n {getDocsForCategory(\"getting-started\").map((doc) => (\n <DocumentationCard key={doc.id} doc={doc} />\n ))}\n </div>\n </PageSection>\n </EmphasisPanel>\n\n {/* API Reference */}\n <PageSection\n title={tr(\"devportal.apiReference\", \"API Reference\")}\n description={tr(\n \"devportal.completeApiDocumentation\",\n \"Complete API documentation\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-4\">\n {getDocsForCategory(\"api\").map((doc) => (\n <DocumentationCard key={doc.id} doc={doc} />\n ))}\n </div>\n </PageSection>\n\n {/* Guides */}\n <PageSection\n title={tr(\"devportal.guides\", \"Guides\")}\n description={tr(\n \"devportal.stepByStepTutorials\",\n \"Step-by-step tutorials and best practices\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-3\">\n {getDocsForCategory(\"guides\").map((doc) => (\n <DocumentationCard key={doc.id} doc={doc} />\n ))}\n </div>\n </PageSection>\n\n {/* Reference & Support Row */}\n <div className=\"grid gap-6 lg:grid-cols-2\">\n {/* Reference */}\n <PageSection\n title={tr(\"devportal.reference\", \"Reference\")}\n description={tr(\n \"devportal.detailedSpecifications\",\n \"Detailed specifications\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2\">\n {getDocsForCategory(\"reference\").map((doc) => (\n <DocumentationCard key={doc.id} doc={doc} />\n ))}\n </div>\n </PageSection>\n\n {/* Support */}\n <PageSection\n title={tr(\"devportal.support\", \"Support\")}\n description={tr(\n \"devportal.getHelpStayUpdated\",\n \"Get help and stay updated\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2\">\n {getDocsForCategory(\"support\").map((doc) => (\n <DocumentationCard key={doc.id} doc={doc} />\n ))}\n </div>\n </PageSection>\n </div>\n\n {/* Help Banner */}\n <div className=\"mt-6 rounded-card border border-border-seam bg-accent-wash p-6\">\n <div className=\"flex flex-col items-start gap-4 sm:flex-row sm:items-center sm:justify-between\">\n <div>\n <h3 className=\"text-lg font-semibold\">\n {tr(\"devportal.needMoreHelp\", \"Need more help?\")}\n </h3>\n <p className=\"mt-1 text-text-secondary\">\n {tr(\n \"devportal.developerSupportTeamHelp\",\n \"Our developer support team is here to help you build amazing applications.\",\n )}\n </p>\n </div>\n <div className=\"flex gap-3\">\n <a\n href={DEVELOPER_LINKS.community}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-2 rounded-md border bg-bg-surface px-4 py-2 text-sm font-medium hover:bg-accent transition-colors\"\n >\n <Users size={16} />\n {tr(\"devportal.community\", \"Community\")}\n </a>\n <a\n href=\"mailto:contact@burdenoff.com\"\n className=\"inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors\"\n >\n <MessageSquare size={16} />\n {tr(\"devportal.contactSupport\", \"Contact Support\")}\n </a>\n </div>\n </div>\n </div>\n </PageLayout>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PublisherProfilePage.d.ts","sourceRoot":"","sources":["../../../src/devportal/pages/PublisherProfilePage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAuBhC;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,EAqalC,CAAC"}
1
+ {"version":3,"file":"PublisherProfilePage.d.ts","sourceRoot":"","sources":["../../../src/devportal/pages/PublisherProfilePage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAwBhC;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,EA8blC,CAAC"}