content.tsx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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" />
  14. <ConnectTabTrigger value="app.py" />
  15. </ConnectTabTriggers>
  16. <ConnectTabContent value=".env">
  17. <SimpleCodeBlock className="bash" parentClassName="min-h-72">
  18. {`
  19. BRIVEN_URL=${projectKeys.apiUrl ?? 'your-project-url'}
  20. BRIVEN_KEY=${projectKeys.publishableKey ?? projectKeys.anonKey ?? 'your-anon-key'}
  21. `}
  22. </SimpleCodeBlock>
  23. </ConnectTabContent>
  24. <ConnectTabContent value="app.py">
  25. <SimpleCodeBlock className="python" parentClassName="min-h-72">
  26. {`
  27. import os
  28. from flask import Flask
  29. from briven import create_client, Client
  30. from dotenv import load_dotenv
  31. load_dotenv()
  32. app = Flask(__name__)
  33. briven: Client = create_client(
  34. os.environ.get("BRIVEN_URL"),
  35. os.environ.get("BRIVEN_KEY")
  36. )
  37. @app.route('/')
  38. def index():
  39. response = briven.table('todos').select("*").execute()
  40. todos = response.data
  41. html = '<h1>Todos</h1><ul>'
  42. for todo in todos:
  43. html += f'<li>{todo["name"]}</li>'
  44. html += '</ul>'
  45. return html
  46. if __name__ == '__main__':
  47. app.run(debug=True)
  48. `}
  49. </SimpleCodeBlock>
  50. </ConnectTabContent>
  51. </ConnectTabs>
  52. )
  53. }
  54. export default ContentFile