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

const setThemeSchemeAction: ReqHandler<
  AppRouteParams,
  AppRoute.THEME_SET_SCHEME_ACTION
> = async (request, reply) => {
  const { referer } = request.headers;
  const { themeScheme: desiredScheme } = request.params;

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

export default setThemeSchemeAction;