mirror of
https://github.com/modrinth/code.git
synced 2026-08-31 12:05:53 +00:00
* feat: implement access tab with dummy data * fix: spacing * feat: qa * feat: implement backend * qa: qa pass * feat: fix user "search" * fix: lint * feat: change to bitfield * feat: fix fields * fix: lint * fix: lint * feat: hook up api * feat: fix permissions * feat: audit log table event start * feat: better mobile mode for audit log table * feat: i18n * feat: qa * feat: enforce permissions * feat: email template start * feat: qa * fix: tooltip bug * feat: qa * impl: sse support in api-client * feat: sse impl * fix: desync path * feat: time frame picker from analytics * feat: QA * fix: spacing * fix: permisison audit log entries * fix: hosting manage page shared server detection * fix: lint * feat: qa + lint * feat: audit log table sort by time * feat: finish frontend panel stuff * fix: lint * fix: backend alignment * fix: lint * fix: supress friend errors * feat: qa * fix: qa * fix: lint * fix: utils barrel * fix: safari cookies in dev * fix: pin nuxt * feat: fixes + notif fix * fix: notifications * feat: qa * fix: notification sync not happening immediately * fix: qa * fix: qa * feat: qa * blog + prepr * feat: toast shit * blog images * thumbnail update one last time * prepr * feat: use reinvite route * update images * fix: reinvite stuff * fix: lint * fix: alignment of save bar * fix: notif sizing * fix: split up access * fix: lint * fix: lint * fix: link --------- Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
63 lines
1.4 KiB
TypeScript
63 lines
1.4 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 config = useRuntimeConfig()
|
|
const cosmetics = useCookie<Cosmetics>('cosmetics', {
|
|
maxAge: 60 * 60 * 24 * 365 * 10,
|
|
sameSite: 'lax',
|
|
secure: config.public.cookieSecure,
|
|
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',
|
|
server: 'list',
|
|
user: 'list',
|
|
collection: 'list',
|
|
},
|
|
hideStagingBanner: false,
|
|
}),
|
|
})
|
|
|
|
return { provide: { cosmetics } }
|
|
},
|
|
})
|