diff --git a/public/images/team-promo/contact.png b/public/images/team-promo/contact.png new file mode 100644 index 000000000..48699fb98 Binary files /dev/null and b/public/images/team-promo/contact.png differ diff --git a/public/images/team-promo/documentation.png b/public/images/team-promo/documentation.png new file mode 100644 index 000000000..7569b360a Binary files /dev/null and b/public/images/team-promo/documentation.png differ diff --git a/public/images/team-promo/growth-plans.png b/public/images/team-promo/growth-plans.png new file mode 100644 index 000000000..c8baf7ceb Binary files /dev/null and b/public/images/team-promo/growth-plans.png differ diff --git a/public/images/team-promo/hero.png b/public/images/team-promo/hero.png new file mode 100644 index 000000000..e1d766df4 Binary files /dev/null and b/public/images/team-promo/hero.png differ diff --git a/public/images/team-promo/invite-members.png b/public/images/team-promo/invite-members.png new file mode 100644 index 000000000..c96c09b73 Binary files /dev/null and b/public/images/team-promo/invite-members.png differ diff --git a/public/images/team-promo/many-roadmaps.png b/public/images/team-promo/many-roadmaps.png new file mode 100644 index 000000000..14447464e Binary files /dev/null and b/public/images/team-promo/many-roadmaps.png differ diff --git a/public/images/team-promo/onboarding.png b/public/images/team-promo/onboarding.png new file mode 100644 index 000000000..19616c40d Binary files /dev/null and b/public/images/team-promo/onboarding.png differ diff --git a/public/images/team-promo/our-roadmaps.png b/public/images/team-promo/our-roadmaps.png new file mode 100644 index 000000000..7d9d33a3c Binary files /dev/null and b/public/images/team-promo/our-roadmaps.png differ diff --git a/public/images/team-promo/progress-tracking.png b/public/images/team-promo/progress-tracking.png new file mode 100644 index 000000000..952e2b982 Binary files /dev/null and b/public/images/team-promo/progress-tracking.png differ diff --git a/public/images/team-promo/roadmap-editor.png b/public/images/team-promo/roadmap-editor.png new file mode 100644 index 000000000..57e5add63 Binary files /dev/null and b/public/images/team-promo/roadmap-editor.png differ diff --git a/public/images/team-promo/sharing-settings.png b/public/images/team-promo/sharing-settings.png new file mode 100644 index 000000000..892971aaa Binary files /dev/null and b/public/images/team-promo/sharing-settings.png differ diff --git a/public/images/team-promo/skill-gap.png b/public/images/team-promo/skill-gap.png new file mode 100644 index 000000000..ead2644f5 Binary files /dev/null and b/public/images/team-promo/skill-gap.png differ diff --git a/public/images/team-promo/team-dashboard.png b/public/images/team-promo/team-dashboard.png new file mode 100644 index 000000000..a39261c10 Binary files /dev/null and b/public/images/team-promo/team-dashboard.png differ diff --git a/public/images/team-promo/team-insights.png b/public/images/team-promo/team-insights.png new file mode 100644 index 000000000..76ea015bc Binary files /dev/null and b/public/images/team-promo/team-insights.png differ diff --git a/public/images/team-promo/update-progress.png b/public/images/team-promo/update-progress.png new file mode 100644 index 000000000..f82f3c716 Binary files /dev/null and b/public/images/team-promo/update-progress.png differ diff --git a/src/components/TeamMarketing/TeamDemo.tsx b/src/components/TeamMarketing/TeamDemo.tsx new file mode 100644 index 000000000..9b1eb0c37 --- /dev/null +++ b/src/components/TeamMarketing/TeamDemo.tsx @@ -0,0 +1,140 @@ +import { useState } from 'react'; +import { cn } from '../../lib/classname.ts'; + +const demoItems = [ + { + title: 'Roadmap Editor', + description: + 'Powerful editor to create custom roadmaps and other trackable documents', + image: '/images/team-promo/roadmap-editor.png', + }, + { + title: 'Invite Members', + description: + 'Invite your team members and assign roles', + image: '/images/team-promo/invite-members.png', + }, + { + title: 'Track Progress', + description: + 'You and your team can track progress on the roadmaps', + image: '/images/team-promo/update-progress.png', + }, + { + title: 'Team Dashboard', + description: + 'Keep an eye on the team progress through team dashboard', + image: '/images/team-promo/team-dashboard.png', + }, + { + title: 'Roadmaps and Documents', + description: + 'Create as many roadmaps or trackable documents as you want', + image: '/images/team-promo/many-roadmaps.png', + }, + { + title: 'Community Roadmaps', + description: + 'Create custom roadmaps or customize community roadmaps to fit your needs', + image: '/images/team-promo/our-roadmaps.png', + }, + { + title: 'Sharing Settings', + description: + 'Share a roadmap or trackable document with everyone or specific people', + image: '/images/team-promo/sharing-settings.png', + }, + { + title: 'More Coming Soon!', + description: + 'We have a lot more coming soon!', + }, +]; + +export function TeamDemo() { + const [hasViewed, setHasViewed] = useState([0]); + const [activeItem, setActiveItem] = useState(demoItems[0]); + + return ( +
+
+

See how it works

+

Here is a sneak peek of what you can do today (more coming soon!)

+ +
+ {demoItems.map((item, counter) => { + const isActive = item === activeItem; + const hasAlreadyViewed = hasViewed.includes(counter); + + if (!isActive) { + return ( + + { + setHasViewed([ + ...hasViewed, + counter + ]) + setActiveItem(item); + }} + className={cn('z-50 cursor-pointer rounded-full p-[6px]', { + 'bg-black': item === activeItem, + 'bg-gray-300 hover:bg-gray-400': item !== activeItem, + })} + /> + {!hasAlreadyViewed && } + + ); + } + + return ( + + {activeItem.title} + + ); + })} +
+
+
+

+

+ {activeItem.image && ( + + )} + {!activeItem.image && ( +
+

+ Register your team now and help us shape the future of teams in + roadmap.sh! +

+ +
+ )} +
+
+
+ ); +} diff --git a/src/components/TeamMarketing/TeamHeroBanner.tsx b/src/components/TeamMarketing/TeamHeroBanner.tsx new file mode 100644 index 000000000..dbd8921d1 --- /dev/null +++ b/src/components/TeamMarketing/TeamHeroBanner.tsx @@ -0,0 +1,65 @@ +import { CheckCircle, CheckCircle2, CheckIcon } from 'lucide-react'; + +const featureList = [ + 'Invite your team members', + 'Create custom roadmaps for your teams', + "Plan, track and document your team's skills and growth", + "Get insights on your team's skills and growth", +]; + +export function TeamHeroBanner() { + return ( +
+
+
+
+

+ Roadmaps for Teams +

+

+ Train, plan and track your team's skills and career growth. +

+ +
    + {featureList.map((feature, index) => ( +
  • + + {feature} +
  • + ))} +
+ + +
+ {'team +
+
+
+ ); +} diff --git a/src/components/TeamMarketing/TeamPricing.tsx b/src/components/TeamMarketing/TeamPricing.tsx new file mode 100644 index 000000000..5dc8ad33f --- /dev/null +++ b/src/components/TeamMarketing/TeamPricing.tsx @@ -0,0 +1,80 @@ +import { Check, CheckCircle, Copy, Sparkles } from 'lucide-react'; +import { useCopyText } from '../../hooks/use-copy-text.ts'; +import { cn } from '../../lib/classname.ts'; + +export function TeamPricing() { + const { isCopied, copyText } = useCopyText(); + const teamEmail = 'teams@roadmap.sh'; + + return ( +
+
+

Beta Pricing

+

+ We are currently in beta and are offering free access to all features. +

+ +
+
+
+

Free

+

No credit card required

+

+ $ + 0 +

+ + + Sign up for free + +
+
+

Roles and Permissions

+

Custom Roadmaps

+

Progress Tracking

+

Team Insights

+

Onboarding support

+
+
+
+ {'waving +

+ Questions? We are here to help! +

+

+ +

+
+
+
+
+ ); +} diff --git a/src/components/TeamMarketing/TeamTools.tsx b/src/components/TeamMarketing/TeamTools.tsx new file mode 100644 index 000000000..109636f0b --- /dev/null +++ b/src/components/TeamMarketing/TeamTools.tsx @@ -0,0 +1,62 @@ +const toolsList = [ + { + imageUrl: '/images/team-promo/skill-gap.png', + title: 'Skill gap analysis', + description: 'Understand the skills of your team and identify gaps.', + }, + { + imageUrl: '/images/team-promo/growth-plans.png', + title: 'Growth plans', + description: 'Prepare shared or individual growth plans for members.', + }, + { + imageUrl: '/images/team-promo/progress-tracking.png', + title: 'Progress tracking', + description: 'Track the and compare the progress of team members.', + }, + { + imageUrl: '/images/team-promo/team-insights.png', + title: 'Team insights', + description: 'Get insights about your team skills, progress and more.', + }, + { + imageUrl: '/images/team-promo/onboarding.png', + title: 'Onboarding', + description: 'Prepare onboarding plans for new team members.', + }, + { + imageUrl: '/images/team-promo/documentation.png', + title: 'Documentation', + description: 'Create and share visual team documentations.', + }, +]; + +export function TeamTools() { + return ( +
+
+

Tools to help you excel

+

+ Skill gap analysis, growth plans, progress tracking, team insights and + more. +

+ +
+ {toolsList.map((tool) => { + return ( +
+ {tool.title} +

{tool.title}

+

{tool.description}

+
+ ); + })} +
+
+
+ ); +} diff --git a/src/pages/teams.astro b/src/pages/teams.astro new file mode 100644 index 000000000..1c47f99b7 --- /dev/null +++ b/src/pages/teams.astro @@ -0,0 +1,14 @@ +--- +import BaseLayout from '../layouts/BaseLayout.astro'; +import { TeamHeroBanner } from '../components/TeamMarketing/TeamHeroBanner'; +import { TeamTools } from '../components/TeamMarketing/TeamTools'; +import { TeamDemo } from '../components/TeamMarketing/TeamDemo'; +import { TeamPricing } from '../components/TeamMarketing/TeamPricing'; +--- + + + + + + +