| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import { SimpleCodeBlock } from 'ui-patterns/SimpleCodeBlock'
- import type { ContentFileProps } from '@/components/interfaces/Connect/Connect.types'
- import {
- ConnectTabContent,
- ConnectTabs,
- ConnectTabTrigger,
- ConnectTabTriggers,
- } from '@/components/interfaces/Connect/ConnectTabs'
- const ContentFile = ({ projectKeys }: ContentFileProps) => {
- return (
- <ConnectTabs>
- <ConnectTabTriggers>
- <ConnectTabTrigger value="lib/main.dart" />
- <ConnectTabTrigger value="lib/main.dart (app)" />
- </ConnectTabTriggers>
- <ConnectTabContent value="lib/main.dart">
- <SimpleCodeBlock className="dart" parentClassName="min-h-72">
- {`
- import 'package:briven_flutter/briven_flutter.dart';
- Future<void> main() async {
- await Briven.initialize(
- url: '${projectKeys.apiUrl ?? 'your-project-url'}',
- anonKey: '${projectKeys.publishableKey ?? '<prefer publishable key instead of anon key for mobile and desktop apps>'}',
- );
- runApp(MyApp());
- }
- `}
- </SimpleCodeBlock>
- </ConnectTabContent>
- <ConnectTabContent value="lib/main.dart (app)">
- <SimpleCodeBlock className="dart" parentClassName="min-h-72">
- {`
- class MyApp extends StatelessWidget {
- const MyApp({super.key});
- @override
- Widget build(BuildContext context) {
- return const MaterialApp(
- title: 'Todos',
- home: HomePage(),
- );
- }
- }
- class HomePage extends StatefulWidget {
- const HomePage({super.key});
- @override
- State<HomePage> createState() => _HomePageState();
- }
- class _HomePageState extends State<HomePage> {
- final _future = Briven.instance.client
- .from('todos')
- .select();
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- body: FutureBuilder(
- future: _future,
- builder: (context, snapshot) {
- if (!snapshot.hasData) {
- return const Center(child: CircularProgressIndicator());
- }
- final todos = snapshot.data!;
- return ListView.builder(
- itemCount: todos.length,
- itemBuilder: ((context, index) {
- final todo = todos[index];
- return ListTile(
- title: Text(todo['name']),
- );
- }),
- );
- },
- ),
- );
- }
- }
- `}
- </SimpleCodeBlock>
- </ConnectTabContent>
- </ConnectTabs>
- )
- }
- export default ContentFile
|