diff --git a/src/components/InvitePeopleModal.vue b/src/components/InvitePeopleModal.vue index 948342a8..572a65c0 100644 --- a/src/components/InvitePeopleModal.vue +++ b/src/components/InvitePeopleModal.vue @@ -8,15 +8,25 @@ address listed below using the invite link.

-

+

Enter an email address or NDN name below

-
- +
+
+ +
+
+ +
@@ -429,9 +439,42 @@ function displayProfileName(name: string): string { return utils.stripNdnPrefixForDisplay(name); } +async function copyLink() { + await navigator.clipboard.writeText(inviteLink.value); + Toast.success('Invite link copied to clipboard!'); +} + diff --git a/src/components/home/CreateWorkspaceModal.vue b/src/components/home/CreateWorkspaceModal.vue index ed5b0613..775a9326 100644 --- a/src/components/home/CreateWorkspaceModal.vue +++ b/src/components/home/CreateWorkspaceModal.vue @@ -33,7 +33,7 @@
- +
diff --git a/src/components/home/JoinWorkspaceModal.vue b/src/components/home/JoinWorkspaceModal.vue index c929baf3..da94851b 100644 --- a/src/components/home/JoinWorkspaceModal.vue +++ b/src/components/home/JoinWorkspaceModal.vue @@ -6,7 +6,7 @@
- +

Unique network identifier of the workspace

@@ -27,14 +27,14 @@
- +

Ask the owner of the workspace for the key

- +
diff --git a/src/components/landing/DemoCreateWorkspaceModal.vue b/src/components/landing/DemoCreateWorkspaceModal.vue new file mode 100644 index 00000000..f9045241 --- /dev/null +++ b/src/components/landing/DemoCreateWorkspaceModal.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/components/landing/DemoDashboard.vue b/src/components/landing/DemoDashboard.vue new file mode 100644 index 00000000..078ac935 --- /dev/null +++ b/src/components/landing/DemoDashboard.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/components/landing/DemoJoinWorkspaceModal.vue b/src/components/landing/DemoJoinWorkspaceModal.vue new file mode 100644 index 00000000..194f33ae --- /dev/null +++ b/src/components/landing/DemoJoinWorkspaceModal.vue @@ -0,0 +1,44 @@ + + + diff --git a/src/components/landing/DemoModal.vue b/src/components/landing/DemoModal.vue new file mode 100644 index 00000000..982f4eaf --- /dev/null +++ b/src/components/landing/DemoModal.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/components/landing/DemoSidebarHome.vue b/src/components/landing/DemoSidebarHome.vue new file mode 100644 index 00000000..dd0547fa --- /dev/null +++ b/src/components/landing/DemoSidebarHome.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/src/components/landing/DemoSidebarWorkspace.vue b/src/components/landing/DemoSidebarWorkspace.vue new file mode 100644 index 00000000..e8d541e0 --- /dev/null +++ b/src/components/landing/DemoSidebarWorkspace.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/src/components/landing/HelpComponent.vue b/src/components/landing/HelpComponent.vue new file mode 100644 index 00000000..69be5927 --- /dev/null +++ b/src/components/landing/HelpComponent.vue @@ -0,0 +1,185 @@ + + + + + diff --git a/src/components/landing/StepItem.vue b/src/components/landing/StepItem.vue new file mode 100644 index 00000000..caefcf2f --- /dev/null +++ b/src/components/landing/StepItem.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index da7b734e..08afe89a 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -5,6 +5,7 @@ import SpaceDiscussView from '@/views/SpaceDiscussView.vue'; import SpaceProjectView from '@/views/SpaceProjectView.vue'; import ProjectFileView from '@/views/ProjectFileView.vue'; import AboutView from '@/views/AboutView.vue'; +import HelpView from '@/views/HelpView.vue'; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -44,6 +45,11 @@ const router = createRouter({ name: 'about', component: AboutView, }, + { + path: '/help', + name: 'help', + component: HelpView, + }, { path: '/:pathMatch(.*)*', redirect: '/', diff --git a/src/services/event-bus.ts b/src/services/event-bus.ts index 656ba433..46be6b08 100644 --- a/src/services/event-bus.ts +++ b/src/services/event-bus.ts @@ -47,4 +47,10 @@ export const GlobalBus = new EventEmitter() as TypedEmitter<{ * @param channels List of agent channels */ 'agent-channels': (channels: IAgentChannel[]) => void; + + /** + * Event when the active help section changes. + * @param id Section ID that is now active + */ + 'help-toc-active': (id: string) => void; }>; diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue index b04b053c..87342e18 100644 --- a/src/views/AboutView.vue +++ b/src/views/AboutView.vue @@ -1,10 +1,9 @@ diff --git a/src/views/HelpView.vue b/src/views/HelpView.vue new file mode 100644 index 00000000..b1f06430 --- /dev/null +++ b/src/views/HelpView.vue @@ -0,0 +1,37 @@ + + + + +