fix(lib/discord/common)!: split to own submodules + don't restrict everything to init+
This commit is contained in:
parent
217617a663
commit
c49f3eb471
21 changed files with 147 additions and 102 deletions
|
|
@ -9,9 +9,24 @@
|
||||||
"./common": {
|
"./common": {
|
||||||
"default": "./src/common/index.ts"
|
"default": "./src/common/index.ts"
|
||||||
},
|
},
|
||||||
|
"./common/app-start-performance": {
|
||||||
|
"default": "./src/common/app-start-performance.ts"
|
||||||
|
},
|
||||||
|
"./common/constants": {
|
||||||
|
"default": "./src/common/constants.ts"
|
||||||
|
},
|
||||||
"./common/flux": {
|
"./common/flux": {
|
||||||
"default": "./src/common/flux.ts"
|
"default": "./src/common/flux.ts"
|
||||||
},
|
},
|
||||||
|
"./common/import-tracker": {
|
||||||
|
"default": "./src/common/import-tracker.ts"
|
||||||
|
},
|
||||||
|
"./common/logger": {
|
||||||
|
"default": "./src/common/logger.ts"
|
||||||
|
},
|
||||||
|
"./common/tokens": {
|
||||||
|
"default": "./src/common/tokens.ts"
|
||||||
|
},
|
||||||
"./common/utils": {
|
"./common/utils": {
|
||||||
"default": "./src/common/utils.ts"
|
"default": "./src/common/utils.ts"
|
||||||
},
|
},
|
||||||
|
|
@ -52,4 +67,4 @@
|
||||||
"default": "./src/modules/settings/_internal.ts"
|
"default": "./src/modules/settings/_internal.ts"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -10,8 +10,8 @@ import {
|
||||||
ReactNativeModuleId,
|
ReactNativeModuleId,
|
||||||
} from '@revenge-mod/react'
|
} from '@revenge-mod/react'
|
||||||
import { proxify } from '@revenge-mod/utils/proxy'
|
import { proxify } from '@revenge-mod/utils/proxy'
|
||||||
import { ImportTrackerModuleId } from './common'
|
|
||||||
import { DispatcherModuleId } from './common/flux'
|
import { DispatcherModuleId } from './common/flux'
|
||||||
|
import { ImportTrackerModuleId } from './common/import-tracker'
|
||||||
import type { DiscordModules } from './types'
|
import type { DiscordModules } from './types'
|
||||||
|
|
||||||
const { relative, loose } = withDependencies
|
const { relative, loose } = withDependencies
|
||||||
|
|
|
||||||
1
lib/discord/src/common/app-start-performance.ts
Normal file
1
lib/discord/src/common/app-start-performance.ts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export { AppStartPerformance } from '../preinit'
|
||||||
21
lib/discord/src/common/constants.ts
Normal file
21
lib/discord/src/common/constants.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
import { lookupModule } from '@revenge-mod/modules/finders'
|
||||||
|
import {
|
||||||
|
withDependencies,
|
||||||
|
withProps,
|
||||||
|
} from '@revenge-mod/modules/finders/filters'
|
||||||
|
import type { DiscordModules } from '@revenge-mod/discord/types'
|
||||||
|
|
||||||
|
const { loose, relative } = withDependencies
|
||||||
|
|
||||||
|
export const [Constants, ConstantsModuleId] = lookupModule(
|
||||||
|
withProps<DiscordModules.Constants>('ME')
|
||||||
|
.and(
|
||||||
|
withDependencies(
|
||||||
|
loose([
|
||||||
|
null,
|
||||||
|
relative.withDependencies(loose([relative(2, true)]), 1),
|
||||||
|
]),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.keyAs('revenge.discord.common.Constants'),
|
||||||
|
)
|
||||||
1
lib/discord/src/common/import-tracker.ts
Normal file
1
lib/discord/src/common/import-tracker.ts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export { ImportTrackerModuleId } from '../patches/import-tracker'
|
||||||
|
|
@ -1,66 +0,0 @@
|
||||||
import { lookupModule } from '@revenge-mod/modules/finders'
|
|
||||||
import {
|
|
||||||
withDependencies,
|
|
||||||
withName,
|
|
||||||
withProps,
|
|
||||||
} from '@revenge-mod/modules/finders/filters'
|
|
||||||
import { proxify } from '@revenge-mod/utils/proxy'
|
|
||||||
import type { Metro } from '@revenge-mod/modules/types'
|
|
||||||
import type { DiscordModules } from '../types'
|
|
||||||
|
|
||||||
export { AppStartPerformance } from '../preinit'
|
|
||||||
export * as flux from './flux'
|
|
||||||
export * as utils from './utils'
|
|
||||||
|
|
||||||
const { loose, relative } = withDependencies
|
|
||||||
|
|
||||||
// ../discord_common/js/packages/logger/Logger.tsx
|
|
||||||
export const [Logger, LoggerModuleId] = lookupModule(
|
|
||||||
withName<typeof DiscordModules.Logger>('Logger'),
|
|
||||||
) as [typeof DiscordModules.Logger, Metro.ModuleID]
|
|
||||||
|
|
||||||
// ../discord_common/js/packages/tokens/native.tsx
|
|
||||||
export const [Tokens, TokensModuleId] = lookupModule(withProps('RawColor')) as [
|
|
||||||
any,
|
|
||||||
Metro.ModuleID,
|
|
||||||
]
|
|
||||||
|
|
||||||
/**
|
|
||||||
* If you need to use this ID, unproxify {@link Constants} first.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* preinit() {
|
|
||||||
* unproxify(Constants)
|
|
||||||
* // Module ID will now be set!
|
|
||||||
* ConstantsModuleId // ...
|
|
||||||
* }
|
|
||||||
* ```
|
|
||||||
*/
|
|
||||||
export let ConstantsModuleId: Metro.ModuleID | undefined
|
|
||||||
export let Constants: DiscordModules.Constants = proxify(
|
|
||||||
() => {
|
|
||||||
const [module, id] = lookupModule(
|
|
||||||
withProps<DiscordModules.Constants>('ME')
|
|
||||||
.and(
|
|
||||||
withDependencies(
|
|
||||||
loose([
|
|
||||||
null,
|
|
||||||
relative.withDependencies(
|
|
||||||
loose([relative(2, true)]),
|
|
||||||
1,
|
|
||||||
),
|
|
||||||
]),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.keyAs('revenge.discord.common.Constants'),
|
|
||||||
)
|
|
||||||
|
|
||||||
if (module) {
|
|
||||||
ConstantsModuleId = id
|
|
||||||
return (Constants = module)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ hint: {} },
|
|
||||||
)!
|
|
||||||
|
|
||||||
export { ImportTrackerModuleId } from '../patches/import-tracker'
|
|
||||||
9
lib/discord/src/common/logger.ts
Normal file
9
lib/discord/src/common/logger.ts
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
import { lookupModule } from '@revenge-mod/modules/finders'
|
||||||
|
import { withName } from '@revenge-mod/modules/finders/filters'
|
||||||
|
import type { DiscordModules } from '@revenge-mod/discord/types'
|
||||||
|
import type { Metro } from '@revenge-mod/modules/types'
|
||||||
|
|
||||||
|
// ../discord_common/js/packages/logger/Logger.tsx
|
||||||
|
export const [Logger, LoggerModuleId] = lookupModule(
|
||||||
|
withName<typeof DiscordModules.Logger>('Logger'),
|
||||||
|
) as [typeof DiscordModules.Logger, Metro.ModuleID]
|
||||||
9
lib/discord/src/common/tokens.ts
Normal file
9
lib/discord/src/common/tokens.ts
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
import { lookupModule } from '@revenge-mod/modules/finders'
|
||||||
|
import { withProps } from '@revenge-mod/modules/finders/filters'
|
||||||
|
import type { Metro } from '@revenge-mod/modules/types'
|
||||||
|
|
||||||
|
// ../discord_common/js/packages/tokens/native.tsx
|
||||||
|
export const [Tokens, TokensModuleId] = lookupModule(withProps('RawColor')) as [
|
||||||
|
any,
|
||||||
|
Metro.ModuleID,
|
||||||
|
]
|
||||||
|
|
@ -10,7 +10,7 @@ import {
|
||||||
ReactNativeModuleId,
|
ReactNativeModuleId,
|
||||||
} from '@revenge-mod/react'
|
} from '@revenge-mod/react'
|
||||||
import { proxify } from '@revenge-mod/utils/proxy'
|
import { proxify } from '@revenge-mod/utils/proxy'
|
||||||
import { ImportTrackerModuleId } from './common'
|
import { ImportTrackerModuleId } from './common/import-tracker'
|
||||||
import type { DiscordModules } from './types'
|
import type { DiscordModules } from './types'
|
||||||
|
|
||||||
const { loose } = withDependencies
|
const { loose } = withDependencies
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import {
|
||||||
withProps,
|
withProps,
|
||||||
} from '@revenge-mod/modules/finders/filters'
|
} from '@revenge-mod/modules/finders/filters'
|
||||||
import { proxify } from '@revenge-mod/utils/proxy'
|
import { proxify } from '@revenge-mod/utils/proxy'
|
||||||
import { ImportTrackerModuleId } from '../common'
|
import { ImportTrackerModuleId } from '../common/import-tracker'
|
||||||
import type { NavigationContainerRef } from '@react-navigation/core'
|
import type { NavigationContainerRef } from '@react-navigation/core'
|
||||||
|
|
||||||
const { loose, relative } = withDependencies
|
const { loose, relative } = withDependencies
|
||||||
|
|
|
||||||
2
lib/externals/src/shopify.ts
vendored
2
lib/externals/src/shopify.ts
vendored
|
|
@ -1,4 +1,4 @@
|
||||||
import { ImportTrackerModuleId } from '@revenge-mod/discord/common'
|
import { ImportTrackerModuleId } from '@revenge-mod/discord/common/import-tracker'
|
||||||
import { lookupModule } from '@revenge-mod/modules/finders'
|
import { lookupModule } from '@revenge-mod/modules/finders'
|
||||||
import {
|
import {
|
||||||
withDependencies,
|
withDependencies,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
import defer * as DiscordActions from '@revenge-mod/discord/actions'
|
import defer * as DiscordActions from '@revenge-mod/discord/actions'
|
||||||
import defer * as DiscordCommon from '@revenge-mod/discord/common'
|
import defer * as DiscordCommonConstants from '@revenge-mod/discord/common/constants'
|
||||||
|
import defer * as DiscordCommonFlux from '@revenge-mod/discord/common/flux'
|
||||||
|
import defer * as DiscordCommonLogger from '@revenge-mod/discord/common/logger'
|
||||||
|
import defer * as DiscordCommonTokens from '@revenge-mod/discord/common/tokens'
|
||||||
import defer * as DiscordDesign from '@revenge-mod/discord/design'
|
import defer * as DiscordDesign from '@revenge-mod/discord/design'
|
||||||
import defer * as DiscordFlux from '@revenge-mod/discord/flux'
|
import defer * as DiscordFlux from '@revenge-mod/discord/flux'
|
||||||
import defer * as DiscordModulesMainTabsV2 from '@revenge-mod/discord/modules/main_tabs_v2'
|
import defer * as DiscordModulesMainTabsV2 from '@revenge-mod/discord/modules/main_tabs_v2'
|
||||||
|
|
@ -10,23 +13,47 @@ import { defineLazyProperties } from '@revenge-mod/utils/object'
|
||||||
import { guardIndexInitialized } from '.'
|
import { guardIndexInitialized } from '.'
|
||||||
|
|
||||||
export interface PreInitPluginApiDiscord {
|
export interface PreInitPluginApiDiscord {
|
||||||
actions: PreInitPluginApiDiscord.Actions
|
actions: PluginApiDiscord.Actions
|
||||||
/** This API is not available in the `preInit` phase. */
|
common: PreInitPluginApiDiscordCommon
|
||||||
common: unknown
|
design: PluginApiDiscord.Design
|
||||||
design: PreInitPluginApiDiscord.Design
|
flux: PluginApiDiscord.Flux
|
||||||
flux: PreInitPluginApiDiscord.Flux
|
modules: PluginApiDiscord.Modules
|
||||||
modules: PreInitPluginApiDiscord.Modules
|
native: PluginApiDiscord.Native
|
||||||
native: PreInitPluginApiDiscord.Native
|
utils: PluginApiDiscord.Utils
|
||||||
utils: PreInitPluginApiDiscord.Utils
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface InitPluginApiDiscord extends PreInitPluginApiDiscord {
|
export interface InitPluginApiDiscord extends PreInitPluginApiDiscord {
|
||||||
common: PreInitPluginApiDiscord.Common
|
common: InitPluginApiDiscordCommon
|
||||||
}
|
}
|
||||||
|
|
||||||
export namespace PreInitPluginApiDiscord {
|
interface PreInitPluginApiDiscordCommon {
|
||||||
|
appStartPerformance: typeof import('@revenge-mod/discord/common/app-start-performance')
|
||||||
|
importTracker: typeof import('@revenge-mod/discord/common/import-tracker')
|
||||||
|
utils: typeof import('@revenge-mod/discord/common/utils')
|
||||||
|
/** This API is available in and after the `init` phase. */
|
||||||
|
constants: unknown
|
||||||
|
/** This API is available in and after the `init` phase. */
|
||||||
|
flux: unknown
|
||||||
|
/** This API is available in and after the `init` phase. */
|
||||||
|
logger: unknown
|
||||||
|
/** This API is available in and after the `init` phase. */
|
||||||
|
tokens: unknown
|
||||||
|
}
|
||||||
|
|
||||||
|
interface InitPluginApiDiscordCommon extends PreInitPluginApiDiscordCommon {
|
||||||
|
constants: typeof import('@revenge-mod/discord/common/constants')
|
||||||
|
flux: typeof import('@revenge-mod/discord/common/flux')
|
||||||
|
logger: typeof import('@revenge-mod/discord/common/logger')
|
||||||
|
tokens: typeof import('@revenge-mod/discord/common/tokens')
|
||||||
|
}
|
||||||
|
|
||||||
|
export type PluginApiDiscord = PreInitPluginApiDiscord | InitPluginApiDiscord
|
||||||
|
|
||||||
|
export namespace PluginApiDiscord {
|
||||||
export type Actions = typeof import('@revenge-mod/discord/actions')
|
export type Actions = typeof import('@revenge-mod/discord/actions')
|
||||||
export type Common = typeof import('@revenge-mod/discord/common')
|
export type Common =
|
||||||
|
| PreInitPluginApiDiscordCommon
|
||||||
|
| InitPluginApiDiscordCommon
|
||||||
export type Design = typeof import('@revenge-mod/discord/design')
|
export type Design = typeof import('@revenge-mod/discord/design')
|
||||||
export type Flux = typeof import('@revenge-mod/discord/flux')
|
export type Flux = typeof import('@revenge-mod/discord/flux')
|
||||||
export type Native = typeof import('@revenge-mod/discord/native')
|
export type Native = typeof import('@revenge-mod/discord/native')
|
||||||
|
|
@ -40,23 +67,49 @@ export namespace PreInitPluginApiDiscord {
|
||||||
|
|
||||||
export interface Modules {
|
export interface Modules {
|
||||||
mainTabsV2: typeof import('@revenge-mod/discord/modules/main_tabs_v2')
|
mainTabsV2: typeof import('@revenge-mod/discord/modules/main_tabs_v2')
|
||||||
settings: typeof import('@revenge-mod/discord/modules/settings') &
|
settings: typeof import('@revenge-mod/discord/modules/settings') & {
|
||||||
typeof import('@revenge-mod/discord/modules/settings/renderer')
|
renderer: typeof import('@revenge-mod/discord/modules/settings/renderer')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const discord = defineLazyProperties(
|
export const discord = defineLazyProperties(
|
||||||
{
|
{
|
||||||
modules: defineLazyProperties({} as PreInitPluginApiDiscord.Modules, {
|
common: defineLazyProperties(
|
||||||
|
{
|
||||||
|
appStartPerformance: require('@revenge-mod/discord/common/app-start-performance'),
|
||||||
|
importTracker: require('@revenge-mod/discord/common/import-tracker'),
|
||||||
|
utils: require('@revenge-mod/discord/common/utils'),
|
||||||
|
} as InitPluginApiDiscordCommon,
|
||||||
|
{
|
||||||
|
constants: () => {
|
||||||
|
guardIndexInitialized('Discord.common.constants')
|
||||||
|
return DiscordCommonConstants
|
||||||
|
},
|
||||||
|
flux: () => {
|
||||||
|
guardIndexInitialized('Discord.common.flux')
|
||||||
|
return DiscordCommonFlux
|
||||||
|
},
|
||||||
|
logger: () => {
|
||||||
|
guardIndexInitialized('Discord.common.logger')
|
||||||
|
return DiscordCommonLogger
|
||||||
|
},
|
||||||
|
tokens: () => {
|
||||||
|
guardIndexInitialized('Discord.common.tokens')
|
||||||
|
return DiscordCommonTokens
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
modules: defineLazyProperties({} as PluginApiDiscord.Modules, {
|
||||||
mainTabsV2: () => {
|
mainTabsV2: () => {
|
||||||
return DiscordModulesMainTabsV2
|
return DiscordModulesMainTabsV2
|
||||||
},
|
},
|
||||||
settings: () => ({
|
settings: () => ({
|
||||||
...require('@revenge-mod/discord/modules/settings'),
|
...require('@revenge-mod/discord/modules/settings'),
|
||||||
...require('@revenge-mod/discord/modules/settings/renderer'),
|
renderer: require('@revenge-mod/discord/modules/settings/renderer'),
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
utils: defineLazyProperties({} as PreInitPluginApiDiscord.Utils, {
|
utils: defineLazyProperties({} as PluginApiDiscord.Utils, {
|
||||||
finders: () => {
|
finders: () => {
|
||||||
return DiscordUtilsFinders
|
return DiscordUtilsFinders
|
||||||
},
|
},
|
||||||
|
|
@ -64,15 +117,11 @@ export const discord = defineLazyProperties(
|
||||||
subscriptions: DiscordUtilsMetroSubscriptions,
|
subscriptions: DiscordUtilsMetroSubscriptions,
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
} as PreInitPluginApiDiscord,
|
} as PluginApiDiscord,
|
||||||
{
|
{
|
||||||
actions: () => {
|
actions: () => {
|
||||||
return DiscordActions
|
return DiscordActions
|
||||||
},
|
},
|
||||||
common: () => {
|
|
||||||
guardIndexInitialized('Discord.common')
|
|
||||||
return DiscordCommon
|
|
||||||
},
|
|
||||||
flux: () => {
|
flux: () => {
|
||||||
return DiscordFlux
|
return DiscordFlux
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ defineLazyProperties(pUnscopedApi, {
|
||||||
export function guardIndexInitialized(name: string) {
|
export function guardIndexInitialized(name: string) {
|
||||||
if (!isModuleInitialized(0))
|
if (!isModuleInitialized(0))
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Cannot access ${name} API before index module (ID 0) is initialized`,
|
`Cannot access ${name} API before the init phase: Index module (ID 0) must be initialized first.`,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ export interface UnscopedPreInitPluginApi<
|
||||||
react: PluginApiReact
|
react: PluginApiReact
|
||||||
assets: typeof import('@revenge-mod/assets')
|
assets: typeof import('@revenge-mod/assets')
|
||||||
externals: PluginApiExternals
|
externals: PluginApiExternals
|
||||||
/** This API is not available in the `preInit` phase. */
|
/** This API is available in and after the `init` phase. */
|
||||||
components: unknown
|
components: unknown
|
||||||
discord: PreInitPluginApiDiscord
|
discord: PreInitPluginApiDiscord
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { getAssetByName } from '@revenge-mod/assets'
|
import { getAssetByName } from '@revenge-mod/assets'
|
||||||
import { TokensModuleId } from '@revenge-mod/discord/common'
|
import { TokensModuleId } from '@revenge-mod/discord/common/tokens'
|
||||||
import { lookupModule } from '@revenge-mod/modules/finders'
|
import { lookupModule } from '@revenge-mod/modules/finders'
|
||||||
import {
|
import {
|
||||||
createFilterGenerator,
|
createFilterGenerator,
|
||||||
|
|
|
||||||
|
|
@ -246,8 +246,12 @@ function getLibraries() {
|
||||||
]),
|
]),
|
||||||
library(discord, [
|
library(discord, [
|
||||||
'actions',
|
'actions',
|
||||||
'common',
|
'common/app-start-performance',
|
||||||
|
'common/constants',
|
||||||
'common/flux',
|
'common/flux',
|
||||||
|
'common/import-tracker',
|
||||||
|
'common/logger',
|
||||||
|
'common/tokens',
|
||||||
'common/utils',
|
'common/utils',
|
||||||
'design',
|
'design',
|
||||||
'flux',
|
'flux',
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,9 @@ registerInternalPlugin(
|
||||||
decorate,
|
decorate,
|
||||||
unscoped: {
|
unscoped: {
|
||||||
discord: {
|
discord: {
|
||||||
common: { Logger },
|
common: {
|
||||||
|
logger: { Logger },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}) {
|
}) {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { styles } from '@revenge-mod/components/_'
|
import { styles } from '@revenge-mod/components/_'
|
||||||
import { Tokens } from '@revenge-mod/discord/common'
|
import { Tokens } from '@revenge-mod/discord/common/tokens'
|
||||||
import { Design } from '@revenge-mod/discord/design'
|
import { Design } from '@revenge-mod/discord/design'
|
||||||
import { ClientInfoModule } from '@revenge-mod/discord/native'
|
import { ClientInfoModule } from '@revenge-mod/discord/native'
|
||||||
import { Clipboard } from '@revenge-mod/externals/react-native-clipboard'
|
import { Clipboard } from '@revenge-mod/externals/react-native-clipboard'
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { getAssetIdByName } from '@revenge-mod/assets'
|
import { getAssetIdByName } from '@revenge-mod/assets'
|
||||||
import { Tokens } from '@revenge-mod/discord/common'
|
import { Tokens } from '@revenge-mod/discord/common/tokens'
|
||||||
import { Design } from '@revenge-mod/discord/design'
|
import { Design } from '@revenge-mod/discord/design'
|
||||||
import { Image } from 'react-native'
|
import { Image } from 'react-native'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { getAssetIdByName } from '@revenge-mod/assets'
|
import { getAssetIdByName } from '@revenge-mod/assets'
|
||||||
import { Tokens } from '@revenge-mod/discord/common'
|
import { Tokens } from '@revenge-mod/discord/common/tokens'
|
||||||
import { Design } from '@revenge-mod/discord/design'
|
import { Design } from '@revenge-mod/discord/design'
|
||||||
import { Image } from 'react-native'
|
import { Image } from 'react-native'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { Tokens } from '@revenge-mod/discord/common'
|
import { Tokens } from '@revenge-mod/discord/common/tokens'
|
||||||
import { Design } from '@revenge-mod/discord/design'
|
import { Design } from '@revenge-mod/discord/design'
|
||||||
import { StyleSheet } from 'react-native'
|
import { StyleSheet } from 'react-native'
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue