Fix layout spacing issues in LED strip configuration
- Remove forced height expansion from display configuration panel - Change layout from flex-based to space-based for natural content sizing - Eliminate large empty spaces between configuration sections - Improve overall UI compactness and visual flow
This commit is contained in:
@ -46,9 +46,9 @@ function App() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div class="min-h-screen bg-base-100" data-theme="dark">
|
<div class="h-screen bg-base-100 flex flex-col" data-theme="dark">
|
||||||
{/* Fixed Navigation */}
|
{/* Fixed Navigation */}
|
||||||
<div class="navbar bg-base-200 shadow-lg fixed top-0 left-0 right-0 z-50">
|
<div class="navbar bg-base-200 shadow-lg flex-shrink-0 z-50">
|
||||||
<div class="navbar-start">
|
<div class="navbar-start">
|
||||||
<div class="dropdown dropdown-hover">
|
<div class="dropdown dropdown-hover">
|
||||||
<div tabindex="0" role="button" class="btn btn-ghost lg:hidden" onClick={(e) => e.currentTarget.focus()}>
|
<div tabindex="0" role="button" class="btn btn-ghost lg:hidden" onClick={(e) => e.currentTarget.focus()}>
|
||||||
@ -80,8 +80,8 @@ function App() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Main Content with top padding to account for fixed navbar */}
|
{/* Main Content - fills remaining height */}
|
||||||
<main class="container mx-auto px-2 sm:px-4 py-4 pt-20 max-w-full overflow-x-auto">
|
<main class="flex-1 container mx-auto px-2 sm:px-4 py-4 max-w-full overflow-x-auto min-h-0">
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="/info" component={InfoIndex} />
|
<Route path="/info" component={InfoIndex} />
|
||||||
<Route path="/displays" component={DisplayStateIndex} />
|
<Route path="/displays" component={DisplayStateIndex} />
|
||||||
|
@ -75,7 +75,7 @@ export const DisplayListContainer: ParentComponent = (props) => {
|
|||||||
createEffect(() => {});
|
createEffect(() => {});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<section ref={root!} class="relative bg-gray-400/30" style={rootStyle()}>
|
<section ref={root!} class="relative bg-gray-400/30 h-full w-full" style={rootStyle()}>
|
||||||
<ol class="absolute" style={olStyle()}>
|
<ol class="absolute" style={olStyle()}>
|
||||||
{props.children}
|
{props.children}
|
||||||
</ol>
|
</ol>
|
||||||
|
@ -116,50 +116,52 @@ export const LedStripConfiguration = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<LedStripConfigurationContext.Provider value={ledStripConfigurationContextValue}>
|
<LedStripConfigurationContext.Provider value={ledStripConfigurationContextValue}>
|
||||||
{/* LED Strip Sorter Panel */}
|
<div class="space-y-4">
|
||||||
<div class="card bg-base-200 shadow-lg">
|
{/* LED Strip Sorter Panel */}
|
||||||
<div class="card-body p-3">
|
<div class="card bg-base-200 shadow-lg">
|
||||||
<div class="card-title text-sm mb-2">
|
<div class="card-body p-3">
|
||||||
<span>灯条排序</span>
|
<div class="card-title text-sm mb-2">
|
||||||
<div class="badge badge-info badge-outline text-xs">实时预览</div>
|
<span>灯条排序</span>
|
||||||
</div>
|
<div class="badge badge-info badge-outline text-xs">实时预览</div>
|
||||||
<LedStripPartsSorter />
|
</div>
|
||||||
<div class="text-xs text-base-content/50 mt-2">
|
<LedStripPartsSorter />
|
||||||
💡 提示:拖拽灯条段落来调整顺序,双击可反转方向
|
<div class="text-xs text-base-content/50 mt-2">
|
||||||
|
💡 提示:拖拽灯条段落来调整顺序,双击可反转方向
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Display Configuration Panel */}
|
{/* Display Configuration Panel - Auto height based on content */}
|
||||||
<div class="card bg-base-200 shadow-lg">
|
<div class="card bg-base-200 shadow-lg">
|
||||||
<div class="card-body p-3">
|
<div class="card-body p-3">
|
||||||
<div class="card-title text-sm mb-2">
|
<div class="card-title text-sm mb-2">
|
||||||
<span>显示器配置</span>
|
<span>显示器配置</span>
|
||||||
<div class="badge badge-secondary badge-outline text-xs">可视化编辑</div>
|
<div class="badge badge-secondary badge-outline text-xs">可视化编辑</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="h-80 mb-3">
|
<div class="mb-3">
|
||||||
<DisplayListContainer>
|
<DisplayListContainer>
|
||||||
{displayStore.displays.map((display) => (
|
{displayStore.displays.map((display) => (
|
||||||
<DisplayView display={display} />
|
<DisplayView display={display} />
|
||||||
))}
|
))}
|
||||||
</DisplayListContainer>
|
</DisplayListContainer>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-xs text-base-content/50">
|
<div class="text-xs text-base-content/50">
|
||||||
💡 提示:悬停显示器查看详细信息,使用下方控制面板调整LED数量
|
💡 提示:悬停显示器查看详细信息,使用下方控制面板调整LED数量
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* LED Count Control Panels */}
|
{/* LED Count Control Panels */}
|
||||||
<div class="space-y-3">
|
<div class="flex-shrink-0">
|
||||||
<div class="flex items-center gap-2 mb-2">
|
<div class="flex items-center gap-2 mb-2">
|
||||||
<h2 class="text-base font-semibold text-base-content">LED数量控制</h2>
|
<h2 class="text-base font-semibold text-base-content">LED数量控制</h2>
|
||||||
<div class="badge badge-info badge-outline text-xs">实时调整</div>
|
<div class="badge badge-info badge-outline text-xs">实时调整</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="led-control-grid">
|
<div class="led-control-grid">
|
||||||
{displayStore.displays.map((display) => (
|
{displayStore.displays.map((display) => (
|
||||||
<LedCountControlPanel display={display} />
|
<LedCountControlPanel display={display} />
|
||||||
))}
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</LedStripConfigurationContext.Provider>
|
</LedStripConfigurationContext.Provider>
|
||||||
|
Reference in New Issue
Block a user