2018-05-01 22:14:41 -06:00
|
|
|
import { store } from "../redux/store";
|
|
|
|
import { urlFriendly } from "../util";
|
|
|
|
import { LinkComputeFn } from "./nav_links";
|
|
|
|
|
|
|
|
export const computeEditorUrlFromState =
|
|
|
|
(resource: "Sequence" | "Regimen"): LinkComputeFn => {
|
|
|
|
return () => {
|
|
|
|
const { resources } = store.getState();
|
|
|
|
const current = resource === "Sequence"
|
|
|
|
? resources.consumers.sequences.current
|
|
|
|
: resources.consumers.regimens.currentRegimen;
|
|
|
|
const r = resources.index.references[current || ""];
|
|
|
|
const base = `/app/${resource === "Sequence" ? "sequences" : "regimens"}/`;
|
2020-01-03 13:04:45 -07:00
|
|
|
if (r?.kind == resource) {
|
2018-05-01 22:14:41 -06:00
|
|
|
return base + urlFriendly(r.body.name);
|
|
|
|
} else {
|
|
|
|
return base;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
2018-06-21 15:04:21 -06:00
|
|
|
|
|
|
|
export const computeFarmwareUrlFromState = () => {
|
|
|
|
const current = store.getState().resources.consumers.farmware.currentFarmware;
|
2018-09-21 16:22:17 -06:00
|
|
|
const base = "/app/farmware/";
|
2018-09-14 07:32:06 -06:00
|
|
|
return base + (current ? urlFriendly(current) : "");
|
2018-06-21 15:04:21 -06:00
|
|
|
};
|