Files
IKnowThem/MovieActorLookup/Components/Pages/Home.razor
T
mmcghen 5c062a4d79 Remove sidebar navigation and floating elements
Deleted NavMenu component and its styles, removed sidebar layout from MainLayout, and cleaned up related CSS. The Home page was simplified by removing floating icons and animation effects. This streamlines the UI and focuses on main content presentation.
2025-08-25 19:33:52 -04:00

242 lines
6.0 KiB
Plaintext

@page "/"
<PageTitle>I Know Them!</PageTitle>
<div class="landing-page">
<div class="hero">
<h1>Welcome to <span class="highlight">I Know Them!</span></h1>
<p class="subtitle">Ever watched a movie or show and thought, "I know that actor from somewhere..."?</p>
<p class="description">This app helps you quickly identify actors, find out what else they've been in, and explore cast details for your favorite <strong>movies</strong> and <strong>TV shows</strong>.</p>
<div class="cta-buttons">
<NavLink class="cta-button primary" href="/searchmovies">🎬 Search Movies</NavLink>
<NavLink class="cta-button secondary" href="/searchshows">📺 Search TV Shows</NavLink>
</div>
</div>
</div>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.landing-page {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #f5576c 75%, #4facfe 100%);
background-size: 400% 400%;
animation: gradientFlow 15s ease infinite;
overflow: hidden;
}
.hero {
max-width: 800px;
text-align: center;
padding: 2rem;
position: relative;
z-index: 10;
backdrop-filter: blur(10px);
background: rgba(255, 255, 255, 0.1);
border-radius: 30px;
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow: 0 25px 45px rgba(0, 0, 0, 0.1);
animation: heroEntrance 1.2s ease-out;
}
@@keyframes heroEntrance {
0% {
opacity: 0;
transform: translateY(50px) scale(0.9);
}
100% {
opacity: 1;
transform: translateY(0) scale(1);
}
}
h1 {
font-size: clamp(2.5rem, 6vw, 4rem);
font-weight: 800;
margin-bottom: 1rem;
color: white;
text-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
animation: titleGlow 2s ease-in-out infinite alternate;
}
@@keyframes titleGlow {
0% {
text-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
100% {
text-shadow: 0 5px 25px rgba(255, 255, 255, 0.3);
}
}
@@keyframes shimmer {
0%, 100% {
filter: brightness(1);
}
50% {
filter: brightness(1.3);
}
}
.subtitle {
font-size: clamp(1.1rem, 3vw, 1.4rem);
color: rgba(255, 255, 255, 0.9);
margin-bottom: 1.5rem;
font-weight: 400;
animation: slideInLeft 1s ease-out 0.3s both;
}
.description {
color: rgba(255, 255, 255, 0.8);
font-size: clamp(1rem, 2.5vw, 1.1rem);
line-height: 1.7;
margin-bottom: 2.5rem;
animation: slideInRight 1s ease-out 0.6s both;
}
@@keyframes slideInLeft {
0% {
opacity: 0;
transform: translateX(-50px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
@@keyframes slideInRight {
0% {
opacity: 0;
transform: translateX(50px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
.cta-buttons {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
animation: buttonsEntrance 1s ease-out 0.9s both;
}
@@keyframes buttonsEntrance {
0% {
opacity: 0;
transform: translateY(30px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.cta-button {
position: relative;
padding: 1rem 2rem;
font-size: 1.1rem;
font-weight: 600;
border-radius: 50px;
text-decoration: none;
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
overflow: hidden;
min-width: 200px;
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
border: 2px solid transparent;
}
.cta-button::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s;
}
.cta-button:hover::before {
left: 100%;
}
.cta-button.primary {
background: linear-gradient(45deg, #667eea, #764ba2);
color: white;
box-shadow: 0 10px 30px rgba(102, 126, 234, 0.4);
}
.cta-button.primary:hover {
transform: translateY(-3px) scale(1.05);
box-shadow: 0 20px 40px rgba(102, 126, 234, 0.6);
}
.cta-button.secondary {
background: rgba(255, 255, 255, 0.15);
color: white;
border: 2px solid rgba(255, 255, 255, 0.3);
backdrop-filter: blur(10px);
}
.cta-button.secondary:hover {
transform: translateY(-3px) scale(1.05);
background: rgba(255, 255, 255, 0.25);
border-color: rgba(255, 255, 255, 0.5);
box-shadow: 0 20px 40px rgba(255, 255, 255, 0.2);
}
@@media (max-width: 768px) {
.hero {
margin: 1rem;
padding: 1.5rem;
border-radius: 20px;
}
.cta-buttons {
flex-direction: column;
align-items: center;
}
.cta-button {
width: 100%;
max-width: 300px;
}
.floating-icon {
font-size: 1.5rem;
}
}
@@media (max-width: 480px) {
h1 {
font-size: 2rem;
}
.subtitle {
font-size: 1rem;
}
.description {
font-size: 0.9rem;
}
}
</style>