π File Manager
π /
/
home
/
u857492117
/
domains
/
mangaldaicollege.org
/
public_html
/
MConnect_app
Dosya DΓΌzenle: index.php
<?php session_start(); include "db.php"; if(!isset($_SESSION['user_id']) || $_SESSION['role'] != "student"){ header("Location: login.php"); exit(); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>MConnect β Student</title> <link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&family=DM+Mono:wght@400;500&display=swap" rel="stylesheet"> <style> :root { --bg: #f5f4f0; --surface: #ffffff; --surface-2: #f0ede8; --border: rgba(0,0,0,0.08); --border-md: rgba(0,0,0,0.13); --text-1: #1a1917; --text-2: #5a5751; --text-3: #9a9590; --accent: #2e2a7a; --accent-soft: #eceaff; --accent-mid: #6b65d4; --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04); --shadow-md: 0 4px 16px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04); --radius-sm: 8px; --radius-md: 12px; --radius-lg: 18px; --radius-xl: 24px; --nav-h: 64px; } *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; } body { font-family: 'DM Sans', sans-serif; font-size: 15px; line-height: 1.6; background: var(--bg); color: var(--text-1); min-height: 100vh; padding-bottom: calc(var(--nav-h) + 24px); } /* ββ TOPBAR βββββββββββββββββββββββββββββββ */ .topbar { position: sticky; top: 0; z-index: 200; background: rgba(245,244,240,0.88); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 56px; } .topbar-logo { display: flex; align-items: center; gap: 9px; font-size: 17px; font-weight: 500; letter-spacing: -0.3px; color: var(--text-1); text-decoration: none; } .topbar-logo span { color: var(--accent-mid); } .topbar-logo-icon { width: 32px; height: 32px; border-radius: 9px; background: var(--accent); display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 2px 8px rgba(46,42,122,0.28); } .topbar-right { display: flex; align-items: center; gap: 8px; position: relative; } .icon-btn { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.15s; } .icon-btn:hover { background: var(--surface-2); } /* ββ AVATAR βββββββββββββββββββββββββββββββ */ .avatar-wrap { position: relative; } .avatar-btn { width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--surface); box-shadow: var(--shadow-sm); cursor: pointer; overflow: hidden; display: flex; align-items: center; justify-content: center; transition: opacity 0.15s; flex-shrink: 0; background: #0f6e56; /* teal fallback bg */ } .avatar-btn:hover { opacity: 0.88; } /* when photo exists */ .avatar-btn img { width: 100%; height: 100%; object-fit: cover; display: block; } /* initials fallback */ .avatar-initials { font-size: 12px; font-weight: 500; color: #fff; letter-spacing: 0.3px; user-select: none; } /* ββ DROPDOWN βββββββββββββββββββββββββββββ */ .profile-dropdown { position: absolute; top: calc(100% + 10px); right: 0; width: 248px; background: var(--surface); border: 1px solid var(--border-md); border-radius: var(--radius-lg); box-shadow: 0 8px 30px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06); overflow: hidden; opacity: 0; transform: translateY(-6px) scale(0.97); pointer-events: none; transition: opacity 0.18s ease, transform 0.18s ease; z-index: 300; } .profile-dropdown.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: all; } /* USER BLOCK */ .dropdown-user { padding: 14px 16px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--border); background: var(--surface-2); } .dropdown-user-photo { width: 46px; height: 46px; border-radius: 50%; overflow: hidden; flex-shrink: 0; border: 2px solid var(--surface); box-shadow: var(--shadow-sm); display: flex; align-items: center; justify-content: center; background: #0f6e56; } .dropdown-user-photo img { width: 100%; height: 100%; object-fit: cover; display: block; } .dropdown-user-photo .dropdown-initials { font-size: 15px; font-weight: 500; color: #fff; letter-spacing: 0.3px; } .dropdown-user-info { min-width: 0; } .dropdown-name { font-size: 14px; font-weight: 500; color: var(--text-1); letter-spacing: -0.1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .dropdown-roll { font-size: 12px; color: var(--text-3); margin-top: 1px; font-family: 'DM Mono', 'Courier New', monospace; letter-spacing: 0.3px; } /* MENU */ .dropdown-menu { padding: 6px; } .dropdown-item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: var(--radius-sm); cursor: pointer; text-decoration: none; color: var(--text-1); font-size: 14px; font-family: 'DM Sans', sans-serif; border: none; background: transparent; width: 100%; transition: background 0.13s; } .dropdown-item:hover { background: var(--surface-2); } .dropdown-item:hover .item-icon { background: var(--accent-soft); } .dropdown-item.danger { color: #9b2a2a; } .dropdown-item.danger:hover { background: #fdf0f0; } .dropdown-item.danger .item-icon { background: #fdf0f0; } .dropdown-item.danger:hover .item-icon { background: #f7c1c1; } .item-icon { width: 30px; height: 30px; border-radius: var(--radius-sm); background: var(--surface-2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 0.13s; } .dropdown-divider { height: 1px; background: var(--border); margin: 4px 6px; } /* ββ PAGE βββββββββββββββββββββββββββββββββ */ .page { max-width: 520px; margin: 0 auto; padding: 22px 16px 0; } /* ββ GREETING βββββββββββββββββββββββββββββ */ .greeting { margin-bottom: 22px; } .greeting-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 4px; } .greeting h1 { font-size: 21px; font-weight: 500; letter-spacing: -0.4px; color: var(--text-1); } .date-chip { font-size: 12px; color: var(--text-2); background: var(--surface); border: 1px solid var(--border); border-radius: 99px; padding: 4px 12px; white-space: nowrap; margin-top: 2px; } .greeting p { font-size: 14px; color: var(--text-2); } /* ββ SECTION LABEL ββββββββββββββββββββββββ */ .section-label { font-size: 11.5px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.7px; color: var(--text-3); margin-bottom: 12px; } /* ββ ROUTINE SCROLL βββββββββββββββββββββββ */ .routine-section { margin-bottom: 24px; } .routine-scroll { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; } .routine-scroll::-webkit-scrollbar { display: none; } .class-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); padding: 18px 16px 16px; min-width: 200px; max-width: 200px; flex-shrink: 0; scroll-snap-align: start; display: flex; flex-direction: column; gap: 14px; transition: box-shadow 0.18s, transform 0.15s; position: relative; overflow: hidden; } .class-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); } .class-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--border); border-radius: var(--radius-xl) var(--radius-xl) 0 0; } .class-card.ongoing::before { background: var(--accent-mid); } .class-card.ongoing { border-color: rgba(107,101,212,0.28); background: #faf9ff; } .card-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 500; letter-spacing: 0.4px; text-transform: uppercase; border-radius: 99px; padding: 3px 9px; width: fit-content; } .card-badge.ongoing { background: var(--accent-soft); color: var(--accent-mid); } .card-badge.upcoming { background: var(--surface-2); color: var(--text-3); } .badge-dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex-shrink: 0; } .class-title { font-size: 16px; font-weight: 500; color: var(--text-1); letter-spacing: -0.25px; line-height: 1.3; } .class-info { display: flex; flex-direction: column; gap: 6px; } .class-info-row { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--text-2); } .class-info-row svg { flex-shrink: 0; color: var(--text-3); } .btn-give { width: 100%; padding: 10px; border-radius: var(--radius-md); font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 500; cursor: pointer; border: none; margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 6px; transition: background 0.15s, color 0.15s; } .btn-give.active { background: var(--accent); color: #fff; } .btn-give.active:hover { background: #231d6a; } .btn-give.muted { background: var(--surface-2); color: var(--text-3); cursor: default; } /* ββ STATS ROW ββββββββββββββββββββββββββββ */ .stats-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 24px; } /* attendance card */ .attend-card { background: var(--surface); border-radius: var(--radius-lg); border: 1px solid var(--border); box-shadow: var(--shadow-sm); padding: 16px; display: flex; flex-direction: column; align-items: center; gap: 10px; } .ring-wrap { position: relative; width: 72px; height: 72px; } .ring-wrap svg { transform: rotate(-90deg); } .ring-bg { fill: none; stroke: var(--surface-2); stroke-width: 6; } .ring-fg { fill: none; stroke-width: 6; stroke-linecap: round; stroke-dasharray: 188; transition: stroke-dashoffset 1s ease; } .ring-text { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 500; color: var(--text-1); } .attend-label { font-size: 12.5px; color: var(--text-2); font-weight: 500; } /* quick cards col */ .quick-col { display: flex; flex-direction: column; gap: 10px; } .quick-card { background: var(--surface); border-radius: var(--radius-lg); border: 1px solid var(--border); box-shadow: var(--shadow-sm); padding: 14px 16px; display: flex; align-items: center; gap: 12px; cursor: pointer; text-decoration: none; color: inherit; transition: box-shadow 0.15s, transform 0.15s; flex: 1; } .quick-card:hover { box-shadow: var(--shadow-md); transform: translateY(-1px); } .quick-icon { width: 36px; height: 36px; border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .quick-text { flex: 1; min-width: 0; } .quick-title { font-size: 14px; font-weight: 500; color: var(--text-1); } .quick-sub { font-size: 12px; color: var(--text-3); } .notif-badge { font-size: 11px; font-weight: 500; min-width: 20px; height: 20px; border-radius: 99px; background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; padding: 0 5px; flex-shrink: 0; } /* ββ NOTICE BOARD βββββββββββββββββββββββββ */ .notice-section { margin-bottom: 24px; } .notice-card { background: var(--surface); border-radius: var(--radius-xl); border: 1px solid var(--border); box-shadow: var(--shadow-sm); overflow: hidden; } .notice-head { padding: 14px 18px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 10px; background: var(--surface-2); } .notice-head-icon { width: 32px; height: 32px; border-radius: var(--radius-sm); background: var(--accent-soft); display: flex; align-items: center; justify-content: center; } .notice-head-title { font-size: 14px; font-weight: 500; color: var(--text-1); } .notice-head-sub { font-size: 12px; color: var(--text-3); } .notice-item { padding: 13px 18px; border-bottom: 1px solid var(--border); display: flex; align-items: flex-start; gap: 12px; transition: background 0.13s; } .notice-item:last-child { border-bottom: none; } .notice-item:hover { background: var(--surface-2); } .notice-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent-mid); flex-shrink: 0; margin-top: 7px; } .notice-dot.warn { background: #ba7517; } .notice-dot.info { background: #185fa5; } .notice-text { font-size: 14px; color: var(--text-1); line-height: 1.45; } .notice-date { font-size: 12px; color: var(--text-3); margin-top: 2px; } /* ββ BOTTOM NAV βββββββββββββββββββββββββββ */ .bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; height: var(--nav-h); background: rgba(255,255,255,0.9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--border); display: flex; justify-content: space-around; align-items: center; padding: 0 8px; z-index: 90; } .nav-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 0; border-radius: var(--radius-md); cursor: pointer; text-decoration: none; color: var(--text-3); transition: background 0.15s; } .nav-item:hover { background: var(--surface-2); } .nav-item svg { width: 22px; height: 22px; } .nav-text { font-size: 11px; font-weight: 500; letter-spacing: 0.2px; } .nav-item.active { color: var(--accent); } </style> </head> <body> <!-- TOPBAR --> <?php include "studentHeader.php"; ?> <!-- PAGE --> <main class="page"> <!-- GREETING --> <div class="greeting"> <div class="greeting-top"> <h1>Good morning π</h1> <div class="date-chip" id="dateChip">β</div> </div> <p>You have 4 classes scheduled today</p> </div> <!-- ROUTINE --> <div class="routine-section"> <div class="section-label">Today's routine</div> <div class="routine-scroll"> <!-- ONGOING --> <div class="class-card ongoing"> <div class="card-badge ongoing"> <span class="badge-dot"></span> Ongoing </div> <div class="class-title">Computer Science</div> <div class="class-info"> <div class="class-info-row"> <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> Room 202 </div> <div class="class-info-row"> <svg width="12" height="12" 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"/><polyline points="12 6 12 12 16 14"/></svg> 9:00 β 10:00 AM </div> </div> <button class="btn-give active"> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 11 12 14 22 4"/><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"/></svg> Give Attendance </button> </div> <!-- UPCOMING --> <div class="class-card"> <div class="card-badge upcoming"> <span class="badge-dot"></span> Upcoming </div> <div class="class-title">Mathematics</div> <div class="class-info"> <div class="class-info-row"> <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> Room 305 </div> <div class="class-info-row"> <svg width="12" height="12" 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"/><polyline points="12 6 12 12 16 14"/></svg> 10:15 β 11:15 AM </div> </div> <button class="btn-give muted" disabled> <svg width="13" height="13" 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"/><polyline points="12 6 12 12 16 14"/></svg> Not Started </button> </div> <!-- UPCOMING --> <div class="class-card"> <div class="card-badge upcoming"> <span class="badge-dot"></span> Upcoming </div> <div class="class-title">Physics</div> <div class="class-info"> <div class="class-info-row"> <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> Room 210 </div> <div class="class-info-row"> <svg width="12" height="12" 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"/><polyline points="12 6 12 12 16 14"/></svg> 11:30 AM β 12:30 PM </div> </div> <button class="btn-give muted" disabled> <svg width="13" height="13" 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"/><polyline points="12 6 12 12 16 14"/></svg> Not Started </button> </div> <!-- UPCOMING --> <div class="class-card"> <div class="card-badge upcoming"> <span class="badge-dot"></span> Upcoming </div> <div class="class-title">Web Development</div> <div class="class-info"> <div class="class-info-row"> <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> Room 410 </div> <div class="class-info-row"> <svg width="12" height="12" 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"/><polyline points="12 6 12 12 16 14"/></svg> 1:30 β 2:30 PM </div> </div> <button class="btn-give muted" disabled> <svg width="13" height="13" 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"/><polyline points="12 6 12 12 16 14"/></svg> Not Started </button> </div> </div> </div> <!-- STATS + QUICK LINKS --> <div class="section-label">Overview</div> <div class="stats-row"> <!-- ATTENDANCE RING --> <div class="attend-card"> <?php $attendance = 33; if ($attendance < 35) { $color = '#e24b4a'; $stroke = '#e24b4a'; } elseif ($attendance < 50) { $color = '#ef9f27'; $stroke = '#ef9f27'; } elseif ($attendance < 75) { $color = '#378add'; $stroke = '#378add'; } else { $color = '#1d9e75'; $stroke = '#1d9e75'; } // stroke-dashoffset = 188 * (1 - attendance/100) $offset = round(188 * (1 - $attendance / 100)); ?> <div class="ring-wrap"> <svg width="72" height="72" viewBox="0 0 72 72"> <circle class="ring-bg" cx="36" cy="36" r="30"/> <circle class="ring-fg" cx="36" cy="36" r="30" style="stroke:<?= $stroke ?>; stroke-dashoffset:<?= $offset ?>"/> </svg> <div class="ring-text"><?= $attendance ?>%</div> </div> <div class="attend-label">Attendance</div> </div> <!-- QUICK LINKS --> <div class="quick-col"> <a class="quick-card" href="#"> <div class="quick-icon" style="background:#fff4e0;"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#7a4f00" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/> <polyline points="14 2 14 8 20 8"/> <line x1="16" y1="13" x2="8" y2="13"/> <line x1="16" y1="17" x2="8" y2="17"/> </svg> </div> <div class="quick-text"> <div class="quick-title">Assignments</div> <div class="quick-sub">Due soon</div> </div> <div class="notif-badge">3</div> </a> <a class="quick-card" href="#"> <div class="quick-icon" style="background:#e6f1fb;"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#185fa5" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/> <path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/> </svg> </div> <div class="quick-text"> <div class="quick-title">Notes</div> <div class="quick-sub">New uploads</div> </div> <div class="notif-badge">1</div> </a> </div> </div> <!-- NOTICE BOARD --> <div class="notice-section"> <div class="section-label">Department notice</div> <div class="notice-card"> <div class="notice-head"> <div class="notice-head-icon"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--accent-mid)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <path d="M22 17H2a3 3 0 0 0 3-3V9a7 7 0 0 1 14 0v5a3 3 0 0 0 3 3zm-8.27 4a2 2 0 0 1-3.46 0"/> </svg> </div> <div> <div class="notice-head-title">Department Notices</div> <div class="notice-head-sub">3 active announcements</div> </div> </div> <div class="notice-item"> <div class="notice-dot warn"></div> <div> <div class="notice-text">Mid Semester Exam starts from 12 Oct</div> <div class="notice-date">Posted 2 days ago</div> </div> </div> <div class="notice-item"> <div class="notice-dot"></div> <div> <div class="notice-text">Physics Lab class cancelled today</div> <div class="notice-date">Posted today</div> </div> </div> <div class="notice-item"> <div class="notice-dot info"></div> <div> <div class="notice-text">Web Development assignment due tomorrow</div> <div class="notice-date">Posted yesterday</div> </div> </div> </div> </div> </main> <!-- BOTTOM NAV --> <nav class="bottom-nav"> <a class="nav-item active" href="#"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" 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> <span class="nav-text">Home</span> </a> <a class="nav-item" href="#"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <rect x="3" y="4" width="18" height="18" rx="2"/><line x1="3" y1="10" x2="21" y2="10"/> <line x1="8" y1="2" x2="8" y2="6"/><line x1="16" y1="2" x2="16" y2="6"/> </svg> <span class="nav-text">Class Diary</span> </a> <a class="nav-item" href="#"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/> <path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/> </svg> <span class="nav-text">Wall</span> </a> <a class="nav-item" href="#"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <line x1="18" y1="20" x2="18" y2="10"/> <line x1="12" y1="20" x2="12" y2="4"/> <line x1="6" y1="20" x2="6" y2="14"/> </svg> <span class="nav-text">Insights</span> </a> </nav> <script> // Date chip const days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; const months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; const now = new Date(); document.getElementById('dateChip').textContent = days[now.getDay()] + ', ' + now.getDate() + ' ' + months[now.getMonth()]; </script> </body> </html>
πΎ Kaydet
Δ°ptal