Jump to content

Technological Bench: Difference between revisions

From Once Human Guide
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
Line 1: Line 1:
<div style="max-width:420px; margin:0 auto;">
<style>
<style>
.tb-tabs { display:flex; gap:6px; margin-bottom:12px; }
.tb-tabs{display:flex;gap:6px;margin-bottom:12px;}
.tb-tab { flex:1; padding:8px 0; font-size:13px; font-weight:500; text-align:center; border-radius:var(--border-radius-md); border:0.5px solid var(--color-border-secondary); color:var(--color-text-secondary); cursor:pointer; background:var(--color-background-secondary); }
.tb-tab{flex:1;padding:8px 0;font-size:13px;font-weight:600;text-align:center;border-radius:8px;border:1px solid #444;color:#aaa;cursor:pointer;background:#1a1a1a;}
.tb-tab.active { background:var(--color-background-primary); color:var(--color-text-primary); border-color:var(--color-border-primary); }
.tb-tab.active{background:#2a2a2a;color:#fff;border-color:#888;}
.tb-tab:hover:not(.active) { background:var(--color-background-primary); color:var(--color-text-primary); }
.tb-tab:hover:not(.active){background:#222;color:#ddd;}
.tb-panel { display:none; }
.tb-panel{display:none;}
.tb-panel.active { display:block; }
.tb-panel.active{display:block;}
.tb-select { width:100%; padding:9px 10px; font-size:13px; border-radius:var(--border-radius-md); border:0.5px solid var(--color-border-secondary); background:var(--color-background-secondary); color:var(--color-text-primary); margin-bottom:10px; }
.tb-select{width:100%;padding:9px 10px;font-size:13px;border-radius:8px;border:1px solid #333;background:#1a1a1a;color:#eee;margin-bottom:10px;}
.tb-output { background:var(--color-background-secondary); border:0.5px solid var(--color-border-tertiary); border-radius:var(--border-radius-lg); padding:12px 14px; display:none; }
.tb-output{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;padding:12px 14px;display:none;}
.tb-out-title { font-size:13px; font-weight:500; color:var(--color-text-primary); margin-bottom:8px; }
.tb-out-title{font-size:13px;font-weight:700;color:#eee;margin-bottom:8px;}
.tb-line { font-size:12px; color:var(--color-text-secondary); padding:5px 0; border-top:0.5px solid var(--color-border-tertiary); }
.tb-line{font-size:12px;color:#999;padding:5px 0;border-top:1px solid #2a2a2a;}
.tb-line:first-of-type { border-top:none; }
.tb-line:first-of-type{border-top:none;}
.tb-tier { font-size:10px; font-weight:500; color:var(--color-text-tertiary); text-transform:uppercase; letter-spacing:.04em; display:block; margin-bottom:1px; }
.tb-tier{font-size:10px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:1px;}
</style>
</style>


<h2 class="sr-only">Technological Bench — crafting recipe lookup by category and item</h2>
<div class="tb-tabs">
<div class="tb-tab active" data-tab="survival">Survival</div>
<div class="tb-tab" data-tab="production">Production</div>
<div class="tb-tab" data-tab="combat">Combat</div>
<div class="tb-tab" data-tab="build">Build</div>
</div>


<div style="max-width:420px; padding:1rem 0;">
<div id="survival" class="tb-panel active">
  <div class="tb-tabs">
<select class="tb-select" id="survivalSelect">
    <div class="tb-tab active" data-tab="survival">Survival</div>
<option value="">Select item</option>
    <div class="tb-tab" data-tab="production">Production</div>
<option value="stove">Primary stove</option>
    <div class="tb-tab" data-tab="combat">Combat</div>
<option value="meat">Meat drier</option>
    <div class="tb-tab" data-tab="build">Build</div>
<option value="treatment">Treatment</option>
  </div>
<option value="adrenaline">Adrenaline shots</option>
<option value="waterfilter">Compact water filter</option>
<option value="rainwater">Rainwater collection system</option>
</select>
<div class="tb-output" id="survivalOutput"></div>
</div>


  <div id="survival" class="tb-panel active">
<div id="production" class="tb-panel">
    <select class="tb-select" id="survivalSelect">
<select class="tb-select"><option value="">Select item</option></select>
      <option value="">Select item</option>
</div>
      <option value="stove">Primary stove</option>
<div id="combat" class="tb-panel">
      <option value="meat">Meat drier</option>
<select class="tb-select"><option value="">Select item</option></select>
      <option value="treatment">Treatment</option>
</div>
      <option value="adrenaline">Adrenaline shots</option>
<div id="build" class="tb-panel">
      <option value="waterfilter">Compact water filter</option>
<select class="tb-select"><option value="">Select item</option></select>
      <option value="rainwater">Rainwater collection system</option>
    </select>
    <div class="tb-output" id="survivalOutput"></div>
  </div>
 
  <div id="production" class="tb-panel">
    <select class="tb-select"><option value="">Select item</option></select>
  </div>
  <div id="combat" class="tb-panel">
    <select class="tb-select"><option value="">Select item</option></select>
  </div>
  <div id="build" class="tb-panel">
    <select class="tb-select"><option value="">Select item</option></select>
  </div>
</div>
</div>


<script>
<script>
const data = {
var data={stove:{title:"Primary stove",tiers:[{label:"Tech level 1",recipe:"29 Copper Ore · 17 Gravel · 25 Wood"},{label:"Tech level 8",recipe:"29 Copper Ore · 17 Gravel · 25 Wood"},{label:"Tech level 12",recipe:"30 Copper Ore · 25 Gravel · 17 Wood"}]},meat:{title:"Meat drier",tiers:[{label:"Tech level 1",recipe:"9 Iron Ingot · 13 Metal Scraps · 17 Wood"},{label:"Tech level 8",recipe:"6 Iron Ingot · 8 Metal Scraps · 17 Wood"},{label:"Tech level 12",recipe:"9 Iron Ingot · 8 Metal Scraps · 17 Wood"}]},treatment:{title:"Treatment",tiers:[{label:"Tech level 1",recipe:"1 Detoxident · 1 Glass · 5 Rubber · 1 Acid · 1 Boiled Water"},{label:"Tech level 8",recipe:"1 Detoxident · 1 Glass · 3 Rubber · 1 Acid · 1 Boiled Water"},{label:"Tech level 12",recipe:"1 Detoxident · 1 Glass · 5 Rubber · 1 Acid · 1 Boiled Water"}]},adrenaline:{title:"Adrenaline shots",tiers:[{label:"Tech level 1",recipe:"7 Acid · 1 Glass · 2 Rubber · 17 Stardust Source"},{label:"Tech level 8",recipe:"3 Acid · 1 Glass · 2 Rubber · 17 Stardust Source"},{label:"Tech level 12",recipe:"5 Acid · 1 Glass · 2 Rubber · 17 Stardust Source"}]},waterfilter:{title:"Compact water filter",tiers:[{label:"Tech level 1",recipe:"41 Wood · 13 Adhesive · 17 Charcoal · 21 Iron Ingot · 1 Power Cable"},{label:"Tech level 8",recipe:"41 Wood · 13 Adhesive · 17 Charcoal · 21 Iron Ingot · 1 Power Cable"},{label:"Tech level 12",recipe:"41 Wood · 13 Adhesive · 17 Charcoal · 21 Iron Ingot · 1 Power Cable"}]},rainwater:{title:"Rainwater collection system",tiers:[{label:"Tech level 1",recipe:"25 Wood · 13 Fiber · 5 Rubber"},{label:"Tech level 8",recipe:"25 Wood · 13 Fiber · 2 Rubber"},{label:"Tech level 12",recipe:"26 Wood · 13 Fiber · 3 Rubber"}]}};
  stove: {
document.querySelectorAll('.tb-tab').forEach(function(btn){btn.onclick=function(){document.querySelectorAll('.tb-tab').forEach(function(b){b.classList.remove('active');});document.querySelectorAll('.tb-panel').forEach(function(p){p.classList.remove('active');});btn.classList.add('active');document.getElementById(btn.dataset.tab).classList.add('active');};});
    title: "Primary stove",
document.getElementById('survivalSelect').onchange=function(){var out=document.getElementById('survivalOutput');var item=data[this.value];if(!item){out.style.display='none';return;}out.innerHTML='<div class="tb-out-title">'+item.title+'</div>'+item.tiers.map(function(t){return'<div class="tb-line"><span class="tb-tier">'+t.label+'</span>'+t.recipe+'</div>';}).join('');out.style.display='block';};
    tiers: [
</script>
      { label:"Tech level 1", recipe:"29 Copper Ore · 17 Gravel · 25 Wood" },
      { label:"Tech level 8", recipe:"29 Copper Ore · 17 Gravel · 25 Wood" },
      { label:"Tech level 12", recipe:"30 Copper Ore · 25 Gravel · 17 Wood" }
    ]
  },
  meat: {
    title: "Meat drier",
    tiers: [
      { label:"Tech level 1", recipe:"9 Iron Ingot · 13 Metal Scraps · 17 Wood" },
      { label:"Tech level 8", recipe:"6 Iron Ingot · 8 Metal Scraps · 17 Wood" },
      { label:"Tech level 12", recipe:"9 Iron Ingot · 8 Metal Scraps · 17 Wood" }
    ]
  },
  treatment: {
    title: "Treatment",
    tiers: [
      { label:"Tech level 1", recipe:"1 Detoxident · 1 Glass · 5 Rubber · 1 Acid · 1 Boiled Water" },
      { label:"Tech level 8", recipe:"1 Detoxident · 1 Glass · 3 Rubber · 1 Acid · 1 Boiled Water" },
      { label:"Tech level 12", recipe:"1 Detoxident · 1 Glass · 5 Rubber · 1 Acid · 1 Boiled Water" }
    ]
  },
  adrenaline: {
    title: "Adrenaline shots",
    tiers: [
      { label:"Tech level 1", recipe:"7 Acid · 1 Glass · 2 Rubber · 17 Stardust Source" },
      { label:"Tech level 8", recipe:"3 Acid · 1 Glass · 2 Rubber · 17 Stardust Source" },
      { label:"Tech level 12", recipe:"5 Acid · 1 Glass · 2 Rubber · 17 Stardust Source" }
    ]
  },
  waterfilter: {
    title: "Compact water filter",
    tiers: [
      { label:"Tech level 1", recipe:"41 Wood · 13 Adhesive · 17 Charcoal · 21 Iron Ingot · 1 Power Cable" },
      { label:"Tech level 8", recipe:"41 Wood · 13 Adhesive · 17 Charcoal · 21 Iron Ingot · 1 Power Cable" },
      { label:"Tech level 12", recipe:"41 Wood · 13 Adhesive · 17 Charcoal · 21 Iron Ingot · 1 Power Cable" }
    ]
  },
  rainwater: {
    title: "Rainwater collection system",
    tiers: [
      { label:"Tech level 1", recipe:"25 Wood · 13 Fiber · 5 Rubber" },
      { label:"Tech level 8", recipe:"25 Wood · 13 Fiber · 2 Rubber" },
      { label:"Tech level 12", recipe:"26 Wood · 13 Fiber · 3 Rubber" }
    ]
  }
};


document.querySelectorAll('.tb-tab').forEach(btn => {
</div>
  btn.onclick = () => {
    document.querySelectorAll('.tb-tab').forEach(b => b.classList.remove('active'));
    document.querySelectorAll('.tb-panel').forEach(p => p.classList.remove('active'));
    btn.classList.add('active');
    document.getElementById(btn.dataset.tab).classList.add('active');
  };
});
 
document.getElementById('survivalSelect').onchange = function() {
  const out = document.getElementById('survivalOutput');
  const item = data[this.value];
  if (!item) { out.style.display = 'none'; return; }
  out.innerHTML = `<div class="tb-out-title">${item.title}</div>` +
    item.tiers.map(t => `<div class="tb-line"><span class="tb-tier">${t.label}</span>${t.recipe}</div>`).join('');
  out.style.display = 'block';
};
</script>

Revision as of 16:26, 24 April 2026

<style> .tb-tabs{display:flex;gap:6px;margin-bottom:12px;} .tb-tab{flex:1;padding:8px 0;font-size:13px;font-weight:600;text-align:center;border-radius:8px;border:1px solid #444;color:#aaa;cursor:pointer;background:#1a1a1a;} .tb-tab.active{background:#2a2a2a;color:#fff;border-color:#888;} .tb-tab:hover:not(.active){background:#222;color:#ddd;} .tb-panel{display:none;} .tb-panel.active{display:block;} .tb-select{width:100%;padding:9px 10px;font-size:13px;border-radius:8px;border:1px solid #333;background:#1a1a1a;color:#eee;margin-bottom:10px;} .tb-output{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;padding:12px 14px;display:none;} .tb-out-title{font-size:13px;font-weight:700;color:#eee;margin-bottom:8px;} .tb-line{font-size:12px;color:#999;padding:5px 0;border-top:1px solid #2a2a2a;} .tb-line:first-of-type{border-top:none;} .tb-tier{font-size:10px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:1px;} </style>

Survival
Production
Combat
Build

<select class="tb-select" id="survivalSelect"> <option value="">Select item</option> <option value="stove">Primary stove</option> <option value="meat">Meat drier</option> <option value="treatment">Treatment</option> <option value="adrenaline">Adrenaline shots</option> <option value="waterfilter">Compact water filter</option> <option value="rainwater">Rainwater collection system</option> </select>

<select class="tb-select"><option value="">Select item</option></select>

<select class="tb-select"><option value="">Select item</option></select>

<select class="tb-select"><option value="">Select item</option></select>

<script> var data={stove:{title:"Primary stove",tiers:[{label:"Tech level 1",recipe:"29 Copper Ore · 17 Gravel · 25 Wood"},{label:"Tech level 8",recipe:"29 Copper Ore · 17 Gravel · 25 Wood"},{label:"Tech level 12",recipe:"30 Copper Ore · 25 Gravel · 17 Wood"}]},meat:{title:"Meat drier",tiers:[{label:"Tech level 1",recipe:"9 Iron Ingot · 13 Metal Scraps · 17 Wood"},{label:"Tech level 8",recipe:"6 Iron Ingot · 8 Metal Scraps · 17 Wood"},{label:"Tech level 12",recipe:"9 Iron Ingot · 8 Metal Scraps · 17 Wood"}]},treatment:{title:"Treatment",tiers:[{label:"Tech level 1",recipe:"1 Detoxident · 1 Glass · 5 Rubber · 1 Acid · 1 Boiled Water"},{label:"Tech level 8",recipe:"1 Detoxident · 1 Glass · 3 Rubber · 1 Acid · 1 Boiled Water"},{label:"Tech level 12",recipe:"1 Detoxident · 1 Glass · 5 Rubber · 1 Acid · 1 Boiled Water"}]},adrenaline:{title:"Adrenaline shots",tiers:[{label:"Tech level 1",recipe:"7 Acid · 1 Glass · 2 Rubber · 17 Stardust Source"},{label:"Tech level 8",recipe:"3 Acid · 1 Glass · 2 Rubber · 17 Stardust Source"},{label:"Tech level 12",recipe:"5 Acid · 1 Glass · 2 Rubber · 17 Stardust Source"}]},waterfilter:{title:"Compact water filter",tiers:[{label:"Tech level 1",recipe:"41 Wood · 13 Adhesive · 17 Charcoal · 21 Iron Ingot · 1 Power Cable"},{label:"Tech level 8",recipe:"41 Wood · 13 Adhesive · 17 Charcoal · 21 Iron Ingot · 1 Power Cable"},{label:"Tech level 12",recipe:"41 Wood · 13 Adhesive · 17 Charcoal · 21 Iron Ingot · 1 Power Cable"}]},rainwater:{title:"Rainwater collection system",tiers:[{label:"Tech level 1",recipe:"25 Wood · 13 Fiber · 5 Rubber"},{label:"Tech level 8",recipe:"25 Wood · 13 Fiber · 2 Rubber"},{label:"Tech level 12",recipe:"26 Wood · 13 Fiber · 3 Rubber"}]}}; document.querySelectorAll('.tb-tab').forEach(function(btn){btn.onclick=function(){document.querySelectorAll('.tb-tab').forEach(function(b){b.classList.remove('active');});document.querySelectorAll('.tb-panel').forEach(function(p){p.classList.remove('active');});btn.classList.add('active');document.getElementById(btn.dataset.tab).classList.add('active');};});

document.getElementById('survivalSelect').onchange=function(){var out=document.getElementById('survivalOutput');var item=data[this.value];if(!item){out.style.display='none';return;}out.innerHTML='
'+item.title+'
'+item.tiers.map(function(t){return'
'+t.label+''+t.recipe+'
';}).join();out.style.display='block';};

</script>