content.tsx 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import { SimpleCodeBlock } from 'ui-patterns/SimpleCodeBlock'
  2. import type { ContentFileProps } from '@/components/interfaces/Connect/Connect.types'
  3. import {
  4. ConnectTabContent,
  5. ConnectTabs,
  6. ConnectTabTrigger,
  7. ConnectTabTriggers,
  8. } from '@/components/interfaces/Connect/ConnectTabs'
  9. const ContentFile = ({ projectKeys }: ContentFileProps) => {
  10. return (
  11. <ConnectTabs>
  12. <ConnectTabTriggers>
  13. <ConnectTabTrigger value=".env.local" />
  14. <ConnectTabTrigger value="utils/briven.ts" />
  15. <ConnectTabTrigger value="src/App.vue" />
  16. </ConnectTabTriggers>
  17. <ConnectTabContent value=".env.local">
  18. <SimpleCodeBlock className="bash" parentClassName="min-h-72">
  19. {`
  20. BRIVEN_URL=${projectKeys.apiUrl ?? 'your-project-url'}
  21. BRIVEN_KEY=${projectKeys.publishableKey ?? projectKeys.anonKey ?? 'your-anon-key'}
  22. `}
  23. </SimpleCodeBlock>
  24. </ConnectTabContent>
  25. <ConnectTabContent value="utils/briven.ts">
  26. <SimpleCodeBlock className="ts" parentClassName="min-h-72">
  27. {`
  28. import { createClient } from "@supabase/supabase-js";
  29. const brivenUrl = process.env.BRIVEN_URL;
  30. const brivenKey = process.env.BRIVEN_KEY;
  31. export const briven = createClient(brivenUrl, brivenKey);
  32. `}
  33. </SimpleCodeBlock>
  34. </ConnectTabContent>
  35. <ConnectTabContent value="src/App.vue">
  36. <SimpleCodeBlock className="jsx" parentClassName="min-h-72">
  37. {`
  38. <script setup>
  39. import { briven } from '../utils/briven'
  40. const todos = ref([])
  41. async function getTodos() {
  42. const { data } = await briven.from('todos').select()
  43. todos.value = data
  44. }
  45. onMounted(() => {
  46. getTodos()
  47. })
  48. </script>
  49. <template>
  50. <ul>
  51. <li v-for="todo in todos" :key="todo.id">{{ todo.name }}</li>
  52. </ul>
  53. </template>
  54. `}
  55. </SimpleCodeBlock>
  56. </ConnectTabContent>
  57. </ConnectTabs>
  58. )
  59. }
  60. export default ContentFile