feat: Links on homepage
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 3m29s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 52s
Deploy to Staging / Verify Staging (pull_request) Successful in 9s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 8s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped

This commit is contained in:
Eric Gullickson
2026-02-15 19:24:03 -06:00
parent bb48c55c2e
commit 1a9081c534
2 changed files with 27 additions and 14 deletions

View File

@@ -5,31 +5,34 @@ interface FeatureCardProps {
description: string; description: string;
imageSrc: string; imageSrc: string;
imageAlt: string; imageAlt: string;
href: string;
} }
export const FeatureCard = ({ title, description, imageSrc, imageAlt }: FeatureCardProps) => { export const FeatureCard = ({ title, description, imageSrc, imageAlt, href }: FeatureCardProps) => {
return ( return (
<motion.div <motion.div
className="group cursor-pointer" className="group"
initial={{ opacity: 0, y: 20 }} initial={{ opacity: 0, y: 20 }}
whileInView={{ opacity: 1, y: 0 }} whileInView={{ opacity: 1, y: 0 }}
viewport={{ once: true, margin: '-50px' }} viewport={{ once: true, margin: '-50px' }}
transition={{ duration: 0.5 }} transition={{ duration: 0.5 }}
whileHover={{ y: -5 }} whileHover={{ y: -5 }}
> >
<div className="overflow-hidden rounded-lg bg-white/5 border border-white/10 shadow-lg shadow-black/30 hover:border-white/20 hover:shadow-xl hover:shadow-black/40 transition-all duration-300"> <a href={href} className="block">
<div className="relative h-56 overflow-hidden"> <div className="overflow-hidden rounded-lg bg-white/5 border border-white/10 shadow-lg shadow-black/30 hover:border-white/20 hover:shadow-xl hover:shadow-black/40 transition-all duration-300">
<img <div className="relative h-56 overflow-hidden">
src={imageSrc} <img
alt={imageAlt} src={imageSrc}
className="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500" alt={imageAlt}
/> className="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500"
/>
</div>
<div className="p-6">
<h3 className="text-xl font-bold text-avus mb-2">{title}</h3>
<p className="text-titanio leading-relaxed">{description}</p>
</div>
</div> </div>
<div className="p-6"> </a>
<h3 className="text-xl font-bold text-avus mb-2">{title}</h3>
<p className="text-titanio leading-relaxed">{description}</p>
</div>
</div>
</motion.div> </motion.div>
); );
}; };

View File

@@ -26,6 +26,7 @@ type Feature = {
title: string; title: string;
description: string; description: string;
image: UnsplashImageSpec; image: UnsplashImageSpec;
href: string;
}; };
// Centralize Unsplash identifiers so you only update them in one place if needed. // Centralize Unsplash identifiers so you only update them in one place if needed.
@@ -69,6 +70,7 @@ const features: readonly Feature[] = [
{ {
title: 'Vehicle Management', title: 'Vehicle Management',
description: 'Track all your vehicles in one centralized location with detailed information and history.', description: 'Track all your vehicles in one centralized location with detailed information and history.',
href: '/guide#vehicles',
image: { image: {
photoId: '1503376780353-7e6692767b70', photoId: '1503376780353-7e6692767b70',
alt: 'Vehicle Management', alt: 'Vehicle Management',
@@ -77,6 +79,7 @@ const features: readonly Feature[] = [
{ {
title: 'Fuel Log Tracking', title: 'Fuel Log Tracking',
description: 'Monitor fuel consumption, costs, and efficiency across all your vehicles.', description: 'Monitor fuel consumption, costs, and efficiency across all your vehicles.',
href: '/guide#fuel-logs',
image: { image: {
photoId: '1529369623266-f5264b696110', photoId: '1529369623266-f5264b696110',
alt: 'Fuel Log Tracking', alt: 'Fuel Log Tracking',
@@ -85,6 +88,7 @@ const features: readonly Feature[] = [
{ {
title: 'Maintenance Records', title: 'Maintenance Records',
description: 'Keep detailed maintenance logs and never miss scheduled service appointments.', description: 'Keep detailed maintenance logs and never miss scheduled service appointments.',
href: '/guide#maintenance',
image: { image: {
photoId: '1486262715619-67b85e0b08d3', photoId: '1486262715619-67b85e0b08d3',
alt: 'Maintenance Records', alt: 'Maintenance Records',
@@ -93,6 +97,7 @@ const features: readonly Feature[] = [
{ {
title: 'Document Storage', title: 'Document Storage',
description: 'Store and organize all vehicle documents, receipts, and important paperwork.', description: 'Store and organize all vehicle documents, receipts, and important paperwork.',
href: '/guide#documents',
image: { image: {
photoId: '1568605117036-5fe5e7bab0b7', photoId: '1568605117036-5fe5e7bab0b7',
alt: 'Document Storage', alt: 'Document Storage',
@@ -101,6 +106,7 @@ const features: readonly Feature[] = [
{ {
title: 'Fuel Stations', title: 'Fuel Stations',
description: 'Find and track your favorite fuel locations. Community verified stations with Premium 93 Octane.', description: 'Find and track your favorite fuel locations. Community verified stations with Premium 93 Octane.',
href: '/guide#gas-stations',
image: { image: {
photoId: '1572281335102-5f780686ee91', photoId: '1572281335102-5f780686ee91',
alt: 'Fuel Stations', alt: 'Fuel Stations',
@@ -110,6 +116,7 @@ const features: readonly Feature[] = [
{ {
title: 'Reports & Analytics', title: 'Reports & Analytics',
description: 'Generate detailed reports on costs, mileage, and vehicle performance.', description: 'Generate detailed reports on costs, mileage, and vehicle performance.',
href: '/guide#dashboard',
image: { image: {
photoId: '1551288049-bebda4e38f71', photoId: '1551288049-bebda4e38f71',
alt: 'Reports & Analytics', alt: 'Reports & Analytics',
@@ -118,6 +125,7 @@ const features: readonly Feature[] = [
{ {
title: 'Reminders', title: 'Reminders',
description: 'Set up automated reminders for maintenance, registration, and insurance renewals.', description: 'Set up automated reminders for maintenance, registration, and insurance renewals.',
href: '/guide#maintenance-schedules',
image: { image: {
photoId: '1434494878577-86c23bcb06b9', photoId: '1434494878577-86c23bcb06b9',
alt: 'Reminders', alt: 'Reminders',
@@ -126,6 +134,7 @@ const features: readonly Feature[] = [
{ {
title: 'Data Export', title: 'Data Export',
description: 'Export your data in various formats for reporting and record keeping.', description: 'Export your data in various formats for reporting and record keeping.',
href: '/guide#data-import-and-export',
image: { image: {
photoId: '1460925895917-afdab827c52f', photoId: '1460925895917-afdab827c52f',
alt: 'Data Export', alt: 'Data Export',
@@ -152,6 +161,7 @@ export const FeaturesGrid = () => {
description={feature.description} description={feature.description}
imageSrc={buildUnsplashUrl(feature.image)} imageSrc={buildUnsplashUrl(feature.image)}
imageAlt={feature.image.alt} imageAlt={feature.image.alt}
href={feature.href}
/> />
))} ))}
</div> </div>