feat: implement UI-3D state consistency switcher for week 3 task 3 in vanilla
This commit is contained in:
parent
b5e07716cc
commit
b787546d6c
@ -11,6 +11,7 @@
|
||||
<button data-variant="black" class="active">Black</button>
|
||||
<button data-variant="silver">Silver</button>
|
||||
<button data-variant="gold">Gold</button>
|
||||
<button data-variant="emerald">Emerald</button>
|
||||
</div>
|
||||
|
||||
<script type="module" src="./main.js"></script>
|
||||
|
||||
@ -20,6 +20,7 @@ const geometries = {
|
||||
black: new THREE.BoxGeometry(2, 2, 2),
|
||||
silver: new THREE.SphereGeometry(1.5, 32, 32),
|
||||
gold: new THREE.TorusGeometry(1.2, 0.4, 16, 100),
|
||||
emerald: new THREE.CylinderGeometry(1.2, 0.4, 2.5, 100),
|
||||
};
|
||||
|
||||
const materials = {
|
||||
@ -38,6 +39,11 @@ const materials = {
|
||||
roughness: 0.4,
|
||||
metalness: 1,
|
||||
}),
|
||||
emerald: new THREE.MeshStandardMaterial({
|
||||
color: "#009B77",
|
||||
roughness: 0.4,
|
||||
metalness: 1,
|
||||
}),
|
||||
};
|
||||
|
||||
let currentVariant = "black";
|
||||
|
||||
42
Week-3/Task-3/vanilla/style.css
Normal file
42
Week-3/Task-3/vanilla/style.css
Normal file
@ -0,0 +1,42 @@
|
||||
body {
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
||||
}
|
||||
|
||||
#controls {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
left: 20px;
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
backdrop-filter: blur(10px);
|
||||
padding: 16px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
|
||||
border: 1px solid rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px 18px;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
background: white;
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
font-weight: 500;
|
||||
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
button:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
button.active {
|
||||
background: #333;
|
||||
color: white;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user