New source found from dndbeyond.com
This commit is contained in:
@@ -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);" : ""
|
||||
}
|
||||
}`,
|
||||
}}
|
||||
/>
|
||||
|
||||
@@ -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] };
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user