Untitled

mail@pastecode.io avatar
unknown
plain_text
21 days ago
6.9 kB
2
Indexable
Never
import 'package:flutter/material.dart';
import 'package:spotix_app/view/screen_account/widgets/connections_tab.dart';
import 'package:spotix_app/view/screen_account/widgets/more_options_sheet.dart';
import 'package:spotix_app/view/screen_account/widgets/posts_tab.dart';
import 'package:spotix_app/view/screen_account/widgets/stories_tab.dart';
import 'package:spotix_app/view/screen_account/widgets/transparent_vertical_button.dart';

class ScreenAccount extends StatelessWidget {
  const ScreenAccount({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Center(
          child: Column(
            children: [
              Padding(
                padding: const EdgeInsets.all(8),
                child: Stack(
                  children: [
                    Container(
                      height: MediaQuery.of(context).size.height * 0.3,
                      decoration: BoxDecoration(
                          borderRadius: BorderRadius.circular(25),
                          image: const DecorationImage(
                            image: AssetImage('assets/images/tony.jpg'),
                            fit: BoxFit.cover,
                          )),
                    ),
                    Positioned(
                      top: 0,
                      left: 0,
                      child: TransparentVerticalButton(
                        icon: Icons.border_color_outlined,
                        onTap: () {},
                      ),
                    ),
                    Positioned(
                      top: 0,
                      right: 0,
                      child: TransparentVerticalButton(
                        icon: Icons.more_vert_outlined,
                        onTap: () => moreOptionsSheet(context),
                      ),
                    ),
                    Positioned(
                      bottom: 0,
                      left: 0,
                      child: Padding(
                        padding: const EdgeInsets.all(15),
                        child: Column(
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: [
                            const Text(
                              'thejesbin',
                              style: TextStyle(
                                fontSize: 20,
                                fontWeight: FontWeight.w600,
                                color: Colors.white,
                              ),
                            ),
                            Text(
                              'Software Engineer',
                              style: TextStyle(
                                fontSize: 12,
                                color: Colors.white.withOpacity(0.3),
                              ),
                            ),
                          ],
                        ),
                      ),
                    )
                  ],
                ),
              ),
              SizedBox(
                height: MediaQuery.of(context).size.height * 0.53,
                child: DefaultTabController(
                  length: 3,
                  child: Column(
                    children: [
                      Padding(
                        padding: const EdgeInsets.symmetric(horizontal: 20),
                        child: TabBar(
                          dividerHeight: 0,
                          indicatorColor: Colors.transparent,
                          splashFactory: NoSplash.splashFactory,
                          padding: EdgeInsets.zero,
                          labelPadding: EdgeInsets.zero,
                          indicatorPadding: EdgeInsets.zero,
                          labelColor: Colors.white,
                          labelStyle: const TextStyle(
                            fontSize: 14,
                            fontFamily: 'Itim',
                          ),
                          unselectedLabelStyle: const TextStyle(
                            fontSize: 13,
                            fontFamily: 'Itim',
                          ),
                          tabs: [
                            Tab(
                              height: 60,
                              icon: Container(
                                height: 60,
                                width: double.infinity,
                                decoration: const BoxDecoration(
                                    color: Colors.black,
                                    borderRadius: BorderRadius.only(
                                      topLeft: Radius.circular(50),
                                      bottomLeft: Radius.circular(50),
                                    )),
                                alignment: Alignment.center,
                                child: const Text(
                                  'Connections',
                                ),
                              ),
                            ),
                            Tab(
                              height: 60,
                              icon: Container(
                                decoration: const BoxDecoration(
                                  color: Colors.black,
                                ),
                                alignment: Alignment.center,
                                child: const Text(
                                  'Stories',
                                ),
                              ),
                            ),
                            Tab(
                              height: 60,
                              icon: Container(
                                decoration: const BoxDecoration(
                                  color: Colors.black,
                                  borderRadius: BorderRadius.only(
                                    topRight: Radius.circular(50),
                                    bottomRight: Radius.circular(50),
                                  ),
                                ),
                                alignment: Alignment.center,
                                child: const Text(
                                  'Posts',
                                ),
                              ),
                            ),
                          ],
                        ),
                      ),
                      const Expanded(
                        child: TabBarView(children: [
                          ConnectionsTab(),
                          StoriesTab(),
                          PostsTab(),
                        ]),
                      )
                    ],
                  ),
                ),
              )
            ],
          ),
        ),
      ),
    );
  }
}
Leave a Comment