Files
Campus-25/static/Servers/Campus/Website/image.html
T
2026-10-14 06:59:51 +02:00

137 lines
7.1 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Photo - Campus</title>
<link rel="icon" type="image/png" href="assets/cat-icon.png">
<link rel="apple-touch-icon" href="assets/cat-icon.png">
<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=Roboto:wght@400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css?v=20260927c" />
<style>
.image-photo{position:relative;}
/* tagged-players button + popover */
.tagbtn{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:none;
background:rgba(0,0,0,.58);color:#fff;font:inherit;font-weight:700;font-size:.82rem;padding:7px 11px;border-radius:999px;}
.tagbtn svg{width:16px;height:16px;}
.tagpop{position:absolute;left:12px;bottom:52px;min-width:190px;max-width:280px;background:var(--card);border:1px solid var(--line);
border-radius:14px;box-shadow:0 16px 44px rgba(0,0,0,.35);padding:8px;display:none;z-index:6;}
.tagpop.open{display:block;}
.tagpop .tp-head{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:5px 8px 7px;}
.tagpop .tp-row{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:10px;}
.tagpop .tp-row:hover{background:var(--panel);}
.tagpop .tp-av{width:28px;height:28px;border-radius:50%;flex:none;background:var(--panel) center/cover no-repeat;}
.tagpop a.tp-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--text);font-weight:600;font-size:.9rem;}
.tagpop a.tp-name:hover{color:var(--primary);}
.tagpop .tp-x{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:2px 6px;border-radius:7px;}
.tagpop .tp-x:hover{color:#e11d48;background:rgba(225,29,72,.13);}
/* owner visibility control */
.vis-seg{display:inline-flex;gap:2px;margin-top:12px;padding:3px;border-radius:999px;background:var(--panel);border:1px solid var(--line);}
.vis-seg button{cursor:pointer;border:none;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:.8rem;padding:6px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;transition:.12s;}
.vis-seg button.active{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.14);}
.vis-seg svg{width:13px;height:13px;}
</style>
</head>
<body>
<a class="skip-link" href="#imagePage">Skip to content</a>
<header class="topbar">
<div class="top-left">
<button class="side-toggle" id="burger" aria-label="Open menu">
<img src="assets/cat-icon.png" alt="Menu" class="burger-cat" id="burgerCat">
</button>
</div>
<div class="top-right">
<button class="icon-btn" id="searchBtn" aria-label="Search">
<svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.3" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.7" y2="16.7"/></svg>
</button>
<button class="icon-btn notif-btn" id="notifBtn" aria-label="Notifications">
<svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.7 21a2 2 0 0 1-3.4 0"/></svg>
<span class="notif-badge hidden" id="notifBadge"></span>
</button>
<a href="/login" class="btn-login">Log in</a>
<a href="/download" class="btn-dl">DOWNLOAD</a>
</div>
</header>
<aside class="cat-drawer" id="catDrawer">
<nav class="cd-nav">
<a href="/">Home</a>
<a href="/rooms">Rooms</a>
<a href="/messages">Messages</a>
<a href="/#feed">Creative Program</a>
<a href="/patch-notes">Patch Notes</a>
<a href="/support">Support</a>
<a href="/news">News</a>
<a href="/challenges">Challenges</a>
<a href="/download">Download</a>
<a href="https://discord.gg/xH8MMwK5Bk" target="_blank" rel="noopener">Discord</a>
<a href="/accessibility">Accessibility</a>
</nav>
<button class="cd-theme-toggle"></button>
</aside>
<div class="side-scrim" id="scrim"></div>
<main class="image-page" id="imagePage">
<div class="image-photo" id="imagePhoto"></div>
<div class="image-below">
<div class="image-head">
<a class="image-author" id="imageAuthor" href="#">
<img class="image-author-av" id="imageAuthorAv" alt="">
<div class="image-author-id">
<span class="image-author-name" id="imageAuthorName">User</span>
<span class="image-author-handle" id="imageAuthorHandle">@user</span>
</div>
</a>
<div class="image-tools" id="imageTools">
<button class="img-report img-export" id="imgExport" title="Download this photo"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v12"/><path d="M7 10l5 5 5-5"/><path d="M4 19h16"/></svg>Export</button>
<button class="img-report" id="imgReport">Report</button>
<div class="image-menu-wrap">
<button class="image-menu-btn" id="imageMenuBtn" aria-label="More options">
<svg viewBox="0 0 24 24" fill="currentColor"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg>
</button>
<div class="image-menu" id="imageMenu">
<button class="image-menu-item" data-act="pfp">Set as Profile Picture</button>
<button class="image-menu-item" data-act="banner">Set as Profile Banner</button>
</div>
</div>
</div>
</div>
<div class="image-info">
<div class="image-info-text">
<h1 class="image-title" id="imageTitle">Title</h1>
<p class="image-meta" id="imageMeta"></p>
</div>
</div>
<section class="image-comments" id="imageComments">
<h2>Comments</h2>
<div id="imageCommentsHost"></div>
</section>
</div>
</main>
<!-- SEARCH PANEL -->
<div class="search-panel" id="searchPanel">
<div class="search-card">
<div class="search-tabs">
<button class="stab active" data-tab="people">People</button>
<button class="stab" data-tab="rooms">Rooms</button>
</div>
<div class="search-field">
<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.7" y2="16.7"/></svg>
<input type="text" id="searchInput" placeholder="Search people…" autocomplete="off">
</div>
<div class="search-results" id="searchResults"></div>
</div>
</div>
<div class="search-scrim" id="searchScrim"></div>
<script src="data.js?v=20260927c"></script>
<script src="app.js?v=20260927c"></script>
</body>
</html>