mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 10:47:04 +02:00
feat: start of cards
This commit is contained in:
1 parent
c5f5f69fd6
commit
db8ac195d4
6 files changed
+58
-11
No files matched your search
@@ -0,0 +1,2 @@
|
||||
.button {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import type { ComponentProps } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import "./index.css";
|
||||
|
||||
export interface ButtonProps extends ComponentProps<"button"> {}
|
||||
|
||||
export function Button({ className, ...props }: ButtonProps) {
|
||||
return <button className={classNames("button", className)} {...props} />;
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { ComponentProps } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import type { Color } from "../../core/ui/color";
|
||||
import "./index.css";
|
||||
|
||||
@@ -7,10 +8,15 @@ export interface TextProps extends ComponentProps<"span"> {
|
||||
lowContrast?: boolean;
|
||||
}
|
||||
|
||||
export function Text({ color = "gray", lowContrast, ...props }: TextProps) {
|
||||
export function Text({
|
||||
color = "gray",
|
||||
lowContrast,
|
||||
className,
|
||||
...props
|
||||
}: TextProps) {
|
||||
return (
|
||||
<span
|
||||
className="text"
|
||||
className={classNames("text", className)}
|
||||
style={{ color: `var(--${color}-${lowContrast ? 11 : 12})` }}
|
||||
{...props}
|
||||
/>
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
import type { ComponentProps, ReactNode } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import "./index.css";
|
||||
|
||||
export interface TextFieldProps extends ComponentProps<"input"> {
|
||||
children?: ReactNode;
|
||||
}
|
||||
|
||||
export function TextField({ children, ...props }: TextFieldProps) {
|
||||
export function TextField({ children, className, ...props }: TextFieldProps) {
|
||||
return (
|
||||
<div className="text-field" data-has-icon={children !== undefined}>
|
||||
<div
|
||||
className={classNames("text-field", className)}
|
||||
data-has-icon={children !== undefined}
|
||||
>
|
||||
{children}
|
||||
<input {...props} />
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
import { CaretRightIcon } from "@radix-ui/react-icons";
|
||||
import type { Tool } from "../core/tools/tools";
|
||||
import { Button } from "./Button";
|
||||
import { Text } from "./Text";
|
||||
|
||||
interface Props {
|
||||
tool: Tool;
|
||||
}
|
||||
|
||||
const { tool } = Astro.props;
|
||||
---
|
||||
|
||||
<style>
|
||||
.tool-card {
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="tool-card">
|
||||
<div>
|
||||
<div>
|
||||
<Text>{tool.id}</Text>
|
||||
<Text>{tool.id}</Text>
|
||||
</div>
|
||||
|
||||
<Button>
|
||||
{tool.id}
|
||||
<CaretRightIcon />
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -4,6 +4,7 @@ import "@radix-ui/colors/amber-dark.css";
|
||||
import type { GetStaticPaths } from "astro";
|
||||
import packageJson from "../../../../../package.json";
|
||||
import HomeHero from "../../components/HomeHero.astro";
|
||||
import ToolCard from "../../components/ToolCard.astro";
|
||||
import { tools } from "../../core/tools/tools";
|
||||
import BaseLayout from "../../layouts/BaseLayout.astro";
|
||||
|
||||
@@ -24,11 +25,5 @@ const { locale } = Astro.props;
|
||||
|
||||
<h1>blitzkit {packageJson.version}</h1>
|
||||
|
||||
{
|
||||
Object.values(tools).map((tool) => (
|
||||
<p>
|
||||
<a href={`/${tool.id}`}>{tool.id}</a>
|
||||
</p>
|
||||
))
|
||||
}
|
||||
{Object.values(tools).map((tool) => <ToolCard {tool} />)}
|
||||
</BaseLayout>
|
||||
Reference in new issue
Block a user