jobs/static/profile.html

819 lines
26 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Profile</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
</head>
<body>
<div class="navbar">
<div class="logo-container">
<i class="fas fa-link logo-icon"></i>
<span class="logo-text">jLink</span>
</div>
<div class="search-container">
<i class="fas fa-search search-icon"></i>
<input type="text" placeholder="Search" class="search-input">
</div>
<div class="nav-items">
<div class="nav-item">
<a href="discover.html" class="nav-link">
<i class="fas fa-compass"></i>
<span>Discover</span>
<div class="blank"></div>
</a>
</div>
<div class="nav-item">
<a href="jobs.html" class="nav-link">
<i class="fas fa-briefcase"></i>
<span>Jobs</span>
<div class="blank"></div>
</a>
</div>
<div class="nav-item">
<a href="proposals.html" class="nav-link">
<i class="fas fa-file-alt"></i>
<span>Proposals</span>
<div class="blank"></div>
</a>
</div>
<div class="nav-item">
<a href="invoices.html" class="nav-link">
<i class="fas fa-dollar-sign"></i>
<span>Invoices</span>
<div class="blank"></div>
</a>
</div>
<div class="nav-item">
<a href="learn.html" class="nav-link">
<i class="fas fa-graduation-cap"></i>
<span>Learn</span>
<div class="blank"></div>
</a>
</div>
</div>
<div class="bottom-nav">
<div class="nav-item">
<a href="wallet.html" class="nav-link">
<i class="fas fa-wallet"></i>
<span>Wallet</span>
<span class="badge">$8,210.45</span>
</a>
</div>
<div class="nav-item">
<a href="inbox.html" class="nav-link">
<i class="fas fa-inbox"></i>
<span>Inbox</span>
<span class="badge">7</span>
</a>
</div>
<div class="nav-item user-item active">
<a href="profile.html" class="nav-link">
<div class="user-avatar">
<img src="https://images.unsplash.com/photo-1639039186034-27f98b6e5a2f" alt="Profile">
</div>
<span>Emily</span>
<i class="fas fa-cog settings-icon right"></i>
</a>
</div>
</div>
</div>
<div class="content">
<div class="profile-cover">
<div class="cover-image">
<img src="https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17" alt="Profile">
</div>
<div class="profile-actions">
<button class="btn secondary"><i class="fas fa-share-alt"></i> Share</button>
<button class="btn primary"><i class="fas fa-edit"></i> Edit Profile</button>
</div>
<div class="profile-avatar">
<img src="https://images.unsplash.com/photo-1639039186034-27f98b6e5a2f" alt="Profile">
</div>
</div>
<div class="profile-info">
<h1 class="profile-name">Emily Johnson</h1>
<p class="profile-title">Senior Full Stack Developer</p>
<div class="profile-stats">
<div class="stat-item">
<i class="fas fa-star"></i>
<span>4.9 (56 reviews)</span>
</div>
<div class="stat-item">
<i class="fas fa-map-marker-alt"></i>
<span>San Francisco, CA</span>
</div>
<div class="stat-item">
<i class="fas fa-briefcase"></i>
<span>28 jobs completed</span>
</div>
<div class="stat-item">
<i class="fas fa-clock"></i>
<span>Member since 2025</span>
</div>
</div>
</div>
<div class="profile-tabs">
<div class="profile-tab active">Overview</div>
<div class="profile-tab">Portfolio</div>
<div class="profile-tab">Reviews</div>
<div class="profile-tab">Employment</div>
<div class="profile-tab">Settings</div>
</div>
<div class="profile-content">
<div class="main-content">
<div class="card about-section">
<div class="card-header">
<h2 class="card-title">About Me</h2>
<span class="card-action">Edit</span>
</div>
<p>I'm a passionate full-stack developer with over 8 years of experience building web and mobile applications. I specialize in React, Node.js, and modern JavaScript frameworks, with a strong focus on creating intuitive user experiences and scalable backend systems.</p>
<p>Throughout my career, I've worked with startups and enterprise clients across various industries including fintech, healthcare, and e-commerce. I pride myself on delivering clean, maintainable code and collaborating effectively with cross-functional teams.</p>
<p>When I'm not coding, you can find me hiking in the mountains, experimenting with new cooking recipes, or contributing to open-source projects.</p>
</div>
<div class="card">
<div class="card-header">
<h2 class="card-title">Skills</h2>
<span class="card-action">Add Skills</span>
</div>
<div class="skills-list">
<div class="skill-tag">JavaScript</div>
<div class="skill-tag">React</div>
<div class="skill-tag">Node.js</div>
<div class="skill-tag">TypeScript</div>
<div class="skill-tag">GraphQL</div>
<div class="skill-tag">MongoDB</div>
<div class="skill-tag">PostgreSQL</div>
<div class="skill-tag">AWS</div>
<div class="skill-tag">Docker</div>
<div class="skill-tag">CI/CD</div>
<div class="skill-tag">Redux</div>
<div class="skill-tag">Express.js</div>
</div>
</div>
<div class="card">
<div class="card-header">
<h2 class="card-title">Work Experience</h2>
<span class="card-action">Add Experience</span>
</div>
<div class="experience-list">
<div class="experience-item">
<div class="experience-logo">
<img src="https://place-hold.it/40x40/eee&text=!" alt="TechCorp">
</div>
<div class="experience-details">
<h3 class="experience-title">Senior Frontend Developer</h3>
<div class="experience-company">TechCorp Inc.</div>
<div class="experience-duration">Jan 2022 - Present</div>
<p class="experience-description">Leading the frontend development of the company's flagship SaaS product. Implemented new features that increased user engagement by 35%. Mentored junior developers and established best practices for the team.</p>
<div class="experience-skills">
<div class="skill-tag">React</div>
<div class="skill-tag">TypeScript</div>
<div class="skill-tag">GraphQL</div>
</div>
</div>
</div>
<div class="experience-item">
<div class="experience-logo">
<img src="https://place-hold.it/40x40/eee&text=!" alt="DataSys">
</div>
<div class="experience-details">
<h3 class="experience-title">Full Stack Developer</h3>
<div class="experience-company">DataSys Solutions</div>
<div class="experience-duration">Mar 2019 - Dec 2021</div>
<p class="experience-description">Developed and maintained multiple client projects. Built RESTful APIs and implemented responsive UIs. Collaborated with UX designers to create intuitive user experiences.</p>
<div class="experience-skills">
<div class="skill-tag">Node.js</div>
<div class="skill-tag">MongoDB</div>
<div class="skill-tag">Express</div>
</div>
</div>
</div>
<div class="experience-item">
<div class="experience-logo">
<img src="https://place-hold.it/40x40/eee&text=!" alt="WebTech">
</div>
<div class="experience-details">
<h3 class="experience-title">Junior Web Developer</h3>
<div class="experience-company">WebTech Studios</div>
<div class="experience-duration">Jun 2017 - Feb 2019</div>
<p class="experience-description">Started as an intern and was promoted to a full-time position. Worked on various client websites and internal tools. Gained experience in frontend frameworks and backend development.</p>
<div class="experience-skills">
<div class="skill-tag">JavaScript</div>
<div class="skill-tag">HTML/CSS</div>
<div class="skill-tag">PHP</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sidebar-content">
<div class="card">
<div class="card-header">
<h2 class="card-title">Availability</h2>
<span class="card-action">Edit</span>
</div>
<div class="availability-status available">
<i class="fas fa-circle"></i>
<span>Available for work</span>
</div>
<div class="availability-details">
<div class="availability-item">
<span class="availability-label">Hourly Rate</span>
<span class="availability-value">$85/hr</span>
</div>
<div class="availability-item">
<span class="availability-label">Weekly Availability</span>
<span class="availability-value">30+ hrs/week</span>
</div>
<div class="availability-item">
<span class="availability-label">Project Preference</span>
<span class="availability-value">Long-term</span>
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<h2 class="card-title">Education</h2>
<span class="card-action">Add</span>
</div>
<div class="education-item">
<div class="education-logo">
<img src="https://place-hold.it/40x40/eee&text=!" alt="University">
</div>
<div class="education-details">
<h3 class="education-degree">Bachelor of Science in Computer Science</h3>
<div class="education-school">Stanford University</div>
<div class="education-years">2013 - 2017</div>
</div>
</div>
<div class="education-item">
<div class="education-logo">
<img src="https://place-hold.it/40x40/eee&text=!" alt="Certificate">
</div>
<div class="education-details">
<h3 class="education-degree">AWS Certified Solutions Architect</h3>
<div class="education-school">Amazon Web Services</div>
<div class="education-years">2020</div>
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<h2 class="card-title">Languages</h2>
<span class="card-action">Add</span>
</div>
<div class="language-item">
<span class="language-name">English</span>
<span class="language-level">Native</span>
</div>
<div class="language-item">
<span class="language-name">Spanish</span>
<span class="language-level">Fluent</span>
</div>
<div class="language-item">
<span class="language-name">French</span>
<span class="language-level">Basic</span>
</div>
</div>
</div>
</div>
</div>
</body>
<style>
* {
box-sizing: border-box;
font-family: "Urbanist", sans-serif;
}
body {
margin: 0;
min-width: 320px;
min-height: 100vh;
width: 100vw;
height: 100vh;
padding: 20px;
display: flex;
gap: 20px;
}
.navbar {
width: 300px;
height: 100%;
background-color: #EBF2F2;
border-radius: 20px;
padding: 20px;
display: flex;
flex-direction: column;
overflow-y: auto;
}
.content {
width: 100%;
height: 100%;
background-color: white;
border-radius: 20px;
padding: 0 30px;
overflow-y: auto;
}
/* Logo styling */
.logo-container {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.logo-icon {
font-size: 24px;
margin-right: 10px;
color: #333;
}
.logo-text {
font-size: 22px;
font-weight: bold;
color: #333;
}
/* Search bar styling */
.search-container {
position: relative;
margin-bottom: 25px;
}
.search-input {
width: 100%;
padding: 12px 15px 12px 40px;
border: none;
border-radius: 20px;
background-color: white;
font-size: 14px;
}
.search-icon {
position: absolute;
left: 15px;
top: 50%;
transform: translateY(-50%);
color: #888;
}
/* Navigation items */
.nav-items {
display: flex;
flex-direction: column;
gap: 20px;
margin-bottom: auto;
}
.nav-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 10px;
color: #333;
font-weight: 500;
position: relative;
border-radius: 10px;
margin: 2px 0;
transition: background-color 0.3s ease;
}
.nav-item i {
width: 25px;
font-size: 16px;
position: relative;
z-index: 2;
}
.nav-item i.right {
display: flex;
justify-content: flex-end;
margin-left: auto;
}
.nav-item span {
font-size: 16px;
position: relative;
z-index: 2;
}
.nav-link {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
color: inherit;
text-decoration: none;
}
.nav-item.active {
background-color: white;
}
/* Bottom navigation */
.bottom-nav {
margin-top: auto;
border-top: 1px solid rgba(0, 0, 0, 0.05);
padding-top: 20px;
display: flex;
flex-direction: column;
gap: 20px;
}
/* Badge styling */
.badge {
color: #333;
border-radius: 10px;
font-size: 12px;
margin-left: auto;
position: relative;
z-index: 2;
}
/* User item styling */
.user-item {
margin-top: 5px;
}
.user-avatar {
width: 19px;
height: 19px;
background-color: #FF6B6B;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
margin-right: 10px;
position: relative;
z-index: 2;
}
.user-avatar img {
width: 100%;
height: 100%;
border-radius: 50%;
object-fit: cover;
}
.blank {
margin-left: auto;
}
/* Profile specific styles */
.profile-cover {
height: 200px;
background-color: #2c3e50;
border-radius: 12px;
position: relative;
width: 100%;
}
.cover-image {
width: 100%;
height: 100%;
}
.cover-image img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 12px;
}
.profile-avatar {
width: 150px;
height: 150px;
border-radius: 50%;
border: 5px solid white;
position: absolute;
bottom: -110px;
left: 30px;
overflow: hidden;
}
.profile-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
.profile-info {
margin-left: 190px;
}
.profile-name {
font-size: 28px;
font-weight: 700;
margin: 5px 0;
}
.profile-title {
font-size: 16px;
color: #666;
margin: 0 0 10px 0;
}
.profile-stats {
display: flex;
gap: 20px;
}
.stat-item {
display: flex;
align-items: center;
color: #555;
}
.stat-item i {
margin-right: 5px;
color: #4dafc4;
}
.profile-actions {
position: absolute;
top: 20px;
right: 20px;
display: flex;
gap: 10px;
}
.btn {
padding: 10px 20px;
border-radius: 8px;
border: none;
font-weight: 600;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
}
.btn.primary {
background-color: #4dafc4;
color: white;
}
.btn.secondary {
background-color: #f0f0f0;
color: #333;
}
.profile-tabs {
display: flex;
border-bottom: 1px solid #ddd;
margin: 30px 0;
}
.profile-tab {
padding: 15px 25px;
font-weight: 600;
cursor: pointer;
position: relative;
}
.profile-tab.active {
color: #4dafc4;
}
.profile-tab.active::after {
content: "";
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
height: 3px;
background-color: #4dafc4;
}
.profile-content {
display: flex;
gap: 30px;
}
.main-content {
flex: 2;
}
.sidebar-content {
flex: 1;
}
.card {
background-color: white;
border-radius: 12px;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
padding: 20px;
margin-bottom: 20px;
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.card-title {
font-size: 18px;
font-weight: 700;
}
.card-action {
color: #4dafc4;
font-weight: 600;
cursor: pointer;
font-size: 14px;
}
.about-section p {
line-height: 1.6;
color: #555;
margin-bottom: 15px;
}
.skills-list {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.skill-tag {
background-color: #f0f7f0;
color: #4dafc4;
padding: 8px 15px;
border-radius: 20px;
font-size: 14px;
font-weight: 600;
}
.experience-item {
margin-bottom: 20px;
display: flex;
padding-bottom: 20px;
border-bottom: 1px solid #f0f0f0;
}
.experience-item:last-child {
border-bottom: none;
padding-bottom: 0;
}
.experience-logo {
width: 50px;
height: 50px;
border-radius: 8px;
overflow: hidden;
margin-right: 15px;
}
.experience-logo img {
width: 100%;
height: 100%;
object-fit: cover;
}
.experience-details {
flex: 1;
}
.experience-title {
font-size: 16px;
font-weight: 700;
margin-bottom: 5px;
}
.experience-company {
font-weight: 600;
color: #555;
margin-bottom: 5px;
}
.experience-duration {
color: #888;
font-size: 14px;
margin-bottom: 10px;
}
.experience-description {
line-height: 1.6;
color: #555;
margin-bottom: 10px;
}
.experience-skills {
display: flex;
flex-wrap: wrap;
gap: 5px;
}
.experience-skills .skill-tag {
font-size: 12px;
padding: 5px 10px;
}
.availability-status {
display: flex;
align-items: center;
margin-bottom: 15px;
font-weight: 600;
}
.availability-status.available i {
color: #4dca34;
margin-right: 5px;
}
.availability-details {
display: flex;
flex-direction: column;
gap: 10px;
}
.availability-item {
display: flex;
justify-content: space-between;
}
.availability-label {
color: #888;
}
.availability-value {
font-weight: 600;
}
.education-item {
display: flex;
margin-bottom: 15px;
padding-bottom: 15px;
border-bottom: 1px solid #f0f0f0;
}
.education-item:last-child {
border-bottom: none;
padding-bottom: 0;
margin-bottom: 0;
}
.education-logo {
width: 40px;
height: 40px;
border-radius: 8px;
overflow: hidden;
margin-right: 15px;
}
.education-logo img {
width: 100%;
height: 100%;
object-fit: cover;
}
.education-details {
flex: 1;
}
.education-degree {
font-size: 15px;
font-weight: 700;
margin-bottom: 5px;
}
.education-school {
font-weight: 600;
color: #555;
margin-bottom: 5px;
}
.education-years {
color: #888;
font-size: 14px;
}
.language-item {
display: flex;
justify-content: space-between;
padding: 10px 0;
border-bottom: 1px solid #f0f0f0;
}
.language-item:last-child {
border-bottom: none;
}
.language-name {
font-weight: 600;
}
.language-level {
color: #888;
}
</style>
</html>