Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 9 additions & 10 deletions app/actions/menu-collapse/server.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import {
createCookie,
unstable_createContext,
type unstable_MiddlewareFunction,
type unstable_RouterContextProvider,
createContext,
type MiddlewareFunction,
type RouterContextProvider,
} from "react-router";

let cookie = createCookie("menu-collapse", {
Expand All @@ -14,11 +14,9 @@ let cookie = createCookie("menu-collapse", {
// Default behavior: missing categories are treated as "open" (true)
type MenuCollapseState = Record<string, boolean>;

let menuCollapseStateContext = unstable_createContext<MenuCollapseState>({});
let menuCollapseStateContext = createContext<MenuCollapseState>({});

export function menuCollapseContext(
context: Readonly<unstable_RouterContextProvider>,
) {
export function menuCollapseContext(context: Readonly<RouterContextProvider>) {
return {
get: () => {
return context.get(menuCollapseStateContext);
Expand All @@ -43,9 +41,10 @@ export function menuCollapseContext(
*
* This is used to persist the menu collapse state across page loads
*/
export let menuCollapseStateMiddleware: unstable_MiddlewareFunction<
Response
> = async ({ request, context }, next) => {
export let menuCollapseStateMiddleware: MiddlewareFunction<Response> = async (
{ request, context },
next,
) => {
// Set the context to whatever is in the cookie
let menuCollapseCookieState = await parseMenuCollapseState(request);
let menuCollapse = menuCollapseContext(context);
Expand Down
2 changes: 1 addition & 1 deletion app/components/docs-header/data.server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export async function getHeaderData(
["dev", "nightly", "release-next", "local"].includes(githubRef);

// TODO: make this smarter before v8
let apiDocsRef = githubRef === "dev" || githubRef === "local" ? "dev" : "v7";
let apiDocsRef = "v7";

let latestV6Version = getLatestV6Version(tags);

Expand Down
6 changes: 2 additions & 4 deletions app/modules/http-utils/ensure-secure.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import { redirect, type unstable_MiddlewareFunction } from "react-router";
import { redirect, type MiddlewareFunction } from "react-router";

export const ensureSecure: unstable_MiddlewareFunction<
void | Response
> = async ({ request }) => {
export const ensureSecure: MiddlewareFunction = async ({ request }) => {
let proto = request.headers.get("x-forwarded-proto");
// this indirectly allows `http://localhost` because there is no
// "x-forwarded-proto" in the local server headers
Expand Down
8 changes: 4 additions & 4 deletions app/modules/http-utils/remove-slashes.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { redirect, type unstable_MiddlewareFunction } from "react-router";
import { redirect, type MiddlewareFunction } from "react-router";

export const removeTrailingSlashes: unstable_MiddlewareFunction<
void | Response
> = async ({ request }) => {
export const removeTrailingSlashes: MiddlewareFunction = async ({
request,
}) => {
let url = new URL(request.url);
if (url.pathname.endsWith("/") && url.pathname !== "/") {
url.pathname = url.pathname.slice(0, -1);
Expand Down
6 changes: 2 additions & 4 deletions app/modules/redirects/.server/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { type unstable_MiddlewareFunction } from "react-router";
import { type MiddlewareFunction } from "react-router";
import { checkUrl } from "./check-url";
import { getRedirects } from "./get-redirects";

Expand All @@ -15,9 +15,7 @@ import { getRedirects } from "./get-redirects";
*
* @param request Web Fetch Request to possibly redirect
*/
export const handleRedirects: unstable_MiddlewareFunction<
void | Response
> = async ({ request }) => {
export const handleRedirects: MiddlewareFunction = async ({ request }) => {
let redirects = await getRedirects();
let url = new URL(request.url);
let response = await checkUrl(url.pathname, redirects);
Expand Down
3 changes: 2 additions & 1 deletion app/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
Outlet,
Scripts,
ScrollRestoration,
type MiddlewareFunction,
} from "react-router";
import { CACHE_CONTROL } from "./http";

Expand All @@ -25,7 +26,7 @@ import { ensureSecure } from "~/modules/http-utils/ensure-secure";
import { handleRedirects } from "~/modules/redirects/.server";
import { removeTrailingSlashes } from "~/modules/http-utils/remove-slashes";

export const unstable_middleware: Route.unstable_MiddlewareFunction[] = [
export const middleware: MiddlewareFunction[] = [
ensureSecure,
removeTrailingSlashes,
handleRedirects,
Expand Down
Loading