GitFOSS
.ts
TypeScript
(application/typescript)
// 1st-party
import { ReqHandler } from "@ethicdevs/react-monolith";
// app
import { AppRoute, AppRoutesParams } from "../routes";

export const getTheme: ReqHandler = async (request, reply) => {
  const { referer } = request.headers;
  const { themeScheme: desiredScheme } =
    request.params as AppRoutesParams[AppRoute.SET_THEME]["params"];

  reply.setCookie("theme_scheme", desiredScheme === "light" ? "light" : "dark");
  return reply.redirect(302, referer || "/");
};