Skip to content

Commit 8de93c6

Browse files
committed
fix(ui): fix right side corners of oss programs card
1 parent 38ec048 commit 8de93c6

File tree

4 files changed

+20
-20
lines changed

4 files changed

+20
-20
lines changed

apps/web/src/app/(main)/dashboard/oss-programs/ProgramsList.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ export default function ProgramsList({ programs, tags }: ProgramsListProps) {
3030
}, [programs, searchQuery, selectedTags]);
3131

3232
return (
33-
<div className="min-h-full w-full max-w-[100vw] bg-[#1e1e1e] text-white p-4 md:p-8 lg:p-12 overflow-x-hidden">
34-
<div className="max-w-6xl mx-auto w-full">
33+
<div className="min-h-full w-[99vw] lg:w-[80vw] bg-dash-base text-white p-4 md:p-8 lg:p-12 overflow-x-hidden">
34+
<div className="max-w-6xl mx-auto w-full min-w-0">
3535
{/* Header Section */}
36-
<div className="flex flex-col gap-8 mb-12">
37-
<h1 className="text-3xl md:text-4xl font-bold text-white break-words">
36+
<div className="flex flex-col gap-8 mb-12 min-w-0">
37+
<h1 className="text-3xl md:text-4xl font-bold text-text-primary break-words">
3838
OSS Programs
3939
</h1>
4040

41-
<div className="flex flex-col md:flex-row gap-4 w-full">
41+
<div className="flex flex-col md:flex-row gap-4 w-full min-w-0">
4242
<SearchInput
4343
value={searchQuery}
4444
onChange={setSearchQuery}
@@ -53,9 +53,9 @@ export default function ProgramsList({ programs, tags }: ProgramsListProps) {
5353
</div>
5454

5555
{/* List Section */}
56-
<div className="flex flex-col gap-2 md:gap-3">
56+
<div className="flex flex-col gap-2 md:gap-3 min-w-0">
5757
{filteredPrograms.length === 0 ? (
58-
<div className="text-center py-20 text-gray-500">
58+
<div className="text-center py-20 text-text-muted">
5959
No programs found matching your criteria.
6060
</div>
6161
) : (

apps/web/src/components/oss-programs/ProgramCard.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,28 @@ export default function ProgramCard({ program }: ProgramCardProps) {
1010
return (
1111
<Link
1212
href={`/dashboard/oss-programs/${program.slug}`}
13-
className="group block w-full"
13+
className="group block w-full min-w-0"
1414
>
15-
<div className="w-full bg-[#252525] border border-[#333] rounded-xl px-4 py-3 md:px-5 md:py-4 hover:border-[#9455f4]/50 hover:bg-[#2a2a2a] transition-all duration-200 flex items-center justify-between gap-3 md:gap-4 overflow-hidden">
15+
<div className="w-full bg-dash-surface border border-dash-border rounded-xl px-4 py-3 md:px-5 md:py-4 hover:border-brand-purple/50 hover:bg-dash-hover transition-all duration-200 flex items-center justify-between gap-3 md:gap-4 min-w-0">
1616
<div className="flex-1 min-w-0">
17-
<h2 className="text-sm md:text-base font-semibold text-white group-hover:text-[#dcb8ff] transition-colors truncate">
17+
<h2 className="text-sm md:text-base font-semibold text-text-primary group-hover:text-brand-purple-light transition-colors truncate">
1818
{program.name}
1919
</h2>
20-
<p className="text-gray-500 text-xs md:text-sm mt-0.5 truncate">
20+
<p className="text-text-tertiary text-xs md:text-sm mt-0.5 truncate">
2121
{program.shortDescription}
2222
</p>
2323
</div>
2424

2525
<div className="hidden md:flex items-center gap-6 flex-shrink-0">
2626
<div className="text-right">
27-
<p className="text-xs text-gray-500 uppercase tracking-wide">
27+
<p className="text-xs text-text-muted uppercase tracking-wide">
2828
Region
2929
</p>
30-
<p className="text-sm text-gray-300 capitalize">{program.region}</p>
30+
<p className="text-sm text-text-secondary capitalize">{program.region}</p>
3131
</div>
3232
</div>
3333

34-
<div className="flex-shrink-0 text-gray-500 group-hover:text-[#9455f4] transition-all duration-200 group-hover:translate-x-1">
34+
<div className="flex-shrink-0 text-text-muted group-hover:text-brand-purple transition-all duration-200 group-hover:translate-x-1">
3535
<ChevronRight className="w-4 h-4 md:w-5 md:h-5" />
3636
</div>
3737
</div>

apps/web/src/components/oss-programs/SearchInput.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ interface SearchInputProps {
1010

1111
export default function SearchInput({ value, onChange, placeholder = "Search programs..." }: SearchInputProps): JSX.Element {
1212
return (
13-
<div className="relative flex-1">
13+
<div className="relative flex-1 min-w-0">
1414
<Search className="absolute left-4 top-1/2 -translate-y-1/2 text-gray-400 w-5 h-5 pointer-events-none z-10" />
1515
<input
1616
type="text"
1717
placeholder={placeholder}
1818
value={value}
1919
onChange={(e) => onChange(e.target.value)}
20-
className="w-full bg-dash-surface border border-dash-border rounded-xl py-3 pl-12 pr-4 text-text-primary placeholder-gray-500 focus:outline-none focus:border-brand-purple transition-colors truncate"
20+
className="w-full bg-dash-surface border border-dash-border rounded-xl py-3 pl-12 pr-4 text-text-primary placeholder-gray-500 focus:outline-none focus:border-brand-purple transition-colors"
2121
aria-label="Search programs"
2222
/>
2323
</div>

apps/web/src/components/oss-programs/TagFilter.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,15 @@ export default function TagFilter({ tags, selectedTags, onTagsChange }: TagFilte
5252
};
5353

5454
return (
55-
<div className="relative flex-1" ref={dropdownRef}>
55+
<div className="relative flex-1 min-w-0" ref={dropdownRef}>
5656
<div
57-
className="flex items-center gap-2 bg-dash-surface border border-dash-border rounded-xl p-2 min-h-[50px] focus-within:border-brand-purple transition-colors cursor-text"
57+
className="flex items-center gap-2 bg-dash-surface border border-dash-border rounded-xl p-2 min-h-[50px] focus-within:border-brand-purple transition-colors cursor-text min-w-0"
5858
onClick={() => {
5959
inputRef.current?.focus();
6060
setIsDropdownOpen(true);
6161
}}
6262
>
63-
<div className="flex flex-wrap items-center gap-2 flex-1 min-w-0 overflow-hidden">
63+
<div className="flex flex-wrap items-center gap-2 flex-1 min-w-0">
6464
{selectedTags.map((tag) => (
6565
<span
6666
key={tag}
@@ -90,7 +90,7 @@ export default function TagFilter({ tags, selectedTags, onTagsChange }: TagFilte
9090
}}
9191
onKeyDown={handleKeyDown}
9292
onFocus={() => setIsDropdownOpen(true)}
93-
className="bg-transparent text-white placeholder-gray-500 focus:outline-none flex-1 min-w-[120px]"
93+
className="bg-transparent text-white placeholder-gray-500 focus:outline-none flex-1 min-w-0"
9494
/>
9595
</div>
9696
<ChevronDown className="w-5 h-5 text-gray-400 flex-shrink-0" />

0 commit comments

Comments
 (0)