feat: Centralize configuration management for Nostr and API settings
- Introduce a new config module to manage Nostr relays, admin pubkeys, and API settings. - Update components to utilize the centralized config instead of environment variables directly. - Refactor relevant files to improve maintainability and reduce reliance on environment variables.
This commit is contained in:
parent
17a1504771
commit
0324cf8ec5
6 changed files with 83 additions and 13 deletions
|
|
@ -6,6 +6,7 @@ import { Button } from '@/components/ui/button'
|
|||
import { Input } from '@/components/ui/input'
|
||||
import { Label } from '@/components/ui/label'
|
||||
import QRCode from 'qrcode'
|
||||
import { config } from '@/lib/config'
|
||||
|
||||
interface Props {
|
||||
event: {
|
||||
|
|
@ -49,14 +50,14 @@ async function handleSubmit() {
|
|||
isLoading.value = true
|
||||
error.value = ''
|
||||
|
||||
const apiUrl = `${import.meta.env.VITE_API_BASE_URL}/events/api/v1/tickets/${props.event.id}/${encodeURIComponent(name.value)}/${encodeURIComponent(email.value)}`
|
||||
const apiUrl = `${config.api.baseUrl}/events/api/v1/tickets/${props.event.id}/${encodeURIComponent(name.value)}/${encodeURIComponent(email.value)}`
|
||||
console.log('Calling API:', apiUrl)
|
||||
|
||||
try {
|
||||
const response = await fetch(apiUrl, {
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'X-API-KEY': import.meta.env.VITE_API_KEY
|
||||
'X-API-KEY': config.api.key
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import { ScrollArea } from '@/components/ui/scroll-area'
|
|||
import { Badge } from '@/components/ui/badge'
|
||||
import { formatDistanceToNow } from 'date-fns'
|
||||
import { Megaphone } from 'lucide-vue-next'
|
||||
import { config, configUtils } from '@/lib/config'
|
||||
|
||||
const props = defineProps<{
|
||||
relays?: string[]
|
||||
|
|
@ -17,14 +18,11 @@ const notes = ref<NostrNote[]>([])
|
|||
const isLoading = ref(true)
|
||||
const error = ref<Error | null>(null)
|
||||
|
||||
const relayUrls = props.relays || JSON.parse(import.meta.env.VITE_NOSTR_RELAYS as string)
|
||||
const relayUrls = props.relays || config.nostr.relays
|
||||
const { disconnect } = useNostr({ relays: relayUrls })
|
||||
|
||||
// Get admin/moderator pubkeys from environment
|
||||
// These should be hex pubkeys of trusted moderators/admins
|
||||
const adminPubkeys = import.meta.env.VITE_ADMIN_PUBKEYS
|
||||
? JSON.parse(import.meta.env.VITE_ADMIN_PUBKEYS as string)
|
||||
: []
|
||||
// Get admin/moderator pubkeys from centralized config
|
||||
const adminPubkeys = config.nostr.adminPubkeys
|
||||
|
||||
async function loadNotes() {
|
||||
try {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue