build: initialize RetroHub with Laravel, Inertia, Vue, and Horizon

This commit is contained in:
2026-08-10 13:45:18 +02:00
commit 717db65139
218 changed files with 28356 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
import { PageProps as InertiaPageProps } from '@inertiajs/core';
import { AxiosInstance } from 'axios';
import { route as ziggyRoute } from 'ziggy-js';
import { PageProps as AppPageProps } from './';
declare global {
interface Window {
axios: AxiosInstance;
}
/* eslint-disable no-var */
var route: typeof ziggyRoute;
}
declare module 'vue' {
interface ComponentCustomProperties {
route: typeof ziggyRoute;
}
}
declare module '@inertiajs/core' {
interface PageProps extends InertiaPageProps, AppPageProps {}
}
+78
View File
@@ -0,0 +1,78 @@
export interface User {
id: number;
name: string;
email: string;
email_verified_at?: string;
}
export interface ConsoleData {
id: number;
name: string;
slug: string;
iconPath: string | null;
romExtensions: string[];
igdbPlatformId: number | null;
tgdbPlatformId: number | null;
gamesCount: number;
}
export interface GameData {
id: number;
consoleId: number;
title: string;
slug: string;
igdbId: number | null;
tgdbId: number | null;
description: string | null;
releaseYear: number | null;
developer: string | null;
publisher: string | null;
genre: string | null;
rating: number | null;
coverPath: string | null;
thumbnailPath: string | null;
console?: ConsoleData;
romFiles?: RomFileData[];
}
export interface RomFileData {
id: number;
gameId: number;
filePath: string;
fileName: string;
fileSize: number;
fileHash: string;
region: string | null;
language: string | null;
}
export interface DashboardStatsData {
totalGames: number;
totalConsoles: number;
totalRoms: number;
userSaves: number;
}
export interface ScraperResultData {
id: number;
title: string;
coverUrl: string | null;
year: string | null;
source: string;
}
export interface WebDavAccountData {
id: number;
userId: number;
username: string;
displayName: string;
enabled: boolean;
}
export type PageProps<
T extends Record<string, unknown> = Record<string, unknown>,
> = T & {
auth: {
user: User;
};
};
+1
View File
@@ -0,0 +1 @@
/// <reference types="vite/client" />