@burdenoff/microfe-devportal 2026.1101.1 → 2026.1107.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.
- package/dist/devportal/DevportalRoutes.d.ts.map +1 -1
- package/dist/devportal/DevportalRoutes.js +13 -9
- package/dist/devportal/DevportalRoutes.js.map +1 -1
- package/dist/devportal/components/OnboardingChecklist.d.ts +16 -0
- package/dist/devportal/components/OnboardingChecklist.d.ts.map +1 -0
- package/dist/devportal/components/OnboardingChecklist.js +151 -0
- package/dist/devportal/components/OnboardingChecklist.js.map +1 -0
- package/dist/devportal/constants/developerLinks.d.ts +47 -0
- package/dist/devportal/constants/developerLinks.d.ts.map +1 -0
- package/dist/devportal/constants/developerLinks.js +27 -0
- package/dist/devportal/constants/developerLinks.js.map +1 -0
- package/dist/devportal/hooks/useGraphQL.d.ts.map +1 -1
- package/dist/devportal/hooks/useGraphQL.js +2 -1
- package/dist/devportal/hooks/useGraphQL.js.map +1 -1
- package/dist/devportal/hooks/usePackageUpload.d.ts +3 -0
- package/dist/devportal/hooks/usePackageUpload.d.ts.map +1 -1
- package/dist/devportal/hooks/usePackageUpload.js +41 -32
- package/dist/devportal/hooks/usePackageUpload.js.map +1 -1
- package/dist/devportal/pages/DashboardPage.d.ts.map +1 -1
- package/dist/devportal/pages/DashboardPage.js +107 -105
- package/dist/devportal/pages/DashboardPage.js.map +1 -1
- package/dist/devportal/pages/DocumentationPage.d.ts.map +1 -1
- package/dist/devportal/pages/DocumentationPage.js +114 -148
- package/dist/devportal/pages/DocumentationPage.js.map +1 -1
- package/dist/devportal/pages/PublisherProfilePage.d.ts.map +1 -1
- package/dist/devportal/pages/PublisherProfilePage.js +170 -160
- package/dist/devportal/pages/PublisherProfilePage.js.map +1 -1
- package/dist/devportal/pages/ResourcesPage.js +2 -2
- package/dist/devportal/pages/ResourcesPage.js.map +1 -1
- package/dist/devportal/pages/SetupPage.d.ts.map +1 -1
- package/dist/devportal/pages/SetupPage.js +363 -218
- package/dist/devportal/pages/SetupPage.js.map +1 -1
- package/dist/devportal/utils/developerOnboarding.d.ts +85 -0
- package/dist/devportal/utils/developerOnboarding.d.ts.map +1 -0
- package/dist/devportal/utils/developerOnboarding.js +104 -0
- package/dist/devportal/utils/developerOnboarding.js.map +1 -0
- package/dist/devportal/utils/uploadErrors.d.ts +46 -0
- package/dist/devportal/utils/uploadErrors.d.ts.map +1 -0
- package/dist/devportal/utils/uploadErrors.js +62 -0
- package/dist/devportal/utils/uploadErrors.js.map +1 -0
- package/dist/generated/global-operations.d.ts +53 -0
- package/dist/generated/global-operations.d.ts.map +1 -1
- package/dist/generated/global-operations.js +170 -134
- package/dist/generated/global-operations.js.map +1 -1
- package/dist/translations/en.d.ts +50 -0
- package/dist/translations/en.d.ts.map +1 -1
- package/dist/translations/en.js +51 -1
- package/dist/translations/en.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,188 +1,154 @@
|
|
|
1
1
|
import { PageLayout as e, PageSection as t } from "../components/PageLayout.js";
|
|
2
|
-
import {
|
|
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: "
|
|
12
|
-
url:
|
|
13
|
-
icon: /* @__PURE__ */ v(
|
|
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: "
|
|
20
|
-
description: "
|
|
21
|
-
url:
|
|
22
|
-
icon: /* @__PURE__ */ v(
|
|
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: "
|
|
29
|
-
url:
|
|
30
|
-
icon: /* @__PURE__ */ v(
|
|
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
|
|
37
|
-
description: "
|
|
38
|
-
url:
|
|
39
|
-
icon: /* @__PURE__ */ v(
|
|
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
|
|
54
|
-
description: "
|
|
55
|
-
url:
|
|
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: "
|
|
71
|
-
url:
|
|
72
|
-
icon: /* @__PURE__ */ v(
|
|
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: "
|
|
86
|
-
title: "
|
|
87
|
-
description: "
|
|
88
|
-
url:
|
|
89
|
-
icon: /* @__PURE__ */ v(
|
|
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: "
|
|
103
|
-
title: "
|
|
104
|
-
description: "
|
|
105
|
-
url:
|
|
106
|
-
icon: /* @__PURE__ */ v(
|
|
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: "
|
|
111
|
-
title: "
|
|
112
|
-
description: "
|
|
113
|
-
url:
|
|
114
|
-
icon: /* @__PURE__ */ v(
|
|
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: "
|
|
127
|
-
title: "
|
|
128
|
-
description: "
|
|
129
|
-
url:
|
|
130
|
-
icon: /* @__PURE__ */ v(
|
|
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: "
|
|
135
|
-
title: "
|
|
136
|
-
description: "
|
|
137
|
-
url:
|
|
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: "
|
|
143
|
-
title: "
|
|
144
|
-
description: "
|
|
145
|
-
url:
|
|
146
|
-
icon: /* @__PURE__ */ v(
|
|
147
|
-
category: "
|
|
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: "
|
|
152
|
-
title: "
|
|
153
|
-
description: "
|
|
154
|
-
url:
|
|
155
|
-
icon: /* @__PURE__ */ v(
|
|
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:
|
|
163
|
-
icon: /* @__PURE__ */ v(
|
|
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:
|
|
135
|
+
url: n.status,
|
|
170
136
|
icon: /* @__PURE__ */ v(_, { size: 16 })
|
|
171
137
|
},
|
|
172
138
|
{
|
|
173
|
-
title: "
|
|
174
|
-
url:
|
|
175
|
-
icon: /* @__PURE__ */ v(
|
|
139
|
+
title: "Code Examples",
|
|
140
|
+
url: n.examples,
|
|
141
|
+
icon: /* @__PURE__ */ v(a, { size: 16 })
|
|
176
142
|
},
|
|
177
143
|
{
|
|
178
|
-
title: "
|
|
179
|
-
url:
|
|
180
|
-
icon: /* @__PURE__ */ v(
|
|
144
|
+
title: "SDKs",
|
|
145
|
+
url: n.nodeSdk,
|
|
146
|
+
icon: /* @__PURE__ */ v(o, { size: 16 })
|
|
181
147
|
},
|
|
182
148
|
{
|
|
183
|
-
title: "
|
|
184
|
-
url:
|
|
185
|
-
icon: /* @__PURE__ */ v(
|
|
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(
|
|
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(
|
|
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:
|
|
243
|
-
let n =
|
|
208
|
+
let { t: i } = b(), a = (e, t) => {
|
|
209
|
+
let n = i(e);
|
|
244
210
|
return n === e ? t : n;
|
|
245
|
-
},
|
|
211
|
+
}, o = (e) => S.filter((t) => t.category === e);
|
|
246
212
|
return /* @__PURE__ */ y(e, {
|
|
247
|
-
title:
|
|
248
|
-
description:
|
|
249
|
-
purpose:
|
|
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:
|
|
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(
|
|
257
|
-
|
|
258
|
-
/* @__PURE__ */ v(
|
|
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:
|
|
233
|
+
children: a("devportal.docs.comingSoon.title", "Coming soon")
|
|
268
234
|
}), /* @__PURE__ */ v("span", {
|
|
269
235
|
className: "ml-2",
|
|
270
|
-
children:
|
|
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:
|
|
279
|
-
description:
|
|
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:
|
|
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:
|
|
287
|
-
description:
|
|
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:
|
|
256
|
+
children: o("api").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
|
|
291
257
|
})
|
|
292
258
|
}),
|
|
293
259
|
/* @__PURE__ */ v(t, {
|
|
294
|
-
title:
|
|
295
|
-
description:
|
|
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:
|
|
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:
|
|
305
|
-
description:
|
|
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:
|
|
274
|
+
children: o("reference").map((e) => /* @__PURE__ */ v(w, { doc: e }, e.id))
|
|
309
275
|
})
|
|
310
276
|
}), /* @__PURE__ */ v(t, {
|
|
311
|
-
title:
|
|
312
|
-
description:
|
|
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:
|
|
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:
|
|
291
|
+
children: a("devportal.needMoreHelp", "Need more help?")
|
|
326
292
|
}), /* @__PURE__ */ v("p", {
|
|
327
293
|
className: "mt-1 text-text-secondary",
|
|
328
|
-
children:
|
|
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:
|
|
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(
|
|
302
|
+
children: [/* @__PURE__ */ v(h, { size: 16 }), a("devportal.community", "Community")]
|
|
337
303
|
}), /* @__PURE__ */ y("a", {
|
|
338
|
-
href: "mailto:
|
|
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(
|
|
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":";;;;;;;AAoDA,IAAM,IAA0C;CAE9C;EACE,IAAI;EACJ,OAAO;EACP,aACE;EACF,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAQ,MAAM,IAAM,CAAA;EAC1B,UAAU;EACV,OAAO;EACR;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAK,MAAM,IAAM,CAAA;EACvB,UAAU;EACV,WAAW;EACZ;CACD;EACE,IAAI;EACJ,OAAO;EACP,aACE;EACF,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAW,MAAM,IAAM,CAAA;EAC7B,UAAU;EACX;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAQ,MAAM,IAAM,CAAA;EAC1B,UAAU;EACX;CAGD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;EACzB,UAAU;EACV,WAAW;EACZ;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAS,MAAM,IAAM,CAAA;EAC3B,UAAU;EACX;CAGD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAK,MAAM,IAAM,CAAA;EACvB,UAAU;EACX;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAK,MAAM,IAAM,CAAA;EACvB,UAAU;EACX;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;EAC5B,UAAU;EACX;CAGD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;EAC5B,UAAU;EACX;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;EAC5B,UAAU;EACX;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;EAC5B,UAAU;EACX;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;EACzB,UAAU;EACX;CAGD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAY,MAAM,IAAM,CAAA;EAC9B,UAAU;EACX;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;EACzB,UAAU;EACX;CACF,EAEK,IAA0B;CAC9B;EACE,OAAO;EACP,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAK,MAAM,IAAM,CAAA;EACxB;CACD;EACE,OAAO;EACP,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;EAC1B;CACD;EACE,OAAO;EACP,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;EAC7B;CACD;EACE,OAAO;EACP,KAAK,EAAgB;EACrB,MAAM,kBAAC,GAAD,EAAQ,MAAM,IAAM,CAAA;EAC3B;CACF,EAkBK,KAAqD,EAAE,aAC3D,kBAAC,KAAD;CACE,MAAM,EAAI;CACV,QAAO;CACP,KAAI;CACJ,WAAU;WAJZ;EAME,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;cACZ,EAAI;IACD,CAAA,EACN,kBAAC,OAAD;IAAK,WAAU;cAAf;KACG,EAAI,SACH,kBAAC,QAAD;MAAM,WAAU;gBAAoG;MAE7G,CAAA;KAER,EAAI,aACH,kBAAC,QAAD;MAAM,WAAU;gBAAoG;MAE7G,CAAA;KAET,kBAAC,GAAD;MACE,MAAM;MACN,WAAU;MACV,CAAA;KACE;MACF;;EACN,kBAAC,MAAD;GAAI,WAAU;aAA+C,EAAI;GAAW,CAAA;EAC5E,kBAAC,KAAD;GAAG,WAAU;aACV,EAAI;GACH,CAAA;EACF;IAGA,KAA0C,EAAE,cAChD,kBAAC,KAAD;CACE,MAAM,EAAK;CACX,QAAO;CACP,KAAI;CACJ,WAAU;WAJZ;EAME,kBAAC,QAAD;GAAM,WAAU;aAAuB,EAAK;GAAY,CAAA;EACvD,EAAK;EACN,kBAAC,GAAD;GAAc,MAAM;GAAI,WAAU;GAAgC,CAAA;EAChE;IAOO,UAA8B;CACzC,IAAM,EAAE,SAAM,GAAS,EACjB,KAAM,GAAa,MAA6B;EACpD,IAAM,IAAQ,EAAE,EAAI;AACpB,SAAO,MAAU,IAAM,IAAW;IAE9B,KAAsB,MAC1B,EAAmB,QAAQ,MAAQ,EAAI,aAAa,EAAW;AAEjE,QACE,kBAAC,GAAD;EACE,OAAO,EAAG,2BAA2B,gBAAgB;EACrD,aAAa,EACX,oCACA,mFACD;EACD,SAAS,EACP,yBACA,kNACD;EACD,SACE,kBAAC,KAAD;GACE,MAAM,EAAgB;GACtB,QAAO;GACP,KAAI;GACJ,WAAU;aAJZ;IAME,kBAAC,GAAD,EAAM,MAAM,IAAM,CAAA;IACjB,EAAG,0BAA0B,iBAAiB;IAC/C,kBAAC,GAAD,EAAc,MAAM,IAAM,CAAA;IACxB;;YApBR;GA0BE,kBAAC,OAAD;IACE,MAAK;IACL,WAAU;cAFZ,CAIE,kBAAC,UAAD;KAAQ,WAAU;eACf,EAAG,mCAAmC,cAAc;KAC9C,CAAA,EACT,kBAAC,QAAD;KAAM,WAAU;eACb,EACC,yCACA,yHACD;KACI,CAAA,CACH;;GAGN,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;IAAK,WAAU;cACZ,EAAW,KAAK,MACf,kBAAC,GAAD,EAAsC,SAAQ,EAA1B,EAAK,MAAqB,CAC9C;IACE,CAAA,EACM,CAAA;GAGd,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;IACE,OAAO,EAAG,4BAA4B,kBAAkB;IACxD,aAAa,EACX,uCACA,wCACD;cAED,kBAAC,OAAD;KAAK,WAAU;eACZ,EAAmB,kBAAkB,CAAC,KAAK,MAC1C,kBAAC,GAAD,EAAqC,QAAO,EAApB,EAAI,GAAgB,CAC5C;KACE,CAAA;IACM,CAAA,EACA,CAAA;GAGhB,kBAAC,GAAD;IACE,OAAO,EAAG,0BAA0B,gBAAgB;IACpD,aAAa,EACX,sCACA,6BACD;cAED,kBAAC,OAAD;KAAK,WAAU;eACZ,EAAmB,MAAM,CAAC,KAAK,MAC9B,kBAAC,GAAD,EAAqC,QAAO,EAApB,EAAI,GAAgB,CAC5C;KACE,CAAA;IACM,CAAA;GAGd,kBAAC,GAAD;IACE,OAAO,EAAG,oBAAoB,SAAS;IACvC,aAAa,EACX,iCACA,4CACD;cAED,kBAAC,OAAD;KAAK,WAAU;eACZ,EAAmB,SAAS,CAAC,KAAK,MACjC,kBAAC,GAAD,EAAqC,QAAO,EAApB,EAAI,GAAgB,CAC5C;KACE,CAAA;IACM,CAAA;GAGd,kBAAC,OAAD;IAAK,WAAU;cAAf,CAEE,kBAAC,GAAD;KACE,OAAO,EAAG,uBAAuB,YAAY;KAC7C,aAAa,EACX,oCACA,0BACD;eAED,kBAAC,OAAD;MAAK,WAAU;gBACZ,EAAmB,YAAY,CAAC,KAAK,MACpC,kBAAC,GAAD,EAAqC,QAAO,EAApB,EAAI,GAAgB,CAC5C;MACE,CAAA;KACM,CAAA,EAGd,kBAAC,GAAD;KACE,OAAO,EAAG,qBAAqB,UAAU;KACzC,aAAa,EACX,gCACA,4BACD;eAED,kBAAC,OAAD;MAAK,WAAU;gBACZ,EAAmB,UAAU,CAAC,KAAK,MAClC,kBAAC,GAAD,EAAqC,QAAO,EAApB,EAAI,GAAgB,CAC5C;MACE,CAAA;KACM,CAAA,CACV;;GAGN,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;MAAI,WAAU;gBACX,EAAG,0BAA0B,kBAAkB;MAC7C,CAAA,EACL,kBAAC,KAAD;MAAG,WAAU;gBACV,EACC,sCACA,6EACD;MACC,CAAA,CACA,EAAA,CAAA,EACN,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,KAAD;OACE,MAAM,EAAgB;OACtB,QAAO;OACP,KAAI;OACJ,WAAU;iBAJZ,CAME,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA,EAClB,EAAG,uBAAuB,YAAY,CACrC;UACJ,kBAAC,KAAD;OACE,MAAK;OACL,WAAU;iBAFZ,CAIE,kBAAC,GAAD,EAAe,MAAM,IAAM,CAAA,EAC1B,EAAG,4BAA4B,kBAAkB,CAChD;SACA;QACF;;IACF,CAAA;GACK"}
|
|
@@ -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;
|
|
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"}
|