atmos 0.1.0-dev.0 copy "atmos: ^0.1.0-dev.0" to clipboard
atmos: ^0.1.0-dev.0 copied to clipboard

Minimal Jotai-inspired state management for Flutter with atoms.

example/lib/main.dart

import 'package:atmos/atmos.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
      ),
      home: const HomePage(),
    );
  }
}

final counterAtom = atom(0);
final doubledAtom = computed((get) => get(counterAtom) * 2);

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: AtomBuilder(
          atom: counterAtom,
          builder: (context, value, setValue) {
            return Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                Text('Count: $value', style: TextStyle(fontSize: 40)),
                AtomBuilder(
                  atom: doubledAtom,
                  builder: (context, doubleValue, _) {
                    return Text(
                      'Double Count: $doubleValue',
                      style: TextStyle(fontSize: 40),
                    );
                  },
                ),
                ElevatedButton(
                  onPressed: () => setValue(value + 1),
                  child: Text("Increment"),
                ),
              ],
            );
          },
        ),
      ),
    );
  }
}
2
likes
150
points
16
downloads

Publisher

verified publisherthisissandipp.com

Weekly Downloads

Minimal Jotai-inspired state management for Flutter with atoms.

Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on atmos