Unverified Commit 8d42d404 authored by Jari Kolehmainen's avatar Jari Kolehmainen Committed by GitHub
Browse files

fix initial hotbar not showing (#2551)

Signed-off-by: default avatarJari Kolehmainen <jari.kolehmainen@gmail.com>
parent 8dde4a1e
Showing with 37 additions and 9 deletions
+37 -9
import mockFs from "mock-fs";
import { HotbarStore, hotbarStore } from "../hotbar-store";
describe("HotbarStore", () => {
beforeEach(() => {
HotbarStore.resetInstance();
mockFs({ tmp: { "lens-hotbar-store.json": "{}" } });
});
afterEach(() => {
mockFs.restore();
});
describe("load", () => {
it("loads one hotbar by default", () => {
hotbarStore.load();
expect(hotbarStore.hotbars.length).toEqual(1);
});
});
});
......@@ -35,10 +35,14 @@ export class HotbarStore extends BaseStore<HotbarStoreModel> {
}
@action protected async fromStore(data: Partial<HotbarStoreModel> = {}) {
this.hotbars = data.hotbars || [{
name: "default",
items: []
}];
if (data.hotbars?.length === 0) {
this.hotbars = [{
name: "default",
items: []
}];
} else {
this.hotbars = data.hotbars;
}
}
getByName(name: string) {
......
......@@ -14,20 +14,24 @@ interface Props {
@observer
export class HotbarMenu extends React.Component<Props> {
render() {
const { className } = this.props;
get hotbarItems() {
const hotbar = hotbarStore.getByName("default"); // FIXME
if (!hotbar) {
return null;
return [];
}
const items = hotbar.items.map((item) => catalogEntityRegistry.items.find((entity) => entity.metadata.uid === item.entity.uid)).filter(Boolean);
return hotbar.items.map((item) => catalogEntityRegistry.items.find((entity) => entity.metadata.uid === item.entity.uid)).filter(Boolean);
}
render() {
const { className } = this.props;
return (
<div className={cssNames("HotbarMenu flex column", className)}>
<div className="items flex column gaps">
{items.map((entity, index) => {
{this.hotbarItems.map((entity, index) => {
return (
<HotbarIcon
key={index}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment