<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> {% if title %} <title>{{ title }} - Microblog</title> {% else %} <title>{{ _('Welcome to Microblog') }}</title> {% endif %} <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous"> </head> <body> <nav class="navbar navbar-expand-lg bg-body-tertiary"> <div class="container"> <a class="navbar-brand" href="{{ url_for('main.index') }}">Microblog</a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav me-auto mb-2 mb-lg-0"> <li class="nav-item"> <a class="nav-link" aria-current="page" href="{{ url_for('main.index') }}">{{ _('Home') }}</a> </li> <li class="nav-item"> <a class="nav-link" aria-current="page" href="{{ url_for('main.explore') }}">{{ _('Explore') }}</a> </li> {% if g.search_form %} <form class="navbar-form navbar-left" method="get" action="{{ url_for('main.search') }}"> <div class="form-group"> {{ g.search_form.q(size=20, class='form-control', placeholder=g.search_form.q.label.text) }} </div> </form> {% endif %} </ul> <ul class="navbar-nav mb-2 mb-lg-0"> {% if current_user.is_anonymous %} <li class="nav-item"> <a class="nav-link" aria-current="page" href="{{ url_for('auth.login') }}">{{ _('Login') }}</a> </li> {% else %} <li class="nav-item"> <a class="nav-link" aria-current="page" href="{{ url_for('main.user', username=current_user.username) }}">{{ _('Profile') }}</a> </li> <li class="nav-item"> <a class="nav-link" aria-current="page" href="{{ url_for('auth.logout') }}">{{ _('Logout') }}</a> </li> {% endif %} </ul> </div> </div> </nav> <div class="container mt-3"> {% with messages = get_flashed_messages() %} {% if messages %} {% for message in messages %} <div class="alert alert-info" role="alert">{{ message }}</div> {% endfor %} {% endif %} {% endwith %} {% block content %}{% endblock %} </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script> {{ moment.include_moment() }} {{ moment.lang(g.locale) }} <script> async function translate(sourceElem, destElem, sourceLang, destLang) { document.getElementById(destElem).innerHTML = '<img src="{{ url_for('static', filename='loading.gif') }}">'; const response = await fetch('/translate', { method: 'POST', headers: {'Content-Type': 'application/json; charset=utf-8'}, body: JSON.stringify({ text: document.getElementById(sourceElem).innerText, source_language: sourceLang, dest_language: destLang }) }) const data = await response.json(); document.getElementById(destElem).innerText = data.text; } </script> </body> </html>