Skip to content

Commit

Permalink
move dagsen api to own directory
Browse files Browse the repository at this point in the history
  • Loading branch information
marnym committed Apr 25, 2024
1 parent 3826c62 commit 36b78e4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
2 changes: 1 addition & 1 deletion dagsen.ts → dagsen/api.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { helsinkiDate } from "./date.ts";
import { helsinkiDate } from "../date.ts";

export type Menu = {
dayname: string;
Expand Down
22 changes: 11 additions & 11 deletions main.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import "https://deno.land/[email protected]/dotenv/load.ts";
import { serveDir } from "https://deno.land/[email protected]/http/file_server.ts";
import { Eta } from "https://deno.land/x/[email protected]/src/index.ts";
import { fetchAlaCarte, fetchMenuJSON, fetchMenuText, Language, LANGUAGES, Menu, openTime } from "./dagsen.ts";
import * as dagsen from "./dagsen/api.ts";
import { createPage, Page } from "./page.ts";
import { helsinkiDate } from "./date.ts";

Expand Down Expand Up @@ -93,7 +93,7 @@ async function pageHandler(pages: readonly string[], match: URLPatternResult): P
}

async function dagsenHandler(params: URLSearchParams): Promise<Response> {
let lang = params.get("lang") as Language | null;
let lang = params.get("lang") as dagsen.Language | null;

if (lang !== null) {
const renderData = await fetchDagsenRenderData(lang);
Expand All @@ -104,7 +104,7 @@ async function dagsenHandler(params: URLSearchParams): Promise<Response> {
}

lang = lang ?? "sv";
if (!LANGUAGES.includes(lang)) {
if (!dagsen.LANGUAGES.includes(lang)) {
lang = "sv";
}

Expand All @@ -129,7 +129,7 @@ type RenderData = {
nextPage: PageResponse["id"];
pageTimeout: string;
piTemp: number | null;
menu: Menu | null;
menu: dagsen.Menu | null;
alacarte: string | null;
cam: typeof CAM_URL;
ylonzDate: Date;
Expand All @@ -140,8 +140,8 @@ type RenderData = {
async function fetchRenderData(pages: readonly string[], pageId: string): Promise<RenderData> {
const res = await Promise.all([
fetchPiTemp(),
fetchMenuJSON(),
fetchAlaCarte(),
dagsen.fetchMenuJSON(),
dagsen.fetchAlaCarte(),
]);

return {
Expand All @@ -168,21 +168,21 @@ type DagsenRenderData = {
pageTimeout: string;
};

async function fetchDagsenRenderData(language: Language): Promise<DagsenRenderData> {
async function fetchDagsenRenderData(language: dagsen.Language): Promise<DagsenRenderData> {
const now = new Date();

const date = now.toLocaleDateString("en-GB", { year: "2-digit", month: "2-digit", "day": "2-digit" })
.split("/")
.slice(0, 2)
.join("/");

const menuItems = (await fetchMenuText(language))?.split("\r\n") ?? [];
const menuItems = (await dagsen.fetchMenuText(language))?.split("\r\n") ?? [];

return {
date,
menuItems: menuItems,
openTime: openTime(now),
nextPage: nextDagsenPage(LANGUAGES, language),
openTime: dagsen.openTime(now),
nextPage: nextDagsenPage(dagsen.LANGUAGES, language),
pageTimeout: "5s",
};
}
Expand Down Expand Up @@ -210,7 +210,7 @@ function nextPage(pages: readonly string[], currentPage: PageResponse["id"]): Pa
return `/pages/${pages[nextIndex % pagesLength]}`;
}

function nextDagsenPage(languages: readonly Language[], currentLanguage: Language): string {
function nextDagsenPage(languages: readonly dagsen.Language[], currentLanguage: dagsen.Language): string {
const languagesLength = languages.length;
const nextIndex = languages.indexOf(currentLanguage) + 1;
return `/dagsen?lang=${languages[nextIndex % languagesLength]}`;
Expand Down

0 comments on commit 36b78e4

Please sign in to comment.