bbs_main.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. "use strict";
  2. function opennamu_bbs_main() {
  3. let lang_data = new FormData();
  4. // user_document -> 8
  5. lang_data.append('data', 'thread_base comment_base');
  6. fetch('/api/lang', {
  7. method : 'post',
  8. body : lang_data,
  9. }).then(function(res) {
  10. return res.json();
  11. }).then(function(lang) {
  12. lang = lang["data"];
  13. fetch('/api/bbs').then(function(res) {
  14. return res.json();
  15. }).then(function(bbs_list) {
  16. fetch('/api/bbs/main').then(function(res) {
  17. return res.json();
  18. }).then(function(data) {
  19. let data_html = '<ul class="opennamu_ul">';
  20. let bbs_id_to_name = {};
  21. for(let key in bbs_list) {
  22. bbs_id_to_name[bbs_list[key][0]] = key;
  23. data_html += '<li>';
  24. data_html += '<a href="/bbs/w/' + bbs_list[key][0] + '">';
  25. data_html += opennamu_xss_filter(key);
  26. data_html += '</a>';
  27. data_html += ' (';
  28. if(bbs_list[key][1] === 'comment') {
  29. data_html += lang[1];
  30. } else {
  31. data_html += lang[0];
  32. }
  33. data_html += ')';
  34. data_html += ' (' + bbs_list[key][2] + ')';
  35. data_html += '</li>';
  36. }
  37. data_html += '</ul>';
  38. data_html += '<hr class="main_hr">';
  39. for(let for_a = 0; for_a < data.length; for_a++) {
  40. data_html += '<div class="opennamu_recent_change">';
  41. data_html += '<a href="/bbs/w/' + data[for_a]['set_id'] + '/' + data[for_a]['set_code'] + '">' + opennamu_xss_filter(data[for_a]['title']) + '</a>';
  42. data_html += '<div style="float: right;">';
  43. data_html += '<a href="/bbs/w/' + data[for_a]['set_id'] + '">';
  44. data_html += bbs_id_to_name[data[for_a]['set_id']]
  45. data_html += '</a>';
  46. data_html += ' | ';
  47. data_html += data[for_a]['user_id_render'] + ' | ';
  48. data_html += data[for_a]['date'];
  49. data_html += '</div>'
  50. data_html += '<div style="clear: both;"></div>';
  51. data_html += '</div>';
  52. data_html += '<hr class="main_hr">';
  53. }
  54. document.getElementById('opennamu_bbs_main').innerHTML = data_html;
  55. });
  56. });
  57. });
  58. }