<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="w3.css">
<!-- link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway" -->
-<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+<link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet">
<style>
<!-- html,body,h1,h2,h3,h4,h5 {font-family: "Raleway", sans-serif} -->
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="js/views.js"></script>
<script>
-alert('startup started');
// Get the Sidebar
var sidebar = document.getElementById("sidebar");
}
ctdl_startup();
-alert('startup stoppeded');
</script>
</body>
//
-// Copyright (c) 2016-2017 by the citadel.org team
+// Copyright (c) 2016-2018 by the citadel.org team
//
// This program is open source software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 3.
// This function is the dispatcher that determines the correct view for a room,
// and calls the correct renderer.
//
-function render_room_view() {
-
- switch(current_view) {
+function render_room_view()
+{
+ switch(current_view)
+ {
case views.VIEW_MAILBOX: // FIXME view mail rooms as forums for now
case views.VIEW_BBS:
forum_readmessages("flat");
// The inner div exists so that if the user clicks away early, the main div doesn't get clobbered when the load completes.
// The parameter can be set to "flat" or "threads" which is passed directly to the API
//
-function forum_readmessages(flat_or_threads) {
+function XX_forum_readmessages(flat_or_threads)
+{
var innerdivname = randomString(5);
- document.getElementById("main").innerHTML = "<div id=\"" + innerdivname + "\"><img src=\"/ctdl/s/throbber.gif\" />" + _("Loading messages from server, please wait") + "</div>" ;
+ document.getElementById("main").innerHTML = "<div id=\"" + innerdivname +
+ "\"><br><br><br><center><h5><i class=\"fas fa-spinner fa-spin\"></i> "
+ + _("Loading messages from server, please wait") + "</h5></center></div>" ;
var request = new XMLHttpRequest();
request.open("GET", "/ctdl/r/" + escapeHTMLURI(current_room) + "/" + flat_or_threads, true);
- request.onreadystatechange = function() {
- if (this.readyState === 4) {
- if ((this.status / 100) == 2) {
+ request.onreadystatechange = function()
+ {
+ if (this.readyState === 4)
+ {
+ if ((this.status / 100) == 2)
+ {
document.getElementById(innerdivname).outerHTML = this.responseText;
}
- else {
+ else
+ {
document.getElementById(innerdivname).outerHTML = "ERROR " + this.status ;
}
}
request.send();
request = null;
}
+
+
+// Forum view -- let's have another go at this with the rendering done client-side
+//
+function forum_readmessages(flat_or_threads)
+{
+ var innerdivname = randomString(5);
+ document.getElementById("main").innerHTML = "<div id=\"" + innerdivname +
+ "\"><br><br><br><center><h5><i class=\"fas fa-spinner fa-spin\"></i> "
+ + _("Loading messages from server, please wait") + "</h5></center></div>" ;
+
+ var request = new XMLHttpRequest();
+ request.open("GET", "/ctdl/r/" + escapeHTMLURI(current_room) + "/msgs.all", true);
+ request.onreadystatechange = function()
+ {
+ if (this.readyState === 4)
+ {
+ if ((this.status / 100) == 2)
+ {
+ document.getElementById(innerdivname).innerHTML = "Are we logged in? " + logged_in + "<ul>" ;
+ msgs = JSON.parse(this.responseText);
+ for (var i in msgs)
+ {
+ document.getElementById(innerdivname).innerHTML += "<li>" + msgs[i] + "</li>" ;
+ }
+ document.getElementById(innerdivname).innerHTML += "</ul>" ;
+ }
+ else
+ {
+ document.getElementById(innerdivname).innerHTML = this.status ; // error message
+ }
+ }
+ };
+ request.send();
+ request = null;
+}