Capture ThinkStorm project: codebase state, workflows, and access control policies
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{% block title %}ThinkStorm - AI-Assisted Idea Collection & Incubation{% endblock %}</title>
|
||||
<meta name="description" content="ThinkStorm captures ideas with zero friction, preserves original submissions, and orchestrates self-hosted AI to research, analyze, and incubate them.">
|
||||
<link rel="stylesheet" href="/static/css/style.css">
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>⚡</text></svg>">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Navigation Bar -->
|
||||
<header class="navbar">
|
||||
<div class="container nav-container">
|
||||
<a href="/" class="brand-logo">
|
||||
<div class="brand-icon">⚡</div>
|
||||
<span>ThinkStorm</span>
|
||||
</a>
|
||||
|
||||
<nav>
|
||||
<ul class="nav-links">
|
||||
<li><a href="/" class="nav-link {% if active_page == 'home' %}active{% endif %}">Intake</a></li>
|
||||
{% if user and user.role.value != 'ANONYMOUS' %}
|
||||
<li><a href="/ideas" class="nav-link {% if active_page == 'ideas' %}active{% endif %}">Browse Ideas</a></li>
|
||||
{% endif %}
|
||||
{% if user and user.role.value == 'ADMIN' %}
|
||||
<li><a href="/admin" class="nav-link {% if active_page == 'admin' %}active{% endif %}">Admin Control</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav-auth">
|
||||
{% if user and user.role.value != 'ANONYMOUS' %}
|
||||
<div class="nav-auth-pill">
|
||||
<span>👤 {{ user.username }}</span>
|
||||
<span class="user-role">{{ user.role.value }}</span>
|
||||
<button onclick="fetch('/api/auth/logout', {method:'POST'}).then(() => window.location.reload())" class="btn btn-secondary btn-sm" style="margin-left:0.5rem; padding:0.2rem 0.5rem;">Logout</button>
|
||||
</div>
|
||||
{% else %}
|
||||
<a href="/login" class="btn btn-secondary btn-sm">Sign In</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Main View -->
|
||||
<main class="main-content">
|
||||
<div class="container">
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer style="border-top: 1px solid var(--border-glass); padding: 2rem 0; text-align: center; color: var(--text-muted); font-size: 0.85rem;">
|
||||
<div class="container">
|
||||
<p>ThinkStorm Orchestrator • Self-Hosted AI Idea Incubation Platform</p>
|
||||
<p style="margin-top: 0.35rem; font-size: 0.78rem;">OpenGist • Gitea • SearXNG • Perplexica • OmniRoute • VirusTotal</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/static/js/app.js?v=20260819_v10"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user