diff --git a/frontend/src/assets/images/nexus.png b/frontend/src/assets/images/nexus.png new file mode 100644 index 0000000..04dc726 Binary files /dev/null and b/frontend/src/assets/images/nexus.png differ diff --git a/frontend/src/assets/images/ts.webp b/frontend/src/assets/images/ts.webp new file mode 100644 index 0000000..cdc5b2c Binary files /dev/null and b/frontend/src/assets/images/ts.webp differ diff --git a/frontend/src/components/index.ts b/frontend/src/components/index.ts index beff376..5f37f76 100644 --- a/frontend/src/components/index.ts +++ b/frontend/src/components/index.ts @@ -3,6 +3,7 @@ export { default as ControlButtons } from './general/ControlButtons.vue' export { default as Sidebar } from './general/Sidebar.vue' export { default as CardOverlay } from './reusable/CardOverlay.vue' +export { default as PlatformSelectPanels } from './reusable/PlatformSelectPanels.vue' export { default as ModListFilter } from './selected-game/ModListFilter.vue' export { default as ProfileManager } from './selected-game/ProfileManager.vue' diff --git a/frontend/src/components/reusable/OutlineHoverButton.vue b/frontend/src/components/reusable/OutlineHoverButton.vue new file mode 100644 index 0000000..3e44c25 --- /dev/null +++ b/frontend/src/components/reusable/OutlineHoverButton.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/components/reusable/PlatformSelectPanels.vue b/frontend/src/components/reusable/PlatformSelectPanels.vue new file mode 100644 index 0000000..c6cc35c --- /dev/null +++ b/frontend/src/components/reusable/PlatformSelectPanels.vue @@ -0,0 +1,90 @@ + + + + + + + + Thunderstore + + + + + + + + + Nexus Mods + + + + + + + + \ No newline at end of file diff --git a/frontend/src/router/routes.ts b/frontend/src/router/routes.ts index 49bb53f..07f6cfb 100644 --- a/frontend/src/router/routes.ts +++ b/frontend/src/router/routes.ts @@ -3,11 +3,14 @@ import type { RouteRecordRaw } from 'vue-router' const Dashboard = () => import('../views/Dashboard.vue') const GameSelection = () => import('../views/GameSelection.vue') const SelectedGame = () => import('../views/SelectedGame.vue') -const ModDevTools = () => import('../views/ModDevTools.vue') + +const ModDevTools = () => import('../views/mod-dev-tools/PlatformSelection.vue') +const ModDevToolsThunderstore = () => import('../views/mod-dev-tools/Thunderstore.vue') +const ModDevToolsNexus = () => import('../views/mod-dev-tools/Nexus.vue') const ROUTES: RouteRecordRaw[] = [{ - path: '/', - name: 'Dashboard', + path: '/', + name: 'Dashboard', component: Dashboard }, { path: '/game-selection', @@ -19,8 +22,16 @@ const ROUTES: RouteRecordRaw[] = [{ component: SelectedGame }, { path: '/mod-dev-tools', - name: 'Mod Dev Tools', + name: 'Mod Dev Tools (Platform Selection)', component: ModDevTools +}, { + path: '/mod-dev-tools/thunderstore', + name: 'Mod Dev Tools (Thunderstore)', + component: ModDevToolsThunderstore +}, { + path: '/mod-dev-tools/nexus', + name: 'Mod Dev Tools (Nexus)', + component: ModDevToolsNexus }] export default ROUTES \ No newline at end of file diff --git a/frontend/src/views/mod-dev-tools/Nexus.vue b/frontend/src/views/mod-dev-tools/Nexus.vue new file mode 100644 index 0000000..4082f3e --- /dev/null +++ b/frontend/src/views/mod-dev-tools/Nexus.vue @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/frontend/src/views/mod-dev-tools/PlatformSelection.vue b/frontend/src/views/mod-dev-tools/PlatformSelection.vue new file mode 100644 index 0000000..49dbc9d --- /dev/null +++ b/frontend/src/views/mod-dev-tools/PlatformSelection.vue @@ -0,0 +1,30 @@ + + + + + + + \ No newline at end of file diff --git a/frontend/src/views/mod-dev-tools/Thunderstore.vue b/frontend/src/views/mod-dev-tools/Thunderstore.vue new file mode 100644 index 0000000..c168256 --- /dev/null +++ b/frontend/src/views/mod-dev-tools/Thunderstore.vue @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + Drag and drop your mod zip file here. + + + + + + + \ No newline at end of file