Compare commits

...

17 Commits

Author SHA1 Message Date
Docker Config Backup
ec8f51ebb1 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 13:24:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 13:24:37 +02:00
Docker Config Backup
ec1168308c Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 12:54:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 12:54:37 +02:00
Docker Config Backup
5a3c628583 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 12:24:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 12:24:37 +02:00
Docker Config Backup
a84f5d755e Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 11:54:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 11:54:37 +02:00
Docker Config Backup
bef574b0b5 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 11:24:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 11:24:37 +02:00
Docker Config Backup
c4e2f153ff Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 10:54:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 10:54:37 +02:00
Docker Config Backup
b562297e58 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 10:24:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 10:24:37 +02:00
Docker Config Backup
b182016b90 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 09:54:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 09:54:37 +02:00
Docker Config Backup
15137a50bf Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 09:24:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 09:24:37 +02:00
Docker Config Backup
72bc6ff360 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 08:54:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 08:54:37 +02:00
Docker Config Backup
2721e2a037 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 08:24:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 08:24:37 +02:00
Docker Config Backup
68c52ae8b6 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 07:54:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 07:54:37 +02:00
Docker Config Backup
6add9399f8 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 07:24:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 07:24:37 +02:00
Docker Config Backup
c43f2ca1af Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 06:54:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 06:54:37 +02:00
Docker Config Backup
6dd08cd528 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 06:24:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 06:24:37 +02:00
Docker Config Backup
4255f872ae Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 05:54:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 05:54:37 +02:00
Docker Config Backup
c6f63d0641 Save before creating restore point: Periodic backup
Auto-saved at 2025-07-31 05:24:37

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 05:24:37 +02:00
3 changed files with 102 additions and 10 deletions

View File

@@ -319,6 +319,13 @@ export function TimeshiftSpreadsheet({ teamId, teamName }: TimeshiftSpreadsheetP
}
}
// Add top border to year row (row 3) from A3 to end of table (excluding last column)
for (let col = 0; col < (data[0]?.length || 0) - 1; col++) {
const colLetter = getExcelColumnName(col)
const existingStyle = styles[`${colLetter}3`] || ""
styles[`${colLetter}3`] = existingStyle + " border-top: 1px solid #000000;"
}
// Style header rows
for (let col = 1; col < (data[0]?.length || 0); col++) {
const colLetter = getExcelColumnName(col)
@@ -336,16 +343,19 @@ export function TimeshiftSpreadsheet({ teamId, teamName }: TimeshiftSpreadsheetP
const colLetter = getExcelColumnName(col)
const nextColLetter = getExcelColumnName(col + 1)
// Weekend day name row (row 2) - merged cells with conditional top border
const hasBorder1 = colLetter !== 'BZ' && colLetter !== 'CA' ? " border-top: 1px solid #000000;" : ""
const hasBorder2 = nextColLetter !== 'BZ' && nextColLetter !== 'CA' ? " border-top: 1px solid #000000;" : ""
styles[`${colLetter}2`] = `background-color: #ffd966; height: 50px;${hasBorder1}` // Weekend day name with conditional border
styles[`${nextColLetter}2`] = `background-color: #ffd966; height: 50px;${hasBorder2}`
// Weekend day name row (row 2) - merged cells with conditional borders
const hasBorders1 = colLetter !== 'BZ' && colLetter !== 'CA' ? " border-top: 1px solid #000000; border-left: 1px solid #000000;" : ""
const hasBorders2 = nextColLetter !== 'BZ' && nextColLetter !== 'CA' ? " border-top: 1px solid #000000; border-left: 1px solid #000000;" : ""
styles[`${colLetter}2`] = `background-color: #ffd966; height: 50px;${hasBorders1}` // Weekend day name with conditional borders
styles[`${nextColLetter}2`] = `background-color: #ffd966; height: 50px;${hasBorders2}`
// Weekend date columns (rows 3, 4, 5 - year, month, day)
for (let row = 3; row <= 5; row++) {
styles[`${colLetter}${row}`] = "background-color: #ffd966;" // Weekend date values
styles[`${nextColLetter}${row}`] = "background-color: #ffd966;" // Weekend date values
// Preserve existing styles (like borders) and add weekend background
const existingStyle1 = styles[`${colLetter}${row}`] || ""
const existingStyle2 = styles[`${nextColLetter}${row}`] || ""
styles[`${colLetter}${row}`] = existingStyle1 + " background-color: #ffd966;" // Weekend date values
styles[`${nextColLetter}${row}`] = existingStyle2 + " background-color: #ffd966;" // Weekend date values
}
}
}
@@ -393,9 +403,7 @@ export function TimeshiftSpreadsheet({ teamId, teamName }: TimeshiftSpreadsheetP
allowInsertColumn: false,
allowDeleteRow: true,
allowDeleteColumn: false,
contextMenu: function(obj: any, x: number, y: number) {
return [] // Empty context menu to avoid issues
},
contextMenu: false,
tableOverflow: true,
tableWidth: "100%",
tableHeight: "500px",

View File

@@ -256,3 +256,45 @@
2025-07-31 04:24:51 +02:00: ✅ Restore point created
2025-07-31 04:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 04:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 04:56:08 +02:00: ✅ Restore point created
2025-07-31 05:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 05:26:11 +02:00: ✅ Restore point created
2025-07-31 05:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 05:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 05:56:09 +02:00: ✅ Restore point created
2025-07-31 06:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 06:26:08 +02:00: ✅ Restore point created
2025-07-31 06:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 06:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 06:56:11 +02:00: ✅ Restore point created
2025-07-31 07:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 07:26:12 +02:00: ✅ Restore point created
2025-07-31 07:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 07:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 07:56:09 +02:00: ✅ Restore point created
2025-07-31 08:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 08:26:09 +02:00: ✅ Restore point created
2025-07-31 08:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 08:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 08:55:17 +02:00: ✅ Restore point created
2025-07-31 09:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 09:26:08 +02:00: ✅ Restore point created
2025-07-31 09:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 09:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 09:56:11 +02:00: ✅ Restore point created
2025-07-31 10:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 10:26:13 +02:00: ✅ Restore point created
2025-07-31 10:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 10:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 10:56:08 +02:00: ✅ Restore point created
2025-07-31 11:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 11:26:08 +02:00: ✅ Restore point created
2025-07-31 11:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 11:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 11:56:08 +02:00: ✅ Restore point created
2025-07-31 12:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 12:26:08 +02:00: ✅ Restore point created
2025-07-31 12:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 12:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 12:56:13 +02:00: ✅ Restore point created
2025-07-31 13:24:37 +02:00: 🔖 Creating restore point...

View File

@@ -252,3 +252,45 @@
2025-07-31 04:24:51 +02:00: ✅ Restore point created
2025-07-31 04:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 04:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 04:56:08 +02:00: ✅ Restore point created
2025-07-31 05:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 05:26:11 +02:00: ✅ Restore point created
2025-07-31 05:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 05:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 05:56:09 +02:00: ✅ Restore point created
2025-07-31 06:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 06:26:08 +02:00: ✅ Restore point created
2025-07-31 06:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 06:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 06:56:11 +02:00: ✅ Restore point created
2025-07-31 07:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 07:26:12 +02:00: ✅ Restore point created
2025-07-31 07:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 07:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 07:56:09 +02:00: ✅ Restore point created
2025-07-31 08:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 08:26:09 +02:00: ✅ Restore point created
2025-07-31 08:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 08:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 08:55:17 +02:00: ✅ Restore point created
2025-07-31 09:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 09:26:08 +02:00: ✅ Restore point created
2025-07-31 09:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 09:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 09:56:11 +02:00: ✅ Restore point created
2025-07-31 10:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 10:26:13 +02:00: ✅ Restore point created
2025-07-31 10:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 10:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 10:56:08 +02:00: ✅ Restore point created
2025-07-31 11:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 11:26:08 +02:00: ✅ Restore point created
2025-07-31 11:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 11:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 11:56:08 +02:00: ✅ Restore point created
2025-07-31 12:24:37 +02:00: 🔖 Creating restore point...
2025-07-31 12:26:08 +02:00: ✅ Restore point created
2025-07-31 12:54:37 +02:00: 🔄 Hourly reset: Commit counter reset to 0
2025-07-31 12:54:37 +02:00: 🔖 Creating restore point...
2025-07-31 12:56:13 +02:00: ✅ Restore point created
2025-07-31 13:24:37 +02:00: 🔖 Creating restore point...