chore: fix 273+ analysis issues and repair corrupted core files

This commit is contained in:
2026-03-20 21:05:23 +05:30
parent d3159bc2ae
commit 39263a4af5
59 changed files with 265 additions and 3268 deletions

View File

@@ -221,25 +221,15 @@ class _MyShiftCardState extends State<MyShiftCard> {
color: UiColors.primary.withValues(alpha: 0.09),
),
),
child: widget.shift.logoUrl != null
? ClipRRect(
borderRadius: BorderRadius.circular(
UiConstants.radiusBase,
),
child: Image.network(
widget.shift.logoUrl!,
fit: BoxFit.contain,
),
)
: const Center(
child: Icon(
UiIcons.briefcase,
color: UiColors.primary,
size: UiConstants.iconMd,
),
),
child: const Center(
child: Icon(
UiIcons.briefcase,
color: UiColors.primary,
size: UiConstants.iconMd,
),
),
),
),
const SizedBox(width: UiConstants.space3),
// Consensed Details

View File

@@ -2,8 +2,6 @@ import 'package:core_localization/core_localization.dart';
import 'package:design_system/design_system.dart';
import 'package:flutter/material.dart';
import 'package:flutter_modular/flutter_modular.dart';
import 'package:geolocator/geolocator.dart';
import 'package:intl/intl.dart';
import 'package:krow_core/core.dart';
import 'package:krow_domain/krow_domain.dart';
import 'package:staff_shifts/src/presentation/widgets/available_order_card.dart';
@@ -34,124 +32,15 @@ class FindShiftsTab extends StatefulWidget {
class _FindShiftsTabState extends State<FindShiftsTab> {
String _searchQuery = '';
String _jobType = 'all';
double? _maxDistance; // miles
Position? _currentPosition;
final TextEditingController _searchController = TextEditingController();
String _formatTime(DateTime dt) => DateFormat('h:mm a').format(dt);
@override
void dispose() {
_searchController.dispose();
super.dispose();
}
Future<void> _initLocation() async {
try {
final LocationPermission permission = await Geolocator.checkPermission();
if (permission == LocationPermission.always ||
permission == LocationPermission.whileInUse) {
final Position pos = await Geolocator.getCurrentPosition();
if (mounted) {
setState(() => _currentPosition = pos);
}
}
} catch (_) {}
}
double _calculateDistance(double lat, double lng) {
if (_currentPosition == null) return -1;
final double distMeters = Geolocator.distanceBetween(
_currentPosition!.latitude,
_currentPosition!.longitude,
lat,
lng,
);
return distMeters / 1609.34; // meters to miles
}
void _showDistanceFilter() {
showModalBottomSheet<void>(
context: context,
backgroundColor: UiColors.bgPopup,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.vertical(top: Radius.circular(24)),
),
builder: (BuildContext context) {
return StatefulBuilder(
builder: (BuildContext context, StateSetter setModalState) {
return Container(
padding: const EdgeInsets.all(24),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
context.t.staff_shifts.find_shifts.radius_filter_title,
style: UiTypography.headline4m.textPrimary,
),
const SizedBox(height: 16),
Text(
_maxDistance == null
? context.t.staff_shifts.find_shifts.unlimited_distance
: context.t.staff_shifts.find_shifts.within_miles(
miles: _maxDistance!.round().toString(),
),
style: UiTypography.body2m.textSecondary,
),
Slider(
value: _maxDistance ?? 100,
min: 5,
max: 100,
divisions: 19,
activeColor: UiColors.primary,
onChanged: (double val) {
setModalState(() => _maxDistance = val);
setState(() => _maxDistance = val);
},
),
const SizedBox(height: 24),
Row(
children: <Widget>[
Expanded(
child: UiButton.secondary(
text: context.t.staff_shifts.find_shifts.clear,
onPressed: () {
setModalState(() => _maxDistance = null);
setState(() => _maxDistance = null);
Navigator.pop(context);
},
),
),
const SizedBox(width: 12),
Expanded(
child: UiButton.primary(
text: context.t.staff_shifts.find_shifts.apply,
onPressed: () => Navigator.pop(context),
),
),
],
),
],
),
);
},
);
},
);
}
String _formatDate(DateTime date) {
final DateTime now = DateTime.now();
final DateTime today = DateTime(now.year, now.month, now.day);
final DateTime tomorrow = today.add(const Duration(days: 1));
final DateTime d = DateTime(date.year, date.month, date.day);
if (d == today) return 'Today';
if (d == tomorrow) return 'Tomorrow';
return DateFormat('EEE, MMM d').format(date);
}
/// Builds a filter tab chip.
Widget _buildFilterTab(String id, String label) {
final bool isSelected = _jobType == id;