New source found from dndbeyond.com
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import { visuallyHidden } from "@mui/utils";
|
||||
import React, { useContext, useEffect, useState } from "react";
|
||||
import { useDispatch, useSelector } from "react-redux";
|
||||
import React, { useContext } from "react";
|
||||
import { useSelector } from "react-redux";
|
||||
|
||||
import {
|
||||
rulesEngineSelectors,
|
||||
@@ -9,7 +8,6 @@ import {
|
||||
InfusionChoiceUtils,
|
||||
RacialTrait,
|
||||
RacialTraitUtils,
|
||||
FeaturesManager,
|
||||
FeatManager,
|
||||
Action,
|
||||
ActionUtils,
|
||||
@@ -18,8 +16,9 @@ import {
|
||||
} from "@dndbeyond/character-rules-engine/es";
|
||||
|
||||
import { TabFilter } from "~/components/TabFilter";
|
||||
import { useFeatureFlags } from "~/contexts/FeatureFlag";
|
||||
import { useSidebar } from "~/contexts/Sidebar";
|
||||
import { useDispatch } from "~/hooks/useDispatch";
|
||||
import a11yStyles from "~/styles/accessibility.module.css";
|
||||
import { PaneComponentEnum } from "~/subApps/sheet/components/Sidebar/types";
|
||||
import { SpeciesDetail } from "~/subApps/sheet/components/SpeciesDetail";
|
||||
import { ThemeButton } from "~/tools/js/Shared/components/common/Button";
|
||||
@@ -31,7 +30,6 @@ import {
|
||||
import { CharacterFeaturesManagerContext } from "../../../Shared/managers/CharacterFeaturesManagerContext";
|
||||
import { appEnvSelectors } from "../../../Shared/selectors";
|
||||
import { PaneIdentifierUtils } from "../../../Shared/utils";
|
||||
import BlessingsDetail from "../../components/BlessingsDetail";
|
||||
import ClassesDetail from "../../components/ClassesDetail";
|
||||
import ContentGroup from "../../components/ContentGroup";
|
||||
import FeatsDetail from "../../components/FeatsDetail";
|
||||
@@ -230,7 +228,6 @@ const ClassFeaturesGroup: React.FC<{}> = () => {
|
||||
|
||||
const FeatsGroup: React.FC<{}> = () => {
|
||||
const dispatch = useDispatch();
|
||||
const { gfsBlessingsUiFlag } = useFeatureFlags();
|
||||
const {
|
||||
pane: { paneHistoryStart },
|
||||
} = useSidebar();
|
||||
@@ -285,7 +282,7 @@ const FeatsGroup: React.FC<{}> = () => {
|
||||
style="outline"
|
||||
size="medium"
|
||||
>
|
||||
Manage {gfsBlessingsUiFlag ? "Features" : "Feats"}
|
||||
Manage Feats
|
||||
</ThemeButton>
|
||||
</div>
|
||||
)}
|
||||
@@ -311,35 +308,10 @@ const FeatsGroup: React.FC<{}> = () => {
|
||||
);
|
||||
};
|
||||
|
||||
const BlessingsGroup: React.FC<{}> = () => {
|
||||
return (
|
||||
<ContentGroup header="Blessings">
|
||||
<BlessingsDetail />
|
||||
</ContentGroup>
|
||||
);
|
||||
};
|
||||
|
||||
const Features: React.FC<{}> = () => {
|
||||
const { gfsBlessingsUiFlag } = useFeatureFlags();
|
||||
const { characterFeaturesManager } = useContext(
|
||||
CharacterFeaturesManagerContext
|
||||
);
|
||||
|
||||
const [hasBlessings, setHasBlessings] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
async function onUpdate() {
|
||||
const hasBlessings = gfsBlessingsUiFlag
|
||||
? await characterFeaturesManager.hasBlessings()
|
||||
: false;
|
||||
setHasBlessings(hasBlessings);
|
||||
}
|
||||
return FeaturesManager.subscribeToUpdates({ onUpdate });
|
||||
}, [setHasBlessings]);
|
||||
|
||||
return (
|
||||
<section className="ct-features">
|
||||
<h2 style={visuallyHidden}>Features and Traits</h2>
|
||||
<h2 className={a11yStyles.screenreaderOnly}>Features and Traits</h2>
|
||||
<TabFilter
|
||||
filters={[
|
||||
{
|
||||
@@ -354,9 +326,6 @@ const Features: React.FC<{}> = () => {
|
||||
label: "Feats",
|
||||
content: <FeatsGroup />,
|
||||
},
|
||||
...(gfsBlessingsUiFlag && hasBlessings
|
||||
? [{ label: "Blessings", content: <BlessingsGroup /> }]
|
||||
: []),
|
||||
]}
|
||||
/>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user