diff --git a/src/deck-components/SliderField.tsx b/src/deck-components/SliderField.tsx index dd2730b..85556eb 100644 --- a/src/deck-components/SliderField.tsx +++ b/src/deck-components/SliderField.tsx @@ -25,6 +25,7 @@ export interface SliderFieldProps extends ItemProps { valueSuffix?: string; minimumDpadGranularity?: number; onChange?(value: number): void; + className?: string; } export const SliderField = Object.values(CommonUIModule).find((mod: any) => diff --git a/src/deck-components/SteamClient.ts b/src/deck-components/SteamClient.ts index 71e89b0..ae6e237 100644 --- a/src/deck-components/SteamClient.ts +++ b/src/deck-components/SteamClient.ts @@ -217,6 +217,14 @@ export type AppLanguages = { strShortName: string; }; +export type LogoPinPositions = 'BottomLeft' | 'UpperLeft' | 'CenterCenter' | 'UpperCenter' | 'BottomCenter'; + +export interface LogoPosition { + pinnedPosition: LogoPinPositions; + nWidthPct: number; + nHeightPct: number; +}; + export interface AppDetails { achievements: AppAchievements; bCanMoveInstallFolder: boolean; @@ -292,9 +300,18 @@ export interface AppDetails { vecMusicAlbums: any[]; vecPlatforms: string[]; vecScreenShots: any[]; + libraryAssets?: { + logoPosition?: LogoPosition; + }; } export interface SteamAppOverview { display_name: string; gameid: string; + appid: number; + icon_hash: string; + third_party_mod?: boolean; + selected_clientid?: string; + BIsModOrShortcut: () => boolean; + BIsShortcut: () => boolean; } diff --git a/src/deck-components/ToggleField.tsx b/src/deck-components/ToggleField.tsx index 9fb828b..14984c5 100644 --- a/src/deck-components/ToggleField.tsx +++ b/src/deck-components/ToggleField.tsx @@ -4,6 +4,7 @@ import { CommonUIModule } from '../webpack'; import { ItemProps } from './Item'; export interface ToggleFieldProps extends ItemProps { + highlightOnFocus?: boolean; checked: boolean; disabled?: boolean; onChange?(checked: boolean): void; diff --git a/src/deck-components/index.ts b/src/deck-components/index.ts index d235e0f..9508ee9 100755 --- a/src/deck-components/index.ts +++ b/src/deck-components/index.ts @@ -26,8 +26,55 @@ export * from './Toggle'; export * from './ToggleField'; export * from './SteamClient'; -import {SteamClient} from './SteamClient' +import { SteamClient, SteamAppOverview, LogoPosition } from './SteamClient'; declare global { var SteamClient: SteamClient; + + interface Window { + LocalizationManager: { + m_mapTokens: Map; + m_mapFallbackTokens: Map; + m_rgLocalesToUse: string[]; + }; + App: { + m_CurrentUser: { + bIsLimited: boolean; + bIsOfflineMode: boolean; + bSupportAlertActive: boolean; + bCanInviteFriends: boolean; + NotificationCounts: { + comments: number; + inventory_items: number; + invites: number; + gifts: number; + offline_messages: number; + trade_offers: number; + async_game_updates: number; + moderator_messages: number; + help_request_replies: number; + }; + strAccountBalance: string; + strAccountName: string; + strSteamID: string; + }; + }; + appStore: { + GetAppOverviewByAppID: (appId: number) => SteamAppOverview | null; + GetCustomVerticalCapsuleURLs: (app: SteamAppOverview) => string[]; + GetCustomLandcapeImageURLs: (app: SteamAppOverview) => string[]; + GetCustomHeroImageURLs: (app: SteamAppOverview) => string[]; + GetCustomLogoImageURLs: (app: SteamAppOverview) => string[]; + GetLandscapeImageURLForApp: (app: SteamAppOverview) => string; + GetVerticalCapsuleURLForApp: (app: SteamAppOverview) => string; + GetCachedLandscapeImageURLForApp: (app: SteamAppOverview) => string; + GetCachedVerticalImageURLForApp: (app: SteamAppOverview) => string; + GetPregeneratedVerticalCapsuleForApp: (app: SteamAppOverview) => string; + GetIconURLForApp: (app: SteamAppOverview) => string; + }; + appDetailsStore: { + GetCustomLogoPosition: (app: SteamAppOverview) => LogoPosition | null; + SaveCustomLogoPosition: (app: SteamAppOverview, logoPositions: LogoPosition) => any; + } + } }