import type { ContentFileProps } from 'components/interfaces/Connect/Connect.types' import { ConnectTabs, ConnectTabTriggers, ConnectTabTrigger, ConnectTabContent, } from 'components/interfaces/Connect/ConnectTabs' import { SimpleCodeBlock } from 'ui' const ContentFile = ({ projectKeys }: ContentFileProps) => { return ( {` export const environment = { supabaseUrl: '${projectKeys.apiUrl ?? 'your-project-url'}', supabaseKey: '${projectKeys.publishableKey ?? ''}', }; `} {` import { Injectable } from '@angular/core'; import { createClient, SupabaseClient } from '@supabase/supabase-js'; import { environment } from '../environments/environment'; @Injectable({ providedIn: 'root', }) export class SupabaseService { private supabase: SupabaseClient; constructor() { this.supabase = createClient( environment.supabaseUrl, environment.supabaseKey ); } getTodos() { return this.supabase.from('todos').select('*'); } } `} {` import { Component, OnInit } from '@angular/core'; import { SupabaseService } from './supabase.service'; @Component({ selector: 'app-root', templateUrl: 'app.component.html', styleUrls: ['app.component.scss'], }) export class AppComponent implements OnInit { todos: any[] = []; constructor(private supabaseService: SupabaseService) {} async ngOnInit() { await this.loadTodos(); } async loadTodos() { const { data, error } = await this.supabaseService.getTodos(); if (error) { console.error('Error fetching todos:', error); } else { this.todos = data; } } } `} {` Todo List {{ todo.title }} `} {` import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { BrowserModule } from '@angular/platform-browser'; import { RouterModule } from '@angular/router'; import { IonicModule } from '@ionic/angular'; import { AppComponent } from './app.component'; import { SupabaseService } from './supabase.service'; @NgModule({ imports: [ BrowserModule, FormsModule, RouterModule.forRoot([]), IonicModule.forRoot({ mode: 'ios' }), ], declarations: [AppComponent], providers: [SupabaseService], bootstrap: [AppComponent], }) export class AppModule {} `} ) } export default ContentFile