New source found from dndbeyond.com

This commit is contained in:
2026-07-08 01:00:09 -07:00
parent 9a983a6d7b
commit dcefa0d2f2
2865 changed files with 222467 additions and 49053 deletions
+14 -11
View File
@@ -1,20 +1,23 @@
import { FC, createContext, useContext, useEffect, useState } from "react";
import {
FC,
PropsWithChildren,
createContext,
useContext,
useEffect,
useState,
} from "react";
import { toCamelCase } from "~/helpers/casing";
import { getFeatureFlagsFromCharacterService } from "~/helpers/characterServiceApi";
const featureFlagsToGet = [
"release-gate-ims",
"release-gate-gfs-blessings-ui",
"release-gate-character-sheet-tour",
"release-gate-premade-characters",
"circuit-breaker.datadog-rum-characters-app",
];
export const defaultFlags = {
imsFlag: false,
gfsBlessingsUiFlag: false,
characterSheetTourFlag: false,
premadeCharactersFlag: false,
datadogRumCharactersAppFlag: false,
};
export type FeatureFlags = typeof defaultFlags;
@@ -25,7 +28,7 @@ export interface FeatureFlagContextType extends FeatureFlags {
export const FeatureFlagContext = createContext<FeatureFlagContextType>(null!);
interface ProviderProps {
interface ProviderProps extends PropsWithChildren {
defaultOverrides?: Partial<FeatureFlags>;
}
@@ -44,12 +47,12 @@ export const FeatureFlagProvider: FC<ProviderProps> = ({
const formattedFlag = flag
// Remove `character-app` from the flag name
.replace(/character-app\./i, "")
// Remove `circuit-breaker` from the flag name
.replace(/circuit-breaker\./i, "")
// Remove `release-gate` from the flag name
.replace(/release-gate\W/i, "")
// Remove `character-sheet` from flag name if not the tour flag
.replace(/character-sheet\W(?!tour)/i, "")
// Change `2d` to `tactical` since var can't start with number
.replace(/2d/i, "tactical");
.replace(/character-sheet\W(?!tour)/i, "");
const key = toCamelCase(`${formattedFlag}Flag`);
return { ...acc, [key]: flags[flag] };