Remove widget resizing and edit mode from dashboard
Some checks failed
Build Frontend / build (push) Failing after 7s

Eliminated the ability to resize dashboard widgets by removing colSpan from WidgetConfig, related UI, and logic. Removed edit mode functionality and the EditDashboardButton, simplifying the dashboard layout and widget management. Updated drag-and-drop strategy to vertical list and incremented the storage key version.
This commit is contained in:
g
2026-01-12 11:13:25 +00:00
parent 9acd18955e
commit a6e6cd0757
5 changed files with 23 additions and 103 deletions

View File

@@ -6,7 +6,7 @@ import QuickActions from "./quick-actions"
import RecentActivity from "./recent-activity"
import { WidgetSettings } from "./widget-settings"
import { WidgetSettingsModal } from "./widget-settings-modal"
import { DashboardEditor, EditDashboardButton } from "./dashboard-editor"
import { DashboardEditor } from "./dashboard-editor"
import { DraggableWidget } from "./draggable-widget"
import RevenueWidget from "./revenue-widget"
import LowStockWidget from "./low-stock-widget"
@@ -46,9 +46,8 @@ export default function Content({ username, orderStats }: ContentProps) {
const [isLoading, setIsLoading] = useState(true);
const [error, setError] = useState<string | null>(null);
const { toast } = useToast();
const { widgets, toggleWidget, moveWidget, reorderWidgets, resetLayout, isWidgetVisible, updateWidgetSettings, updateWidgetColSpan } = useWidgetLayout();
const { widgets, toggleWidget, moveWidget, reorderWidgets, resetLayout, isWidgetVisible, updateWidgetSettings } = useWidgetLayout();
const [configuredWidget, setConfiguredWidget] = useState<WidgetConfig | null>(null);
const [isEditMode, setIsEditMode] = useState(false);
// Initialize with a default quote to match server-side rendering, then randomize on client
const [randomQuote, setRandomQuote] = useState({ text: "Loading wisdom...", author: "..." });
@@ -232,10 +231,6 @@ export default function Content({ username, orderStats }: ContentProps) {
</p>
</div>
<div className="flex items-center gap-2">
<EditDashboardButton
isEditMode={isEditMode}
onToggle={() => setIsEditMode(!isEditMode)}
/>
<WidgetSettings
widgets={widgets}
onToggle={toggleWidget}
@@ -248,30 +243,24 @@ export default function Content({ username, orderStats }: ContentProps) {
<DashboardEditor
widgets={widgets}
isEditMode={isEditMode}
onToggleEditMode={() => setIsEditMode(false)}
isEditMode={false}
onToggleEditMode={() => { }}
onReorder={reorderWidgets}
onReset={resetLayout}
>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 auto-rows-min">
<div className="space-y-10">
{widgets.map((widget) => {
if (!widget.visible && !isEditMode) return null;
if (!widget.visible) return null;
return (
<DraggableWidget
key={widget.id}
widget={widget}
isEditMode={isEditMode}
isEditMode={false}
onConfigure={() => setConfiguredWidget(widget)}
onToggleVisibility={() => toggleWidget(widget.id)}
>
{!widget.visible && isEditMode ? (
<div className="opacity-40 grayscale pointer-events-none h-full">
{renderWidget(widget)}
</div>
) : (
renderWidget(widget)
)}
{renderWidget(widget)}
</DraggableWidget>
);
})}
@@ -283,9 +272,8 @@ export default function Content({ username, orderStats }: ContentProps) {
widget={configuredWidget}
open={!!configuredWidget}
onOpenChange={(open) => !open && setConfiguredWidget(null)}
onSave={(widgetId, settings, colSpan) => {
onSave={(widgetId, settings) => {
updateWidgetSettings(widgetId, settings);
if (colSpan !== undefined) updateWidgetColSpan(widgetId, colSpan);
}}
/>
</div>