Files
sori.studio/composables/usePublicSiteSettings.js

35 lines
1.0 KiB
JavaScript

import { DEFAULT_BRAND_COLOR } from '~/lib/brand-color.js'
/**
* 공개 사이트 설정 기본값을 만든다.
* @returns {Object} 공개 사이트 설정 기본값
*/
export const createDefaultPublicSiteSettings = () => ({
title: 'sori.studio',
description: 'sori.studio 개인 블로그',
faviconUrl: '',
logoUrl: '',
logoText: '井',
brandColor: DEFAULT_BRAND_COLOR,
socialLinks: [],
adSidebarCode: '',
adPostSidebarCode: '',
copyrightText: '©2026 sori.studio',
announcementEnabled: false,
announcementText: '',
announcementUrl: '',
announcementBackgroundColor: '#15171a',
announcementAlignment: 'center',
updatedAt: null,
signupBlockedUsernames: []
})
/**
* 공개 사이트 설정을 공통 key와 옵션으로 조회한다.
* @returns {Promise<import('nuxt/app').AsyncData<Object, Error | null>>} 사이트 설정 async data
*/
export const usePublicSiteSettings = () => useFetch('/api/site-settings', {
key: 'site-settings-public',
default: createDefaultPublicSiteSettings
})