session creation and show business information

This commit is contained in:
José Salazar
2026-01-22 18:17:24 -05:00
parent 9ddb0435ed
commit a70468ceb4
5 changed files with 127 additions and 17 deletions

View File

@@ -2,6 +2,7 @@ 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:krow_data_connect/krow_data_connect.dart' as dc;
/// A widget that displays the profile header with avatar and company info.
class SettingsProfileHeader extends StatelessWidget {
@@ -12,6 +13,14 @@ class SettingsProfileHeader extends StatelessWidget {
/// Builds the profile header UI.
Widget build(BuildContext context) {
final labels = t.client_settings.profile;
final session = dc.ClientSessionStore.instance.session;
final businessName =
session?.business?.businessName ?? 'Your Company';
final email = session?.user.email ?? 'client@example.com';
final photoUrl = session?.userPhotoUrl;
final avatarLetter = businessName.trim().isNotEmpty
? businessName.trim()[0].toUpperCase()
: 'C';
return SliverAppBar(
backgroundColor: UiColors.bgSecondary,
@@ -40,20 +49,28 @@ class SettingsProfileHeader extends StatelessWidget {
border: Border.all(color: UiColors.border, width: 2),
color: UiColors.white,
),
child: Center(
child: Text(
'C',
style: UiTypography.headline1m.copyWith(
color: UiColors.primary,
),
),
child: CircleAvatar(
backgroundColor: UiColors.primary.withValues(alpha: 0.1),
backgroundImage:
photoUrl != null && photoUrl.isNotEmpty
? NetworkImage(photoUrl)
: null,
child:
photoUrl != null && photoUrl.isNotEmpty
? null
: Text(
avatarLetter,
style: UiTypography.headline1m.copyWith(
color: UiColors.primary,
),
),
),
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('Your Company', style: UiTypography.body1b.textPrimary),
Text(businessName, style: UiTypography.body1b.textPrimary),
const SizedBox(height: UiConstants.space1),
Row(
mainAxisAlignment: MainAxisAlignment.start,
@@ -65,7 +82,7 @@ class SettingsProfileHeader extends StatelessWidget {
color: UiColors.textSecondary,
),
Text(
'client@example.com',
email,
style: UiTypography.footnote1r.textSecondary,
),
],