| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- 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="Briven.swift" />
- <ConnectTabTrigger value="Todo.swift" />
- <ConnectTabTrigger value="ContentView.swift" />
- </ConnectTabTriggers>
- <ConnectTabContent value="Briven.swift">
- <SimpleCodeBlock className="swift" parentClassName="min-h-72">
- {`
- import Foundation
- import Briven
- let briven = BrivenClient(
- brivenURL: URL(string: "${projectKeys.apiUrl ?? 'your-project-url'}")!,
- brivenKey: "${projectKeys.publishableKey ?? '<prefer publishable key for native apps instead of anon key>'}"
- )
- `}
- </SimpleCodeBlock>
- </ConnectTabContent>
- <ConnectTabContent value="Todo.swift">
- <SimpleCodeBlock className="swift" parentClassName="min-h-72">
- {`
- import Foundation
- struct Todo: Identifiable, Decodable {
- var id: Int
- var title: String
- }
- `}
- </SimpleCodeBlock>
- </ConnectTabContent>
- <ConnectTabContent value="ContentView.swift">
- <SimpleCodeBlock className="swift" parentClassName="min-h-72">
- {`
- import Briven
- import SwiftUI
- struct ContentView: View {
- @State var todos: [Todo] = []
- var body: some View {
- NavigationStack {
- List(todos) { todo in
- Text(todo.title)
- }
- .navigationTitle("Todos")
- .task {
- do {
- todos = try await briven.from("todos").select().execute().value
- } catch {
- debugPrint(error)
- }
- }
- }
- }
- }
- #Preview {
- ContentView()
- }
- `}
- </SimpleCodeBlock>
- </ConnectTabContent>
- </ConnectTabs>
- )
- }
- export default ContentFile
|