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
@@ -62,16 +62,11 @@ export const CharacterThemeProvider = ({ children }) => {
__html: `
:root {
--theme-color: ${themeColor};
--theme-color-muted: color-mix(in srgb, var(--theme-color), var(--theme-background-solid) 30%);
--theme-background: ${backgroundColor};
--theme-background-solid: ${solidBackground};
--theme-contrast: var(--ttui_grey-${isDarkMode ? 50 : 900});
--theme-transparent: color-mix(in srgb, var(--theme-color), transparent 60%);
/* Update the character muted color for readability on dark mode */
${
isDarkMode ? "--character-muted-color: var(--ttui_grey-400);" : ""
}
}`,
}}
/>
+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] };
+8 -2
View File
@@ -1,4 +1,10 @@
import { createContext, FC, useContext, useState } from "react";
import {
createContext,
FC,
PropsWithChildren,
useContext,
useState,
} from "react";
export interface FiltersContextType {
showItemTypes: boolean;
@@ -13,7 +19,7 @@ export interface FiltersContextType {
export const FiltersContext = createContext<FiltersContextType>(null!);
export const FiltersProvider: FC = ({ children }) => {
export const FiltersProvider: FC<PropsWithChildren> = ({ children }) => {
const [showItemTypes, setShowItemTypes] = useState(true);
const [showItemSourceCategories, setShowItemSourceCategories] =
useState(true);
+13 -2
View File
@@ -1,5 +1,12 @@
import { isEqual } from "lodash";
import { createContext, FC, useContext, useEffect, useState } from "react";
import {
createContext,
FC,
PropsWithChildren,
useContext,
useEffect,
useState,
} from "react";
import { useSelector } from "react-redux";
import {
@@ -39,6 +46,7 @@ export interface PaneInfo {
) => void;
paneHistoryPrevious: () => void;
paneHistoryNext: () => void;
resetActivePane: () => void;
}
export interface SidebarContextType {
@@ -48,7 +56,7 @@ export interface SidebarContextType {
export const SidebarContext = createContext<SidebarContextType>(null!);
export const SidebarProvider: FC = ({ children }) => {
export const SidebarProvider: FC<PropsWithChildren> = ({ children }) => {
const isMobile = useSelector(appEnvSelectors.getIsMobile);
const sheetDimensions = useSelector(appEnvSelectors.getDimensions);
@@ -64,6 +72,8 @@ export const SidebarProvider: FC = ({ children }) => {
const width: number = 340;
const resetActivePane = () => setActivePane(null);
//Create a new pane history
const paneHistoryStart = (
type: PaneComponentEnum,
@@ -161,6 +171,7 @@ export const SidebarProvider: FC = ({ children }) => {
paneHistoryPush,
paneHistoryPrevious,
paneHistoryNext,
resetActivePane,
},
}}
>
@@ -1,11 +1,8 @@
import createCache from "@emotion/cache";
import { CacheProvider } from "@emotion/react";
import { ThemeProvider } from "@mui/material/styles";
import { useState, createContext, useEffect, useMemo } from "react";
import { prefixer } from "stylis";
import { getTheme } from "~/theme";
type PaletteOpt = "light" | "dark";
interface Manager {
@@ -77,12 +74,9 @@ export const ThemeManagerProvider = ({
/**
* End the hack
*/
const theme = getTheme(manager.lightOrDark, manager.primary);
return (
<ThemeManager.Provider value={{ manager, setManager }}>
<CacheProvider value={hack__cache}>
<ThemeProvider theme={theme}>{children}</ThemeProvider>
</CacheProvider>
<CacheProvider value={hack__cache}>{children}</CacheProvider>
</ThemeManager.Provider>
);
};