45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
import re
|
|
|
|
with open('kifi-app/lib/features/projects/presentation/project_board_screen.dart', 'r') as f:
|
|
content = f.read()
|
|
|
|
# Replace old Card with TaskCard
|
|
old_card = """ ...tasks.map((t) => Card(
|
|
margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
|
|
child: Padding(
|
|
padding: const EdgeInsets.all(12.0),
|
|
child: Column(
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: [
|
|
Text(t.title, style: const TextStyle(fontWeight: FontWeight.bold)),
|
|
if (t.isBillable) ...[
|
|
const SizedBox(height: 8),
|
|
Container(
|
|
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
|
|
decoration: BoxDecoration(color: Colors.green[50], borderRadius: BorderRadius.circular(4)),
|
|
child: const Text('Billable', style: TextStyle(color: Colors.green, fontSize: 12)),
|
|
)
|
|
]
|
|
],
|
|
),
|
|
),
|
|
)),"""
|
|
|
|
new_card = """ ...tasks.map((t) => TaskCard(
|
|
task: t,
|
|
onGenerateInvoice: () {
|
|
// TODO: Navigate to AddInvoiceScreen with task data
|
|
},
|
|
)),"""
|
|
|
|
content = content.replace(old_card, new_card)
|
|
|
|
# Add import
|
|
content = content.replace(
|
|
'import \'widgets/add_task_sheet.dart\';',
|
|
'import \'widgets/add_task_sheet.dart\';\nimport \'widgets/task_card.dart\';'
|
|
)
|
|
|
|
with open('kifi-app/lib/features/projects/presentation/project_board_screen.dart', 'w') as f:
|
|
f.write(content)
|