style(pastel): unify card title sizes with figlet
This commit is contained in:
@@ -97,7 +97,7 @@ export default function BatchPage() {
|
|||||||
{/* Input */}
|
{/* Input */}
|
||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Input Colors</h2>
|
<h2 className="text-sm font-medium mb-4">Input Colors</h2>
|
||||||
<p className="text-sm text-muted-foreground mb-4">
|
<p className="text-sm text-muted-foreground mb-4">
|
||||||
Enter colors (one per line or comma-separated). Supports hex format
|
Enter colors (one per line or comma-separated). Supports hex format
|
||||||
</p>
|
</p>
|
||||||
@@ -115,7 +115,7 @@ export default function BatchPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Operation</h2>
|
<h2 className="text-sm font-medium mb-4">Operation</h2>
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
<Select
|
<Select
|
||||||
label="Operation"
|
label="Operation"
|
||||||
@@ -169,7 +169,7 @@ export default function BatchPage() {
|
|||||||
{outputColors.length > 0 ? (
|
{outputColors.length > 0 ? (
|
||||||
<>
|
<>
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">
|
<h2 className="text-sm font-medium mb-4">
|
||||||
Output Colors ({outputColors.length})
|
Output Colors ({outputColors.length})
|
||||||
</h2>
|
</h2>
|
||||||
<PaletteGrid colors={outputColors} />
|
<PaletteGrid colors={outputColors} />
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ export default function ColorBlindPage() {
|
|||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<div className="flex items-center justify-between mb-4">
|
<div className="flex items-center justify-between mb-4">
|
||||||
<h2 className="text-xl font-semibold">Colors to Test</h2>
|
<h2 className="text-sm font-medium">Colors to Test</h2>
|
||||||
<Button
|
<Button
|
||||||
onClick={addColor}
|
onClick={addColor}
|
||||||
variant="outline"
|
variant="outline"
|
||||||
@@ -110,7 +110,7 @@ export default function ColorBlindPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Blindness Type</h2>
|
<h2 className="text-sm font-medium mb-4">Blindness Type</h2>
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
<Select
|
<Select
|
||||||
label="Type"
|
label="Type"
|
||||||
@@ -152,7 +152,7 @@ export default function ColorBlindPage() {
|
|||||||
{simulations.length > 0 ? (
|
{simulations.length > 0 ? (
|
||||||
<>
|
<>
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Simulation Results</h2>
|
<h2 className="text-sm font-medium mb-4">Simulation Results</h2>
|
||||||
<p className="text-sm text-muted-foreground mb-6">
|
<p className="text-sm text-muted-foreground mb-6">
|
||||||
Compare original colors (left) with how they appear to people with{' '}
|
Compare original colors (left) with how they appear to people with{' '}
|
||||||
{blindnessType} (right)
|
{blindnessType} (right)
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ export default function ContrastPage() {
|
|||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<div className="flex items-center justify-between mb-4">
|
<div className="flex items-center justify-between mb-4">
|
||||||
<h2 className="text-xl font-semibold">Foreground Color</h2>
|
<h2 className="text-sm font-medium">Foreground Color</h2>
|
||||||
</div>
|
</div>
|
||||||
<ColorPicker color={foreground} onChange={setForeground} />
|
<ColorPicker color={foreground} onChange={setForeground} />
|
||||||
</div>
|
</div>
|
||||||
@@ -87,7 +87,7 @@ export default function ContrastPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Background Color</h2>
|
<h2 className="text-sm font-medium mb-4">Background Color</h2>
|
||||||
<ColorPicker color={background} onChange={setBackground} />
|
<ColorPicker color={background} onChange={setBackground} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -96,7 +96,7 @@ export default function ContrastPage() {
|
|||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
{/* Preview */}
|
{/* Preview */}
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Preview</h2>
|
<h2 className="text-sm font-medium mb-4">Preview</h2>
|
||||||
<div
|
<div
|
||||||
className="rounded-lg p-8 text-center"
|
className="rounded-lg p-8 text-center"
|
||||||
style={{ backgroundColor: background, color: foreground }}
|
style={{ backgroundColor: background, color: foreground }}
|
||||||
@@ -109,7 +109,7 @@ export default function ContrastPage() {
|
|||||||
{/* Contrast Ratio */}
|
{/* Contrast Ratio */}
|
||||||
{ratio !== null && (
|
{ratio !== null && (
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Contrast Ratio</h2>
|
<h2 className="text-sm font-medium mb-4">Contrast Ratio</h2>
|
||||||
<div className="text-center mb-6">
|
<div className="text-center mb-6">
|
||||||
<div className="text-5xl font-bold">{ratio.toFixed(2)}:1</div>
|
<div className="text-5xl font-bold">{ratio.toFixed(2)}:1</div>
|
||||||
<p className="text-sm text-muted-foreground mt-2">
|
<p className="text-sm text-muted-foreground mt-2">
|
||||||
@@ -128,7 +128,7 @@ export default function ContrastPage() {
|
|||||||
{/* WCAG Compliance */}
|
{/* WCAG Compliance */}
|
||||||
{compliance && (
|
{compliance && (
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">WCAG 2.1 Compliance</h2>
|
<h2 className="text-sm font-medium mb-4">WCAG 2.1 Compliance</h2>
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
<div>
|
<div>
|
||||||
<h3 className="text-sm font-semibold mb-2">Level AA</h3>
|
<h3 className="text-sm font-semibold mb-2">Level AA</h3>
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ export default function DistinctPage() {
|
|||||||
<div className="lg:col-span-1">
|
<div className="lg:col-span-1">
|
||||||
<div className="p-6 border rounded-lg bg-card space-y-6">
|
<div className="p-6 border rounded-lg bg-card space-y-6">
|
||||||
<div>
|
<div>
|
||||||
<h2 className="text-xl font-semibold mb-4">Settings</h2>
|
<h2 className="text-sm font-medium mb-4">Settings</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
@@ -128,7 +128,7 @@ export default function DistinctPage() {
|
|||||||
{/* Results */}
|
{/* Results */}
|
||||||
<div className="lg:col-span-2 space-y-6">
|
<div className="lg:col-span-2 space-y-6">
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">
|
<h2 className="text-sm font-medium mb-4">
|
||||||
Generated Colors {colors.length > 0 && `(${colors.length})`}
|
Generated Colors {colors.length > 0 && `(${colors.length})`}
|
||||||
</h2>
|
</h2>
|
||||||
<PaletteGrid colors={colors} />
|
<PaletteGrid colors={colors} />
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ export default function GradientPage() {
|
|||||||
{/* Controls */}
|
{/* Controls */}
|
||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Color Stops</h2>
|
<h2 className="text-sm font-medium mb-4">Color Stops</h2>
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
{stops.map((stop, index) => (
|
{stops.map((stop, index) => (
|
||||||
<div key={index} className="flex items-start gap-3">
|
<div key={index} className="flex items-start gap-3">
|
||||||
@@ -95,7 +95,7 @@ export default function GradientPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Settings</h2>
|
<h2 className="text-sm font-medium mb-4">Settings</h2>
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
<div>
|
<div>
|
||||||
<label htmlFor="count" className="text-sm font-medium mb-2 block">
|
<label htmlFor="count" className="text-sm font-medium mb-2 block">
|
||||||
@@ -159,7 +159,7 @@ export default function GradientPage() {
|
|||||||
{gradient && gradient.length > 0 && (
|
{gradient && gradient.length > 0 && (
|
||||||
<>
|
<>
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Gradient Preview</h2>
|
<h2 className="text-sm font-medium mb-4">Gradient Preview</h2>
|
||||||
<div
|
<div
|
||||||
className="h-32 rounded-lg"
|
className="h-32 rounded-lg"
|
||||||
style={{
|
style={{
|
||||||
@@ -169,7 +169,7 @@ export default function GradientPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">
|
<h2 className="text-sm font-medium mb-4">
|
||||||
Colors ({gradient.length})
|
Colors ({gradient.length})
|
||||||
</h2>
|
</h2>
|
||||||
<PaletteGrid colors={gradient} />
|
<PaletteGrid colors={gradient} />
|
||||||
|
|||||||
@@ -65,12 +65,12 @@ export default function HarmonyPage() {
|
|||||||
{/* Controls */}
|
{/* Controls */}
|
||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Base Color</h2>
|
<h2 className="text-sm font-medium mb-4">Base Color</h2>
|
||||||
<ColorPicker color={baseColor} onChange={setBaseColor} />
|
<ColorPicker color={baseColor} onChange={setBaseColor} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Harmony Type</h2>
|
<h2 className="text-sm font-medium mb-4">Harmony Type</h2>
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
<Select
|
<Select
|
||||||
label="Harmony"
|
label="Harmony"
|
||||||
@@ -115,7 +115,7 @@ export default function HarmonyPage() {
|
|||||||
{palette.length > 0 && (
|
{palette.length > 0 && (
|
||||||
<>
|
<>
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">
|
<h2 className="text-sm font-medium mb-4">
|
||||||
Generated Palette ({palette.length} colors)
|
Generated Palette ({palette.length} colors)
|
||||||
</h2>
|
</h2>
|
||||||
<PaletteGrid colors={palette} />
|
<PaletteGrid colors={palette} />
|
||||||
|
|||||||
@@ -71,13 +71,13 @@ function PlaygroundContent() {
|
|||||||
{/* Left Column: Color Picker and Display */}
|
{/* Left Column: Color Picker and Display */}
|
||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Color Picker</h2>
|
<h2 className="text-sm font-medium mb-4">Color Picker</h2>
|
||||||
<ColorPicker color={color} onChange={setColor} />
|
<ColorPicker color={color} onChange={setColor} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<div className="flex items-center justify-between mb-4">
|
<div className="flex items-center justify-between mb-4">
|
||||||
<h2 className="text-xl font-semibold">Preview</h2>
|
<h2 className="text-sm font-medium">Preview</h2>
|
||||||
<Button onClick={handleShare} variant="outline" size="sm">
|
<Button onClick={handleShare} variant="outline" size="sm">
|
||||||
<Share2 className="h-4 w-4 mr-2" />
|
<Share2 className="h-4 w-4 mr-2" />
|
||||||
Share
|
Share
|
||||||
@@ -93,7 +93,7 @@ function PlaygroundContent() {
|
|||||||
<div className="flex items-center justify-between mb-4">
|
<div className="flex items-center justify-between mb-4">
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<History className="h-5 w-5" />
|
<History className="h-5 w-5" />
|
||||||
<h2 className="text-xl font-semibold">Recent Colors</h2>
|
<h2 className="text-sm font-medium">Recent Colors</h2>
|
||||||
</div>
|
</div>
|
||||||
<Button
|
<Button
|
||||||
onClick={clearHistory}
|
onClick={clearHistory}
|
||||||
@@ -143,7 +143,7 @@ function PlaygroundContent() {
|
|||||||
{/* Right Column: Color Information */}
|
{/* Right Column: Color Information */}
|
||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Color Information</h2>
|
<h2 className="text-sm font-medium mb-4">Color Information</h2>
|
||||||
|
|
||||||
{isLoading && (
|
{isLoading && (
|
||||||
<div className="flex items-center justify-center py-12">
|
<div className="flex items-center justify-center py-12">
|
||||||
@@ -162,7 +162,7 @@ function PlaygroundContent() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Color Manipulation</h2>
|
<h2 className="text-sm font-medium mb-4">Color Manipulation</h2>
|
||||||
<ManipulationPanel color={color} onColorChange={setColor} />
|
<ManipulationPanel color={color} onColorChange={setColor} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ export default function TextColorPage() {
|
|||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<div className="flex items-center justify-between mb-4">
|
<div className="flex items-center justify-between mb-4">
|
||||||
<h2 className="text-xl font-semibold">Background Colors</h2>
|
<h2 className="text-sm font-medium">Background Colors</h2>
|
||||||
<Button
|
<Button
|
||||||
onClick={addBackground}
|
onClick={addBackground}
|
||||||
disabled={backgrounds.length >= 10}
|
disabled={backgrounds.length >= 10}
|
||||||
@@ -136,7 +136,7 @@ export default function TextColorPage() {
|
|||||||
{results.length > 0 ? (
|
{results.length > 0 ? (
|
||||||
<>
|
<>
|
||||||
<div className="p-6 border rounded-lg bg-card">
|
<div className="p-6 border rounded-lg bg-card">
|
||||||
<h2 className="text-xl font-semibold mb-4">Optimized Results</h2>
|
<h2 className="text-sm font-medium mb-4">Optimized Results</h2>
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
{results.map((result, index) => (
|
{results.map((result, index) => (
|
||||||
<div
|
<div
|
||||||
|
|||||||
Reference in New Issue
Block a user