ARMS-Result / static /index.html
sidhesh01's picture
Update static/index.html
0e94544 verified
Raw History Blame Contribute Delete
9.86 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>SIMATS Result Hub</title>
<meta name="description" content="SIMATS Result Hub — View your CGPA, grades, and detailed mark splits for all courses.">
<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=Outfit:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- Dynamic Animated Background -->
<div class="bg-shapes">
<div class="shape shape-1"></div>
<div class="shape shape-2"></div>
<div class="shape shape-3"></div>
</div>
<div class="noise-overlay"></div>
<!-- Login View -->
<main class="view-container" id="login-view-container">
<div class="glass-card login-card" id="login-view">
<div class="brand-logo">
<div class="logo-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/></svg>
</div>
</div>
<header>
<h1>Welcome to SIMATS</h1>
<p class="subtitle">Enter your credentials to continue</p>
</header>
<div id="error-message" class="error-alert hidden">
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
<span id="error-text">Authentication failed</span>
</div>
<form id="login-form">
<div class="input-group">
<input type="text" id="username" name="username" required autocomplete="off" placeholder=" ">
<label for="username">Registration Number</label>
<div class="input-highlight"></div>
</div>
<div class="input-group">
<input type="password" id="password" name="password" required placeholder=" ">
<label for="password">Password</label>
<div class="input-highlight"></div>
</div>
<button type="submit" class="btn-glow" id="submit-btn">
<span class="btn-text">Sign In</span>
<span class="loader hidden"></span>
</button>
</form>
</div>
</main>
<!-- Dashboard View -->
<div id="dashboard-view" class="dashboard-container hidden">
<nav class="glass-nav">
<div class="nav-content">
<div class="nav-brand">
<div class="logo-icon-small">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/></svg>
</div>
<h2>SIMATS <span class="text-gradient">Result Hub</span></h2>
</div>
<div class="nav-actions">
<!-- Menu Tabs -->
<div class="nav-tabs" id="nav-tabs">
<button class="nav-tab active" data-tab="home" id="tab-home">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg>
Home
</button>
<button class="nav-tab" data-tab="search" id="tab-search">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
Search
</button>
</div>
<div class="user-badge" id="user-display">Student</div>
<button type="button" id="logout-btn" class="btn-icon" title="Sign Out">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" y1="12" x2="9" y2="12"></line></svg>
</button>
</div>
</div>
</nav>
<!-- HOME PAGE -->
<main class="dashboard-main" id="home-page">
<!-- Loading State -->
<div id="dashboard-loading" class="loading-overlay">
<div class="circular-loader-wrapper">
<svg class="progress-ring" width="140" height="140">
<circle class="progress-ring__track" stroke="rgba(255,255,255,0.05)" stroke-width="8" fill="transparent" r="60" cx="70" cy="70"/>
<circle class="progress-ring__circle" stroke="url(#gradient)" stroke-width="8" stroke-linecap="round" fill="transparent" r="60" cx="70" cy="70"/>
<defs>
<linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#f97316" />
<stop offset="50%" stop-color="#ef4444" />
<stop offset="100%" stop-color="#dc2626" />
</linearGradient>
</defs>
</svg>
<div class="percentage-container">
<span class="percentage-text" id="progress-percentage">0</span>
<span class="percentage-sign">%</span>
</div>
</div>
<p class="loading-status" id="progress-text">Connecting to SIMATS...</p>
</div>
<div id="dashboard-error" class="error-alert hidden" style="max-width: 600px; margin: 40px auto;"></div>
<!-- Cards Grid -->
<div id="cards-container" class="cards-grid hidden">
<!-- Injected via JS -->
</div>
</main>
<!-- SEARCH PAGE -->
<main class="dashboard-main hidden" id="search-page">
<div class="search-section">
<div class="search-header">
<h2 class="search-title">Search <span class="text-gradient">Student Results</span></h2>
<p class="search-subtitle">Enter a register number to view their complete academic performance</p>
</div>
<form id="search-form" class="search-bar-wrapper">
<div class="search-input-group">
<svg class="search-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
<input type="text" id="search-register" placeholder="Enter Register Number (e.g. 001XXXXXXXXX)" autocomplete="off" required>
<button type="submit" class="search-btn" id="search-submit-btn">
<span class="btn-text">Search</span>
<span class="loader hidden"></span>
</button>
</div>
</form>
<div id="search-error" class="error-alert hidden" style="max-width: 600px; margin: 20px auto;"></div>
</div>
<!-- Search Loading -->
<div id="search-loading" class="loading-overlay hidden">
<div class="circular-loader-wrapper">
<svg class="progress-ring" width="140" height="140">
<circle class="progress-ring__track" stroke="rgba(255,255,255,0.05)" stroke-width="8" fill="transparent" r="60" cx="70" cy="70"/>
<circle class="progress-ring__circle search-ring-circle" stroke="url(#gradient)" stroke-width="8" stroke-linecap="round" fill="transparent" r="60" cx="70" cy="70"/>
</svg>
<div class="percentage-container">
<span class="percentage-text" id="search-progress-percentage">0</span>
<span class="percentage-sign">%</span>
</div>
</div>
<p class="loading-status" id="search-progress-text">Searching student records...</p>
</div>
<!-- Search Results Grid -->
<div id="search-cards-container" class="cards-grid hidden">
<!-- Injected via JS -->
</div>
</main>
</div>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="script.js?v=3"></script>
</body>
</html>