This commit is contained in:
1 parent
9552d6b938
commit
8d37ae9ae0
77 files changed
-77
No files matched your search
@@ -37,4 +37,3 @@ export const saveEmulatorSettings = adminAction(
|
||||
return actionOk()
|
||||
},
|
||||
)
|
||||
|
||||
@@ -45,4 +45,3 @@ export const deleteTemplate = adminAction(
|
||||
return actionOk()
|
||||
},
|
||||
)
|
||||
|
||||
@@ -227,4 +227,3 @@ export const updateTicketPriority = adminAction(
|
||||
return actionOk()
|
||||
},
|
||||
)
|
||||
|
||||
@@ -74,4 +74,3 @@ export const saveClientTranslations = adminAction(
|
||||
return actionOk({ commentsLost: true, unpatchedKeys })
|
||||
},
|
||||
)
|
||||
|
||||
@@ -41,4 +41,3 @@ export const toggleUserWatch = adminAction(
|
||||
return actionOk({ watching: true })
|
||||
},
|
||||
)
|
||||
|
||||
@@ -31,4 +31,3 @@ export function AdminBreadcrumb({ items }: AdminBreadcrumbProps) {
|
||||
</nav>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -58,4 +58,3 @@ export function BreadcrumbBar() {
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -180,4 +180,3 @@ function CatalogManagerInner({
|
||||
</TooltipProvider>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -88,4 +88,3 @@ export function ImagePreview({
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -248,4 +248,3 @@ function TabButton({
|
||||
</button>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -828,4 +828,3 @@ export function SortableTree({
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -53,4 +53,3 @@ export function StatsBar() {
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -301,4 +301,3 @@ export const TreeItemContent = React.memo(
|
||||
)
|
||||
},
|
||||
)
|
||||
|
||||
@@ -264,4 +264,3 @@ export function useCatalogManager() {
|
||||
if (!ctx) throw new Error('useCatalogManager must be used within CatalogManagerProvider')
|
||||
return ctx
|
||||
}
|
||||
|
||||
@@ -831,4 +831,3 @@ function TreeItem({
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -220,4 +220,3 @@ export function BulkImportItems({ pageId, onImported }: BulkImportItemsProps) {
|
||||
</Dialog>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -250,4 +250,3 @@ function CatalogImageThumb({ name, size = 60 }: { name: string; size?: number })
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -210,4 +210,3 @@ function IconPreview({ iconImage, size = 24 }: { iconImage: number; size?: numbe
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -225,4 +225,3 @@ function FurniThumb({ classname, revision }: { classname: string; revision: numb
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -514,4 +514,3 @@ export function DataTable<T extends { id: number | string }>({
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -409,4 +409,3 @@ export function EmulatorSettingsForm({
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -52,4 +52,3 @@ export function UserWatchToggle({ targetUserId, username, initialWatching }: Use
|
||||
</Button>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -44,4 +44,3 @@ function Badge({
|
||||
}
|
||||
|
||||
export { Badge, badgeVariants }
|
||||
|
||||
@@ -60,4 +60,3 @@ function Button({
|
||||
}
|
||||
|
||||
export { Button, buttonVariants }
|
||||
|
||||
@@ -73,4 +73,3 @@ function CardFooter({ className, ...props }: React.ComponentProps<'div'>) {
|
||||
}
|
||||
|
||||
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle }
|
||||
|
||||
@@ -27,4 +27,3 @@ function Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxP
|
||||
}
|
||||
|
||||
export { Checkbox }
|
||||
|
||||
@@ -158,4 +158,3 @@ export {
|
||||
CommandSeparator,
|
||||
CommandShortcut,
|
||||
}
|
||||
|
||||
@@ -108,4 +108,3 @@ export {
|
||||
ContextMenuShortcut,
|
||||
ContextMenuTrigger,
|
||||
}
|
||||
|
||||
@@ -141,4 +141,3 @@ export {
|
||||
DialogTitle,
|
||||
DialogTrigger,
|
||||
}
|
||||
|
||||
@@ -226,4 +226,3 @@ export {
|
||||
DropdownMenuSubTrigger,
|
||||
DropdownMenuTrigger,
|
||||
}
|
||||
|
||||
@@ -19,4 +19,3 @@ function Input({ className, type, ...props }: React.ComponentProps<'input'>) {
|
||||
}
|
||||
|
||||
export { Input }
|
||||
|
||||
@@ -19,4 +19,3 @@ function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimiti
|
||||
}
|
||||
|
||||
export { Label }
|
||||
|
||||
@@ -72,4 +72,3 @@ export {
|
||||
PopoverTitle,
|
||||
PopoverTrigger,
|
||||
}
|
||||
|
||||
@@ -173,4 +173,3 @@ export {
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
}
|
||||
|
||||
@@ -11,4 +11,3 @@ function Skeleton({ className, ...props }: React.ComponentProps<'div'>) {
|
||||
}
|
||||
|
||||
export { Skeleton }
|
||||
|
||||
@@ -33,4 +33,3 @@ function Switch({
|
||||
}
|
||||
|
||||
export { Switch }
|
||||
|
||||
@@ -90,4 +90,3 @@ function TableCaption({ className, ...props }: React.ComponentProps<'caption'>)
|
||||
}
|
||||
|
||||
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow }
|
||||
|
||||
@@ -79,4 +79,3 @@ function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPr
|
||||
}
|
||||
|
||||
export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants }
|
||||
|
||||
@@ -16,4 +16,3 @@ function Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {
|
||||
}
|
||||
|
||||
export { Textarea }
|
||||
|
||||
@@ -51,4 +51,3 @@ function TooltipContent({
|
||||
}
|
||||
|
||||
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }
|
||||
|
||||
@@ -12,4 +12,3 @@ export function useDebounce<T>(value: T, delay: number = 300): T {
|
||||
|
||||
return debouncedValue
|
||||
}
|
||||
|
||||
@@ -52,4 +52,3 @@ export function formatTimestamp(ts: number): string {
|
||||
if (!ts) return 'N/A'
|
||||
return new Date(ts * 1000).toLocaleString()
|
||||
}
|
||||
|
||||
@@ -148,4 +148,3 @@ export async function fetchAdminList<TRow = PrismaModel>(
|
||||
rank: session.user.rank,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,4 +45,3 @@ export const LAYOUT_DESCRIPTIONS: Record<CatalogLayout, string> = {
|
||||
room_bundle: 'Room bundle purchase page',
|
||||
sold_ltd_items: 'Sold limited editions archive',
|
||||
}
|
||||
|
||||
@@ -222,4 +222,3 @@ export function translateCaption(caption: string): string | null {
|
||||
const key = caption.toLowerCase().trim()
|
||||
return CATALOG_IT[key] ?? null
|
||||
}
|
||||
|
||||
@@ -42,4 +42,3 @@ export function getCachedSongPickerOptions(): SoundtrackOption[] | null {
|
||||
export function invalidateSongPickerCache(): void {
|
||||
cachedOptions = null
|
||||
}
|
||||
|
||||
@@ -95,4 +95,3 @@ export const CLIENT_TRANSLATION_FILES: ClientTranslationFile[] = [
|
||||
export function getClientTranslationFile(id: string): ClientTranslationFile | undefined {
|
||||
return CLIENT_TRANSLATION_FILES.find((f) => f.id === id)
|
||||
}
|
||||
|
||||
@@ -40,4 +40,3 @@ export function getHabboCdnIconUrl(classname: string, revision: number): string
|
||||
const base = getBaseClassname(classname)
|
||||
return `https://images.habbo.com/dcr/hof_furni/${revision}/${encodeURIComponent(base)}_icon.png`
|
||||
}
|
||||
|
||||
@@ -42,4 +42,3 @@ export function getAvatarUrl(figure: string, options: AvatarOptions = {}): strin
|
||||
|
||||
return `${IMAGER_URL}?${params.toString()}`
|
||||
}
|
||||
|
||||
@@ -76,4 +76,3 @@ export function patchJson5(
|
||||
|
||||
return { content: result, unpatchedKeys }
|
||||
}
|
||||
|
||||
@@ -117,4 +117,3 @@ export function getSuggestions(opts: { interactionType?: string; itemName?: stri
|
||||
.sort((a, b) => b[1] - a[1])
|
||||
.map(([id]) => id)
|
||||
}
|
||||
|
||||
@@ -66,4 +66,3 @@ export const PERMS = {
|
||||
MOD_USERS_VIEW: 'mod.users.view',
|
||||
MOD_BANS_VIEW: 'mod.bans.view',
|
||||
} as const
|
||||
|
||||
@@ -112,4 +112,3 @@ export async function getAuditLogs(options: GetLogsOptions = {}) {
|
||||
lastPage: Math.ceil(total / perPage),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -294,4 +294,3 @@ export async function loadCatalogItemsData(pageId: number): Promise<CatalogItems
|
||||
allPages,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,4 +257,3 @@ export async function getAncestors(
|
||||
|
||||
return ancestors
|
||||
}
|
||||
|
||||
@@ -160,4 +160,3 @@ export function clearHabboItCache(): void {
|
||||
cache = null
|
||||
cacheTimestamp = 0
|
||||
}
|
||||
|
||||
@@ -308,4 +308,3 @@ function quoteIdentifier(identifier: string) {
|
||||
if (!VALID_KEY.test(identifier)) throw new Error('Invalid identifier')
|
||||
return `\`${identifier}\``
|
||||
}
|
||||
|
||||
@@ -125,4 +125,3 @@ export {
|
||||
parseTraxChannels,
|
||||
TRAX_TICK_SECONDS,
|
||||
} from '@/lib/trax-format'
|
||||
|
||||
@@ -3,4 +3,3 @@
|
||||
* All implementation has been moved to the ./swf/ module directory.
|
||||
*/
|
||||
export * from './swf'
|
||||
|
||||
@@ -301,4 +301,3 @@ export function decodeJpegToRGBA(jpegData: Buffer, width: number, height: number
|
||||
return Buffer.alloc(width * height * 4)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -485,4 +485,3 @@ export function nitroDecompress(data: Buffer): Buffer {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -258,4 +258,3 @@ export function parseNitroBundle(buffer: Buffer): {
|
||||
|
||||
return { json, jsonFileName, png, pngFileName }
|
||||
}
|
||||
|
||||
@@ -150,4 +150,3 @@ export function parseBinaryData(data: Buffer): { id: number; content: Buffer } {
|
||||
const content = data.subarray(6)
|
||||
return { id, content }
|
||||
}
|
||||
|
||||
@@ -579,4 +579,3 @@ export function computeDefaultDir(directions: number[]): number {
|
||||
if (directions.includes(0)) return 0
|
||||
return directions[0] || 0
|
||||
}
|
||||
|
||||
@@ -21,4 +21,3 @@ const getCachedWatchedIds = unstable_cache(
|
||||
['user-watch-list'],
|
||||
{ revalidate: 60, tags: ['user-watch'] },
|
||||
)
|
||||
|
||||
@@ -110,4 +110,3 @@ export function notify(payload: WebhookPayload): void {
|
||||
sendDiscord(payload).catch(() => {})
|
||||
sendTelegram(payload).catch(() => {})
|
||||
}
|
||||
|
||||
@@ -31,4 +31,3 @@ export function unflattenObject(flat: Record<string, string>): Record<string, un
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -60,4 +60,3 @@ export function parseTrackSamples(track: string | null | undefined): number[] {
|
||||
export function detectSoundtrackKind(track: string | null | undefined): 'single' | 'composition' {
|
||||
return parseTrackSamples(track).length > 0 ? 'composition' : 'single'
|
||||
}
|
||||
|
||||
@@ -4,4 +4,3 @@ import { twMerge } from 'tailwind-merge'
|
||||
export function cn(...inputs: ClassValue[]) {
|
||||
return twMerge(clsx(inputs))
|
||||
}
|
||||
|
||||
@@ -8,4 +8,3 @@ export const updateRoomSchema = z.object({
|
||||
})
|
||||
|
||||
export type UpdateRoomInput = z.infer<typeof updateRoomSchema>
|
||||
|
||||
@@ -42,4 +42,3 @@ export type ReplyTicketInput = z.infer<typeof replyTicketSchema>
|
||||
export type UpdateTicketStatusInput = z.infer<typeof updateTicketStatusSchema>
|
||||
export type AssignTicketInput = z.infer<typeof assignTicketSchema>
|
||||
export type UpdateTicketPriorityInput = z.infer<typeof updateTicketPrioritySchema>
|
||||
|
||||
@@ -40,4 +40,3 @@ export type CreateUserInput = z.infer<typeof createUserSchema>
|
||||
export type UpdateUserInput = z.infer<typeof updateUserSchema>
|
||||
export type BanUserInput = z.infer<typeof banUserSchema>
|
||||
export type GiveBadgeInput = z.infer<typeof giveBadgeSchema>
|
||||
|
||||
@@ -41,4 +41,3 @@ export interface AvatarOptions {
|
||||
/** Action: wav, sit, lay, etc. */
|
||||
action?: string
|
||||
}
|
||||
|
||||
@@ -46,4 +46,3 @@ export interface RootTab {
|
||||
enabled: string
|
||||
orderNum: number
|
||||
}
|
||||
|
||||
@@ -39,4 +39,3 @@ export interface BreadcrumbItem {
|
||||
label: string
|
||||
href?: string
|
||||
}
|
||||
|
||||
@@ -94,4 +94,3 @@ export interface ImportSingleResult {
|
||||
error?: string
|
||||
furniDataEntry?: { entry: Record<string, unknown>; itemType: string }
|
||||
}
|
||||
|
||||
@@ -3,4 +3,3 @@ export * from './catalog'
|
||||
export * from './common'
|
||||
export * from './furni'
|
||||
export * from './prisma'
|
||||
|
||||
Reference in new issue
Block a user