* Shader support PR * Make search page work * Fix env showing * Make moderation look reasonable * Fix search for shaders * Datapack support * Make file types work + datapack inferring * Add editing to file types * Finish datapack file generation * Fix bugs, make forge support work * Fix inconsistent data pack label * Final fixes
113 lines
3.2 KiB
JavaScript
113 lines
3.2 KiB
JavaScript
const parameters = {
|
|
maxAge: 60 * 60 * 24 * 365 * 10, // Ten years
|
|
sameSite: 'Strict',
|
|
secure: true,
|
|
httpOnly: false,
|
|
path: '/',
|
|
}
|
|
|
|
export const defaults = {
|
|
searchLayout: false,
|
|
projectLayout: false,
|
|
modpacksAlphaNotice: true,
|
|
advancedRendering: true,
|
|
externalLinksNewTab: true,
|
|
notUsingBlockers: false,
|
|
searchDisplayMode: {
|
|
mod: 'list',
|
|
plugin: 'list',
|
|
resourcepack: 'gallery',
|
|
modpack: 'list',
|
|
shader: 'gallery',
|
|
datapack: 'list',
|
|
user: 'list',
|
|
},
|
|
}
|
|
|
|
export const state = () => defaults
|
|
|
|
export const mutations = {
|
|
SET_SEARCH_LAYOUT(state, searchLayout) {
|
|
state.searchLayout = searchLayout
|
|
},
|
|
SET_PROJECT_LAYOUT(state, projectLayout) {
|
|
state.projectLayout = projectLayout
|
|
},
|
|
SET_MODPACKS_ALPHA_NOTICE(state, modpacksAlphaNotice) {
|
|
state.modpacksAlphaNotice = modpacksAlphaNotice
|
|
},
|
|
SET_ADVANCED_RENDERING(state, advancedRendering) {
|
|
state.advancedRendering = advancedRendering
|
|
},
|
|
SET_EXTERNAL_LINKS_NEW_TAB(state, externalLinksNewTab) {
|
|
state.externalLinksNewTab = externalLinksNewTab
|
|
},
|
|
SET_SEARCH_DISPLAY_MODE(state, { projectType, mode }) {
|
|
state.searchDisplayMode[projectType] = mode
|
|
},
|
|
SET_NOT_USING_BLOCKERS(state, notUsingBlockers) {
|
|
state.notUsingBlockers = notUsingBlockers
|
|
},
|
|
}
|
|
|
|
export const actions = {
|
|
fetchCosmetics({ commit }, $cookies) {
|
|
commit(
|
|
'SET_PROJECT_LAYOUT',
|
|
$cookies.get('project-layout') ?? defaults.projectLayout
|
|
)
|
|
commit(
|
|
'SET_SEARCH_LAYOUT',
|
|
$cookies.get('search-layout') ?? defaults.searchLayout
|
|
)
|
|
commit(
|
|
'SET_MODPACKS_ALPHA_NOTICE',
|
|
$cookies.get('modpacks-alpha-notice') ?? defaults.modpacksAlphaNotice
|
|
)
|
|
commit(
|
|
'SET_ADVANCED_RENDERING',
|
|
$cookies.get('advanced-rendering') ?? defaults.advancedRendering
|
|
)
|
|
commit(
|
|
'SET_EXTERNAL_LINKS_NEW_TAB',
|
|
$cookies.get('external-links-new-tab') ?? defaults.externalLinksNewTab
|
|
)
|
|
Object.keys(defaults.searchDisplayMode).forEach((projectType) => {
|
|
commit('SET_SEARCH_DISPLAY_MODE', {
|
|
projectType,
|
|
mode:
|
|
$cookies.get('search-display-mode-' + projectType) ??
|
|
defaults.searchDisplayMode[projectType],
|
|
})
|
|
})
|
|
},
|
|
save(
|
|
{ commit },
|
|
{
|
|
projectLayout,
|
|
searchLayout,
|
|
modpacksAlphaNotice,
|
|
advancedRendering,
|
|
externalLinksNewTab,
|
|
$cookies,
|
|
}
|
|
) {
|
|
commit('SET_PROJECT_LAYOUT', projectLayout)
|
|
commit('SET_SEARCH_LAYOUT', searchLayout)
|
|
commit('SET_MODPACKS_ALPHA_NOTICE', modpacksAlphaNotice)
|
|
commit('SET_ADVANCED_RENDERING', advancedRendering)
|
|
commit('SET_EXTERNAL_LINKS_NEW_TAB', externalLinksNewTab)
|
|
|
|
$cookies.set('project-layout', projectLayout, parameters)
|
|
$cookies.set('search-layout', searchLayout, parameters)
|
|
$cookies.set('modpacks-alpha-notice', modpacksAlphaNotice, parameters)
|
|
$cookies.set('advanced-rendering', advancedRendering, parameters)
|
|
$cookies.set('external-links-new-tab', externalLinksNewTab, parameters)
|
|
},
|
|
saveSearchDisplayMode({ commit }, { projectType, mode, $cookies }) {
|
|
commit('SET_SEARCH_DISPLAY_MODE', { projectType, mode })
|
|
|
|
$cookies.set('search-display-mode-' + projectType, mode, parameters)
|
|
},
|
|
}
|