Sub mamangement

This commit is contained in:
James Pattinson
2025-10-12 21:20:53 +00:00
parent ba1bf32393
commit 9b6a6dab06
6 changed files with 463 additions and 104 deletions

View File

@@ -279,6 +279,28 @@ body {
color: var(--gray-900);
}
.header-content {
display: flex;
flex-direction: column;
gap: var(--space-2);
}
.header-help {
display: flex;
align-items: center;
gap: var(--space-2);
color: var(--gray-600);
font-size: var(--font-size-sm);
background: var(--gray-50);
padding: var(--space-2) var(--space-3);
border-radius: var(--radius);
border: 1px solid var(--gray-200);
}
.header-help i {
color: var(--info-color);
}
/* Notifications */
.notification {
display: flex;
@@ -384,6 +406,15 @@ body {
.action-buttons {
display: flex;
gap: var(--space-2);
flex-wrap: wrap;
min-width: 200px;
}
/* Ensure actions column is wide enough */
.table th:last-child,
.table td:last-child {
min-width: 220px;
width: 220px;
}
/* Subscriptions Grid */
@@ -654,9 +685,162 @@ body {
.action-buttons {
flex-direction: column;
min-width: auto;
}
.table th:last-child,
.table td:last-child {
min-width: auto;
width: auto;
}
}
/* Member Subscriptions Modal */
.member-info-banner {
display: flex;
align-items: center;
gap: var(--space-4);
padding: var(--space-4);
background: var(--gray-50);
border-radius: var(--radius);
margin-bottom: var(--space-6);
}
.member-avatar {
width: 60px;
height: 60px;
background: var(--primary-color);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--white);
font-size: var(--font-size-xl);
}
.member-details h4 {
margin: 0 0 var(--space-1) 0;
font-size: var(--font-size-lg);
font-weight: 600;
color: var(--gray-900);
}
.member-details p {
margin: 0;
color: var(--gray-600);
font-size: var(--font-size-sm);
}
.subscriptions-section h5 {
font-size: var(--font-size-base);
font-weight: 600;
color: var(--gray-900);
margin-bottom: var(--space-2);
}
.subscription-list {
display: flex;
flex-direction: column;
gap: var(--space-3);
max-height: 300px;
overflow-y: auto;
padding: var(--space-2);
border: 1px solid var(--gray-200);
border-radius: var(--radius);
background: var(--white);
}
.subscription-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--space-3);
border-radius: var(--radius);
transition: var(--transition);
cursor: pointer;
}
.subscription-item:hover {
background: var(--gray-50);
}
.subscription-item.subscribed {
background: rgba(16, 185, 129, 0.1);
border: 1px solid rgba(16, 185, 129, 0.2);
}
.list-info {
flex: 1;
display: flex;
flex-direction: column;
gap: var(--space-1);
}
.list-name {
font-weight: 500;
color: var(--gray-900);
font-size: var(--font-size-sm);
}
.list-email {
color: var(--gray-600);
font-size: var(--font-size-xs);
}
.subscription-toggle {
display: flex;
align-items: center;
gap: var(--space-2);
}
.toggle-switch {
position: relative;
width: 44px;
height: 24px;
background: var(--gray-300);
border-radius: 12px;
transition: var(--transition);
cursor: pointer;
}
.toggle-switch.active {
background: var(--success-color);
}
.toggle-switch::before {
content: '';
position: absolute;
top: 2px;
left: 2px;
width: 20px;
height: 20px;
background: var(--white);
border-radius: 50%;
transition: var(--transition);
box-shadow: var(--shadow-sm);
}
.toggle-switch.active::before {
transform: translateX(20px);
}
.subscription-status {
font-size: var(--font-size-xs);
font-weight: 500;
min-width: 80px;
text-align: right;
}
.subscription-status.subscribed {
color: var(--success-color);
}
.subscription-status.not-subscribed {
color: var(--gray-500);
}
/* Utility Classes */
.text-center { text-align: center; }
.text-right { text-align: right; }