Files
Rocketmc/apps/frontend/src/plugins/cosmetics.ts
Cal H. 2aabcf36ee refactor: migrate to common eslint+prettier configs (#4168)
* refactor: migrate to common eslint+prettier configs

* fix: prettier frontend

* feat: config changes

* fix: lint issues

* fix: lint

* fix: type imports

* fix: cyclical import issue

* fix: lockfile

* fix: missing dep

* fix: switch to tabs

* fix: continue switch to tabs

* fix: rustfmt parity

* fix: moderation lint issue

* fix: lint issues

* fix: ui intl

* fix: lint issues

* Revert "fix: rustfmt parity"

This reverts commit cb99d2376c321d813d4b7fc7e2a213bb30a54711.

* feat: revert last rs
2025-08-14 20:48:38 +00:00

61 lines
1.3 KiB
TypeScript

import type { DarkTheme } from './theme/index.ts'
export type DisplayMode = 'list' | 'gallery' | 'grid'
export type DisplayLocation =
| 'mod'
| 'plugin'
| 'resourcepack'
| 'modpack'
| 'shader'
| 'datapack'
| 'user'
| 'collection'
export interface Cosmetics {
rightSearchLayout: boolean
leftContentLayout: boolean
advancedRendering: boolean
externalLinksNewTab: boolean
notUsingBlockers: boolean
hideModrinthAppPromos: boolean
preferredDarkTheme: DarkTheme
searchDisplayMode: Record<DisplayLocation, DisplayMode>
hideStagingBanner: boolean
}
export default defineNuxtPlugin({
name: 'cosmetics',
setup() {
const cosmetics = useCookie<Cosmetics>('cosmetics', {
maxAge: 60 * 60 * 24 * 365 * 10,
sameSite: 'lax',
secure: true,
httpOnly: false,
path: '/',
default: () => ({
rightSearchLayout: false,
leftContentLayout: false,
advancedRendering: true,
externalLinksNewTab: true,
notUsingBlockers: false,
hideModrinthAppPromos: false,
preferredDarkTheme: 'dark',
searchDisplayMode: {
mod: 'list',
plugin: 'list',
resourcepack: 'gallery',
modpack: 'list',
shader: 'gallery',
datapack: 'list',
user: 'list',
collection: 'list',
},
hideStagingBanner: false,
}),
})
return { provide: { cosmetics } }
},
})