Files
Prism_old/js/config.js
T
2025-12-15 12:28:00 -06:00

64 lines
1.4 KiB
JavaScript

// Configuration loader
let appConfig = null;
/**
* Load configuration from config.json
*/
async function loadConfig() {
if (appConfig) {
return appConfig;
}
try {
const response = await fetch('/config.json');
if (!response.ok) {
throw new Error(`Failed to load config: ${response.statusText}`);
}
appConfig = await response.json();
return appConfig;
} catch (error) {
console.error('Error loading config:', error);
// Return default config if file can't be loaded
return {
pocketbase: {
collections: {
jobs: "Job_Info",
notes: "notes",
users: "users"
}
},
pagination: {
itemsPerPage: 20
},
filters: {
defaultFilter: "all"
}
};
}
}
/**
* Get the jobs collection name
*/
async function getJobsCollection() {
const config = await loadConfig();
return config.pocketbase.collections.jobs;
}
/**
* Get the notes collection name
*/
async function getNotesCollection() {
const config = await loadConfig();
return config.pocketbase.collections.notes;
}
/**
* Get items per page setting
*/
async function getItemsPerPage() {
const config = await loadConfig();
return config.pagination.itemsPerPage || 20;
}