Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
688f8fb
Start workspace onboarding
tristantr Nov 19, 2025
3c256f6
Add pictures to tutorial steps
tristantr Nov 19, 2025
c3ec2bf
Remove unecessary step
tristantr Nov 19, 2025
5da0090
Continue tutorial by creating a flow together
tristantr Nov 19, 2025
e7506e9
Add image into the Create Flow tutorial pop up
tristantr Nov 19, 2025
d110152
Generate flow from frontend
tristantr Nov 19, 2025
b1f842b
Set pause between each node
tristantr Nov 19, 2025
4782aaf
Add automatic scripts overview
tristantr Nov 19, 2025
bec4eb4
Simplify tutorial, and add step to show the code
tristantr Nov 19, 2025
58fe6f9
Add input step
tristantr Nov 19, 2025
641ab94
Autoremove last step after 5 seconds
tristantr Nov 19, 2025
fc5993b
Add flow typing when opening code editor
tristantr Nov 19, 2025
c8e18cb
Remove lock field from json file
tristantr Nov 19, 2025
9e6139b
Add Guides tab on left menu
tristantr Nov 19, 2025
99e2458
Add /guides page
tristantr Nov 19, 2025
ec78cb9
Add tutorial card in Guides tab
tristantr Nov 20, 2025
772ea90
Add step to show data connector
tristantr Nov 20, 2025
48381aa
Add second text input to show 2 types of inputs and fill them dynamic…
tristantr Nov 20, 2025
d9cd256
Improve tutorial chronology
tristantr Nov 20, 2025
9f51c4d
Add flow input connexion with first sctript
tristantr Nov 20, 2025
2f8f589
Improve overlay
tristantr Nov 20, 2025
7980137
Improve wording
tristantr Nov 20, 2025
a85a7fb
Add new tutorial step to show node b
tristantr Nov 20, 2025
bbe8390
Add test step
tristantr Nov 20, 2025
c94eb66
Add cursor to pick typescript
tristantr Nov 20, 2025
70100d9
Improve end of tutorial
tristantr Nov 20, 2025
321f541
Refactor
tristantr Nov 20, 2025
27cc1de
Highlight bottom right corner for 5 and 6
tristantr Nov 20, 2025
d009b0b
Fix last step overlay
tristantr Nov 20, 2025
e5b743f
change home tutorial button
diegoimbert Nov 21, 2025
9b9a081
guidelines nits
diegoimbert Nov 21, 2025
98a4abc
Automate onNext() trigger on step 3
tristantr Nov 21, 2025
e16cc57
Improve fakr cursor for Test this step button
tristantr Nov 21, 2025
d1d992c
Improve overlay transitions
tristantr Nov 21, 2025
cb8954a
Merge data connectors and test step steps
tristantr Nov 21, 2025
81ba65c
Improve live code writing in step 3
tristantr Nov 21, 2025
f04bc54
Add a step to complete the flow
tristantr Nov 21, 2025
474e8cc
Improve the step where we generate remaining scripts
tristantr Nov 21, 2025
80cf0c6
Refactor
tristantr Nov 21, 2025
56c0432
Add blocking behavior on step 3
tristantr Nov 21, 2025
05c251e
nit about delay
tristantr Nov 21, 2025
6c21541
Prevent clicking on Next while code not generated
tristantr Nov 21, 2025
786c610
Sharpen wordings
tristantr Nov 21, 2025
9b4971b
Remove Svelte 4 and migrate to Svelte 5
tristantr Nov 21, 2025
ab0e819
Remove unecesary helper function
tristantr Nov 21, 2025
1b804ca
Add toast if the user clicks on Next button before code finished gene…
tristantr Nov 21, 2025
67c596b
Add toasts to each step
tristantr Nov 21, 2025
c963dc1
Improve tutorial trigger timing
tristantr Nov 21, 2025
5039ef6
Improve delays
tristantr Nov 21, 2025
7db72f0
Add cursor movement to Test Flow button
tristantr Nov 21, 2025
8a7b330
Block previous on certain steps to prevent bug
tristantr Nov 21, 2025
e758000
Fix for github npm check
tristantr Nov 21, 2025
d3fedd3
Fix for github npm check
tristantr Nov 21, 2025
b8918e6
Unlike workspace onboarding and flow tutorial
tristantr Nov 21, 2025
d770b6f
Rename flow tutorial with better name
tristantr Nov 21, 2025
70a0717
Remove the automatic trigger for flow previous and broken tutorial
tristantr Nov 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions frontend/src/lib/components/FlowTutorials.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@
import FlowBuilderTutorialSimpleFlow from './tutorials/FlowBuilderTutorialSimpleFlow.svelte'
import FlowBuilderTutorialForLoop from './tutorials/FlowBuilderTutorialForLoop.svelte'
import FlowBuilderTutorialErrorHandler from './tutorials/FlowBuilderTutorialErrorHandler.svelte'
import FlowBuilderLiveTutorial from './tutorials/FlowBuilderLiveTutorial.svelte'

let flowBuilderTutorialSimpleFlow: FlowBuilderTutorialSimpleFlow | undefined = $state(undefined)
let flowBuilderTutorialForLoop: FlowBuilderTutorialForLoop | undefined = $state(undefined)
let flowBuilderTutorialBranchOne: FlowBuilderTutorialBranchOne | undefined = $state(undefined)
let flowBuilderTutorialBranchAll: FlowBuilderTutorialBranchAll | undefined = $state(undefined)
let flowBuilderTutorialErrorHandler: FlowBuilderTutorialErrorHandler | undefined =
$state(undefined)
let flowBuilderLiveTutorial: FlowBuilderLiveTutorial | undefined =
$state(undefined)

export function runTutorialById(id: string, indexToInsertAt?: number | undefined) {
if (id === 'forloop') {
Expand All @@ -24,6 +27,8 @@
flowBuilderTutorialSimpleFlow?.runTutorial()
} else if (id === 'error-handler') {
flowBuilderTutorialErrorHandler?.runTutorial()
} else if (id === 'flow-live-tutorial') {
flowBuilderLiveTutorial?.runTutorial()
}
}

Expand Down Expand Up @@ -62,3 +67,9 @@
on:skipAll={skipAll}
on:reload
/>
<FlowBuilderLiveTutorial
bind:this={flowBuilderLiveTutorial}
on:error
on:skipAll={skipAll}
on:reload
/>
3 changes: 2 additions & 1 deletion frontend/src/lib/components/PageHeader.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
export let tooltip: string = ''
export let documentationLink: string | undefined = undefined
export let primary: boolean = true
export let childrenWrapperDivClasses: string = ''
</script>

<div class="flex flex-row flex-wrap justify-between pb-2 my-4 mr-2">
Expand All @@ -31,7 +32,7 @@
{/if}

{#if $$slots.default}
<div class="my-2">
<div class="my-2 {childrenWrapperDivClasses}">
<slot />
</div>
{/if}
Expand Down
15 changes: 15 additions & 0 deletions frontend/src/lib/components/WorkspaceTutorials.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<script lang="ts">
import WorkspaceOnboardingTutorial from './tutorials/workspace/WorkspaceOnboardingTutorial.svelte'

let workspaceOnboardingTutorial: WorkspaceOnboardingTutorial | undefined = $state(undefined)

export function runTutorialById(id: string) {
if (id === 'workspace-onboarding') {
workspaceOnboardingTutorial?.runTutorial()
}
}
</script>

<WorkspaceOnboardingTutorial
bind:this={workspaceOnboardingTutorial}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<!-- Buttons -->
<div class="flex flex-row gap-2">
<Button
id="create-app-button"
aiId="apps-create-actions-app"
aiDescription="Create a new low-code app"
unifiedSize="lg"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<!-- Buttons -->
<div class="flex flex-row gap-2">
<Button
id="create-flow-button"
aiId="flows-create-actions-flow"
aiDescription="Create a new flow"
unifiedSize="lg"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -458,50 +458,52 @@
<AssetsDropdownButton {assets} />
{/if}
</div>
<Editor
loadAsync
folding
path={$pathStore + '/' + flowModule.id}
bind:websocketAlive
bind:this={editor}
class="h-full relative"
code={flowModule.value.content}
scriptLang={flowModule?.value?.language}
automaticLayout={true}
cmdEnterAction={async () => {
selected = 'test'
if (selectedId == flowModule.id) {
if (flowModule.value.type === 'rawscript' && editor) {
flowModule.value.content = editor.getCode()
<div id="flow-editor-code-section" class="h-full relative">
<Editor
loadAsync
folding
path={$pathStore + '/' + flowModule.id}
bind:websocketAlive
bind:this={editor}
class="h-full relative"
code={flowModule.value.content}
scriptLang={flowModule?.value?.language}
automaticLayout={true}
cmdEnterAction={async () => {
selected = 'test'
if (selectedId == flowModule.id) {
if (flowModule.value.type === 'rawscript' && editor) {
flowModule.value.content = editor.getCode()
}
await reload(flowModule)
modulePreview?.runTestWithStepArgs()
}
await reload(flowModule)
modulePreview?.runTestWithStepArgs()
}
}}
on:change={async (event) => {
const content = event.detail
if (flowModule.value.type === 'rawscript') {
if (flowModule.value.content !== content) {
flowModule.value.content = content
}}
on:change={async (event) => {
const content = event.detail
if (flowModule.value.type === 'rawscript') {
if (flowModule.value.content !== content) {
flowModule.value.content = content
}
await reload(flowModule)
}
await reload(flowModule)
}
}}
formatAction={() => {
reload(flowModule)
saveDraft()
}}
fixedOverflowWidgets={true}
args={Object.entries(flowModule.value.input_transforms).reduce(
(acc, [key, obj]) => {
acc[key] = obj.type === 'static' ? obj.value : undefined
return acc
},
{}
)}
key={`flow-inline-${$workspaceStore}-${$pathStore}-${flowModule.id}`}
moduleId={flowModule.id}
/>
}}
formatAction={() => {
reload(flowModule)
saveDraft()
}}
fixedOverflowWidgets={true}
args={Object.entries(flowModule.value.input_transforms).reduce(
(acc, [key, obj]) => {
acc[key] = obj.type === 'static' ? obj.value : undefined
return acc
},
{}
)}
key={`flow-inline-${$workspaceStore}-${$pathStore}-${flowModule.id}`}
moduleId={flowModule.id}
/>
</div>
<DiffEditor
open={false}
bind:this={diffEditor}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
</script>

<div
id={id || undefined}
class="relative flex gap-1 justify-between items-center w-full overflow-hidden rounded-sm
p-2 text-2xs module text-primary"
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<!-- Buttons -->
<div class="flex flex-row gap-2">
<Button
id="create-script-button"
{aiId}
{aiDescription}
unifiedSize="lg"
Expand Down
7 changes: 7 additions & 0 deletions frontend/src/lib/components/sidebar/SidebarContent.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,13 @@
// icon: Cog,
// disabled: !$userStore?.is_admin && !$userStore?.is_super_admin
// },
{
label: 'Guides',
href: `${base}/guides`,
icon: BookOpen,
aiId: 'sidebar-menu-link-guides',
aiDescription: 'Button to navigate to guides and documentation'
},
{
label: 'Settings',
icon: Settings,
Expand Down
Loading
Loading