Skip to content

Commit

Permalink
stream gallery
Browse files Browse the repository at this point in the history
  • Loading branch information
lluisd committed May 18, 2024
1 parent 92ad357 commit 8bc54b9
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 0 deletions.
24 changes: 24 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ const config = require('./config')
const express = require("express")
const randomLinks = require("./config/randomLinks.json");
const TempsDeFlorsService = require('./services/tempsDeFlors')
const TwitchService = require("./services/twitch");
const ScreenshotService = require("./services/screenshot");


mongoose.connect(config.database).then(() => {
Expand Down Expand Up @@ -50,6 +52,19 @@ mongoose.connect(config.database).then(() => {
})
});

app.get('/stream', function(req, res) {
TwitchService.getChannel().then(async (channel) => {
if (channel && channel.streamId) {
const screenshots = await ScreenshotService.getScreenshots(channel.streamId)
res.render('pages/stream',{
screenshots: screenshots,
url: config.externalUrl,
channel: config.twitch.channels
});
}
});
});

app.get('/comandos', function(req, res) {
res.render('pages/comandos',{
channel: config.twitch.channels
Expand All @@ -65,6 +80,15 @@ mongoose.connect(config.database).then(() => {
app.use('/images', express.static('images'));

app.get('/i/:id', (req, res) => {
// TwitchService.getChannel().then(async (channel) => {
// if (channel && channel.streamId) {
// const screenshots = await ScreenshotService.getScreenshots(channel.streamId)
// const image = screenshots.find((s) => s.name === req.params.id)
// if (image) {
// res.redirect(__dirname + `/stream/#lg=1&slide=${req.params.id}`);
// }
// }
// });
res.sendFile(__dirname + `/public/images/${req.params.id}.jpg`)
});

Expand Down
37 changes: 37 additions & 0 deletions views/pages/stream.ejs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Stream - <%= channel %> - Galeria fotos</title>
<!-- OR -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightgallery/2.7.2/css/lightgallery.min.css" integrity="sha512-F2E+YYE1gkt0T5TVajAslgDfTEUQKtlu4ralVq78ViNxhKXQLrgQLLie8u1tVdG2vWnB3ute4hcdbiBtvJQh0g==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/lightgallery/2.7.2/plugins/zoom/lg-zoom.min.js" integrity="sha512-BLW2Jrofiqm6m7JhkQDIh2olT0EBI58+hIL/AXWvo8gOXKmsNlU6myJyEkTy6rOAAZjn0032FRk8sl9RgXPYIQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightgallery/2.7.2/css/lg-thumbnail.min.css" integrity="sha512-GRxDpj/bx6/I4y6h2LE5rbGaqRcbTu4dYhaTewlS8Nh9hm/akYprvOTZD7GR+FRCALiKfe8u1gjvWEEGEtoR6g==" crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lightgallery/2.7.2/lightgallery.min.js" integrity="sha512-jEJ0OA9fwz5wUn6rVfGhAXiiCSGrjYCwtQRUwI/wRGEuWRZxrnxoeDoNc+Pnhx8qwKVHs2BRQrVR9RE6T4UHBg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lightgallery/2.7.2/plugins/thumbnail/lg-thumbnail.min.js" integrity="sha512-VBbe8aA3uiK90EUKJnZ4iEs0lKXRhzaAXL8CIHWYReUwULzxkOSxlNixn41OLdX0R1KNP23/s76YPyeRhE6P+Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lightgallery/2.7.2/plugins/hash/lg-hash.min.js" integrity="sha512-7c9ZgozFwxmWalyapzhmzAChRvi0p7vhxWdrE3OjvFHnxuw6h6DBSOvtO1XytEj8MQI2Jp0Tm2BJwLUU7zAMvA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<h3>Stream actual - <a href="https://twitch.tv/<%= channel %>" target="_blank"><%= channel %></a></h3>
<div id="lightgallery">
<% screenshots.forEach(function(screenshot) { %>
<a href="<%= url + '/i/' + screenshot.name %>" data-sub-html="Captura de <%= screenshot.capturedBy %>" data-lg-size="1340-754" data-slide-name="<%= screenshot.name %>">
<img src="<%= url + '/i/t_' + screenshot.name %>" alt="<%= screenshot.name %>" width="200" >
</a>
<% }); %>
</div>
<script type="text/javascript">
lightGallery(document.getElementById('lightgallery'), {
plugins: [lgThumbnail, lgHash],
animateThumb: false,
zoomFromOrigin: false,
thumbnail: true,
hash: true,
customSlideName: true,
galleryId: 1
});
</script>
</body>
</html>

0 comments on commit 8bc54b9

Please sign in to comment.