strikes / me.html
Reaperxxxx's picture
Update me.html
aa3ab07 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>User Strikes Dashboard</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
background: radial-gradient(ellipse at top, #0f0728, #000000),
linear-gradient(135deg, #1a0033 0%, #0d0221 50%, #000000 100%);
color: #ffffff;
min-height: 100vh;
overflow-x: hidden;
position: relative;
font-weight: 400;
}
/* Enhanced animated background */
.bg-effects {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 1;
}
.floating-orbs {
position: absolute;
width: 100%;
height: 100%;
}
.orb {
position: absolute;
border-radius: 50%;
background: radial-gradient(circle at 30% 30%, rgba(138, 43, 226, 0.8), rgba(75, 0, 130, 0.4), transparent);
filter: blur(1px);
animation: float-orb 8s infinite ease-in-out;
}
.orb:nth-child(1) { width: 200px; height: 200px; top: 10%; left: 10%; animation-delay: 0s; }
.orb:nth-child(2) { width: 150px; height: 150px; top: 60%; right: 15%; animation-delay: -2s; }
.orb:nth-child(3) { width: 100px; height: 100px; bottom: 20%; left: 20%; animation-delay: -4s; }
.orb:nth-child(4) { width: 120px; height: 120px; top: 30%; right: 40%; animation-delay: -6s; }
@keyframes float-orb {
0%, 100% { transform: translateY(0px) translateX(0px) scale(1); opacity: 0.3; }
25% { transform: translateY(-30px) translateX(20px) scale(1.1); opacity: 0.5; }
50% { transform: translateY(-10px) translateX(-15px) scale(0.9); opacity: 0.4; }
75% { transform: translateY(20px) translateX(25px) scale(1.05); opacity: 0.6; }
}
.particles {
position: absolute;
width: 100%;
height: 100%;
}
.particle {
position: absolute;
width: 2px;
height: 2px;
background: linear-gradient(45deg, #9d4edd, #c77dff);
border-radius: 50%;
animation: particle-float 12s infinite linear;
box-shadow: 0 0 6px rgba(157, 78, 221, 0.6);
}
@keyframes particle-float {
0% { transform: translateY(100vh) translateX(0) rotate(0deg); opacity: 0; }
10% { opacity: 1; }
90% { opacity: 1; }
100% { transform: translateY(-10vh) translateX(100px) rotate(360deg); opacity: 0; }
}
.grid-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
linear-gradient(rgba(157, 78, 221, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(157, 78, 221, 0.03) 1px, transparent 1px);
background-size: 50px 50px;
animation: grid-move 20s linear infinite;
}
@keyframes grid-move {
0% { transform: translate(0, 0); }
100% { transform: translate(50px, 50px); }
}
.container {
position: relative;
z-index: 2;
max-width: 1200px;
margin: 0 auto;
padding: 60px 20px;
min-height: 100vh;
}
.header {
text-align: center;
margin-bottom: 60px;
animation: slideDown 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.header h1 {
font-size: clamp(2.5rem, 5vw, 4rem);
font-weight: 900;
background: linear-gradient(135deg, #ffffff 0%, #c77dff 25%, #9d4edd 50%, #7209b7 75%, #480ca8 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 16px;
letter-spacing: -0.02em;
position: relative;
}
.header h1::after {
content: '';
position: absolute;
bottom: -10px;
left: 50%;
transform: translateX(-50%);
width: 100px;
height: 3px;
background: linear-gradient(90deg, transparent, #9d4edd, transparent);
border-radius: 2px;
}
.header p {
font-size: 1.1rem;
opacity: 0.7;
letter-spacing: 0.5px;
font-weight: 400;
margin-top: 20px;
}
.dashboard {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 24px;
animation: fadeInUp 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}
.card {
background: rgba(255, 255, 255, 0.02);
backdrop-filter: blur(20px);
border: 1px solid rgba(157, 78, 221, 0.1);
border-radius: 24px;
padding: 32px;
position: relative;
overflow: hidden;
transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
box-shadow:
0 8px 32px rgba(0, 0, 0, 0.3),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.card:hover {
transform: translateY(-8px) scale(1.02);
box-shadow:
0 20px 60px rgba(157, 78, 221, 0.2),
0 8px 32px rgba(0, 0, 0, 0.4),
inset 0 1px 0 rgba(255, 255, 255, 0.2);
border-color: rgba(157, 78, 221, 0.3);
}
.card::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
transition: left 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.card:hover::before {
left: 100%;
}
.card::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(157, 78, 221, 0.5), transparent);
}
.strikes-display {
grid-column: 1 / -1;
text-align: center;
background: rgba(0, 0, 0, 0.4);
border: 2px solid rgba(157, 78, 221, 0.3);
position: relative;
min-height: 300px;
display: flex;
flex-direction: column;
justify-content: center;
}
.strikes-display::before {
content: '';
position: absolute;
inset: -2px;
background: linear-gradient(45deg, #9d4edd, #c77dff, #9d4edd);
border-radius: 24px;
padding: 2px;
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: exclude;
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask-composite: exclude;
animation: border-glow 3s ease-in-out infinite alternate;
}
@keyframes border-glow {
0% { opacity: 0.5; }
100% { opacity: 1; }
}
.strikes-number {
font-size: clamp(4rem, 12vw, 8rem);
font-weight: 900;
margin: 20px 0;
letter-spacing: -0.05em;
position: relative;
display: inline-block;
}
.strikes-0 {
color: #00ff88;
text-shadow:
0 0 20px rgba(0, 255, 136, 0.5),
0 0 40px rgba(0, 255, 136, 0.3),
0 0 60px rgba(0, 255, 136, 0.1);
}
.strikes-1 {
color: #ffd700;
text-shadow:
0 0 20px rgba(255, 215, 0, 0.5),
0 0 40px rgba(255, 215, 0, 0.3),
0 0 60px rgba(255, 215, 0, 0.1);
}
.strikes-2 {
color: #ff6b35;
text-shadow:
0 0 20px rgba(255, 107, 53, 0.5),
0 0 40px rgba(255, 107, 53, 0.3),
0 0 60px rgba(255, 107, 53, 0.1);
}
.strikes-3-plus {
color: #ff0040;
text-shadow:
0 0 20px rgba(255, 0, 64, 0.6),
0 0 40px rgba(255, 0, 64, 0.4),
0 0 60px rgba(255, 0, 64, 0.2);
animation: danger-pulse 2s ease-in-out infinite;
}
@keyframes danger-pulse {
0%, 100% { transform: scale(1); filter: brightness(1); }
50% { transform: scale(1.05); filter: brightness(1.2); }
}
.strikes-message {
font-size: 1.5rem;
margin-top: 20px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
}
.strikes-description {
font-size: 1rem;
margin-top: 16px;
opacity: 0.8;
max-width: 600px;
margin-left: auto;
margin-right: auto;
line-height: 1.6;
font-weight: 400;
}
.warning-icon {
position: absolute;
top: 24px;
right: 24px;
font-size: 2.5rem;
opacity: 0.4;
animation: icon-glow 3s ease-in-out infinite alternate;
}
@keyframes icon-glow {
0% { opacity: 0.4; transform: scale(1); }
100% { opacity: 0.8; transform: scale(1.1); }
}
.info-card {
grid-column: span 6;
}
.card-title {
font-size: 1.3rem;
margin-bottom: 24px;
color: #c77dff;
display: flex;
align-items: center;
gap: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
}
.card-title::before {
content: '';
width: 8px;
height: 8px;
background: linear-gradient(45deg, #9d4edd, #c77dff);
border-radius: 50%;
box-shadow: 0 0 20px rgba(157, 78, 221, 0.6);
animation: dot-pulse 2s ease-in-out infinite;
}
@keyframes dot-pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.3); opacity: 0.7; }
}
.info-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 18px 0;
border-bottom: 1px solid rgba(157, 78, 221, 0.1);
transition: all 0.3s ease;
}
.info-item:last-child {
border-bottom: none;
}
.info-item:hover {
background: rgba(157, 78, 221, 0.05);
margin: 0 -16px;
padding: 18px 16px;
border-radius: 12px;
}
.info-label {
font-weight: 500;
opacity: 0.7;
text-transform: uppercase;
letter-spacing: 0.5px;
font-size: 0.85rem;
}
.info-value {
font-size: 1.1rem;
font-weight: 600;
color: #ffffff;
text-align: right;
}
.status-badge {
display: inline-block;
padding: 6px 12px;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.badge-clean {
background: rgba(0, 255, 136, 0.2);
color: #00ff88;
border: 1px solid rgba(0, 255, 136, 0.3);
}
.badge-warning {
background: rgba(255, 215, 0, 0.2);
color: #ffd700;
border: 1px solid rgba(255, 215, 0, 0.3);
}
.badge-danger {
background: rgba(255, 0, 64, 0.2);
color: #ff0040;
border: 1px solid rgba(255, 0, 64, 0.3);
}
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-60px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(60px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.no-data {
grid-column: 1 / -1;
text-align: center;
padding: 80px 20px;
opacity: 0.6;
}
.no-data h2 {
font-size: 2.5rem;
margin-bottom: 20px;
color: #9d4edd;
font-weight: 700;
}
.loading-spinner {
display: inline-block;
width: 40px;
height: 40px;
border: 3px solid rgba(157, 78, 221, 0.3);
border-radius: 50%;
border-top-color: #9d4edd;
animation: spin 1s ease-in-out infinite;
margin-top: 20px;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
@media (max-width: 968px) {
.info-card {
grid-column: span 12;
}
}
@media (max-width: 768px) {
.container {
padding: 40px 16px;
}
.dashboard {
gap: 16px;
}
.card {
padding: 24px;
}
.info-item {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.info-value {
text-align: left;
}
}
</style>
</head>
<body>
<!-- Enhanced background effects -->
<div class="bg-effects">
<div class="grid-overlay"></div>
<div class="floating-orbs">
<div class="orb"></div>
<div class="orb"></div>
<div class="orb"></div>
<div class="orb"></div>
</div>
<div class="particles" id="particles"></div>
</div>
<div class="container">
<div class="header">
<h1>User Strike Dashboard</h1>
<p>Advanced Content Moderation System</p>
</div>
<div id="content" class="dashboard">
<div class="no-data">
<h2>Initializing Dashboard</h2>
<p>Loading user data from URL parameters...</p>
<div class="loading-spinner"></div>
</div>
</div>
</div>
<script>
// Enhanced particle system
function createParticles() {
const particles = document.getElementById('particles');
const particleCount = 80;
for (let i = 0; i < particleCount; i++) {
const particle = document.createElement('div');
particle.className = 'particle';
particle.style.left = Math.random() * 100 + '%';
particle.style.animationDelay = Math.random() * 12 + 's';
particle.style.animationDuration = (Math.random() * 6 + 8) + 's';
particles.appendChild(particle);
}
}
// Parse URL parameters
function getUrlParams() {
const urlParams = new URLSearchParams(window.location.search);
return {
group: urlParams.get('group') || 'N/A',
chat_id: urlParams.get('chat_id') || 'N/A',
userid: urlParams.get('userid') || 'N/A',
username: urlParams.get('username') || 'N/A',
strikes: parseInt(urlParams.get('strikes')) || 0
};
}
// Enhanced strike status information
function getStrikeInfo(strikes) {
if (strikes === 0) {
return {
class: 'strikes-0',
message: 'Clean Record',
description: 'This user has maintained an excellent standing with zero violations. They consistently follow all community guidelines and contribute positively to the platform.',
icon: '✅',
badge: 'badge-clean',
status: 'Excellent Standing'
};
} else if (strikes === 1) {
return {
class: 'strikes-1',
message: 'First Warning',
description: 'User received their initial strike for posting inappropriate content. This serves as a formal warning to review and adhere to community guidelines.',
icon: '⚠️',
badge: 'badge-warning',
status: 'Warning Issued'
};
} else if (strikes === 2) {
return {
class: 'strikes-2',
message: 'Final Warning',
description: 'User has accumulated 2 strikes for repeated violations. This is their final warning before facing potential account restrictions or suspension.',
icon: '🚨',
badge: 'badge-warning',
status: 'Final Warning'
};
} else {
return {
class: 'strikes-3-plus',
message: 'Critical Status',
description: 'User has exceeded the violation threshold with multiple infractions. Immediate review required for potential account suspension or permanent ban.',
icon: '🔴',
badge: 'badge-danger',
status: 'Under Review'
};
}
}
// Enhanced user information display
function displayUserInfo() {
const params = getUrlParams();
const strikeInfo = getStrikeInfo(params.strikes);
const content = `
<div class="strikes-display card">
<div class="warning-icon">${strikeInfo.icon}</div>
<div class="card-title">Strike Status Overview</div>
<div class="strikes-number ${strikeInfo.class}">${params.strikes}</div>
<div class="strikes-message ${strikeInfo.class}">${strikeInfo.message}</div>
<div class="strikes-description">${strikeInfo.description}</div>
</div>
<div class="card info-card">
<div class="card-title">👤 User Profile</div>
<div class="info-item">
<span class="info-label">Username</span>
<span class="info-value">@${params.username}</span>
</div>
<div class="info-item">
<span class="info-label">User ID</span>
<span class="info-value">${params.userid}</span>
</div>
<div class="info-item">
<span class="info-label">Group Name</span>
<span class="info-value">${params.group}</span>
</div>
<div class="info-item">
<span class="info-label">Chat ID</span>
<span class="info-value">${params.chat_id}</span>
</div>
</div>
<div class="card info-card">
<div class="card-title">⚖️ Moderation Details</div>
<div class="info-item">
<span class="info-label">Total Strikes</span>
<span class="info-value">${params.strikes}/3</span>
</div>
<div class="info-item">
<span class="info-label">Violation Type</span>
<span class="info-value">NSFW Content</span>
</div>
<div class="info-item">
<span class="info-label">Account Status</span>
<span class="info-value">
<span class="status-badge ${strikeInfo.badge}">${strikeInfo.status}</span>
</span>
</div>
<div class="info-item">
<span class="info-label">Action Required</span>
<span class="info-value">${
params.strikes === 0 ? 'None' :
params.strikes >= 3 ? 'Immediate Review' :
params.strikes === 2 ? 'Final Warning' : 'Monitoring'
}</span>
</div>
<div class="info-item">
<span class="info-label">Risk Level</span>
<span class="info-value">${
params.strikes === 0 ? 'Low' :
params.strikes === 1 ? 'Medium' :
params.strikes === 2 ? 'High' : 'Critical'
}</span>
</div>
</div>
`;
document.getElementById('content').innerHTML = content;
document.getElementById('content').className = 'dashboard';
}
// Initialize the enhanced dashboard
function init() {
createParticles();
// Add slight delay for better loading experience
setTimeout(displayUserInfo, 800);
}
// Run when page loads
window.addEventListener('load', init);
// Add smooth scroll behavior
document.documentElement.style.scrollBehavior = 'smooth';
</script>
</body>
</html>