fix(dashboard): replace all hardcoded emoji icons with Font Awesome

Fix inconsistent tab icon rendering by replacing hardcoded emoji icons
throughout the codebase with Font Awesome equivalents:

- distributeWidgetsByCategory(): Replace emojis in auto-layout tab creation
  - Status tab: 📊 → fa-solid fa-user
  - Scene tab: 🌍 → fa-solid fa-map
  - Social tab: 👥 → fa-solid fa-users
  - Inventory tab: 🎒 → fa-solid fa-bag-shopping

- applyDashboardConfig(): Update fallback icon from 📄 → fa-solid fa-file

These hardcoded emojis bypassed the migration system, causing icons to
disappear after operations like auto-arrange, reset layout, or page refresh.

Resolves inconsistent icon rendering across all dashboard operations.
This commit is contained in:
Lucas 'Paperboy' Rose-Winters
2025-10-27 22:25:03 +11:00
parent 7628bb84c1
commit fb25277db4
2 changed files with 14 additions and 5 deletions
+5 -5
View File
@@ -840,7 +840,7 @@ export class DashboardManager {
this.dashboard.tabs.push({ this.dashboard.tabs.push({
id: 'tab-status', id: 'tab-status',
name: 'Status', name: 'Status',
icon: '📊', icon: 'fa-solid fa-user',
order: 0, order: 0,
widgets: groups.user widgets: groups.user
}); });
@@ -854,7 +854,7 @@ export class DashboardManager {
this.dashboard.tabs.push({ this.dashboard.tabs.push({
id: 'tab-scene', id: 'tab-scene',
name: 'Scene', name: 'Scene',
icon: '🌍', icon: 'fa-solid fa-map',
order: 1, order: 1,
widgets: groups.scene widgets: groups.scene
}); });
@@ -868,7 +868,7 @@ export class DashboardManager {
this.dashboard.tabs.push({ this.dashboard.tabs.push({
id: 'tab-social', id: 'tab-social',
name: 'Social', name: 'Social',
icon: '👥', icon: 'fa-solid fa-users',
order: 2, order: 2,
widgets: groups.social widgets: groups.social
}); });
@@ -882,7 +882,7 @@ export class DashboardManager {
this.dashboard.tabs.push({ this.dashboard.tabs.push({
id: 'tab-inventory', id: 'tab-inventory',
name: 'Inventory', name: 'Inventory',
icon: '🎒', icon: 'fa-solid fa-bag-shopping',
order: 3, order: 3,
widgets: groups.inventory widgets: groups.inventory
}); });
@@ -1267,7 +1267,7 @@ export class DashboardManager {
this.dashboard.tabs.push({ this.dashboard.tabs.push({
id: tabConfig.id, id: tabConfig.id,
name: tabConfig.name, name: tabConfig.name,
icon: tabConfig.icon || '📄', icon: tabConfig.icon || 'fa-solid fa-file',
order: tabConfig.order || 0, order: tabConfig.order || 0,
widgets: tabConfig.widgets || [] widgets: tabConfig.widgets || []
}); });
+9
View File
@@ -1708,6 +1708,15 @@ body:has(.rpg-panel.rpg-position-left) #sheld {
pointer-events: auto; pointer-events: auto;
} }
/* Prevent text selection in edit mode (especially important for mobile) */
.edit-mode .rpg-widget-content {
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-touch-callout: none; /* Prevent iOS callout menu */
}
/* Hide resize handles when widgets are locked */ /* Hide resize handles when widgets are locked */
.widgets-locked .resize-handles { .widgets-locked .resize-handles {
opacity: 0 !important; opacity: 0 !important;