| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- import { MultipleCodeBlock } from 'ui-patterns/MultipleCodeBlock'
- import type { StepContentProps } from '@/components/interfaces/ConnectSheet/Connect.types'
- const ContentFile = ({ projectKeys }: StepContentProps) => {
- const files = [
- {
- name: 'lib/main.dart',
- language: 'dart',
- code: `
- import 'package:flutter/material.dart';
- 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());
- }
- `,
- },
- {
- name: 'lib/main.dart (app)',
- language: 'dart',
- code: `
- 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']),
- );
- }),
- );
- },
- ),
- );
- }
- }
- `,
- },
- ]
- return <MultipleCodeBlock files={files} />
- }
- export default ContentFile
|