feat: Random.org dice and daily word matrix, interpreter voices, curated lexicon

Wire cleromancy rolls and the once-per-UTC-day 000-999 word shuffle to RANDOM.ORG JSON-RPC, with a local CSPRNG fallback. Add settings for interpreter personas and a cleaner default oracle prompt. Replace proper names and bureaucratic filler in the 1000-word lexicon with sacred symbols.
This commit is contained in:
2026-09-08 13:46:11 +05:00
parent fbf04d90db
commit 7f91366201
26 changed files with 8904 additions and 7077 deletions
+9
View File
@@ -4,6 +4,8 @@ import 'screens/history_screen.dart';
import 'screens/home_search_screen.dart';
import 'screens/oracle_chat_screen.dart';
import 'screens/provider_bakeoff_screen.dart';
import 'screens/settings_screen.dart';
import 'services/settings_repository.dart';
import 'services/words_repository.dart';
import 'widgets/gradient_star_badge.dart';
@@ -19,6 +21,7 @@ import 'g4f/providers/phind_ai.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await WordsRepository().init();
await SettingsRepository().init();
runApp(const Words999App());
}
@@ -104,6 +107,7 @@ class _MainNavigationContainerState extends State<MainNavigationContainer> {
final List<Widget> _screens = const [
HomeSearchScreen(),
HistoryScreen(),
SettingsScreen(),
];
@override
@@ -130,6 +134,11 @@ class _MainNavigationContainerState extends State<MainNavigationContainer> {
selectedIcon: GradientStar(size: 22),
label: 'История',
),
NavigationDestination(
icon: Icon(Icons.tune_rounded),
selectedIcon: GradientStar(size: 22),
label: 'Настройки',
),
],
),
floatingActionButton: GestureDetector(