gitfoss-fork-fork | 3ab29be17f5f1f9a1fead0ec8625f7bd3b1fa5be | app/controllers/ThemeController.ts ∙ 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 || "/");
};