@burdenoff/microfe-workspaces 2026.1016.12 → 2026.1023.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.
|
@@ -1,165 +1,48 @@
|
|
|
1
1
|
import { tWithFallback as e } from "../../../utils/i18n.js";
|
|
2
2
|
import { WidgetWrapper as t } from "../WidgetWrapper.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { pickTips as n } from "./tipsCatalog.js";
|
|
4
|
+
import { ExternalLink as r, Lightbulb as i } from "lucide-react";
|
|
5
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
6
|
+
import { useI18n as s } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
6
7
|
//#region src/pages/dashboard/widgets/TipsWidget.tsx
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
description: e(t, "dashboard.tips.vibecontrols.readDocs.description", "Guides, references, and tutorials at docs.vibecontrols.com."),
|
|
13
|
-
href: "https://docs.vibecontrols.com",
|
|
14
|
-
external: !0,
|
|
15
|
-
color: "text-accent-blue"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
icon: p,
|
|
19
|
-
title: e(t, "dashboard.tips.vibecontrols.community.title", "Join the community"),
|
|
20
|
-
description: e(t, "dashboard.tips.vibecontrols.community.description", "Ask questions, share workflows, and chat with the team."),
|
|
21
|
-
href: "https://community.vibecontrols.com",
|
|
22
|
-
external: !0,
|
|
23
|
-
color: "text-accent-purple"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
icon: c,
|
|
27
|
-
title: e(t, "dashboard.tips.vibecontrols.plugins.title", "Browse plugins"),
|
|
28
|
-
description: e(t, "dashboard.tips.vibecontrols.plugins.description", "50+ plugins for terminals, AI, tunnels, sandboxes, and more."),
|
|
29
|
-
href: "/vibecontrols/plugins",
|
|
30
|
-
color: "text-status-success-text"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
icon: s,
|
|
34
|
-
title: e(t, "dashboard.tips.vibecontrols.blog.title", "Latest from the blog"),
|
|
35
|
-
description: e(t, "dashboard.tips.vibecontrols.blog.description", "Product updates, deep dives, and engineering posts."),
|
|
36
|
-
href: "https://vibecontrols.com/blog",
|
|
37
|
-
external: !0,
|
|
38
|
-
color: "text-status-warning-text"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
icon: f,
|
|
42
|
-
title: e(t, "dashboard.tips.vibecontrols.featurePreviews.title", "Feature previews"),
|
|
43
|
-
description: e(t, "dashboard.tips.vibecontrols.featurePreviews.description", "Try opt-in features before they ship to everyone."),
|
|
44
|
-
href: "/feature-previews",
|
|
45
|
-
color: "text-accent-pink"
|
|
46
|
-
}
|
|
47
|
-
];
|
|
48
|
-
}
|
|
49
|
-
function y(t) {
|
|
50
|
-
return [
|
|
51
|
-
{
|
|
52
|
-
icon: l,
|
|
53
|
-
title: e(t, "dashboard.tips.workspaces.createWorkspace.title", "Create your first workspace"),
|
|
54
|
-
description: e(t, "dashboard.tips.workspaces.createWorkspace.description", "Organize your team with a dedicated workspace."),
|
|
55
|
-
href: "/workspaces/list",
|
|
56
|
-
color: "text-accent-blue"
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
icon: m,
|
|
60
|
-
title: e(t, "dashboard.tips.workspaces.automateWorkflows.title", "Automate with workflows"),
|
|
61
|
-
description: e(t, "dashboard.tips.workspaces.automateWorkflows.description", "Build automation workflows to streamline your processes."),
|
|
62
|
-
href: "/workflows",
|
|
63
|
-
color: "text-status-success-text"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
icon: d,
|
|
67
|
-
title: e(t, "dashboard.tips.workspaces.permissions.title", "Set up permissions"),
|
|
68
|
-
description: e(t, "dashboard.tips.workspaces.permissions.description", "Configure role-based access for your workspace members."),
|
|
69
|
-
href: "/rbac",
|
|
70
|
-
color: "text-accent-purple"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
icon: n,
|
|
74
|
-
title: e(t, "dashboard.tips.workspaces.exploreApi.title", "Explore the API"),
|
|
75
|
-
description: e(t, "dashboard.tips.workspaces.exploreApi.description", "Check out our developer portal for API documentation."),
|
|
76
|
-
href: "/devportal",
|
|
77
|
-
color: "text-status-warning-text"
|
|
78
|
-
}
|
|
79
|
-
];
|
|
80
|
-
}
|
|
81
|
-
function b(t) {
|
|
82
|
-
return [
|
|
83
|
-
{
|
|
84
|
-
icon: i,
|
|
85
|
-
title: e(t, "dashboard.tips.fluidgrids.buildWorkflow.title", "Build your first workflow"),
|
|
86
|
-
description: e(t, "dashboard.tips.fluidgrids.buildWorkflow.description", "Drag nodes onto the canvas to automate a process end to end."),
|
|
87
|
-
href: "/workflows/new",
|
|
88
|
-
color: "text-accent-blue"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
icon: a,
|
|
92
|
-
title: e(t, "dashboard.tips.fluidgrids.template.title", "Start from a template"),
|
|
93
|
-
description: e(t, "dashboard.tips.fluidgrids.template.description", "Skip the blank canvas with a ready-made workflow template."),
|
|
94
|
-
href: "/workflows/templates",
|
|
95
|
-
color: "text-status-success-text"
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
icon: u,
|
|
99
|
-
title: e(t, "dashboard.tips.fluidgrids.debugRun.title", "Debug a failed run"),
|
|
100
|
-
description: e(t, "dashboard.tips.fluidgrids.debugRun.description", "Inspect node-by-node execution logs for any workflow run."),
|
|
101
|
-
href: "/workflows/runs",
|
|
102
|
-
color: "text-accent-purple"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
icon: n,
|
|
106
|
-
title: e(t, "dashboard.tips.fluidgrids.readDocs.title", "Read the docs"),
|
|
107
|
-
description: e(t, "dashboard.tips.fluidgrids.readDocs.description", "Guides and node reference at docs.fluidgrids.com."),
|
|
108
|
-
href: "https://docs.fluidgrids.com",
|
|
109
|
-
external: !0,
|
|
110
|
-
color: "text-status-warning-text"
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
icon: p,
|
|
114
|
-
title: e(t, "dashboard.tips.fluidgrids.community.title", "Join the community"),
|
|
115
|
-
description: e(t, "dashboard.tips.fluidgrids.community.description", "Share workflows and get help from other builders."),
|
|
116
|
-
href: "https://community.fluidgrids.com",
|
|
117
|
-
external: !0,
|
|
118
|
-
color: "text-accent-pink"
|
|
119
|
-
}
|
|
120
|
-
];
|
|
121
|
-
}
|
|
122
|
-
function x(e, t) {
|
|
123
|
-
return t === "vibecontrols" ? v(e) : t === "fluidgrids" ? b(e) : y(e);
|
|
124
|
-
}
|
|
125
|
-
function S({ navigate: n, isLoading: i, productId: a }) {
|
|
126
|
-
let { t: s } = _(), c = x(s, a);
|
|
127
|
-
return /* @__PURE__ */ h(t, {
|
|
128
|
-
title: e(s, "dashboard.tips.title", "Tips & Resources"),
|
|
129
|
-
icon: /* @__PURE__ */ h(o, { className: "size-4" }),
|
|
8
|
+
function c({ navigate: c, isLoading: l, productId: u }) {
|
|
9
|
+
let { t: d } = s(), f = n(d, u);
|
|
10
|
+
return /* @__PURE__ */ a(t, {
|
|
11
|
+
title: e(d, "dashboard.tips.title", "Tips & Resources"),
|
|
12
|
+
icon: /* @__PURE__ */ a(i, { className: "size-4" }),
|
|
130
13
|
size: "small",
|
|
131
|
-
isLoading:
|
|
132
|
-
children: /* @__PURE__ */
|
|
14
|
+
isLoading: l,
|
|
15
|
+
children: /* @__PURE__ */ a("div", {
|
|
133
16
|
className: "space-y-2",
|
|
134
|
-
children:
|
|
17
|
+
children: f.map((e) => e.external ? /* @__PURE__ */ o("a", {
|
|
135
18
|
href: e.href,
|
|
136
19
|
target: "_blank",
|
|
137
20
|
rel: "noopener noreferrer",
|
|
138
21
|
className: "w-full flex items-start gap-2 p-1.5 rounded hover:bg-accent/5 transition-colors text-left",
|
|
139
22
|
children: [
|
|
140
|
-
/* @__PURE__ */
|
|
141
|
-
/* @__PURE__ */
|
|
23
|
+
/* @__PURE__ */ a(e.icon, { className: `size-4 mt-0.5 shrink-0 ${e.color}` }),
|
|
24
|
+
/* @__PURE__ */ o("div", {
|
|
142
25
|
className: "min-w-0",
|
|
143
|
-
children: [/* @__PURE__ */
|
|
26
|
+
children: [/* @__PURE__ */ a("p", {
|
|
144
27
|
className: "text-xs font-medium text-text-primary leading-tight",
|
|
145
28
|
children: e.title
|
|
146
|
-
}), /* @__PURE__ */
|
|
29
|
+
}), /* @__PURE__ */ a("p", {
|
|
147
30
|
className: "text-[11px] text-text-secondary leading-tight mt-0.5",
|
|
148
31
|
children: e.description
|
|
149
32
|
})]
|
|
150
33
|
}),
|
|
151
|
-
/* @__PURE__ */
|
|
34
|
+
/* @__PURE__ */ a(r, { className: "size-3 text-text-secondary shrink-0 mt-0.5" })
|
|
152
35
|
]
|
|
153
|
-
}, e.title) : /* @__PURE__ */
|
|
36
|
+
}, e.title) : /* @__PURE__ */ o("button", {
|
|
154
37
|
type: "button",
|
|
155
38
|
className: "w-full flex items-start gap-2 p-1.5 rounded hover:bg-accent/5 cursor-pointer transition-colors text-left",
|
|
156
|
-
onClick: () =>
|
|
157
|
-
children: [/* @__PURE__ */
|
|
39
|
+
onClick: () => c(e.href),
|
|
40
|
+
children: [/* @__PURE__ */ a(e.icon, { className: `size-4 mt-0.5 shrink-0 ${e.color}` }), /* @__PURE__ */ o("div", {
|
|
158
41
|
className: "min-w-0",
|
|
159
|
-
children: [/* @__PURE__ */
|
|
42
|
+
children: [/* @__PURE__ */ a("p", {
|
|
160
43
|
className: "text-xs font-medium text-text-primary leading-tight",
|
|
161
44
|
children: e.title
|
|
162
|
-
}), /* @__PURE__ */
|
|
45
|
+
}), /* @__PURE__ */ a("p", {
|
|
163
46
|
className: "text-[11px] text-text-secondary leading-tight mt-0.5",
|
|
164
47
|
children: e.description
|
|
165
48
|
})]
|
|
@@ -169,4 +52,4 @@ function S({ navigate: n, isLoading: i, productId: a }) {
|
|
|
169
52
|
});
|
|
170
53
|
}
|
|
171
54
|
//#endregion
|
|
172
|
-
export {
|
|
55
|
+
export { c as TipsWidget };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LucideIcon } from 'lucide-react';
|
|
2
|
+
import { tWithFallback } from '../../../utils/i18n';
|
|
3
|
+
type Translator = Parameters<typeof tWithFallback>[0];
|
|
4
|
+
export interface Tip {
|
|
5
|
+
icon: LucideIcon;
|
|
6
|
+
title: string;
|
|
7
|
+
description: string;
|
|
8
|
+
href: string;
|
|
9
|
+
external?: boolean;
|
|
10
|
+
color: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function pickTips(t: Translator, productId?: string): Tip[];
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { tWithFallback as e } from "../../../utils/i18n.js";
|
|
2
|
+
import { BookOpen as t, GitBranch as n, LayoutTemplate as r, Newspaper as i, Puzzle as a, Rocket as o, ScrollText as s, Shield as c, Sparkles as l, Users as u, Workflow as d } from "lucide-react";
|
|
3
|
+
//#region src/pages/dashboard/widgets/tipsCatalog.ts
|
|
4
|
+
function f(n) {
|
|
5
|
+
return [
|
|
6
|
+
{
|
|
7
|
+
icon: t,
|
|
8
|
+
title: e(n, "dashboard.tips.vibecontrols.readDocs.title", "Read the docs"),
|
|
9
|
+
description: e(n, "dashboard.tips.vibecontrols.readDocs.description", "Guides, references, and tutorials at docs.vibecontrols.com."),
|
|
10
|
+
href: "https://docs.vibecontrols.com",
|
|
11
|
+
external: !0,
|
|
12
|
+
color: "text-accent-blue"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
icon: u,
|
|
16
|
+
title: e(n, "dashboard.tips.vibecontrols.community.title", "Join the community"),
|
|
17
|
+
description: e(n, "dashboard.tips.vibecontrols.community.description", "Ask questions, share workflows, and chat with the team."),
|
|
18
|
+
href: "https://community.vibecontrols.com",
|
|
19
|
+
external: !0,
|
|
20
|
+
color: "text-accent-purple"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
icon: a,
|
|
24
|
+
title: e(n, "dashboard.tips.vibecontrols.plugins.title", "Browse plugins"),
|
|
25
|
+
description: e(n, "dashboard.tips.vibecontrols.plugins.description", "50+ plugins for terminals, AI, tunnels, sandboxes, and more."),
|
|
26
|
+
href: "/vibecontrols/plugins",
|
|
27
|
+
color: "text-status-success-text"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
icon: i,
|
|
31
|
+
title: e(n, "dashboard.tips.vibecontrols.blog.title", "Latest from the blog"),
|
|
32
|
+
description: e(n, "dashboard.tips.vibecontrols.blog.description", "Product updates, deep dives, and engineering posts."),
|
|
33
|
+
href: "https://vibecontrols.com/blog",
|
|
34
|
+
external: !0,
|
|
35
|
+
color: "text-status-warning-text"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
icon: l,
|
|
39
|
+
title: e(n, "dashboard.tips.vibecontrols.featurePreviews.title", "Feature previews"),
|
|
40
|
+
description: e(n, "dashboard.tips.vibecontrols.featurePreviews.description", "Try opt-in features before they ship to everyone."),
|
|
41
|
+
href: "/feature-previews",
|
|
42
|
+
color: "text-accent-pink"
|
|
43
|
+
}
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
function p(n) {
|
|
47
|
+
return [
|
|
48
|
+
{
|
|
49
|
+
icon: o,
|
|
50
|
+
title: e(n, "dashboard.tips.workspaces.createWorkspace.title", "Create your first workspace"),
|
|
51
|
+
description: e(n, "dashboard.tips.workspaces.createWorkspace.description", "Organize your team with a dedicated workspace."),
|
|
52
|
+
href: "/workspaces/list",
|
|
53
|
+
color: "text-accent-blue"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
icon: d,
|
|
57
|
+
title: e(n, "dashboard.tips.workspaces.automateWorkflows.title", "Automate with workflows"),
|
|
58
|
+
description: e(n, "dashboard.tips.workspaces.automateWorkflows.description", "Build automation workflows to streamline your processes."),
|
|
59
|
+
href: "/workflows",
|
|
60
|
+
color: "text-status-success-text"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
icon: c,
|
|
64
|
+
title: e(n, "dashboard.tips.workspaces.permissions.title", "Set up permissions"),
|
|
65
|
+
description: e(n, "dashboard.tips.workspaces.permissions.description", "Configure role-based access for your workspace members."),
|
|
66
|
+
href: "/rbac",
|
|
67
|
+
color: "text-accent-purple"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
icon: t,
|
|
71
|
+
title: e(n, "dashboard.tips.workspaces.exploreApi.title", "Explore the API"),
|
|
72
|
+
description: e(n, "dashboard.tips.workspaces.exploreApi.description", "Check out our developer portal for API documentation."),
|
|
73
|
+
href: "/devportal",
|
|
74
|
+
color: "text-status-warning-text"
|
|
75
|
+
}
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
function m(i) {
|
|
79
|
+
return [
|
|
80
|
+
{
|
|
81
|
+
icon: n,
|
|
82
|
+
title: e(i, "dashboard.tips.fluidgrids.buildWorkflow.title", "Build your first workflow"),
|
|
83
|
+
description: e(i, "dashboard.tips.fluidgrids.buildWorkflow.description", "Drag nodes onto the canvas to automate a process end to end."),
|
|
84
|
+
href: "/workflows/new",
|
|
85
|
+
color: "text-accent-blue"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
icon: r,
|
|
89
|
+
title: e(i, "dashboard.tips.fluidgrids.template.title", "Start from a template"),
|
|
90
|
+
description: e(i, "dashboard.tips.fluidgrids.template.description", "Skip the blank canvas with a ready-made workflow template."),
|
|
91
|
+
href: "/workflows/templates",
|
|
92
|
+
color: "text-status-success-text"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
icon: s,
|
|
96
|
+
title: e(i, "dashboard.tips.fluidgrids.debugRun.title", "Debug a failed run"),
|
|
97
|
+
description: e(i, "dashboard.tips.fluidgrids.debugRun.description", "Inspect node-by-node execution logs for any workflow run."),
|
|
98
|
+
href: "/workflows/runs",
|
|
99
|
+
color: "text-accent-purple"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
icon: t,
|
|
103
|
+
title: e(i, "dashboard.tips.fluidgrids.readDocs.title", "Read the docs"),
|
|
104
|
+
description: e(i, "dashboard.tips.fluidgrids.readDocs.description", "Guides and node reference at docs.fluidgrids.ai."),
|
|
105
|
+
href: "https://docs.fluidgrids.ai",
|
|
106
|
+
external: !0,
|
|
107
|
+
color: "text-status-warning-text"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
icon: u,
|
|
111
|
+
title: e(i, "dashboard.tips.fluidgrids.community.title", "Join the community"),
|
|
112
|
+
description: e(i, "dashboard.tips.fluidgrids.community.description", "Share workflows and get help from other builders."),
|
|
113
|
+
href: "https://community.fluidgrids.ai",
|
|
114
|
+
external: !0,
|
|
115
|
+
color: "text-accent-pink"
|
|
116
|
+
}
|
|
117
|
+
];
|
|
118
|
+
}
|
|
119
|
+
function h(e, t) {
|
|
120
|
+
return t === "vibecontrols" ? f(e) : t === "fluidgrids" ? m(e) : p(e);
|
|
121
|
+
}
|
|
122
|
+
//#endregion
|
|
123
|
+
export { h as pickTips };
|
package/dist/translations/en.js
CHANGED
|
@@ -233,7 +233,7 @@ var e = {
|
|
|
233
233
|
title: "Debug a failed run"
|
|
234
234
|
},
|
|
235
235
|
readDocs: {
|
|
236
|
-
description: "Guides and node reference at docs.fluidgrids.
|
|
236
|
+
description: "Guides and node reference at docs.fluidgrids.ai.",
|
|
237
237
|
title: "Read the docs"
|
|
238
238
|
},
|
|
239
239
|
template: {
|