feat(templates): Add new MDL based index page

This commit is contained in:
Vincent Ambo 2018-05-20 14:12:07 +02:00 committed by Vincent Ambo
parent d0d3777eaa
commit eaf1c46ba8
3 changed files with 157 additions and 36 deletions

View file

@ -2,44 +2,72 @@
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="Content-Security-Policy" content="script-src 'self';">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<title>Converse Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<title>Converse: Index</title>
<!-- TODO -->
<meta http-equiv="Content-Security-Policy" content="script-src https://code.getmdl.io 'self';">
<!-- <link rel="shortcut icon" href="images/favicon.png"> -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.blue_grey-orange.min.css" />
<link rel="stylesheet" href="/static/styles.css">
</head>
<body>
<header>
<nav class="navbar navbar-light bg-light justify-content-between mb-3">
<a class="navbar-brand" href="/">
<h2>Converse</h2>
</a>
<form class="form-inline" method="get" action="/search">
<input class="form-control mr-sm-2" type="search" placeholder="Search" name="query" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0 mr-1" type="submit">Search</button>
<a class="btn btn-outline-secondary my-2" href="/thread/new">New thread</a>
</form>
</nav>
</header>
<div class="container">
<div class="row">
<div class="col-12">
<div class="list-group">
{% for thread in threads -%}
<a href="/thread/{{ thread.id }}" class="list-group-item list-group-item-action flex-column align-items-start {%- if thread.sticky %} bg-secondary text-white {% endif -%}">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">{% if thread.sticky %}<span class="badge badge-light">Sticky</span> {% endif %}{{ thread.title | safe }}</h5>
<small class="{% if thread.sticky %}text-white{% else %}text-muted{% endif %}">{{ thread.posted }}</small>
</div>
<div class="d-flex justify-content-between">
<p class="mb-1">Created by {{ thread.author_name }}</p>
<small>Last post by {{ thread.post_author }}</small>
</div>
</a>
{%- endfor %}
<body class="converse mdl-base mdl-color-text--grey-700 mdl-color--grey-100">
<div class="mdl-layout mdl-layout--fixed-header mdl-js-layout mdl-color--grey-100">
<header class="mdl-layout__header mdl-layout__header--scroll mdl-color--primary-dark">
<div class="mdl-layout__header-row">
<a href="/" class="mdl-layout-title mdl-color-text--blue-grey-50 cvs-title">Converse</a>
<div class="mdl-layout-spacer"></div>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdl-color-text--blue-grey-50 search-field">
<form method="get" action="/search">
<input class="mdl-textfield__input" type="search" id="search-query" aria-label="Search" name="query">
<label class="mdl-textfield__label mdl-color-text--blue-grey-100" for="search-query">Search query...</label>
<input type="submit" hidden /> <!-- TODO: necessary? -->
</form>
</div>
&nbsp;
<a href="/thread/new">
<button class="mdl-button mdl-js-button mdl-button--raised mdl-button--accent mdl-js-ripple-effect">
New Thread
</button>
</a>
</div>
</header>
<main class="mdl-layout__content">
<section class="section--center mdl-grid mdl-grid--no-spacing mdl-shadow--2dp">
<div class="mdl-card mdl-cell mdl-cell--12-col">
<div class="mdl-card__supporting-text mdl-grid">
<h4 class="mdl-cell mdl-cell--12-col">Latest threads:</h4>
<ul class="mdl-list">
{% for thread in threads -%}
<li class="mdl-list__item thread-list-item mdl-list__item--three-line">
<a class="thread-link mdl-color-text--grey-800" href="/thread/{{ thread.id }}">
<span class="mdl-list__item-primary-content {% if not loop.last %}thread-divider{% endif %}">
<button class="mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab mdl-button--colored mdl-list__item-icon">
<i class="material-icons">{% if thread.sticky -%} announcement {%- else -%} library_books{% endif %}</i>
</button>
<span class="thread-title">{{ thread.title | safe }}<span class="thread-author"> by {{ thread.author_name }}</span></span>
<span class="mdl-list__item-text-body">
Last reply by {{ thread.post_author }} on {{ thread.posted }}.
</span>
</span>
</a>
</li>
{%- endfor %}
</ul>
</div>
</div>
</section>
</main>
<footer class="mdl-mini-footer">
<div class="mdl-mini-footer--right-section">
<p>Powered by <a href="https://github.com/tazjin/converse">Converse</a></p>
</div>
</footer>
</div>
</div>
<script src="https://code.getmdl.io/1.3.0/material.min.js"></script>
</body>
</html>