浏览代码

Fix the menubar on mobile; only one category appears at a time

tags/v0.0.4
Fen Dweller 5 年前
父节点
当前提交
1cdc43756e
共有 2 个文件被更改,包括 45 次插入0 次删除
  1. +16
    -0
      macrovision.css
  2. +29
    -0
      macrovision.js

+ 16
- 0
macrovision.css 查看文件

@@ -132,6 +132,7 @@ body.toggle-entity-name .entity-name {
flex-direction: row; flex-direction: row;
justify-content: space-evenly; justify-content: space-evenly;
align-items: center; align-items: center;
flex-wrap: wrap;
min-height: 10vh; min-height: 10vh;
min-width: 100vw; min-width: 100vw;
background: #222; background: #222;
@@ -239,9 +240,24 @@ body.toggle-bottom-name .bottom-name {
} }


#spawners > button { #spawners > button {
display: none;
font-size: 200%; font-size: 200%;
} }
#spawners > select { #spawners > select {
display: none;
font-size: 200%; font-size: 200%;
margin-right: 50px; margin-right: 50px;
}

#spawners > select#category-picker {
display: inline;
}

#spawners > button.category-visible,
#spawners > select.category-visible {
display: inline;
}

#menubar button {
font-size: 300%;
} }

+ 29
- 0
macrovision.js 查看文件

@@ -748,6 +748,11 @@ function prepareEntities() {
return x.name < y.name ? -1 : 1 return x.name < y.name ? -1 : 1
}); });
const holder = document.querySelector("#spawners"); const holder = document.querySelector("#spawners");

const categorySelect = document.createElement("select");
categorySelect.id = "category-picker";

holder.appendChild(categorySelect);
Object.entries(availableEntities).forEach(([category, entityList]) => { Object.entries(availableEntities).forEach(([category, entityList]) => {
const select = document.createElement("select"); const select = document.createElement("select");
select.id = "create-entity-" + category; select.id = "create-entity-" + category;
@@ -760,6 +765,7 @@ function prepareEntities() {
}; };


const button = document.createElement("button"); const button = document.createElement("button");
button.id = "create-entity-" + category + "-button";


button.innerText = "Create"; button.innerText = "Create";
button.addEventListener("click", e => { button.addEventListener("click", e => {
@@ -767,9 +773,32 @@ function prepareEntities() {
displayEntity(newEntity, newEntity.defaultView, 0.5, 1); displayEntity(newEntity, newEntity.defaultView, 0.5, 1);
}); });


const categoryOption = document.createElement("option");
categoryOption.value = category
categoryOption.innerText = category;

if (category == "characters") {
categoryOption.selected = true;
select.classList.add("category-visible");
button.classList.add("category-visible");
}

categorySelect.appendChild(categoryOption);
holder.appendChild(button); holder.appendChild(button);
holder.appendChild(select); holder.appendChild(select);
}); });

categorySelect.addEventListener("input", e => {
const oldSelect = document.querySelector("select.category-visible");
oldSelect.classList.remove("category-visible");
const oldButton = document.querySelector("button.category-visible");
oldButton.classList.remove("category-visible");

const newSelect = document.querySelector("#create-entity-" + e.target.value);
newSelect.classList.add("category-visible");
const newButton = document.querySelector("#create-entity-" + e.target.value + "-button");
newButton.classList.add("category-visible");
});
} }


window.addEventListener("resize", () => { window.addEventListener("resize", () => {


正在加载...
取消
保存