Skip to content

Commit

Permalink
login page setup
Browse files Browse the repository at this point in the history
  • Loading branch information
leo-lox committed Oct 30, 2024
1 parent cf1be85 commit 7b8bf06
Show file tree
Hide file tree
Showing 3 changed files with 169 additions and 2 deletions.
23 changes: 21 additions & 2 deletions lib/presentation_layer/routes/nostr/onboarding/onboarding.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@ import 'package:camelus/presentation_layer/providers/onboarding_provider.dart';
import 'package:camelus/presentation_layer/routes/nostr/onboarding/onboarding_done.dart';
import 'package:camelus/presentation_layer/routes/nostr/onboarding/onboarding_follow_graph/onboarding_follow_graph.dart';
import 'package:camelus/presentation_layer/routes/nostr/onboarding/onboarding_login.dart';
import 'package:camelus/presentation_layer/routes/nostr/onboarding/onboarding_login_amber.dart';
import 'package:camelus/presentation_layer/routes/nostr/onboarding/onboarding_name.dart';
import 'package:camelus/presentation_layer/routes/nostr/onboarding/onboarding_page01.dart';
import 'package:camelus/presentation_layer/routes/nostr/onboarding/onboarding_picture.dart';
import 'package:camelus/presentation_layer/routes/nostr/onboarding/onboarding_profile.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

import 'onboarding_login_select.dart';

class NostrOnboarding extends ConsumerStatefulWidget {
const NostrOnboarding({super.key});

Expand Down Expand Up @@ -85,7 +88,7 @@ class _NostrOnboardingState extends ConsumerState<NostrOnboarding>
);

_loginTabController = TabController(
length: 2,
length: 3,
initialIndex: 0,
vsync: this,
);
Expand Down Expand Up @@ -118,8 +121,24 @@ class _NostrOnboardingState extends ConsumerState<NostrOnboarding>
physics:
pageLockLogin ? const NeverScrollableScrollPhysics() : null,
children: [
OnboardingLoginSelectPage(
onPressedAmberLogin: () {
_loginTabController.animateTo(
2,
curve: Curves.easeInOut,
duration: const Duration(milliseconds: 500),
);
},
onPressedSeedPhraseLogin: () {
_loginTabController.animateTo(
1,
curve: Curves.easeInOut,
duration: const Duration(milliseconds: 500),
);
},
),
OnboardingLoginPage(),
OnboardingLoginPage(),
OnboardingLoginAmberPage(),
],
),
TabBarView(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

import '../../../../config/palette.dart';

class OnboardingLoginAmberPage extends ConsumerStatefulWidget {
const OnboardingLoginAmberPage({super.key});
@override
ConsumerState<OnboardingLoginAmberPage> createState() =>
_OnboardingLoginAmberPageState();
}

class _OnboardingLoginAmberPageState
extends ConsumerState<OnboardingLoginAmberPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: null,
backgroundColor: Palette.background,
resizeToAvoidBottomInset: false,
body: SafeArea(
// input for the user to enter their private key, should be visible on a dark background.
child: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
padding: const EdgeInsets.all(30),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
const SizedBox(height: 20),
SizedBox(
height: 200,
width: MediaQuery.of(context).size.width,
child: const Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
"login",
style: TextStyle(
color: Palette.white,
fontSize: 40,
fontFamily: "Poppins",
),
),
],
),
),
const Spacer(
flex: 1,
)
],
),
),
),
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
import 'package:flutter/material.dart';

import 'package:hooks_riverpod/hooks_riverpod.dart';

import '../../../../config/palette.dart';
import '../../../atoms/long_button.dart';

class OnboardingLoginSelectPage extends ConsumerStatefulWidget {
final Function onPressedSeedPhraseLogin;
final Function onPressedAmberLogin;

const OnboardingLoginSelectPage({
super.key,
required this.onPressedSeedPhraseLogin,
required this.onPressedAmberLogin,
});
@override
ConsumerState<OnboardingLoginSelectPage> createState() =>
_OnboardingLoginSelectPageState();
}

class _OnboardingLoginSelectPageState
extends ConsumerState<OnboardingLoginSelectPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: null,
backgroundColor: Palette.background,
resizeToAvoidBottomInset: false,
body: SafeArea(
// input for the user to enter their private key, should be visible on a dark background.
child: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
padding: const EdgeInsets.all(30),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
const SizedBox(height: 20),
SizedBox(
height: 200,
width: MediaQuery.of(context).size.width,
child: const Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
"login",
style: TextStyle(
color: Palette.white,
fontSize: 40,
fontFamily: "Poppins",
),
),
],
),
),
const Spacer(
flex: 1,
),
SizedBox(
width: MediaQuery.of(context).size.width,
height: 40,
child: longButton(
name: "amber login",
inverted: false,
onPressed: () => widget.onPressedAmberLogin(),
),
),
const SizedBox(
height: 20,
),
SizedBox(
width: MediaQuery.of(context).size.width,
height: 40,
child: longButton(
name: "seed phrase login",
inverted: false,
onPressed: () => widget.onPressedSeedPhraseLogin(),
),
),
],
),
),
),
);
}
}

0 comments on commit 7b8bf06

Please sign in to comment.