Design website inspired by Apple

Implement a minimalist, intuitive website design reflecting the philosophies of Steve Jobs, Jony Ive, and Dieter Rams. Focus on simplicity, clarity, and user experience while applying a refined color palette. Ensure high-quality aesthetics, function over form, and attention to detail. Incorporate responsive design elements, glassmorphism, and ensure proper padding and margin throughout components for a polished look.
This commit is contained in:
Hanzo Dev
2024-11-11 12:50:11 +00:00
parent 9a5b0e5773
commit 5d6e1ff4a6
6 changed files with 142 additions and 88 deletions
+46
View File
@@ -0,0 +1,46 @@
import { Card } from "@/components/ui/card";
import { LineChart, DollarSign, Shield } from "lucide-react";
const Features = () => {
const features = [
{
icon: <LineChart className="w-6 h-6" />,
title: "Track Progress",
description: "Monitor your financial growth with intuitive charts and analytics"
},
{
icon: <DollarSign className="w-6 h-6" />,
title: "Secure Transactions",
description: "Every transaction is encrypted and protected"
},
{
icon: <Shield className="w-6 h-6" />,
title: "Bank-Grade Security",
description: "Your data is protected with military-grade encryption"
}
];
return (
<div className="py-20 px-4">
<h2 className="text-4xl font-bold text-center mb-4">
Meet our most popular features to establish smooth transaction
</h2>
<p className="text-xl text-secondary-foreground text-center mb-12">
Monie is a secrate and trusted platform to save your money
</p>
<div className="grid grid-cols-1 md:grid-cols-3 gap-8 max-w-6xl mx-auto">
{features.map((feature, index) => (
<Card key={index} className="p-6 hover-lift">
<div className="w-12 h-12 rounded-full bg-accent/10 flex items-center justify-center mb-4">
{feature.icon}
</div>
<h3 className="text-xl font-semibold mb-2">{feature.title}</h3>
<p className="text-secondary-foreground">{feature.description}</p>
</Card>
))}
</div>
</div>
);
};
export default Features;
+35
View File
@@ -0,0 +1,35 @@
import { Button } from "@/components/ui/button";
import { Plus } from "lucide-react";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
const Hero = () => {
return (
<div className="min-h-screen flex flex-col items-center justify-center px-4 pt-20">
<h1 className="text-6xl font-bold text-center max-w-4xl leading-tight mb-6">
Manage your secrete finance system with safety
</h1>
<p className="text-xl text-secondary-foreground text-center max-w-2xl mb-12">
Monie is a secrate and trusted platform to save your money. We make clear
transaction and keep your finance safe.
</p>
<div className="flex flex-col items-center gap-8">
<Button className="px-8 py-6 text-lg">
Get Started
</Button>
<div className="flex items-center -space-x-3">
{[1, 2, 3, 4, 5].map((i) => (
<Avatar key={i} className="border-2 border-white">
<AvatarImage src={`https://i.pravatar.cc/150?img=${i}`} />
<AvatarFallback>U{i}</AvatarFallback>
</Avatar>
))}
<div className="w-10 h-10 rounded-full bg-accent flex items-center justify-center text-white">
<Plus className="w-5 h-5" />
</div>
</div>
</div>
</div>
);
};
export default Hero;
+24
View File
@@ -0,0 +1,24 @@
import { Button } from "@/components/ui/button";
import { LogIn } from "lucide-react";
const Navbar = () => {
return (
<nav className="fixed top-0 left-0 right-0 z-50 px-6 py-4">
<div className="max-w-7xl mx-auto flex items-center justify-between">
<div className="text-2xl font-bold">BLUEPEAK</div>
<div className="flex items-center space-x-8">
<a href="#" className="hover:text-accent">Home</a>
<a href="#" className="hover:text-accent">Product</a>
<a href="#" className="hover:text-accent">Feature</a>
<a href="#" className="hover:text-accent">Pricing</a>
<Button variant="outline" className="flex items-center gap-2">
<LogIn className="w-4 h-4" />
Log In
</Button>
</div>
</div>
</nav>
);
};
export default Navbar;
+12 -61
View File
@@ -1,68 +1,12 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
:root {
--background: 0 0% 100%;
--foreground: 222.2 84% 4.9%;
--card: 0 0% 100%;
--card-foreground: 222.2 84% 4.9%;
--popover: 0 0% 100%;
--popover-foreground: 222.2 84% 4.9%;
--primary: 222.2 47.4% 11.2%;
--primary-foreground: 210 40% 98%;
--secondary: 210 40% 96.1%;
--secondary-foreground: 222.2 47.4% 11.2%;
--muted: 210 40% 96.1%;
--muted-foreground: 215.4 16.3% 46.9%;
--accent: 210 40% 96.1%;
--accent-foreground: 222.2 47.4% 11.2%;
--destructive: 0 84.2% 60.2%;
--destructive-foreground: 210 40% 98%;
--border: 214.3 31.8% 91.4%;
--input: 214.3 31.8% 91.4%;
--ring: 222.2 84% 4.9%;
--radius: 0.5rem;
}
.dark {
--background: 222.2 84% 4.9%;
--foreground: 210 40% 98%;
--card: 222.2 84% 4.9%;
--card-foreground: 210 40% 98%;
--popover: 222.2 84% 4.9%;
--popover-foreground: 210 40% 98%;
--primary: 210 40% 98%;
--primary-foreground: 222.2 47.4% 11.2%;
--secondary: 217.2 32.6% 17.5%;
--secondary-foreground: 210 40% 98%;
--muted: 217.2 32.6% 17.5%;
--muted-foreground: 215 20.2% 65.1%;
--accent: 217.2 32.6% 17.5%;
--accent-foreground: 210 40% 98%;
--destructive: 0 62.8% 30.6%;
--destructive-foreground: 210 40% 98%;
--border: 217.2 32.6% 17.5%;
--input: 217.2 32.6% 17.5%;
--ring: 212.7 26.8% 83.9%;
--foreground: 20 14.3% 4.1%;
--radius: 0.8rem;
}
}
@@ -70,8 +14,15 @@
* {
@apply border-border;
}
body {
@apply bg-background text-foreground;
@apply bg-background text-foreground antialiased;
}
}
.glass-effect {
@apply bg-white bg-opacity-10 backdrop-blur-lg border border-white border-opacity-20;
}
.hover-lift {
@apply transition-transform duration-300 hover:-translate-y-1;
}
+8 -7
View File
@@ -1,14 +1,15 @@
// Update this page (the content is just a fallback if you fail to update the page)
import Navbar from "@/components/Navbar";
import Hero from "@/components/Hero";
import Features from "@/components/Features";
const Index = () => {
return (
<div className="min-h-screen flex items-center justify-center bg-gray-100">
<div className="text-center">
<h1 className="text-4xl font-bold mb-4">Welcome to Your Blank App</h1>
<p className="text-xl text-gray-600">Start building your amazing project here!</p>
</div>
<div className="min-h-screen">
<Navbar />
<Hero />
<Features />
</div>
);
};
export default Index;
export default Index;
+17 -20
View File
@@ -25,32 +25,24 @@ export default {
background: "hsl(var(--background))",
foreground: "hsl(var(--foreground))",
primary: {
DEFAULT: "hsl(var(--primary))",
foreground: "hsl(var(--primary-foreground))",
DEFAULT: "#141413",
foreground: "#FAFAF8",
},
secondary: {
DEFAULT: "hsl(var(--secondary))",
foreground: "hsl(var(--secondary-foreground))",
},
destructive: {
DEFAULT: "hsl(var(--destructive))",
foreground: "hsl(var(--destructive-foreground))",
},
muted: {
DEFAULT: "hsl(var(--muted))",
foreground: "hsl(var(--muted-foreground))",
DEFAULT: "#828179",
foreground: "#FAFAF8",
},
accent: {
DEFAULT: "hsl(var(--accent))",
foreground: "hsl(var(--accent-foreground))",
DEFAULT: "#8989DE",
foreground: "#FAFAF8",
},
popover: {
DEFAULT: "hsl(var(--popover))",
foreground: "hsl(var(--popover-foreground))",
muted: {
DEFAULT: "#E6E4DD",
foreground: "#605F5B",
},
card: {
DEFAULT: "hsl(var(--card))",
foreground: "hsl(var(--card-foreground))",
DEFAULT: "#FFFFFF",
foreground: "#141413",
},
},
borderRadius: {
@@ -67,12 +59,17 @@ export default {
from: { height: "var(--radix-accordion-content-height)" },
to: { height: "0" },
},
float: {
'0%, 100%': { transform: 'translateY(0)' },
'50%': { transform: 'translateY(-10px)' },
},
},
animation: {
"accordion-down": "accordion-down 0.2s ease-out",
"accordion-up": "accordion-up 0.2s ease-out",
"float": "float 6s ease-in-out infinite",
},
},
},
plugins: [require("tailwindcss-animate")],
} satisfies Config;
} satisfies Config;