content.tsx 2.8 KB

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