Implemented sorted graph
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
import {Html, Main, NextScript, DocumentProps, Head} from 'next/document';
|
||||
import {FC} from "react";
|
||||
import Dict = NodeJS.Dict;
|
||||
|
||||
const MyDocument: FC<DocumentProps> = ({ __NEXT_DATA__ }) => {
|
||||
const pageProps: Record<string, unknown>|undefined = __NEXT_DATA__?.props?.pageProps;
|
||||
const pageProps: Dict<unknown>|undefined = __NEXT_DATA__?.props?.pageProps;
|
||||
return (
|
||||
<Html>
|
||||
<Head />
|
||||
|
||||
@@ -2,11 +2,11 @@ import type { NextPage } from 'next'
|
||||
import Head from 'next/head'
|
||||
import {useGroups} from "../../components/contexts/GroupProvider";
|
||||
import {useFactories} from "../../src/hooks/useFactories";
|
||||
import {GraphNode, ProducingGraph} from "../../components/shared/ProducingGraph/ProducingGraph";
|
||||
import {ProducingGraph} from "../../components/shared/ProducingGraph/ProducingGraph";
|
||||
import {useMemo} from "react";
|
||||
import {calculateInputs} from "../../src/calculateInputs";
|
||||
import {useRouter} from "next/router";
|
||||
import {groupBy, isNonNullable} from "../../src/utils";
|
||||
import {groupBy, isNonNullable, uniquify} from "../../src/utils";
|
||||
import {EnrichedEntity, Recipe} from "../../src/types";
|
||||
import {DetailGraphNode, NodeDetails} from "../../components/visualize/NodeDetails/NodeDetails";
|
||||
|
||||
@@ -39,7 +39,7 @@ const Page: NextPage = () => {
|
||||
|
||||
const producingNodes: DetailGraphNode[] = useMemo(() => {
|
||||
if (!group) return []
|
||||
const nodes = Array.from(new Set([...intermediateFactories, ...group.exports, ...group.malls]))
|
||||
const nodes = uniquify([...intermediateFactories, ...group.exports, ...group.malls])
|
||||
.map(findFactory)
|
||||
.filter(isNonNullable)
|
||||
.map((factory: EnrichedEntity) => ({
|
||||
@@ -52,7 +52,7 @@ const Page: NextPage = () => {
|
||||
.values(groupBy(nodes, node => node.inputs.join()))
|
||||
.map(nodesOfInput => ({
|
||||
inputs: nodesOfInput[0].inputs,
|
||||
outputs: Array.from(new Set(nodesOfInput.flatMap(node => node.outputs))),
|
||||
outputs: uniquify(nodesOfInput.flatMap(node => node.outputs)),
|
||||
name: nodesOfInput.map(node => node.name).join(', '),
|
||||
recipes: nodesOfInput.flatMap(node => node.recipes)
|
||||
} as DetailGraphNode))
|
||||
|
||||
Reference in New Issue
Block a user