Skip to content

Commit 9bee185

Browse files
committed
feat: finalize cross platform page system for now
1 parent c30f27f commit 9bee185

File tree

12 files changed

+50
-33
lines changed

12 files changed

+50
-33
lines changed

apps/app-frontend/src/App.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<script setup>
2+
import { AuthFeature, TauriModrinthClient } from '@modrinth/api-client'
23
import {
34
ArrowBigUpDashIcon,
45
ChangeSkinIcon,
@@ -92,7 +93,7 @@ import {
9293
import { useError } from '@/store/error.js'
9394
import { useInstall } from '@/store/install.js'
9495
import { useLoading, useTheming } from '@/store/state'
95-
import { AuthFeature, TauriModrinthClient } from '@modrinth/api-client'
96+
9697
import { create_profile_and_install_from_file } from './helpers/pack'
9798
import { generateSkinPreviews } from './helpers/rendering/batch-skin-renderer'
9899
import { get_available_capes, get_available_skins } from './helpers/skins'
@@ -108,7 +109,7 @@ const tauriApiClient = new TauriModrinthClient({
108109
userAgent: `modrinth/theseus/${getVersion()} (support@modrinth.com)`,
109110
features: [
110111
new AuthFeature({
111-
token: getCreds,
112+
token: async () => (await getCreds()).session,
112113
}),
113114
],
114115
})

apps/app-frontend/src/routes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
import { ServersManagePageIndex } from '@modrinth/ui'
12
import { createRouter, createWebHistory } from 'vue-router'
23

34
import * as Pages from '@/pages'
45
import * as Instance from '@/pages/instance'
56
import * as Library from '@/pages/library'
67
import * as Project from '@/pages/project'
7-
import { ServersManagePageIndex } from '@modrinth/ui'
88

99
/**
1010
* Configures application routing. Add page to pages/index and then add to route table here.

apps/frontend/src/components/ui/servers/ServersUpgradeModalWrapper.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<script setup lang="ts">
1111
// TODO: Remove this wrapper when we figure out how to do cross platform state + stripe
1212
import { ServersUpgradeModalWrapper as ServersUpgradeModalWrapperBase } from '@modrinth/ui'
13+
1314
import { useGeneratedState } from '~/composables/generated'
1415
1516
const config = useRuntimeConfig()

apps/frontend/src/components/ui/servers/marketing/MedalServerCountdown.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import type { UserSubscription } from '@modrinth/utils'
4444
import dayjs from 'dayjs'
4545
import dayjsDuration from 'dayjs/plugin/duration'
4646
import type { ComponentPublicInstance } from 'vue'
47+
4748
import ServersUpgradeModalWrapper from '../ServersUpgradeModalWrapper.vue'
4849
4950
dayjs.extend(dayjsDuration)

apps/frontend/src/helpers/api.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import {
2+
type AbstractFeature,
3+
type AuthConfig,
24
AuthFeature,
35
CircuitBreakerFeature,
46
NuxtCircuitBreakerStorage,
7+
type NuxtClientConfig,
58
NuxtModrinthClient,
69
VerboseLoggingFeature,
7-
type AbstractFeature,
8-
type AuthConfig,
9-
type NuxtClientConfig,
1010
} from '@modrinth/api-client'
1111

1212
export function createModrinthClient(
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<script setup lang="ts">
22
import { ServersManagePageIndex } from '@modrinth/ui'
3+
import { useGeneratedState } from '~/composables/generated'
34
45
definePageMeta({
56
middleware: 'auth',
@@ -8,8 +9,15 @@ definePageMeta({
89
useHead({
910
title: 'Servers - Modrinth',
1011
})
12+
13+
const config = useRuntimeConfig()
14+
const generatedState = useGeneratedState()
1115
</script>
1216

1317
<template>
14-
<ServersManagePageIndex />
18+
<ServersManagePageIndex
19+
:stripe-publishable-key="config.public.stripePublishableKey"
20+
:site-url="config.public.siteUrl"
21+
:products="generatedState.products || []"
22+
/>
1523
</template>

apps/frontend/src/pages/settings/billing/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -626,11 +626,11 @@ import {
626626
OverflowMenu,
627627
PurchaseModal,
628628
} from '@modrinth/ui'
629+
import ServerListing from '@modrinth/ui/src/components/servers/ServerListing.vue'
629630
import { calculateSavings, formatPrice, getCurrency } from '@modrinth/utils'
630631
import { computed, ref } from 'vue'
631632
632633
import { useBaseFetch } from '@/composables/fetch.js'
633-
import ServerListing from '@modrinth/ui/src/components/servers/ServerListing.vue'
634634
import ModrinthServersIcon from '~/components/ui/servers/ModrinthServersIcon.vue'
635635
import ServersUpgradeModalWrapper from '~/components/ui/servers/ServersUpgradeModalWrapper.vue'
636636
import { useServersFetch } from '~/composables/servers/servers-fetch.ts'

packages/api-client/src/index.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
export { AbstractModrinthClient } from './core/abstract-client'
22
export { AbstractFeature, type FeatureConfig } from './core/abstract-feature'
33
export { ModrinthApiError, ModrinthServerError } from './core/errors'
4-
export { AuthFeature, type AuthConfig } from './features/auth'
4+
export { type AuthConfig, AuthFeature } from './features/auth'
55
export {
6-
CircuitBreakerFeature,
7-
InMemoryCircuitBreakerStorage,
86
type CircuitBreakerConfig,
7+
CircuitBreakerFeature,
98
type CircuitBreakerState,
109
type CircuitBreakerStorage,
10+
InMemoryCircuitBreakerStorage,
1111
} from './features/circuit-breaker'
12-
export { RetryFeature, type BackoffStrategy, type RetryConfig } from './features/retry'
13-
export { VerboseLoggingFeature, type VerboseLoggingConfig } from './features/verbose-logging'
12+
export { type BackoffStrategy, type RetryConfig, RetryFeature } from './features/retry'
13+
export { type VerboseLoggingConfig, VerboseLoggingFeature } from './features/verbose-logging'
1414
export type { InferredClientModules } from './modules'
1515
export * from './modules/types'
1616
export { GenericModrinthClient } from './platform/generic'
17-
export { NuxtCircuitBreakerStorage, NuxtModrinthClient } from './platform/nuxt'
1817
export type { NuxtClientConfig } from './platform/nuxt'
19-
export { TauriModrinthClient } from './platform/tauri'
18+
export { NuxtCircuitBreakerStorage, NuxtModrinthClient } from './platform/nuxt'
2019
export type { TauriClientConfig } from './platform/tauri'
20+
export { TauriModrinthClient } from './platform/tauri'
2121
export * from './types'

packages/api-client/src/modules/iso3166/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { $fetch } from 'ofetch'
22
import Papa from 'papaparse'
3+
34
import { AbstractModule } from '../../core/abstract-module'
45
import type { ISO3166 } from './types'
56

@@ -43,12 +44,14 @@ export class ISO3166Module extends AbstractModule {
4344
}),
4445
])
4546

47+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
4648
const countriesData = Papa.parse<Record<string, any>>(countriesCSV, {
4749
header: true,
4850
skipEmptyLines: true,
4951
transformHeader: (header) => (header.startsWith('#') ? header.slice(1) : header),
5052
}).data
5153

54+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
5255
const subdivisionsData = Papa.parse<Record<string, any>>(subdivisionsCSV, {
5356
header: true,
5457
skipEmptyLines: true,

packages/api-client/src/modules/labrinth/state/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@ export class LabrinthStateModule extends AbstractModule {
1818
* ```
1919
*/
2020
public async build(): Promise<Labrinth.State.GeneratedState> {
21+
const errors: unknown[] = []
22+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
2123
const handleError = (err: any, defaultValue: any) => {
2224
console.error('Error fetching state data:', err)
25+
errors.push(err)
2326
return defaultValue
2427
}
2528

@@ -126,6 +129,7 @@ export class LabrinthStateModule extends AbstractModule {
126129
muralBankDetails: muralBankDetails?.bankDetails,
127130
countries: iso3166Data.countries,
128131
subdivisions: iso3166Data.subdivisions,
132+
errors,
129133
}
130134
}
131135
}

0 commit comments

Comments
 (0)