You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

83 lines
3.9 KiB
HTML

<html>
<head>
<meta charset="UTF-8"/>
<script src="https://cdn.jsdelivr.net/npm/lodash@4/lodash.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5/dist/css/bootstrap.min.css">
</head>
<body>
<div id="app" class="container">
<p v-if="!(channel && host)" class="text-danger">
You need to add both URL parameters: <code>?c=examplechannel&h=examplenetwork</code> (but the channel without #).
</p>
<h1>
Join <u>#{{channel}}@{{host}}</u> IRC channel.
</h1>
<h5 class="text-muted">by choosing any of the following <a href="https://biboumi.louiz.org/">Biboumi</a> providers:</h5>
<div class="card mb-1" v-for="transport in transports">
<div class="card-body">
<h5 class="card-title">
<a class="link-dark" v-bind:href="transport.about">{{transport.title}}</a>
</h5>
<p class="card-text">{{transport.desc}}</p>
<a class="btn btn-primary" class="card-link" v-bind:href="`xmpp:#${channel}%${host}@${transport.irc}?join`">Join via {{transport.irc}}</a>
</div>
</div>
</div>
<script>
const urlParams = new URLSearchParams(window.location.search);
new Vue({
el: "#app",
data: {
transports: _.shuffle([
{
title: "hot-chilli.net",
desc: "jabber.hot-chilli.net is a free Jabber/XMPP service for everybody",
about: "https://jabber.hot-chilli.net/",
tags: ["public"],
irc: "irc.jabber.hot-chilli.net"
},
{
title: "hmm.st",
desc: "ben's xmpp server",
about: "https://hmm.st/",
tags: ["public"],
irc: "irc.hmm.st"
},
{
title: "jabberfr.org",
desc: "JabberFR est le site de la communauté francophone des utilisateurs de Jabber",
about: "https://irc.jabberfr.org/",
tags: ["public"],
irc: "irc.jabberfr.org"
},
{
title: "Cheogram IRC",
about: "https://irc.cheogram.com/",
desc: "Cheogram is a set of services that connect all open communication networks together",
tags: ["public"],
irc: "irc.cheogram.com"
},
{
title: "Disroot",
about: "https://disroot.org/en/about",
desc: "Disroot is a project based in Amsterdam which is maintained by volunteers",
tags: ["private"],
irc: "irc.disroot.org"
},
{
title: "Snopyta",
about: "https://snopyta.org/service/xmpp/",
desc: "Snopyta runs online services based on freedom, privacy and decentralization",
tags: ["private"],
irc: "irc.snopyta.org"
}
]),
channel: urlParams.get("c"),
host: urlParams.get("h")
}
});
</script>
</body>
</html>