diff --git a/src/components/applications/ApplicationsShowcase.tsx b/src/components/applications/ApplicationsShowcase.tsx index 99ad0c0c..fe610784 100644 --- a/src/components/applications/ApplicationsShowcase.tsx +++ b/src/components/applications/ApplicationsShowcase.tsx @@ -37,7 +37,12 @@ const ApplicationCard: React.FC<{ deployments: Record; }> = ({ app, services, platforms, deployments }) => { return ( -
+
{app.title}
@@ -65,17 +70,12 @@ const ApplicationCard: React.FC<{ )}
-
+ View Project → - +
- + ); }; @@ -197,15 +197,23 @@ export const ApplicationsShowcase: React.FC = ({ /* Top Bar */ .top-bar { - display: flex; - gap: 1rem; - align-items: center; margin-bottom: 1.5rem; padding: 1rem; background: var(--sl-color-bg-sidebar); border: 1px solid var(--sl-color-gray-6); border-radius: 0.5rem; + } + + .top-bar-row { + display: flex; + gap: 1rem; + align-items: flex-start; flex-wrap: wrap; + margin-bottom: 1rem; + } + + .top-bar-row:last-child { + margin-bottom: 0; } .search-container { @@ -222,6 +230,7 @@ export const ApplicationsShowcase: React.FC = ({ background: var(--sl-color-bg); color: var(--sl-color-white); font-size: 0.875rem; + margin-top: 0; } .search-input:focus { @@ -258,6 +267,7 @@ export const ApplicationsShowcase: React.FC = ({ color: var(--sl-color-white); font-size: 0.875rem; min-width: 140px; + margin-top: 0; } .filter-select:focus { @@ -273,6 +283,7 @@ export const ApplicationsShowcase: React.FC = ({ color: var(--sl-color-white); cursor: pointer; white-space: nowrap; + margin-top: 0.375rem; } .sort-select { @@ -320,6 +331,13 @@ export const ApplicationsShowcase: React.FC = ({ border-radius: 0.75rem; overflow: hidden; transition: transform 0.2s ease, box-shadow 0.2s ease; + margin-top: 0; + display: flex; + flex-direction: column; + height: 100%; + text-decoration: none; + color: inherit; + cursor: pointer; } .app-card:hover { @@ -371,6 +389,9 @@ export const ApplicationsShowcase: React.FC = ({ .card-content { padding: 1.25rem; + display: flex; + flex-direction: column; + flex: 1; } .card-title { @@ -393,6 +414,7 @@ export const ApplicationsShowcase: React.FC = ({ justify-content: space-between; align-items: center; gap: 1rem; + margin-top: auto; } .service-icons { @@ -411,6 +433,7 @@ export const ApplicationsShowcase: React.FC = ({ align-items: center; justify-content: center; transition: all 0.2s ease; + margin-top: 0; } .service-icon:hover { @@ -436,8 +459,7 @@ export const ApplicationsShowcase: React.FC = ({ display: inline-flex; align-items: center; gap: 0.5rem; - color: white; - text-decoration: none; + color: var(--sl-color-white); font-weight: 500; font-size: 0.875rem; padding: 0.5rem 0.75rem; @@ -446,7 +468,7 @@ export const ApplicationsShowcase: React.FC = ({ white-space: nowrap; } - .card-link:hover { + .app-card:hover .card-link { color: var(--sl-color-accent); } @@ -486,7 +508,7 @@ export const ApplicationsShowcase: React.FC = ({ padding: 0 0.75rem; } - .top-bar { + .top-bar-row { flex-direction: column; align-items: stretch; } @@ -519,96 +541,100 @@ export const ApplicationsShowcase: React.FC = ({
-
- setSearchTerm(e.target.value)} - className="search-input" - /> - {searchTerm && ( - + )} +
+ + + + + + + + + + + + {hasActiveFilters && ( + )}
- - - - - - - - - - - - - {hasActiveFilters && ( - - )} +
+ +