diff --git a/src/back/routes/demos/horizontal-scroller.css b/src/back/routes/demos/horizontal-scroller.css new file mode 100644 index 0000000..5070db1 --- /dev/null +++ b/src/back/routes/demos/horizontal-scroller.css @@ -0,0 +1,24 @@ +.bignum { + font-size: 60px; + background-color: aquamarine; + color: hsl(159.8, 100%, 39.9%); + width: 150px; + height: 200px; + display: flex; + align-items: center; + justify-content: center; +} + +.horizontal-scroller { + .next-button, + .prev-button { + pointer-events: none; + opacity: 0.5; + } + + &.has-next .next-button, + &.has-prev .prev-button { + pointer-events: all; + opacity: 1; + } +} diff --git a/src/back/routes/demos/horizontal-scroller.page.tsx b/src/back/routes/demos/horizontal-scroller.page.tsx new file mode 100644 index 0000000..ff22641 --- /dev/null +++ b/src/back/routes/demos/horizontal-scroller.page.tsx @@ -0,0 +1,67 @@ +import type { Context } from "koa"; +import { TempstreamJSX } from "tempstream"; +import { Page } from "@sealcode/sealgen"; +import html from "../../html.js"; +import { horizontalScroller } from "../common/horizontal-scroller/horizontal-scroller.js"; + +export const actionName = "HorizontalScrollerDemo"; + +export default new (class HorizontalScrollerDemoPage extends Page { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + async canAccess(_: Context) { + return { canAccess: true, message: "" }; + } + + async render(ctx: Context) { + return html( + ctx, + "HorizontalScrollerDemo", +