diff --git a/.gitignore b/.gitignore index 6f747cc..df0ded6 100644 --- a/.gitignore +++ b/.gitignore @@ -77,6 +77,7 @@ web_modules/ .env.test.local .env.production.local .env.local +.env # parcel-bundler cache (https://parceljs.org/) .cache diff --git a/controllers/scheduleController.js b/controllers/scheduleController.js new file mode 100644 index 0000000..c80d2c8 --- /dev/null +++ b/controllers/scheduleController.js @@ -0,0 +1,6 @@ +import { fetchSchedule } from '../services/scheduleService.js'; + +export const getSchedule = async (req, res) => { + const schedule = await fetchSchedule(); + res.render('schedule', { schedule }); +}; \ No newline at end of file diff --git a/index.js b/index.js index 12b425d..5f4adc6 100644 --- a/index.js +++ b/index.js @@ -6,6 +6,7 @@ import animeRoutes from './routes/animeRoutes.js'; import genreRoutes from './routes/genreRoutes.js'; import episodeRoutes from './routes/episodeRoutes.js'; import shortlinkRoutes from './routes/shortlinkRoutes.js'; +import scheduleRoutes from './routes/scheduleRoutes.js'; import {fetchAllAnimeData} from './services/animeService.js'; const __filename = fileURLToPath(import.meta.url); @@ -43,6 +44,7 @@ app.use('/', animeRoutes); app.use('/', genreRoutes); app.use('/', episodeRoutes); app.use('/', shortlinkRoutes); +app.use('/', scheduleRoutes); // Start the server app.listen(port, () => { diff --git a/routes/scheduleRoutes.js b/routes/scheduleRoutes.js new file mode 100644 index 0000000..d520afc --- /dev/null +++ b/routes/scheduleRoutes.js @@ -0,0 +1,8 @@ +import express from 'express'; +import { getSchedule } from '../controllers/scheduleController.js'; + +const router = express.Router(); + +router.get('/schedule', getSchedule); + +export default router; \ No newline at end of file diff --git a/services/scheduleService.js b/services/scheduleService.js new file mode 100644 index 0000000..187b12a --- /dev/null +++ b/services/scheduleService.js @@ -0,0 +1,11 @@ +import ky from 'ky'; + +export const fetchSchedule = async () => { + try { + const response = await ky.get(`${process.env.API_URL}/otakudesu/jadwal`).json(); + return response.data; + } catch (error) { + console.error('Error fetching schedule data:', error); + return []; + } +}; \ No newline at end of file diff --git a/views/partials/navbar.ejs b/views/partials/navbar.ejs index c5eea86..8c22d15 100644 --- a/views/partials/navbar.ejs +++ b/views/partials/navbar.ejs @@ -13,7 +13,10 @@ All Anime
+ <% day.anime.forEach((anime, index) => { %> + <%= anime.judul %><% if (index < day.anime.length - 1) { %>, <% } %> + <% }) %> +
+