Android build v1.1.41
This commit is contained in:
Binary file not shown.
@@ -7,8 +7,8 @@ android {
|
||||
applicationId "com.warren.iwanttoheal"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 121
|
||||
versionName "1.1.40"
|
||||
versionCode 122
|
||||
versionName "1.1.41"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
aaptOptions {
|
||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||
|
||||
+30
@@ -1437,6 +1437,36 @@
|
||||
}
|
||||
|
||||
@media (max-width: 1000px) and (max-height: 620px) {
|
||||
.pause-screen.iwt2-arena-overlay {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.pause-screen.iwt2-arena-overlay > .iwt2-result-panel {
|
||||
gap: 8px;
|
||||
max-height: calc(100dvh - 20px);
|
||||
max-width: 460px;
|
||||
min-width: min(460px, calc(100vw - 20px));
|
||||
padding: 12px 14px;
|
||||
}
|
||||
|
||||
.iwt2-result-panel .iwt2-result-crest {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.iwt2-result-panel h1 {
|
||||
font-size: 1.35rem;
|
||||
}
|
||||
|
||||
.iwt2-result-summary {
|
||||
gap: 6px;
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.iwt2-result-summary span {
|
||||
min-height: 42px;
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
.iwt2-arena-layout {
|
||||
grid-template-columns: 154px minmax(0, 1fr);
|
||||
}
|
||||
|
||||
@@ -84,7 +84,9 @@ export function AuthScreen({ onContinue }: Props) {
|
||||
const result = await loadIwt2OnlineSave()
|
||||
if (cancelled()) return
|
||||
setOnlineSave(result.save)
|
||||
setMessage(result.save ? 'Online save ready. Choose its local destination slot.' : 'Account has no online IWT2 save yet.')
|
||||
setMessage(result.save
|
||||
? 'Online save ready. Load it below, or continue a local slot and upload it from Cloud Backup.'
|
||||
: 'No online save yet. Continue a local slot, then use Cloud Backup to upload it.')
|
||||
setMessageIsError(false)
|
||||
} catch (reason) {
|
||||
if (cancelled()) return
|
||||
@@ -127,7 +129,7 @@ export function AuthScreen({ onContinue }: Props) {
|
||||
if (!save) return
|
||||
selectActiveIwt2SaveSlot(slot)
|
||||
selectOfflineMode()
|
||||
onContinue({ localSlot: slot, save, onlineBackupsAvailable: false })
|
||||
onContinue({ localSlot: slot, save, onlineBackupsAvailable: Boolean(account) })
|
||||
}
|
||||
|
||||
function openCharacterEditor(slot: Iwt2LocalSaveSlot) {
|
||||
@@ -151,7 +153,7 @@ export function AuthScreen({ onContinue }: Props) {
|
||||
replaceIwt2Save(save, slot)
|
||||
selectActiveIwt2SaveSlot(slot)
|
||||
selectOfflineMode()
|
||||
onContinue({ localSlot: slot, save, onlineBackupsAvailable: false })
|
||||
onContinue({ localSlot: slot, save, onlineBackupsAvailable: Boolean(account) })
|
||||
}
|
||||
|
||||
async function signIn(event: React.FormEvent) {
|
||||
|
||||
@@ -59,10 +59,14 @@ type OverlayNavEntry = {
|
||||
column: number
|
||||
}
|
||||
|
||||
const DEFAULT_OVERLAY_NAV_ENTRIES: OverlayNavEntry[] = [
|
||||
const PAUSE_OVERLAY_NAV_ENTRIES: OverlayNavEntry[] = [
|
||||
{ action: 'primary', row: 0, column: 0 },
|
||||
{ action: 'menu', row: 1, column: 0 },
|
||||
]
|
||||
const RESULT_OVERLAY_NAV_ENTRIES: OverlayNavEntry[] = [
|
||||
{ action: 'primary', row: 0, column: 0 },
|
||||
{ action: 'menu', row: 0, column: 1 },
|
||||
]
|
||||
const PVP_RESULT_OVERLAY_NAV_ENTRIES: OverlayNavEntry[] = [
|
||||
{ action: 'primary', row: 0, column: 0 },
|
||||
{ action: 'requeue', row: 0, column: 1 },
|
||||
@@ -693,8 +697,9 @@ function rewardDifficultySlugForKill(
|
||||
}
|
||||
|
||||
function overlayNavEntriesFor(status: ArenaStatus, pvpRoguelike: boolean): OverlayNavEntry[] {
|
||||
if (status === 'paused') return PAUSE_OVERLAY_NAV_ENTRIES
|
||||
if (pvpRoguelike && (status === 'victory' || status === 'defeat')) return PVP_RESULT_OVERLAY_NAV_ENTRIES
|
||||
return DEFAULT_OVERLAY_NAV_ENTRIES
|
||||
return RESULT_OVERLAY_NAV_ENTRIES
|
||||
}
|
||||
|
||||
function formatBossEncounterTitle(bosses: Iwt2ArenaState['bosses']): string {
|
||||
|
||||
@@ -1886,7 +1886,9 @@ export function Iwt2CloudSaveScreen({
|
||||
const [onlineSave, setOnlineSave] = useState<Iwt2Save | null>(null)
|
||||
const [syncingOnlineSave, setSyncingOnlineSave] = useState(false)
|
||||
const [message, setMessage] = useState('')
|
||||
const statusMessage = message || (!onlineBackupsAvailable ? 'Online save unavailable in offline mode.' : '')
|
||||
const statusMessage = message || (!onlineBackupsAvailable
|
||||
? 'Sign in at character select to upload or download this local save.'
|
||||
: '')
|
||||
|
||||
const checkOnlineSave = useCallback(async (isCancelled: () => boolean) => {
|
||||
setSyncingOnlineSave(true)
|
||||
@@ -1923,7 +1925,7 @@ export function Iwt2CloudSaveScreen({
|
||||
|
||||
const handleUseLocalSave = useCallback(async () => {
|
||||
if (!onlineBackupsAvailable) {
|
||||
setMessage('Using local save. Sign in online to update the server copy.')
|
||||
setMessage('Using local save. Sign in at character select to update the server copy.')
|
||||
return
|
||||
}
|
||||
setSyncingOnlineSave(true)
|
||||
|
||||
Reference in New Issue
Block a user