
import { website, isDev, store, storeLanguage, cookiebotId, hasGuard as guard, scope, customer, siteIdentifier } from './app-setup.js'




// Do not touch below this line
// Settings are changed in app-setup.js or baker.js for more permanet changes
// ---------------------------------------------
import { Settings } from './app-settings'
const settings = new Settings

/**
 * Controllable state for debugging / developing with TransferState
 * 
 * The functionality can be used to disable debugging specific console logs,
 * the idea is that we can trigger between what is developer and what isn't.
 * TransferState gets tough to work with in developer, as it removes your
 * "Network" output of what happens on first load, of the elements, as they are
 * loaded within the AOT / SSR. Some elements may not work correctly with TransferState
 * disabled, such as Pipes and the data flow. Ensure to test everything both with
 * and without TransferState!
 * 
 * Live servers should always have TransferState enabled.
 * 
 * Please code responsibly!
 * 
 * @protected
 * @see https://www.youtube.com/watch?v=siwpn14IE7E
 * @property boolean: true - Enables debugging, and disable TransferState
 * @property boolean: false - Disables debugging and enable TransferState
 */
export const debug				= isDev

// Server
export const apikey         	= settings.getAPIKey(website)
export const server           	= settings.getServer(siteIdentifier, scope)
export const mediaServer		= settings.getMediaServer(website, scope)

// Store
export let websiteId 			= settings.findWebsiteId(siteIdentifier)
export let storeId 				= settings.findStoreId(siteIdentifier, store)
export const storeCode        	= settings.getStoreCode(siteIdentifier, store)

// Internationalization
export const language       	= !!storeLanguage ? storeLanguage : settings.getLanguage(store)
export const currency			= settings.getCurrency(store)
export const currencySymbol		= settings.getCurrencySymbol(store)
export const measuringSystem    = settings.getMeasuringSystem(siteIdentifier)

// SEO
export const cookiebot_Id       = cookiebotId ? cookiebotId : undefined
export const prefix				= settings.getSEOPrefix(siteIdentifier)
export const showPrefix			= !!prefix ? settings.showPrefix(siteIdentifier) : false
export const hasGuard           = guard