SES SNS Bounce Handling
This commit is contained in:
@@ -624,6 +624,32 @@ body {
|
||||
color: var(--gray-600);
|
||||
}
|
||||
|
||||
/* Bounce badges */
|
||||
.bounce-badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: var(--space-1);
|
||||
padding: var(--space-1) var(--space-2);
|
||||
border-radius: var(--radius-sm);
|
||||
font-size: var(--font-size-xs);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.bounce-badge.bounce-hard {
|
||||
background: #fee2e2;
|
||||
color: #991b1b;
|
||||
}
|
||||
|
||||
.bounce-badge.bounce-soft {
|
||||
background: #fef3c7;
|
||||
color: #92400e;
|
||||
}
|
||||
|
||||
.bounce-badge.bounce-warning {
|
||||
background: #fef9c3;
|
||||
color: #854d0e;
|
||||
}
|
||||
|
||||
/* Role badges */
|
||||
.role-badge {
|
||||
display: inline-flex;
|
||||
@@ -1478,4 +1504,148 @@ body {
|
||||
|
||||
.fade-in {
|
||||
animation: fadeIn 0.3s ease-out;
|
||||
}
|
||||
}
|
||||
/* Bounce History Modal Styles */
|
||||
.bounce-summary {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
||||
gap: var(--space-4);
|
||||
margin: var(--space-6) 0;
|
||||
padding: var(--space-4);
|
||||
background: var(--gray-50);
|
||||
border-radius: var(--radius);
|
||||
}
|
||||
|
||||
.bounce-stat {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--space-3);
|
||||
}
|
||||
|
||||
.bounce-stat i {
|
||||
font-size: 1.5rem;
|
||||
color: var(--primary-color);
|
||||
}
|
||||
|
||||
.bounce-stat-label {
|
||||
font-size: var(--font-size-xs);
|
||||
color: var(--gray-500);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.bounce-stat-value {
|
||||
font-size: var(--font-size-lg);
|
||||
font-weight: 600;
|
||||
color: var(--gray-800);
|
||||
}
|
||||
|
||||
.bounce-stat-value.text-danger {
|
||||
color: var(--danger-color);
|
||||
}
|
||||
|
||||
.bounce-stat-value.text-warning {
|
||||
color: var(--warning-color);
|
||||
}
|
||||
|
||||
.bounce-stat-value.text-success {
|
||||
color: var(--success-color);
|
||||
}
|
||||
|
||||
.bounce-history-section {
|
||||
margin-top: var(--space-6);
|
||||
}
|
||||
|
||||
.bounce-history-section h5 {
|
||||
margin-bottom: var(--space-4);
|
||||
color: var(--gray-700);
|
||||
}
|
||||
|
||||
.bounce-history-list {
|
||||
max-height: 400px;
|
||||
overflow-y: auto;
|
||||
padding: var(--space-2);
|
||||
}
|
||||
|
||||
.bounce-history-item {
|
||||
background: var(--white);
|
||||
border: 1px solid var(--gray-200);
|
||||
border-radius: var(--radius);
|
||||
padding: var(--space-4);
|
||||
margin-bottom: var(--space-3);
|
||||
}
|
||||
|
||||
.bounce-history-item:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.bounce-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: var(--space-2);
|
||||
}
|
||||
|
||||
.bounce-type {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: var(--space-2);
|
||||
padding: var(--space-1) var(--space-3);
|
||||
border-radius: var(--radius-sm);
|
||||
font-size: var(--font-size-sm);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.bounce-type.bounce-type-permanent {
|
||||
background: #fee2e2;
|
||||
color: #991b1b;
|
||||
}
|
||||
|
||||
.bounce-type.bounce-type-transient {
|
||||
background: #fef3c7;
|
||||
color: #92400e;
|
||||
}
|
||||
|
||||
.bounce-type.bounce-type-undetermined {
|
||||
background: var(--gray-100);
|
||||
color: var(--gray-600);
|
||||
}
|
||||
|
||||
.bounce-date {
|
||||
font-size: var(--font-size-sm);
|
||||
color: var(--gray-500);
|
||||
}
|
||||
|
||||
.bounce-subtype {
|
||||
font-size: var(--font-size-sm);
|
||||
color: var(--gray-600);
|
||||
margin-top: var(--space-2);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.bounce-diagnostic {
|
||||
font-size: var(--font-size-sm);
|
||||
color: var(--gray-500);
|
||||
margin-top: var(--space-2);
|
||||
padding: var(--space-2);
|
||||
background: var(--gray-50);
|
||||
border-radius: var(--radius-sm);
|
||||
border-left: 3px solid var(--warning-color);
|
||||
font-family: 'Courier New', monospace;
|
||||
}
|
||||
|
||||
.empty-state {
|
||||
text-align: center;
|
||||
padding: var(--space-8);
|
||||
color: var(--gray-400);
|
||||
}
|
||||
|
||||
.empty-state i {
|
||||
font-size: 3rem;
|
||||
margin-bottom: var(--space-4);
|
||||
color: var(--success-color);
|
||||
}
|
||||
|
||||
.empty-state p {
|
||||
font-size: var(--font-size-sm);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user