feat: simple working drop down menu

This commit is contained in:
julius 2025-02-11 16:30:53 +01:00
parent 94bee44cb6
commit 686fb3a5a4
Signed by: julius
GPG Key ID: C80A63E6A5FD7092
3 changed files with 8 additions and 12 deletions

View File

@ -84,6 +84,7 @@ class Params(BaseModel):
def sociogram_image(params: Params): def sociogram_image(params: Params):
plt.close()
plt.figure(figsize=(16, 10), facecolor="none") plt.figure(figsize=(16, 10), facecolor="none")
ax = plt.gca() ax = plt.gca()
ax.set_facecolor("none") # Set the axis face color to none (transparent) ax.set_facecolor("none") # Set the axis face color to none (transparent)

View File

@ -24,7 +24,7 @@ export default function Analysis() {
edgeWidth: 1, edgeWidth: 1,
arrowSize: 20, arrowSize: 20,
fontSize: 10, fontSize: 10,
distance: 0.2, distance: 2,
}); });
const [showControlPanel, setShowControlPanel] = useState(false); const [showControlPanel, setShowControlPanel] = useState(false);
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
@ -52,9 +52,9 @@ export default function Analysis() {
return ( return (
<div className="stack column dropdown"> <div className="stack column dropdown">
<button onClick={() => setShowControlPanel(!showControlPanel)}> <button onClick={() => setShowControlPanel(!showControlPanel)}>
Parameters {showControlPanel ? "🞁" : "🞃"} Parameters <img style={{ padding: 0, transform: `rotate(${showControlPanel ? 0 : 180}deg)` }} src="expand.svg" alt={showControlPanel ? "^" : "v"} />
</button> </button>
<div id="control-panel" className={showControlPanel ? "opened" : "closed"}> <div id="control-panel" className={showControlPanel ? "opened" : ""}>
<div className="control"> <div className="control">
<label>distance between nodes</label> <label>distance between nodes</label>

View File

@ -130,21 +130,16 @@ button {
} }
#control-panel { #control-panel {
display: grid; display: none;
overflow: hidden; overflow: hidden;
margin: auto; margin: auto;
gap: 16px; gap: 16px;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr);
transition: display 1s ease-out 0s;
} }
.opened { #control-panel.opened {
max-height: 100vw; display: grid;
transition: max-height 1s ease-in;
}
.closed {
max-height: 0px;
transition: max-height 0.5s ease-out;
} }
.control { .control {