v3.6.0 - Bug fixes and number display mode for stats

- Fixed custom status fields not being sent to prompts or parsed
- Fixed date format selection not working beyond default format
- Fixed widget text overflow issues with minimal scrollbars
- Added ability to display stats as numbers with custom max values instead of percentages
- Enabled desktop strip widgets by default
- Removed icon from Desktop Collapsed Strip Widgets heading
This commit is contained in:
Spicy_Marinara
2026-01-13 13:52:18 +01:00
parent ce668c4793
commit e8edc42164
12 changed files with 340 additions and 64 deletions
+26 -7
View File
@@ -485,11 +485,22 @@ function formatTrackerDataForContext(jsonData, trackerType, userName) {
// Handle common object formats
if (field && typeof field === 'object') {
// Status object: {mood, conditions}
if ('mood' in field && 'conditions' in field) {
// Status object: {mood, [customFields...]}
if ('mood' in field) {
const statusParts = [];
const mood = getValue(field.mood);
const conditions = getValue(field.conditions);
return `${mood} - ${conditions}`;
if (mood) statusParts.push(mood);
// Add all other status fields (custom fields)
for (const [key, value] of Object.entries(field)) {
if (key !== 'mood') {
const fieldValue = getValue(value);
if (fieldValue && fieldValue !== 'None') {
statusParts.push(fieldValue);
}
}
}
return statusParts.join(' - ');
}
// Skill/item/quest objects: {name}, {title}, {name, quantity}
@@ -830,9 +841,17 @@ export function formatHistoricalTrackerData(trackerData, trackerConfig, userName
// Status section
if (shouldInclude(userStatsConfig.statusSection) && userStatsData.status) {
const mood = getValue(userStatsData.status.mood || userStatsData.status);
const conditions = getValue(userStatsData.status.conditions);
if (mood) statsFormatted += `Mood: ${mood}, `;
if (conditions && conditions !== 'None') statsFormatted += `Conditions: ${conditions}, `;
if (mood && userStatsConfig.statusSection.showMoodEmoji) statsFormatted += `Mood: ${mood}, `;
// Add all custom status fields
const customFields = userStatsConfig.statusSection.customFields || [];
for (const fieldName of customFields) {
const fieldKey = fieldName.toLowerCase();
const fieldValue = getValue(userStatsData.status[fieldKey]);
if (fieldValue && fieldValue !== 'None') {
statsFormatted += `${fieldName}: ${fieldValue}, `;
}
}
}
// Skills section