Skip to content

Commit

Permalink
add screenshots to web docker-false no-release
Browse files Browse the repository at this point in the history
  • Loading branch information
caioricciuti committed Oct 14, 2024
1 parent 1b20d55 commit c2ab0a9
Show file tree
Hide file tree
Showing 23 changed files with 1,445 additions and 1,972 deletions.
76 changes: 76 additions & 0 deletions docs/components/CarouselScreenShots.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import React, { useEffect, useState } from "react";
import {
Carousel,
CarouselContent,
CarouselItem,
CarouselNext,
CarouselPrevious,
} from "@/components/ui/carousel";
import { Card, CardContent } from "@/components/ui/card";
import { useTheme } from "next-themes";

const screenshotPairs = [
{
light: "/screenshots/main-screen-light.png",
dark: "/screenshots/main-screen-dark.png",
},
{
light: "/screenshots/metrics-table-options-light.png",
dark: "/screenshots/metrics-table-options-dark.png",
},
{
light: "/screenshots/metrics-queries-light.png",
dark: "/screenshots/metrics-queries-dark.png",
},
{
light: "/screenshots/metrics-overview-light.png",
dark: "/screenshots/metrics-overview-dark.png",
},
{
light: "/screenshots/command-open-light.png",
dark: "/screenshots/command-open-dark.png",
},
{
light: "/screenshots/settings-connected-light.png",
dark: "/screenshots/settings-connected-dark.png",
},
{
light: "/screenshots/settings-disconnect-light.png",
dark: "/screenshots/settings-disconnect-dark.png",
},
];

const CarouselScreenShots = () => {
const { resolvedTheme } = useTheme();
const [currentTheme, setCurrentTheme] = useState(resolvedTheme);

useEffect(() => {
setCurrentTheme(resolvedTheme);
}, [resolvedTheme]);

return (
<Carousel className="w-full max-w-[90vw] md:max-w-[80vw] lg:max-w-[70vw] xl:max-w-[1200px] mx-auto">
<CarouselContent>
{screenshotPairs.map((pair, index) => (
<CarouselItem key={index}>
<div className="p-1">
<Card>
<CardContent className="flex items-center justify-center p-2 md:p-4 lg:p-6">
<img
src={currentTheme === "dark" ? pair.dark : pair.light}
alt={`Screenshot ${index + 1}`}
className="w-full h-auto object-contain max-h-[70vh]"
/>
</CardContent>
</Card>
</div>
</CarouselItem>
))}
</CarouselContent>
<CarouselPrevious />
<CarouselNext />
</Carousel>
);
};

export default CarouselScreenShots;
4 changes: 3 additions & 1 deletion docs/components/index-page/index.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
"use client"
"use client";

import { HeroSection } from "./HeroSection";
import HomepageFeatures from "./HomePageFeatures";
import { ShowCase } from "./ShowCase";
import CarouselScreenShots from "../CarouselScreenShots";

export const IndexPage = () => (
<section className="">
<div className=" m-auto">
<HeroSection />
<ShowCase />
<HomepageFeatures />
<CarouselScreenShots />
</div>
</section>
);
106 changes: 51 additions & 55 deletions docs/components/ui/Button.tsx
Original file line number Diff line number Diff line change
@@ -1,60 +1,56 @@
import React from "react";
import { motion, type AnimationProps } from "framer-motion";
import * as React from "react"
import { Slot } from "@radix-ui/react-slot"
import { cva, type VariantProps } from "class-variance-authority"

import { cn } from "@/lib/utils";
import { cn } from "@/lib/utils"

const animationProps = {
initial: { "--x": "100%", scale: 0.8 },
animate: { "--x": "-100%", scale: 1 },
whileTap: { scale: 0.95 },
transition: {
repeat: Infinity,
repeatType: "loop",
repeatDelay: 1,
type: "spring",
stiffness: 20,
damping: 15,
mass: 2,
scale: {
type: "spring",
stiffness: 200,
damping: 5,
mass: 0.5,
const buttonVariants = cva(
"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
{
variants: {
variant: {
default: "bg-primary text-primary-foreground hover:bg-primary/90",
destructive:
"bg-destructive text-destructive-foreground hover:bg-destructive/90",
outline:
"border border-input bg-background hover:bg-accent hover:text-accent-foreground",
secondary:
"bg-secondary text-secondary-foreground hover:bg-secondary/80",
ghost: "hover:bg-accent hover:text-accent-foreground",
link: "text-primary underline-offset-4 hover:underline",
},
size: {
default: "h-10 px-4 py-2",
sm: "h-9 rounded-md px-3",
lg: "h-11 rounded-md px-8",
icon: "h-10 w-10",
},
},
},
} as AnimationProps;
interface ShinyButtonProps {
children: React.ReactNode;
className?: string;
defaultVariants: {
variant: "default",
size: "default",
},
}
)

export interface ButtonProps
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
VariantProps<typeof buttonVariants> {
asChild?: boolean
}
const ShinyButton = ({ children, className, ...props }: ShinyButtonProps) => {
return (
<motion.button
{...animationProps}
{...props}
className={cn(
"relative rounded-lg px-6 py-2 font-medium backdrop-blur-xl transition-shadow duration-300 ease-in-out hover:shadow dark:bg-[radial-gradient(circle_at_50%_0%,hsl(var(--primary)/10%)_0%,transparent_60%)] dark:hover:shadow-[0_0_20px_hsl(var(--primary)/10%)]",
className,
)}
>
<span
className="relative block size-full text-sm uppercase tracking-wide text-[rgb(0,0,0,65%)] dark:font-light dark:text-[rgb(255,255,255,90%)]"
style={{
maskImage:
"linear-gradient(-75deg,hsl(var(--primary)) calc(var(--x) + 20%),transparent calc(var(--x) + 30%),hsl(var(--primary)) calc(var(--x) + 100%))",
}}
>
{children}
</span>
<span
style={{
mask: "linear-gradient(rgb(0,0,0), rgb(0,0,0)) content-box,linear-gradient(rgb(0,0,0), rgb(0,0,0))",
maskComposite: "exclude",
}}
className="absolute inset-0 z-10 block rounded-[inherit] bg-[linear-gradient(-75deg,hsl(var(--primary)/10%)_calc(var(--x)+20%),hsl(var(--primary)/50%)_calc(var(--x)+25%),hsl(var(--primary)/10%)_calc(var(--x)+100%))] p-px"
></span>
</motion.button>
);
};

export default ShinyButton;
const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
({ className, variant, size, asChild = false, ...props }, ref) => {
const Comp = asChild ? Slot : "button"
return (
<Comp
className={cn(buttonVariants({ variant, size, className }))}
ref={ref}
{...props}
/>
)
}
)
Button.displayName = "Button"

export { Button, buttonVariants }
79 changes: 79 additions & 0 deletions docs/components/ui/card.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import * as React from "react"

import { cn } from "@/lib/utils"

const Card = React.forwardRef<
HTMLDivElement,
React.HTMLAttributes<HTMLDivElement>
>(({ className, ...props }, ref) => (
<div
ref={ref}
className={cn(
"rounded-lg border bg-card text-card-foreground shadow-sm",
className
)}
{...props}
/>
))
Card.displayName = "Card"

const CardHeader = React.forwardRef<
HTMLDivElement,
React.HTMLAttributes<HTMLDivElement>
>(({ className, ...props }, ref) => (
<div
ref={ref}
className={cn("flex flex-col space-y-1.5 p-6", className)}
{...props}
/>
))
CardHeader.displayName = "CardHeader"

const CardTitle = React.forwardRef<
HTMLParagraphElement,
React.HTMLAttributes<HTMLHeadingElement>
>(({ className, ...props }, ref) => (
<h3
ref={ref}
className={cn(
"text-2xl font-semibold leading-none tracking-tight",
className
)}
{...props}
/>
))
CardTitle.displayName = "CardTitle"

const CardDescription = React.forwardRef<
HTMLParagraphElement,
React.HTMLAttributes<HTMLParagraphElement>
>(({ className, ...props }, ref) => (
<p
ref={ref}
className={cn("text-sm text-muted-foreground", className)}
{...props}
/>
))
CardDescription.displayName = "CardDescription"

const CardContent = React.forwardRef<
HTMLDivElement,
React.HTMLAttributes<HTMLDivElement>
>(({ className, ...props }, ref) => (
<div ref={ref} className={cn("p-6 pt-0", className)} {...props} />
))
CardContent.displayName = "CardContent"

const CardFooter = React.forwardRef<
HTMLDivElement,
React.HTMLAttributes<HTMLDivElement>
>(({ className, ...props }, ref) => (
<div
ref={ref}
className={cn("flex items-center p-6 pt-0", className)}
{...props}
/>
))
CardFooter.displayName = "CardFooter"

export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
Loading

0 comments on commit c2ab0a9

Please sign in to comment.