JabberCard/xhtml/conference.xhtml
Schimon Jehudah, Adv. cbcf3b58d0 CSS : Modifications consequent to XHTML modifications;
Python : Modifications consequent to XHTML modifications;
TOML   : Various of modifications;
XHTML  : Uniform templates.
2024-11-05 10:51:28 +02:00

184 lines
6.9 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Kayla (Céile) XMPP Invite -->
<!-- Zenya (Xenia) XMPP Invite -->
<!-- Fast And Sleek Invite (FASI) -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<title>{{brand_name}}: {{action}} {% if alias %}{{alias}}{% else %}{{title}}{% endif %}</title>
<meta name="description" content="{{action}} {% if alias %}{{alias}}{% else %}{{title}}{% endif %}" />
<meta name="generator" content="Fast And Sleek Invite" />
<meta name="uri" content="{{xmpp_uri}}" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta property="og:description" content="{{action}} {% if alias %}{{alias}}{% else %}{{title}}{% endif %}" />
<meta property="og:image" content="/photo/{{filename}}" />
<meta property="og:site_name" content="{{brand_name}}" />
<meta property="og:title" content="{% if alias %}{{alias}}{% else %}{{title}}{% endif %}" />
<meta property="og:type" content="website" />
<meta property="og:url" content="{{url}}" />
<link rel="alternate icon" href="/img/favicon.ico" type="image/x-icon" />
<link rel="icon" href="/img/favicon.svg" type="image/svg+xml" />
<link rel="stylesheet" href="/css/stylesheet.css" media="screen" type="text/css" />
{% if selection %}
<style>
body {
/* background-repeat: no-repeat; */
background:
url(/img/background.svg),
linear-gradient(
to right,
rgba({{selection[0][2]}}, {{selection[0][1]}}, {{selection[0][0]}}, 0.7),
rgba({{selection[1][2]}}, {{selection[1][1]}}, {{selection[1][0]}}, 0.7)
);
}
@media (prefers-color-scheme: dark) {
body {
background:
url(/img/background.svg),
linear-gradient(
to right,
rgba({{selection[0][2]-50}}, {{selection[0][1]-50}}, {{selection[0][0]-50}}, 0.7),
rgba({{selection[1][2]-50}}, {{selection[1][1]-50}}, {{selection[1][0]-50}}, 0.7)
);
}
}
@media (max-width: 725px) and (prefers-color-scheme: dark) {
body {
background: #2b2a33;
}
}
@media (max-width: 725px) {
body {
background: #f5f5f5;
}
}
</style>
{% endif %}
</head>
<body>
<div id="overlay">
<div id="bar">
<a href="{{brand_site}}">
<img id="logo" src="/img/logo-wordmark-horizontal.svg" />
</a>
<a id="download" href="/download">
Download
</a>
</div>
<div id="container">
<div id="profile">
<h1>{{title}}</h1>
{% if filename %}
<div id="graphics">
<!-- a href="xmpp:{{jid_bare}}" -->
<img id="photo" src="/photo/{{filename}}" />
<img id="qrcode" src="/qr/{{jid_bare}}.png" />
<!-- /a -->
</div>
{% endif %}
<div id="vcard-note">
{% if note %}{{note}}{% endif %}
</div>
<!-- div>
<pre id="xmpp-uri">{{xmpp_uri}}</pre>
</div -->
{% if exception %}
<div>
<code>{{exception}}</code>
</div>
{% endif %}
{% if links %}
<div id="action">
{% for link in links %}
<a href="{{link['href']}}" id="{{link['iden']}}">
{{link['name']}}
</a>
{% endfor %}
</div>
{% endif %}
<div id="conference">
{% if subject %}
<div id="subject">
<strong>🗣️ Subject</strong>
<pre>{{subject}}</pre>
</div>
{% endif %}
{% if messages %}
<div id="messages">
{% for message in messages %}
<div class="message"
id="{{message['id']}}">
<a href="#{{message['id']}}" title="{{message['timestamp']}}">💬️</a>
<strong>{{message['alias']}}</strong>
<div class="content">{{message['body']}}</div>
<!-- div class="date">{{message['timestamp']}}</div -->
<!--
% if reactions %
<div class="reactions">
% for reaction in reactions %
<span>{{reaction}}</span>
% endfor %
</div>
% endif %
-->
</div>
{% endfor %}
</div>
{% endif %}
</div>
{% if number_of_pages %}
<div id="number-of-pages">
{% if number_of_pages > 3 %}
{% if page_number < 2 %}
<span class="inactive" id="first">First</span>
<span class="inactive">Back</span>
{% else %}
<a href="?page=1" id="first">First</a>
<a href="?page={{page_number-1}}">Back</a>
{% endif %}
<a href="?page={{page_number}}">{{page_number}}</a>
{% if page_number == number_of_pages %}
<span class="inactive">Proceed</span>
<span class="inactive" id="last">Last</span>
{% else %}
<a href="?page={{page_number+1}}">Proceed</a>
<a href="?page={{number_of_pages}}" id="last">Last</a>
{% endif %}
{% else %}
{% for number in range(number_of_pages) %}
<a href="?page={{number+1}}">{{number+1}}</a>
{% endfor %}
{% endif %}
</div>
{% endif %}
{% if previous %}
<div id="number-of-pages">
<a href="./">Previous</a>
</div>
{% endif %}
</div>
<div id="notice">
If you already have <strong>{% if news_client and jid_kind == 'pubsub' %}{{news_client}}{% elif chat_client %}{{chat_client}}{% else %}an XMPP Client{% endif %}</strong> you can
<br/>
{% if jid_kind in ('conference', 'mix', 'muc') %}
join to
{% elif jid_kind == 'pubsub' %}
subscribe to
{% elif jid_kind == 'bot' %}
try
{% elif jid_kind == 'server' %}
explore
{% else %}
talk with
{% endif %}
<strong>{{title}}</strong>
right now.
</div>
</div>
{% if message %}
<div id="xmpp-message">{{message}}</div>
{% endif %}
</div>
</body>
</html>