Skip to content

Commit

Permalink
Created members detail page and added styling for it
Browse files Browse the repository at this point in the history
  • Loading branch information
sofijamitukevic committed Feb 17, 2025
1 parent 256e7a6 commit 5ad5ba9
Show file tree
Hide file tree
Showing 3 changed files with 287 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/apps/admin/components/Sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,7 @@ export const Sidebar = (props: { className?: string }) => {
<div className="navbar__dropdown__content">
<NavItem route="members/list" text="All Members" />
<NavItem route="members/new" text="Add Member" />
<NavItem route="members/detail" text="Member Detail" />
</div>
)}
</li>
Expand Down
191 changes: 191 additions & 0 deletions src/apps/admin/pages/members/MemberDetail.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
.member-detail {
display: flex;
flex-direction: column;
gap: 20px;
padding: 20px;

.profile-header {
display: flex;
align-items: center;
gap: 16px;
font-size: 22px;
font-weight: bold;
color: var(--color-primary-surface);
}

.username {
font-size: 15px;
font-weight: lighter;
margin-top: 5px;
}

.profile-pic {
width: 60px;
height: 60px;
border-radius: 50%;
background-image: url("https://alliancebjjmn.com/wp-content/uploads/2019/07/placeholder-profile-sq-491x407.jpg");
background-size: cover;
background-position: center;
}


.main-content {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 20px;
}

.left-panel {
display: flex;
flex-direction: column;
gap: 20px;
}

.profile-details,
.club-membership,
.queued-tracks {
background-color: #e0e0e0;
padding: 30px;
border-radius: 8px;
display: flex;
}

.profile-details {
display: flex;
flex-direction: column;
gap: 20px;
background-color: #e0e0e0;
border-radius: 8px;
}

.profile-info {
display: flex;
flex-direction: column;
gap: 10px;
}

.profile-info div {
font-size: 17px;
color: #333;
margin-top: 5px;
}

.club-membership {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 20px;
height: 400px;


.club-logo {
width: 150px;
height: 150px;
border-radius: 50%;
margin-bottom: 12px;
}

.club-info {
font-size: 16px;
color: var(--secondary-text-color);

h3 {
font-size: 18px;
color: var(--primary-text-color);
margin-bottom: 8px;
}

p {
margin: 4px 0;
margin-top: 5px;
}
}
}

.clubs-list {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
gap: 30px;
}


.right-panel {
display: flex;
flex-direction: column;
gap: 20px;
}

.queued-tracks {
display: flex;
flex-direction: column;
gap: 16px;
padding: 24px;
border-radius: 10px;
box-shadow: var(--shadow);

h2 {
text-align: center;
}

.track-list {
display: flex;
flex-direction: column;
gap: 12px;
}

.track-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px;
border-radius: 8px;
background-color: var(--secondary-bg-color);
box-shadow: var(--shadow);
}

.track-number {
font-size: 16px;
font-weight: bold;
color: var(--primary-text-color);
}

.track-thumbnail {
width: 40px;
height: 40px;
background-color: red;
border-radius: 4px;
}

.track-info {
display: flex;
flex-direction: column;
flex: 1;
}

.track-title {
font-size: 14px;
font-weight: bold;
color: var(--primary-text-color);
}

.track-artist {
font-size: 12px;
color: var(--secondary-text-color);
}

.track-duration {
font-size: 14px;
font-weight: bold;
color: var(--primary-text-color);
}
}

h2 {
font-size: 25px;
font-weight: bold;
margin-bottom: 10px;
}
}
97 changes: 95 additions & 2 deletions src/apps/admin/pages/members/MemberDetail.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,96 @@
import './MemberDetail.scss'
export const MemberDetail = () => {
return <div>MemberSingle</div>
}
return (
<div className="member-detail">
<div className="profile-header">
<div className="profile-pic"></div>
<div>
<div className='first-last-name'>John Doe</div>
<div className='username'>@john_doe</div>
</div>
</div>
<div className="main-content">
<div className="left-panel">
<div className="profile-details">
<h2>Profile Details</h2>
<div className="profile-info">
<div><strong>Full name:</strong> John Doe</div>
<div><strong>Email:</strong> john.doe@gmail.com</div>
<div><strong>Date Joined:</strong> January 15, 2019</div>
<div><strong>Birthday:</strong> July 8, 1995</div>
<div><strong>Country:</strong> Canada</div>
<div><strong>Favorite Genre:</strong> Jazz</div>
<div><strong>Total tracks played:</strong> 1500</div>
</div>
</div>
</div>
<div className="right-panel">
<div className="club-membership">
<h2>Club Memberships</h2>

<div className="clubs-list">
<div className="club-info">
<img
className="club-logo"
src="https://static.vecteezy.com/ti/vecteur-libre/p2/2043469-jazz-musique-illustration-vectoriel.jpg"
alt="Club Logo"
/>
<h3>Jazz Enthusiasts Club</h3>
<p><strong>Membership:</strong> Gold Member</p>
<p><strong>Joined:</strong> March 10, 2021</p>
<p><strong>Events Attended:</strong> 25</p>
</div>
<div className="club-info">
<img
className="club-logo"
src="https://images.playground.com/72958d7e-f989-4992-98dd-d47e87de134c.jpeg"
alt="Club Logo"
/>
<h3>Vinyl Collectors</h3>
<p><strong>Membership:</strong> Platinum Member</p>
<p><strong>Joined:</strong> April 7, 2020</p>
<p><strong>Events Attended:</strong> 54</p>
</div>
<div className="club-info">
<img
className="club-logo"
src="https://img.freepik.com/premium-vector/classical-music-logo_742608-52.jpg"
alt="Club Logo"
/>
<h3>The Classics</h3>
<p><strong>Membership:</strong> Silver Member</p>
<p><strong>Joined:</strong> January 17, 2023</p>
<p><strong>Events Attended:</strong> 10</p>
</div>
</div>
</div>
<div className="queued-tracks">

<h2>Queued Tracks</h2>
<div className="track-list">
{[
{ id: 1, title: "Orci mauris lacinia", artist: "Edie Colgrave", duration: "0:06" },
{ id: 2, title: "Eu", artist: "Jeff Charlton, Alverta Cranney", duration: "0:02" },
{ id: 3, title: "Nam", artist: "Debora Belward, Rupert Lillie, Rory Tomney", duration: "0:03" },
{ id: 4, title: "At nunc commodo placerat", artist: "Romola Burtenshaw, Morton Durham", duration: "0:04" },
{ id: 5, title: "In hac habitasse", artist: "Nadiya Rothschild, Ardisj Le Sarr", duration: "0:05" }
].map(track => (
<div key={track.id} className="track-item">
<span className="track-number">{track.id < 10 ? `0${track.id}` : track.id}</span>
<div className="track-thumbnail" />
<div className="track-info">
<span className="track-title">{track.title}</span>
<span className="track-artist">{track.artist}</span>
</div>
<span className="track-duration">{track.duration}</span>
</div>
))}
</div>
</div>
</div>
</div>
</div>
)
};


0 comments on commit 5ad5ba9

Please sign in to comment.