174 lines
11 KiB
Dart
174 lines
11 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
|
import 'package:timezone/timezone.dart' as tz;
|
|
import 'package:timezone/data/latest.dart' as tzdata;
|
|
import 'dart:math';
|
|
|
|
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
|
|
|
|
final List<String> motivationalMessages = [
|
|
'🚀 Hoje é um ótimo dia para investir no seu futuro! Abra o KzEduca e avance mais um passo.',
|
|
'💡 Lembre-se: cada poupança de hoje é um sonho realizado amanhã!',
|
|
'🌱 Cresça financeiramente! Que tal aprender algo novo no KzEduca agora?',
|
|
'🏆 Desafie-se a economizar mais hoje. Seu eu do futuro agradece!',
|
|
'📈 Pequenas ações diárias constroem grandes conquistas. Continue com o KzEduca!',
|
|
'💪 Você está no caminho certo para o sucesso financeiro!',
|
|
'✨ O segredo do progresso é começar. Que tal uma lição rápida no KzEduca?',
|
|
'🎯 Foque nos seus objetivos e não desista. O KzEduca está com você!',
|
|
'🧠 Aprender sobre dinheiro é investir em você mesmo. Continue evoluindo!',
|
|
'🔥 Não deixe para amanhã o que pode economizar hoje. Abra o KzEduca!',
|
|
'A sua disciplina financeira hoje é a sua liberdade amanhã. Continue assim!',
|
|
'Cada cêntimo guardado é um passo mais perto dos seus sonhos.',
|
|
'O sucesso financeiro não é magia, é consistência. Mantenha o foco!',
|
|
'Não se trata de quanto você ganha, mas de como você gasta. O KzEduca ajuda-te a gastar com sabedoria.',
|
|
'Aprender a gerir o seu dinheiro é o melhor investimento que pode fazer. Vamos lá!',
|
|
'Pequenas poupanças, grandes resultados. É o efeito bola de neve!',
|
|
'A sabedoria financeira começa com um clique. Abra o KzEduca e aprenda algo novo.',
|
|
'Não espere a oportunidade perfeita, crie-a. Comece a construir o seu futuro agora.',
|
|
'Os seus objetivos financeiros são alcançáveis. Acredite no processo e no KzEduca.',
|
|
'Controle suas finanças e controle sua vida. Você tem esse poder!',
|
|
'A paciência é um ativo valioso. Deixe o seu dinheiro crescer com o tempo.',
|
|
'Economizar é uma escolha que muda o seu destino. Faça a escolha certa hoje.',
|
|
'O seu futuro financeiro é escrito por você. Qual é o próximo capítulo?',
|
|
'Um orçamento é a sua ferramenta para o sucesso. Revise-o hoje!',
|
|
'Não compre o que não precisa. A verdadeira riqueza está em viver com menos.',
|
|
'Mantenha a sua motivação alta. Cada passo conta para a sua jornada financeira.',
|
|
'Aprender sobre investimentos pode ser divertido. Explore o KzEduca!',
|
|
'A liberdade financeira é um estado de espírito, e uma meta alcançável. Comece agora!',
|
|
'Uma lição por dia afasta as dívidas para longe. O KzEduca está aqui para isso.',
|
|
'O dinheiro é uma ferramenta, não um fim. Use-o com propósito!',
|
|
'Poupar não é privação, é a preparação para o que realmente importa.',
|
|
'A sua ambição é o seu motor. Direcione-a para os seus objetivos financeiros.',
|
|
'Não tenha medo de começar do zero. O KzEduca te dará as bases.',
|
|
'A gratidão transforma o que temos em suficiente. Seja grato e gaste com consciência.',
|
|
'O progresso é feito um passo de cada vez. Hoje é o seu dia para progredir!',
|
|
'Invista na sua mente, e seu dinheiro seguirá. Aprenda algo novo agora.',
|
|
'Pague-se primeiro. Guarde uma parte dos seus ganhos antes de gastar.',
|
|
'A sua jornada financeira é única. Seja paciente consigo mesmo.',
|
|
'Finanças pessoais são um mar de oportunidades. Mergulhe e explore!',
|
|
'Aprender a dizer não a pequenas despesas é dizer sim aos seus grandes sonhos.',
|
|
'Crie um plano financeiro e trabalhe nele. O sucesso é planeado.',
|
|
'Não se compare aos outros. A sua corrida é apenas sua.',
|
|
'O dinheiro não pode comprar felicidade, mas pode comprar paz de espírito. Invista nela!',
|
|
'O futuro pertence a quem acredita na beleza dos seus sonhos. Planeie o seu futuro financeiro.',
|
|
'Seja o mestre das suas finanças, não o escravo delas.',
|
|
'Cada decisão financeira conta. Tome-as com sabedoria.',
|
|
'A melhor altura para começar a poupar foi ontem. A segunda melhor é hoje!',
|
|
'O seu valor não está na sua conta bancária, mas na sua disciplina e sabedoria.',
|
|
'Construir riqueza é uma maratona, não uma corrida. Celebre cada quilómetro.',
|
|
'Deixe o seu dinheiro trabalhar para você. Descubra os segredos dos investimentos!',
|
|
'A vida é uma jornada. Suas finanças são o seu mapa. Revise sua rota.',
|
|
'Não espere o milagre, seja o milagre. Aja agora e transforme sua vida financeira.',
|
|
'Aprender é o primeiro passo para a mudança. Mude sua vida com o KzEduca!',
|
|
'A sua renda é o seu poder. A sua poupança é a sua força. Use ambas com inteligência.',
|
|
'O sucesso não é sorte, é o resultado de escolhas inteligentes. Faça a sua escolha agora.',
|
|
'O futuro financeiro que você quer, é o que você constrói hoje.',
|
|
'Aprender sobre dinheiro é um superpoder. Use o seu superpoder!',
|
|
'A sua conta bancária é o reflexo dos seus hábitos. Crie bons hábitos!',
|
|
'O primeiro passo para alcançar seus objetivos é acreditar que eles são possíveis.',
|
|
'Você é mais forte do que as suas desculpas. Poupe agora!',
|
|
'A sua liberdade começa onde o seu medo de falhar acaba.',
|
|
'Não gaste dinheiro para impressionar os outros. Viva a sua verdade financeira.',
|
|
'Poupe não porque precisa, mas porque quer. Quer a sua liberdade.',
|
|
'A sua mentalidade de riqueza é mais importante que o seu salário.',
|
|
'O caminho para a riqueza é um caminho de autoconhecimento.',
|
|
'Controle suas finanças e ganhe tempo para o que realmente importa.',
|
|
'Seja o capitão do seu navio financeiro. Trace a sua rota com sabedoria.',
|
|
'A educação financeira é a chave que abre todas as portas.',
|
|
'A sua perseverança é o seu maior trunfo. Não desista dos seus objetivos.',
|
|
'O sucesso financeiro é a soma de pequenos esforços repetidos diariamente.',
|
|
'Não se preocupe em ser perfeito, preocupe-se em ser consistente.',
|
|
'Invista em si mesmo. O conhecimento é a única coisa que ninguém pode tirar de você.',
|
|
'A sua história de sucesso financeiro começa com a primeira poupança.',
|
|
'Aja hoje, viva a vida que sonha amanhã.',
|
|
'O dinheiro é uma ferramenta para viver a vida que você quer. Aprenda a usá-la.',
|
|
'O medo de falhar paralisa. A ação liberta. Comece agora!',
|
|
'A sua jornada financeira é uma aventura. Divirta-se a cada passo.',
|
|
'O seu futuro financeiro é uma tela em branco. Pinte o que você quer ver.',
|
|
'A liberdade não é de graça, mas o KzEduca está aqui para te ajudar a conquistá-la.',
|
|
'Não pague pelos erros, aprenda com eles. As lições financeiras valem ouro.',
|
|
'A sua saúde financeira afeta a sua vida inteira. Cuide dela.',
|
|
'O sucesso é a progressão constante, não a perfeição instantânea.',
|
|
'Poupe de forma inteligente, não apenas de forma difícil.',
|
|
'Os seus sonhos são o combustível. A sua disciplina é o motor.',
|
|
'O KzEduca é o seu guia para uma vida financeira melhor. Confie no processo!',
|
|
'Aprender a investir é plantar árvores que darão sombra amanhã.',
|
|
'O controlo financeiro é a base para a paz interior.',
|
|
'Não subestime o poder de uma pequena mudança de hábito. Mude agora!',
|
|
'A sua vida financeira é o resultado de pequenas decisões. Tome boas decisões hoje.',
|
|
'O dinheiro não pode comprar tempo, mas pode dar-lhe a liberdade de usá-lo.',
|
|
'Uma vida financeiramente estável é uma vida com menos stress. Lute por isso!',
|
|
'A sua educação financeira é a sua herança. Construa-a com sabedoria.',
|
|
'O KzEduca é o seu parceiro na jornada para a liberdade financeira.',
|
|
'Não desista dos seus sonhos. O caminho pode ser longo, mas a recompensa vale a pena.',
|
|
'O melhor investimento que pode fazer é em você mesmo.',
|
|
'A disciplina é a ponte entre os seus objetivos e a realização deles.',
|
|
'A sua atitude em relação ao dinheiro determina a sua riqueza. Mude a sua atitude!',
|
|
'Aprenda a fazer do seu dinheiro um aliado, não um inimigo.',
|
|
'O sucesso financeiro está diretamente ligado ao seu conhecimento.',
|
|
'Um passo de cada vez. A maratona financeira começa com um único passo.',
|
|
'O KzEduca é o seu mapa do tesouro. Siga-o e encontre sua riqueza.',
|
|
'Aprenda a fazer do seu dinheiro um aliado, não um inimigo.',
|
|
'Não espere o amanhã. O futuro é construído com as escolhas de hoje.',
|
|
'A riqueza não é apenas ter dinheiro, mas ter tempo e liberdade.',
|
|
'Acredite no seu potencial. Você pode conquistar os seus objetivos financeiros.',
|
|
'O KzEduca é o seu ponto de partida para uma vida financeira mais próspera.',
|
|
'A sua jornada para a riqueza começa com uma mentalidade de abundância.',
|
|
'Aprenda a valorizar o seu dinheiro. Ele é a sua liberdade.',
|
|
'O sucesso financeiro é a recompensa por um trabalho bem feito. Continue assim!'
|
|
];
|
|
|
|
String getRandomMotivation() {
|
|
motivationalMessages.shuffle();
|
|
return motivationalMessages.first;
|
|
}
|
|
|
|
Future<void> initializeNotifications() async {
|
|
tzdata.initializeTimeZones();
|
|
const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('@mipmap/ic_launcher');
|
|
// CORREÇÃO: Usa a variável corretamente chamada 'initializationSettings'
|
|
const InitializationSettings initializationSettings = InitializationSettings(android: initializationSettingsAndroid);
|
|
|
|
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
|
|
}
|
|
|
|
// Nova função para agendar uma notificação diária em um horário aleatório
|
|
Future<void> scheduleDailyRandomMotivationNotification() async {
|
|
await initializeNotifications();
|
|
final now = DateTime.now();
|
|
|
|
// Gerar um horário aleatório entre 9h e 21h (21 - 9 = 12 horas de intervalo)
|
|
final random = Random();
|
|
final randomHour = 9 + random.nextInt(13); // Horas de 9 a 21
|
|
final randomMinute = random.nextInt(60); // Minutos de 0 a 59
|
|
|
|
// Criar a data agendada com o horário aleatório
|
|
var scheduledDate = DateTime(now.year, now.month, now.day, randomHour, randomMinute);
|
|
|
|
// Se o horário agendado já passou para o dia de hoje, agenda para amanhã
|
|
if (scheduledDate.isBefore(now)) {
|
|
scheduledDate = scheduledDate.add(const Duration(days: 1));
|
|
}
|
|
|
|
final tz.TZDateTime tzScheduledDate = tz.TZDateTime.from(scheduledDate, tz.local);
|
|
|
|
await flutterLocalNotificationsPlugin.zonedSchedule(
|
|
0, // ID da notificação. Usar um ID fixo para substituir a notificação anterior.
|
|
'KzEduca',
|
|
getRandomMotivation(),
|
|
tzScheduledDate,
|
|
const NotificationDetails(
|
|
android: AndroidNotificationDetails(
|
|
'motivation_channel',
|
|
'Motivação',
|
|
channelDescription: 'Notificações diárias de motivação do KzEduca',
|
|
importance: Importance.max,
|
|
priority: Priority.high,
|
|
icon: '@mipmap/ic_launcher',
|
|
),
|
|
),
|
|
androidScheduleMode: AndroidScheduleMode.exactAllowWhileIdle,
|
|
// Propriedade removida para evitar o erro de API.
|
|
matchDateTimeComponents: DateTimeComponents.time, // Repete a cada dia no mesmo horário agendado
|
|
);
|
|
} |