limiting client side toggle tuning although not scalable with more lines
This commit is contained in:
@@ -46,7 +46,16 @@ function NirvanaApp() {
|
|||||||
<ReactQueryDevtools initialIsOpen={true} position={"bottom-left"} />
|
<ReactQueryDevtools initialIsOpen={true} position={"bottom-left"} />
|
||||||
</RecoilRoot>
|
</RecoilRoot>
|
||||||
|
|
||||||
<Toaster />
|
<Toaster
|
||||||
|
position={"bottom-center"}
|
||||||
|
toastOptions={{
|
||||||
|
style: {
|
||||||
|
borderRadius: "10px",
|
||||||
|
background: "#333",
|
||||||
|
color: "#fff",
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
/>
|
||||||
</QueryClientProvider>
|
</QueryClientProvider>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -13,10 +13,11 @@ import { useRecoilState } from "recoil";
|
|||||||
|
|
||||||
export default function LineDetailsTerminal({
|
export default function LineDetailsTerminal({
|
||||||
selectedLine,
|
selectedLine,
|
||||||
|
handleToggleTuneToLine,
|
||||||
}: {
|
}: {
|
||||||
selectedLine?: MasterLineData;
|
selectedLine?: MasterLineData;
|
||||||
|
handleToggleTuneToLine: (lineId: string, turnToggleOn: boolean) => void;
|
||||||
}) {
|
}) {
|
||||||
const { handleTuneToLine } = useLineDataProvider();
|
|
||||||
const { data: userDetails } = useGetUserDetails();
|
const { data: userDetails } = useGetUserDetails();
|
||||||
|
|
||||||
console.log("selected line", selectedLine);
|
console.log("selected line", selectedLine);
|
||||||
@@ -75,11 +76,11 @@ export default function LineDetailsTerminal({
|
|||||||
}`}
|
}`}
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
isUserToggleTuned
|
isUserToggleTuned
|
||||||
? handleTuneToLine(
|
? handleToggleTuneToLine(
|
||||||
selectedLine.lineDetails._id.toString(),
|
selectedLine.lineDetails._id.toString(),
|
||||||
false
|
false
|
||||||
)
|
)
|
||||||
: handleTuneToLine(
|
: handleToggleTuneToLine(
|
||||||
selectedLine.lineDetails._id.toString(),
|
selectedLine.lineDetails._id.toString(),
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import { LineMemberState } from "@nirvana/core/models/line.model";
|
|||||||
import LineRow from "../../components/lines/lineRow.tsx/index";
|
import LineRow from "../../components/lines/lineRow.tsx/index";
|
||||||
import MasterLineData from "@nirvana/core/models/masterLineData.model";
|
import MasterLineData from "@nirvana/core/models/masterLineData.model";
|
||||||
import NewLineModal from "./newLine";
|
import NewLineModal from "./newLine";
|
||||||
|
import toast from "react-hot-toast";
|
||||||
import { useLineDataProvider } from "../../controller/lineDataProvider";
|
import { useLineDataProvider } from "../../controller/lineDataProvider";
|
||||||
|
|
||||||
export default function NirvanaTerminal() {
|
export default function NirvanaTerminal() {
|
||||||
@@ -116,6 +117,19 @@ export default function NirvanaTerminal() {
|
|||||||
[setSelectedLineId, selectedLine]
|
[setSelectedLineId, selectedLine]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const handleToggleTuneToLine = useCallback(
|
||||||
|
(lineId: string, turnToggleOn: boolean) => {
|
||||||
|
if (toggleTunedLines?.length >= 3) {
|
||||||
|
toast.error("You cannot toggle more than 3 lines!");
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
handleTuneToLine(lineId, turnToggleOn);
|
||||||
|
},
|
||||||
|
[toggleTunedLines, handleTuneToLine]
|
||||||
|
);
|
||||||
|
|
||||||
const handleStartBroadcast = useCallback(
|
const handleStartBroadcast = useCallback(
|
||||||
(lineId: string) => () => {
|
(lineId: string) => () => {
|
||||||
console.log(`starting broadcast for ${lineId}!!!`);
|
console.log(`starting broadcast for ${lineId}!!!`);
|
||||||
@@ -238,7 +252,10 @@ export default function NirvanaTerminal() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<LineDetailsTerminal selectedLine={selectedLine} />
|
<LineDetailsTerminal
|
||||||
|
handleToggleTuneToLine={handleToggleTuneToLine}
|
||||||
|
selectedLine={selectedLine}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user