lib/shop_header.dartDart
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'constants.dart';
import 'location_screen.dart';
import 'core/prefs/pref_keys.dart';
class ShopHeader extends StatelessWidget implements PreferredSizeWidget {
final VoidCallback onLocationChanged;
const ShopHeader({super.key, required this.onLocationChanged});
@override
Size get preferredSize => const Size.fromHeight(kToolbarHeight);
@override
Widget build(BuildContext context) {
return AppBar(
backgroundColor: AppConstants.baseWhite,
elevation: 0,
automaticallyImplyLeading: false,
// NUR DAS HIER IST NEU: Logo ganz links
leading: Padding(
padding: const EdgeInsets.only(left: 15),
child: Image.asset(
'assets/MeinWeimar_Black.png', // Pfad zu deinem Logo
fit: BoxFit.contain,
),
),
title: FutureBuilder<SharedPreferences>(
future: SharedPreferences.getInstance(),
builder: (context, snapshot) {
String addr = snapshot.data?.getString(PrefKeys.userAddress) ?? "meinweimar rettertüte";
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (snapshot.hasData && snapshot.data?.getString(PrefKeys.userAddress) != null)
const Text(
"DEIN STANDORT",
style: TextStyle(
fontSize: 10,
letterSpacing: 1.2,
fontWeight: FontWeight.bold,
color: Colors.grey,
),
),
Text(
addr,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: (snapshot.hasData && snapshot.data?.getString(PrefKeys.userAddress) != null) ? 14 : 22,
color: AppConstants.fontGrey,
),
),
],
);
},
),
actions: [
IconButton(
icon: const Icon(Icons.edit_location_alt_outlined, color: AppConstants.mainColor),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (_) => const LocationScreen()),
).then((_) => onLocationChanged());
},
),
],
);
}
}