<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>{% block title %}StarPunk{% endblock %}</title>
  <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
  <link rel="alternate" type="application/rss+xml" title="{{ config.SITE_NAME }} RSS Feed" href="{{ url_for('public.feed', _external=True) }}">
  <link rel="alternate" type="application/xml+opml" title="{{ config.SITE_NAME }} Feed Subscription List" href="{{ url_for('public.opml', _external=True) }}">

  {% block head %}{% endblock %}
</head>
<body>
  {% if config.DEV_MODE %}
  <div class="dev-mode-warning">
    WARNING: DEVELOPMENT MODE - Authentication bypassed
  </div>
  {% endif %}

  <header>
    <h1><a href="/">StarPunk</a></h1>
    <nav>
      <a href="/">Home</a>
      <a href="{{ url_for('public.feed') }}">RSS</a>
      {% if g.me %}
      <a href="{{ url_for('admin.dashboard') }}">Admin</a>
      {% endif %}
      <form action="/search" method="get" role="search" style="margin-left: auto; display: flex; gap: var(--spacing-sm);">
        <input
          type="search"
          name="q"
          placeholder="Search..."
          aria-label="Search"
          value="{{ request.args.get('q', '') }}"
          minlength="2"
          maxlength="100"
          required
          style="width: 200px; padding: var(--spacing-xs) var(--spacing-sm);"
        >
        <button type="submit" class="button button-small" style="padding: var(--spacing-xs) var(--spacing-sm);">🔍</button>
      </form>
    </nav>
  </header>

  <main>
    {% with messages = get_flashed_messages(with_categories=true) %}
      {% if messages %}
        {% for category, message in messages %}
          <div class="flash flash-{{ category }}">{{ message }}</div>
        {% endfor %}
      {% endif %}
    {% endwith %}

    {% block content %}{% endblock %}
  </main>

  <footer>
    <p>StarPunk v{{ config.get('VERSION', '0.5.0') }}</p>
  </footer>
</body>
</html>
