Started work on improved channel guide rendering

This commit is contained in:
rainbow napkin 2026-11-09 04:05:55 -05:00
parent 0291904534
commit c3483627d8
6 changed files with 125 additions and 54 deletions

View file

@ -25,8 +25,7 @@ const {exceptionHandler, errorHandler} = require('../utils/loggerUtils');
//root index functions
module.exports.get = async function(req, res){
try{
const chanGuide = await channelModel.getChannelList();
return navRender.render(req, res, 'index', {chanGuide: chanGuide, unescape: validator.unescape})
return navRender.render(req, res, 'index', {unescape: validator.unescape})
}catch(err){
return exceptionHandler(res, err);
}

View file

@ -18,25 +18,14 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. %>
<head>
<%- include('partial/styles', {instance, user}); %>
<%- include('partial/csrfToken', {csrfToken}); %>
<link rel="stylesheet" type="text/css" href="css/index.css">
<title><%= instance %></title>
</head>
<body>
<%- include('partial/navbar', {user}); %>
<h3><a href="/newchannel">Start a new channel...</a></h3>
<div id="channel-guide-div" class="channel-guide">
<% chanGuide.forEach((channel) => { %>
<div id="channel-guide-entry-<%= unescape(channel.name) %>" class="channel-guide-entry">
<a href="/c/<%= unescape(channel.name) %>" class="channel-guide-entry channel-guide-entry-item"><img id="channel-guide-entry-img-<%= unescape(channel.name) %>" class="channel-guide-entry channel-guide-entry-item" src="<%= encodeURI(unescape(channel.thumbnail)) %>"></a>
<h3 id="channel-guide-entry-name-<%= unescape(channel.name) %>" class="channel-guide-entry channel-guide-entry-item"><a href="/c/<%= encodeURI(unescape(channel.name)) %>" class="channel-guide-entry channel-guide-entry-item"><%= unescape(channel.name) %></a></h3>
<span id="channel-guide-entry-description-span-<%= unescape(channel.name) %>" class="channel-guide-entry channel-guide-entry-item">
<p id="channel-guide-entry-description-<%= unescape(channel.name) %>" class="channel-guide-entry channel-guide-entry-item"><%= unescape(channel.description) %></h3>
</span>
</div>
<% }); %>
</div>
<%- include('partial/channelGuide'); %>
</body>
<footer>
<%- include('partial/scripts', {user}); %>
<script src="/js/channelGuide.js"></script>
</footer>
</html>

View file

@ -0,0 +1,29 @@
<%# Canopy - The next generation of stoner streaming software
Copyright (C) 2024-2026 Rainbownapkin and the TTN Community
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. %>
<link rel="stylesheet" type="text/css" href="css/channelGuide.css">
<div id="channel-guide-div" class="channel-guide">
<div id="channel-guide-channel-list">
<div id="channel-guide-new-channel-button" class="positive-button">
<h3><a href="/newchannel">Create Channel</a></h3>
</div>
</div>
<div id="channel-guide-schedule-container">
<div id="channel-guide-schedule-index">
</div>
<div id="channel-guide-scheduled-media">
</div>
</div>
</div>