Phase 1: Homepage seamless design - add gradient transitions

- Added gradient transitions between sections in global.css
- Portfolio section now has gradient-top (dark to white fade)
- Blog section now has gradient-bottom (white fade from dark)
- Reduced portfolio overlay opacity from 0.85 to 0.65
- Added border to blog cards for white-on-white visibility
- Blog cards now have primary color accent on hover
This commit is contained in:
Kunthawat Greethong
2026-05-21 14:29:31 +07:00
parent 9db1d12b9c
commit b9cd01a55f
85 changed files with 8005 additions and 4702 deletions

91
emdash-env.d.ts vendored
View File

@@ -5,11 +5,15 @@
import type { ContentBylineCredit, PortableTextBlock } from "emdash";
export interface Page {
export interface Blog {
id: string;
slug: string | null;
status: string;
title: string;
title?: string;
excerpt?: string;
image?: { id: string; src?: string; alt?: string; width?: number; height?: number; provider?: string; previewUrl?: string; meta?: Record<string, unknown> };
date?: string;
category?: string;
content?: PortableTextBlock[];
createdAt: Date;
updatedAt: Date;
@@ -17,14 +21,83 @@ export interface Page {
bylines?: ContentBylineCredit[];
}
export interface Post {
export interface Faq {
id: string;
slug: string | null;
status: string;
title: string;
featured_image?: { id: string; src?: string; alt?: string; width?: number; height?: number };
category?: string;
question?: string;
answer?: string;
createdAt: Date;
updatedAt: Date;
publishedAt: Date | null;
bylines?: ContentBylineCredit[];
}
export interface Page {
id: string;
slug: string | null;
status: string;
title?: string;
subtitle?: string;
badge?: string;
hero_image?: { id: string; src?: string; alt?: string; width?: number; height?: number; provider?: string; previewUrl?: string; meta?: Record<string, unknown> };
theme?: string;
show_cta?: boolean;
cta_text?: string;
cta_link?: string;
variant?: string;
size?: string;
createdAt: Date;
updatedAt: Date;
publishedAt: Date | null;
bylines?: ContentBylineCredit[];
}
export interface Portfolio {
id: string;
slug: string | null;
status: string;
name?: string;
url?: string;
category?: string;
category_label?: string;
thumbnail?: { id: string; src?: string; alt?: string; width?: number; height?: number; provider?: string; previewUrl?: string; meta?: Record<string, unknown> };
description?: string;
services?: unknown;
createdAt: Date;
updatedAt: Date;
publishedAt: Date | null;
bylines?: ContentBylineCredit[];
}
export interface Service {
id: string;
slug: string | null;
status: string;
title?: string;
subtitle?: string;
badge?: string;
hero_image?: { id: string; src?: string; alt?: string; width?: number; height?: number; provider?: string; previewUrl?: string; meta?: Record<string, unknown> };
content?: PortableTextBlock[];
excerpt?: string;
features?: unknown;
createdAt: Date;
updatedAt: Date;
publishedAt: Date | null;
bylines?: ContentBylineCredit[];
}
export interface Setting {
id: string;
slug: string | null;
status: string;
site_name?: string;
email?: string;
phone?: string;
address?: string;
facebook?: string;
line?: string;
linkedin?: string;
createdAt: Date;
updatedAt: Date;
publishedAt: Date | null;
@@ -33,7 +106,11 @@ export interface Post {
declare module "emdash" {
interface EmDashCollections {
blog: Blog;
faq: Faq;
pages: Page;
posts: Post;
portfolio: Portfolio;
services: Service;
settings: Setting;
}
}