tvl-depot/web/converse/templates/thread.html
Vincent Ambo 8142149e28 feat(web/converse): Import repository
Imports the converse forum software I wrote a few years ago. I want to
clean this up a bit and try using Hotwire with it.

Note: The original repository was AGPL-3.0 licensed. I'm the copyright
holder and have relicensed it to GPL-3.0 in the commit that is being
merged.

Imported from: https://github.com/tazjin/converse

git-subtree-dir: web/converse
git-subtree-mainline: 386afdc794
git-subtree-split: 09168021e7
Change-Id: Ia8b587db5174ef5b3c52910d3d027199150c58e0
2021-04-05 17:01:15 +02:00

111 lines
7 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<title>Converse: {{ title }}</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/css?family=Ubuntu+Mono">
<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">
<!-- Syntax highlighting for code -->
<link rel="stylesheet" href="/static/highlight.css">
<style>img { max-width:100%; height:auto; }</style>
<script src="/static/highlight.js"></script>
</head>
<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-color--primary-dark">
<div class="mdl-layout__header-row">
<a href="/" class="mdl-layout-title mdl-color-text--blue-grey-50 cvs-title">Converse: {{ title }}</a>
<div class="mdl-layout-spacer"></div>
<a href="/">
<button class="mdl-button mdl-js-button mdl-button--raised mdl-button--accent mdl-js-ripple-effect">
Back to index
</button>
</a>
</div>
</header>
<main class="mdl-layout__content">
{% for post in posts -%}
<section id="post-{{ post.id }}" class="section--center mdl-grid mdl-grid--no-spacing">
<!-- card to display avatars on desktop -->
<div class="mdl-card mdl-shadow--2dp mdl-cell--2-col mdl-cell--hide-phone mdl-cell--hide-tablet avatar-box">
<div class="avatar-card">
<img class="desktop-avatar" src="https://www.gravatar.com/avatar/{{ post.author_gravatar }}?d=monsterid&s=160" />
<p class="user-name">{{ post.author_name }}</p>
</div>
</div>
<!-- card for main post content -->
<div class="mdl-card mdl-shadow--2dp post-box mdl-cell--10-col">
<!-- card section for displaying user & post information on mobile -->
<div class="mdl-card__supporting-text mdl-card--border mdl-cell--hide-desktop mdl-color-text--blue-grey-500 mobile-user">
<img class="mobile-avatar" src="https://www.gravatar.com/avatar/{{ post.author_gravatar }}?d=monsterid"/>
<span>&nbsp;{{ post.author_name }} posted on </span>
<a class="mdl-color-text--blue-grey-500 mobile-date" href="/thread/{{ id }}#post-{{ post.id }}">{{ post.posted }}</a>
</div>
<!-- card section to display post date on desktop -->
<div class="mdl-card__menu mdl-cell--hide-phone mdl-cell--hide-tablet">
<a class="post-date mdl-color-text--blue-grey-500" href="/thread/{{ id }}#post-{{ post.id }}">{{ post.posted }}</a>
</div>
<!-- card section for actual post content -->
<div class="mdl-card__supporting-text post-box">{{ post.body|safe }}</div>
<!-- card section for post actions -->
<div class="mdl-card__actions post-actions">
<div class="mdl-layout-spacer"></div>
{% if post.editable %}
<a href="/post/{{ post.id }}/edit" class="mdl-button mdl-js-button mdl-button--accent" id="edit-post-{{ post.id }}" aria-label="Edit post">
<i class="material-icons">edit</i>
<span class="mdl-tooltip mdl-tooltip--top" for="edit-post-{{ post.id }}">Edit post</span>
</a>
{% endif %}
<button class="mdl-button mdl-js-button mdl-button--accent" id="quote-post-{{ post.id }}" aria-label="Quote post" disabled>
<i class="material-icons">reply</i>
<span class="mdl-tooltip mdl-tooltip--top" for="quote-post-{{ post.id }}">Quote post</span>
</button>
</div>
</div>
</section>
{% endfor %}
<!-- section for writing a response on the same page -->
<section id="post-reply" class="section--center mdl-grid mdl-grid--no-spacing reply-box">
<div class="mdl-card mdl-shadow--2dp mdl-cell--12-col">
{% if closed %}
<div class="mdl-card__supporting-text">
This thread is <b>closed</b> and can no longer be responded to.
</div>
{% else %}
<form id="reply-form" action="/thread/reply" method="post">
<input type="hidden" id="thread_id" name="thread_id" value="{{ id }}">
<div class="mdl-card__supporting-text">
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdl-cell--12-col">
<textarea class="mdl-textfield__input" type="text" rows="8" id="post" name="post" aria-label="reply content"></textarea>
<label class="mdl-textfield__label" for="post">Write a reply</label>
</div>
<button class="mdl-button mdl-button--raised mdl-button--primary mdl-js-button mdl-js-ripple-effect" type="submit">
Post!
</button>
</div>
</form>
{% endif %}
</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>
<script src="https://code.getmdl.io/1.3.0/material.min.js"></script>
</body>
</html>