import { DefaultButton, IconButton, Image, Modal, PrimaryButton, Stack, Text } from "@fluentui/react"; import { Action } from "Shared/Telemetry/TelemetryConstants"; import { traceSuccess } from "Shared/Telemetry/TelemetryProcessor"; import { userContext } from "UserContext"; import { useCarousel } from "hooks/useCarousel"; import React, { useState } from "react"; import Youtube from "react-youtube"; import Image1 from "../../../images/CarouselImage1.svg"; import Image2 from "../../../images/CarouselImage2.svg"; interface QuickstartCarouselProps { isOpen: boolean; } export const QuickstartCarousel: React.FC = ({ isOpen, }: QuickstartCarouselProps): JSX.Element => { const [page, setPage] = useState(1); return ( userContext.apiType === "SQL" && useCarousel.getState().setShowCoachMark(true)} > {getHeaderText(page)} setPage(4)} ariaLabel="Close" /> {getContent(page)} {getDescriptionText(page)} {page !== 1 && ( setPage(page - 1)} /> )} { if ( userContext.apiType === "Cassandra" || userContext.apiType === "Tables" || userContext.apiType === "Gremlin" ) { setPage(page + 2); } else { if (page === 3 && userContext.apiType === "SQL") { useCarousel.getState().setShowCoachMark(true); } setPage(page + 1); } if (page === 3) { traceSuccess(Action.CompleteCarousel); } }} /> ); }; const getHeaderText = (page: number): string => { switch (page) { case 1: return "Welcome! What is Cosmos DB?"; case 2: return "Get Started with Sample Data"; case 3: return "Connect to your database"; default: return ""; } }; const getContent = (page: number): JSX.Element => { switch (page) { case 1: return traceSuccess(Action.PlayCarouselVideo)} />; case 2: return ; case 3: return ; default: return <>; } }; const getDescriptionText = (page: number): string => { switch (page) { case 1: return "Azure Cosmos DB is a fully managed NoSQL database service for modern app development. "; case 2: return "Launch the quickstart for a tutorial to learn how to create a database, add sample data, connect to a sample app and more."; case 3: return "Already have an existing app? Connect your database to an app, or tooling of your choice from Data Explorer."; default: return ""; } };