mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-01-15 06:28:41 +00:00
fix #233
This commit is contained in:
parent
0c034c680f
commit
9115d5be74
9 changed files with 121 additions and 121 deletions
1
assets/animations/donation.json
Normal file
1
assets/animations/donation.json
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -162,6 +162,11 @@ class _AppMainWidgetState extends State<AppMainWidget> {
|
|||
FutureBuilder<bool>(
|
||||
future: userCreated,
|
||||
builder: (context, snapshot) {
|
||||
return OnboardingView(
|
||||
callbackOnSuccess: () => setState(() {
|
||||
showOnboarding = false;
|
||||
}),
|
||||
);
|
||||
if (!snapshot.hasData) {
|
||||
return Center(child: Container());
|
||||
} else if (snapshot.data!) {
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@
|
|||
"onboardingSendTwonliesTitle": "twonlies senden",
|
||||
"onboardingSendTwonliesBody": "Teile Momente sicher mit deinem Partner. twonly stellt sicher, dass nur dein Partner sie öffnen kann, sodass deine Momente mit deinem Partner eine two(o)nly Sache bleiben!",
|
||||
"onboardingNotProductTitle": "Du bist nicht das Produkt!",
|
||||
"onboardingNotProductBody": "twonly finanziert sich durch eine geringe monatliche Gebühr und nicht durch den Verkauf deiner Daten.",
|
||||
"onboardingNotProductBody": "twonly wird durch Spenden und ein optionales Abonnement finanziert. Deine Daten werden niemals verkauft.",
|
||||
"onboardingBuyOneGetTwoTitle": "Kaufe eins, bekomme zwei",
|
||||
"onboardingBuyOneGetTwoBody": "twonly benötigt immer mindestens zwei Personen, daher erhältst du beim Kauf eine zweite kostenlose Lizenz für deinen twonly-Partner.",
|
||||
"onboardingGetStartedTitle": "Auf geht's",
|
||||
"onboardingGetStartedBody": "Du kannst twonly kostenlos im Preview-Modus testen. In diesem Modus kannst du von anderen gefunden werden und Bilder oder Videos empfangen, aber du kannst selbst keine senden.",
|
||||
"onboardingTryForFree": "Kostenlos testen",
|
||||
"onboardingTryForFree": "Jetzt registrieren",
|
||||
"registerUsernameSlogan": "Bitte wähle einen Benutzernamen, damit dich andere finden können!",
|
||||
"registerUsernameDecoration": "Benutzername",
|
||||
"registerUsernameLimits": "Der Benutzername muss 3 bis 12 Zeichen lang sein und darf nur aus Buchstaben (a-z) und Zahlen (0-9) bestehen.",
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
"@onboardingSendTwonliesBody": {},
|
||||
"onboardingNotProductTitle": "You are not the product!",
|
||||
"@onboardingNotProductTitle": {},
|
||||
"onboardingNotProductBody": "twonly is financed by a small monthly fee and not by selling your data.",
|
||||
"onboardingNotProductBody": "twonly is financed by donations and an optional subscription. Your data will never be sold.",
|
||||
"@onboardingNotProductBody": {},
|
||||
"onboardingBuyOneGetTwoTitle": "Buy one get two",
|
||||
"@onboardingBuyOneGetTwoTitle": {},
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ abstract class AppLocalizations {
|
|||
/// No description provided for @onboardingNotProductBody.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'twonly is financed by a small monthly fee and not by selling your data.'**
|
||||
/// **'twonly is financed by donations and an optional subscription. Your data will never be sold.'**
|
||||
String get onboardingNotProductBody;
|
||||
|
||||
/// No description provided for @onboardingBuyOneGetTwoTitle.
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get onboardingNotProductBody =>
|
||||
'twonly finanziert sich durch eine geringe monatliche Gebühr und nicht durch den Verkauf deiner Daten.';
|
||||
'twonly wird durch Spenden und ein optionales Abonnement finanziert. Deine Daten werden niemals verkauft.';
|
||||
|
||||
@override
|
||||
String get onboardingBuyOneGetTwoTitle => 'Kaufe eins, bekomme zwei';
|
||||
|
|
@ -66,7 +66,7 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
'Du kannst twonly kostenlos im Preview-Modus testen. In diesem Modus kannst du von anderen gefunden werden und Bilder oder Videos empfangen, aber du kannst selbst keine senden.';
|
||||
|
||||
@override
|
||||
String get onboardingTryForFree => 'Kostenlos testen';
|
||||
String get onboardingTryForFree => 'Jetzt registrieren';
|
||||
|
||||
@override
|
||||
String get registerUsernameSlogan =>
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get onboardingNotProductBody =>
|
||||
'twonly is financed by a small monthly fee and not by selling your data.';
|
||||
'twonly is financed by donations and an optional subscription. Your data will never be sold.';
|
||||
|
||||
@override
|
||||
String get onboardingBuyOneGetTwoTitle => 'Buy one get two';
|
||||
|
|
|
|||
|
|
@ -10,127 +10,115 @@ class OnboardingView extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
body: IntroductionScreen(
|
||||
bodyPadding: const EdgeInsets.only(top: 75, left: 10, right: 10),
|
||||
pages: [
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingWelcomeTitle,
|
||||
body: context.lang.onboardingWelcomeBody,
|
||||
image: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 100),
|
||||
// child: Image.asset('assets/animations/messages.gif'),
|
||||
child: Lottie.asset(
|
||||
'assets/animations/selfie2.json',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingE2eTitle,
|
||||
body: context.lang.onboardingE2eBody,
|
||||
image: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 100),
|
||||
child: Lottie.asset(
|
||||
'assets/animations/e2e.json',
|
||||
repeat: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingFocusTitle,
|
||||
body: context.lang.onboardingFocusBody,
|
||||
image: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 100),
|
||||
child: Lottie.asset(
|
||||
'assets/animations/takephoto.json',
|
||||
repeat: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingSendTwonliesTitle,
|
||||
body: context.lang.onboardingSendTwonliesBody,
|
||||
image: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 100),
|
||||
child: Lottie.asset(
|
||||
'assets/animations/twonlies.json',
|
||||
repeat: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingNotProductTitle,
|
||||
body: context.lang.onboardingNotProductBody,
|
||||
image: Center(
|
||||
child: Lottie.asset(
|
||||
'assets/animations/forsale.json',
|
||||
),
|
||||
),
|
||||
),
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingBuyOneGetTwoTitle,
|
||||
bodyWidget: Column(
|
||||
children: [
|
||||
Text(
|
||||
context.lang.onboardingBuyOneGetTwoBody,
|
||||
textAlign: TextAlign.center,
|
||||
style: const TextStyle(fontSize: 18),
|
||||
),
|
||||
],
|
||||
),
|
||||
image: Center(
|
||||
child: Lottie.asset(
|
||||
'assets/animations/present.lottie.json',
|
||||
),
|
||||
),
|
||||
),
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingGetStartedTitle,
|
||||
bodyWidget: Column(
|
||||
children: [
|
||||
Text(
|
||||
context.lang.onboardingGetStartedBody,
|
||||
textAlign: TextAlign.center,
|
||||
style: const TextStyle(fontSize: 18),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 50, right: 50, top: 20),
|
||||
child: FilledButton(
|
||||
onPressed: callbackOnSuccess,
|
||||
child: Text(context.lang.onboardingTryForFree),
|
||||
body: SafeArea(
|
||||
child: IntroductionScreen(
|
||||
bodyPadding: const EdgeInsets.only(top: 75, left: 10, right: 10),
|
||||
pages: [
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingWelcomeTitle,
|
||||
body: context.lang.onboardingWelcomeBody,
|
||||
image: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 100),
|
||||
// child: Image.asset('assets/animations/messages.gif'),
|
||||
child: Lottie.asset(
|
||||
'assets/animations/selfie2.json',
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
image: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 100),
|
||||
child: Lottie.asset(
|
||||
'assets/animations/rocket.json',
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingE2eTitle,
|
||||
body: context.lang.onboardingE2eBody,
|
||||
image: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 100),
|
||||
child: Lottie.asset(
|
||||
'assets/animations/e2e.json',
|
||||
repeat: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingFocusTitle,
|
||||
body: context.lang.onboardingFocusBody,
|
||||
image: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 100),
|
||||
child: Lottie.asset(
|
||||
'assets/animations/takephoto.json',
|
||||
repeat: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingSendTwonliesTitle,
|
||||
body: context.lang.onboardingSendTwonliesBody,
|
||||
image: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 100),
|
||||
child: Lottie.asset(
|
||||
'assets/animations/twonlies.json',
|
||||
repeat: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
PageViewModel(
|
||||
title: context.lang.onboardingNotProductTitle,
|
||||
bodyWidget: Column(
|
||||
children: [
|
||||
Text(
|
||||
context.lang.onboardingNotProductBody,
|
||||
textAlign: TextAlign.center,
|
||||
style: const TextStyle(fontSize: 18),
|
||||
),
|
||||
Padding(
|
||||
padding:
|
||||
const EdgeInsets.only(left: 50, right: 50, top: 20),
|
||||
child: FilledButton(
|
||||
onPressed: callbackOnSuccess,
|
||||
child: Text(context.lang.registerSubmitButton),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
image: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 60),
|
||||
child: Lottie.asset(
|
||||
'assets/animations/donation.json',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
// PageViewModel(
|
||||
// title: context.lang.onboardingGetStartedTitle,
|
||||
// image: Center(
|
||||
// child: Padding(
|
||||
// padding: const EdgeInsets.only(top: 100),
|
||||
// child: Lottie.asset(
|
||||
// 'assets/animations/rocket.json',
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
done: const Text(''),
|
||||
next: Text(context.lang.next),
|
||||
// done: RegisterView(callbackOnSuccess: callbackOnSuccess),
|
||||
onDone: callbackOnSuccess,
|
||||
dotsDecorator: DotsDecorator(
|
||||
size: const Size.square(8),
|
||||
activeSize: const Size(20, 10),
|
||||
activeColor: Theme.of(context).colorScheme.primary,
|
||||
color: Theme.of(context).colorScheme.secondary,
|
||||
spacing: const EdgeInsets.symmetric(horizontal: 3),
|
||||
activeShape:
|
||||
RoundedRectangleBorder(borderRadius: BorderRadius.circular(25)),
|
||||
),
|
||||
],
|
||||
done: const Text(''),
|
||||
next: Text(context.lang.next),
|
||||
// done: RegisterView(callbackOnSuccess: callbackOnSuccess),
|
||||
onDone: callbackOnSuccess,
|
||||
dotsDecorator: DotsDecorator(
|
||||
size: const Size.square(8),
|
||||
activeSize: const Size(20, 10),
|
||||
activeColor: Theme.of(context).colorScheme.primary,
|
||||
color: Theme.of(context).colorScheme.secondary,
|
||||
spacing: const EdgeInsets.symmetric(horizontal: 3),
|
||||
activeShape:
|
||||
RoundedRectangleBorder(borderRadius: BorderRadius.circular(25)),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -129,6 +129,12 @@ class _CreditsViewState extends State<CreditsView> {
|
|||
url:
|
||||
'https://lottiefiles.com/de/free-animation/success-tick-cuwjLHAR7g',
|
||||
),
|
||||
const UrlListTitle(
|
||||
title: 'Donation-Animation',
|
||||
subtitle: 'Abdul Latif',
|
||||
url:
|
||||
'https://lottiefiles.com/free-animation/international-day-of-charity-NBAKAkCcBr',
|
||||
),
|
||||
const UrlListTitle(
|
||||
title: 'Failed-Animation',
|
||||
subtitle: 'Ahmed Shami أحمد شامي',
|
||||
|
|
|
|||
Loading…
Reference in a new issue