bbs_main.js 2.2 KB

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