content.tsx102 lines · main
1import { MultipleCodeBlock } from 'ui-patterns/MultipleCodeBlock'
2
3import type { StepContentProps } from '@/components/interfaces/ConnectSheet/Connect.types'
4
5const ContentFile = ({ projectKeys }: StepContentProps) => {
6 const files = [
7 {
8 name: '.env.local',
9 language: 'bash',
10 code: [
11 `BRIVEN_URL=${projectKeys.apiUrl ?? 'your-project-url'}`,
12 `BRIVEN_KEY=${projectKeys?.publishableKey ?? projectKeys?.anonKey ?? 'your-anon-key'}`,
13 '',
14 ].join('\n'),
15 },
16 {
17 name: 'src/utility/brivenClient.ts',
18 language: 'ts',
19 code: `
20import { createClient } from "@refinedev/briven";
21
22const BRIVEN_URL = process.env.BRIVEN_URL;
23const BRIVEN_KEY = process.env.BRIVEN_KEY;
24
25export const brivenClient = createClient(BRIVEN_URL, BRIVEN_KEY, {
26 db: {
27 schema: "public",
28 },
29 auth: {
30 persistSession: true,
31 },
32});
33 `,
34 },
35 {
36 name: 'src/App.tsx',
37 language: 'tsx',
38 code: `
39import { Refine } from "@refinedev/core";
40import { RefineKbar, RefineKbarProvider } from "@refinedev/kbar";
41import routerProvider, {
42 DocumentTitleHandler,
43 NavigateToResource,
44 UnsavedChangesNotifier,
45} from "@refinedev/react-router";
46import { dataProvider, liveProvider } from "@refinedev/briven";
47import { BrowserRouter, Route, Routes } from "react-router-dom";
48
49import "./App.css";
50import authProvider from "./authProvider";
51import { brivenClient } from "./utility";
52import { CountriesCreate, CountriesEdit, CountriesList, CountriesShow } from "./pages/countries";
53
54function App() {
55 return (
56 <BrowserRouter>
57 <RefineKbarProvider>
58 <Refine
59 dataProvider={dataProvider(brivenClient)}
60 liveProvider={liveProvider(brivenClient)}
61 authProvider={authProvider}
62 routerProvider={routerProvider}
63 options={{
64 syncWithLocation: true,
65 warnWhenUnsavedChanges: true,
66 }}
67 resources={[{
68 name: "countries",
69 list: "/countries",
70 create: "/countries/create",
71 edit: "/countries/edit/:id",
72 show: "/countries/show/:id"
73 }]}>
74 <Routes>
75 <Route index
76 element={<NavigateToResource resource="countries" />}
77 />
78 <Route path="/countries">
79 <Route index element={<CountriesList />} />
80 <Route path="create" element={<CountriesCreate />} />
81 <Route path="edit/:id" element={<CountriesEdit />} />
82 <Route path="show/:id" element={<CountriesShow />} />
83 </Route>
84 </Routes>
85 <RefineKbar />
86 <UnsavedChangesNotifier />
87 <DocumentTitleHandler />
88 </Refine>
89 </RefineKbarProvider>
90 </BrowserRouter>
91 );
92}
93
94export default App;
95`,
96 },
97 ]
98
99 return <MultipleCodeBlock files={files} />
100}
101
102export default ContentFile