Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5aac39c6c9 | |||
| 224249e372 |
Binary file not shown.
Binary file not shown.
@@ -7,8 +7,8 @@ android {
|
||||
applicationId "com.warren.iwanttoheal"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 60
|
||||
versionName "1.0.40"
|
||||
versionCode 62
|
||||
versionName "1.0.42"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
aaptOptions {
|
||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||
|
||||
+29
-23
@@ -1795,6 +1795,23 @@ h2 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.run-title-row {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.run-title-row h2 {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.inline-back-button {
|
||||
flex: 0 0 auto;
|
||||
min-height: 34px;
|
||||
padding: 6px 10px;
|
||||
}
|
||||
|
||||
.run-setup-heading small {
|
||||
color: var(--muted);
|
||||
font-size: 16px;
|
||||
@@ -2044,14 +2061,6 @@ h2 {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.dungeon-run-screen .screen-heading {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.dungeon-run-screen .screen-heading h1 {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.dungeon-run-board,
|
||||
.dungeon-run-main {
|
||||
gap: 10px;
|
||||
@@ -2088,6 +2097,12 @@ h2 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.inline-back-button {
|
||||
font-size: 12px;
|
||||
min-height: 28px;
|
||||
padding: 4px 7px;
|
||||
}
|
||||
|
||||
.activity-pager button {
|
||||
font-size: 9px;
|
||||
min-height: 28px;
|
||||
@@ -2236,21 +2251,6 @@ h2 {
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
.dungeon-run-screen .screen-heading {
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
.dungeon-run-screen .screen-heading h1 {
|
||||
font-size: 13px;
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
.dungeon-run-screen .back-button {
|
||||
font-size: 14px;
|
||||
min-height: 34px;
|
||||
padding: 5px 8px;
|
||||
}
|
||||
|
||||
.dungeon-run-board,
|
||||
.dungeon-run-main,
|
||||
.dungeon-setup-rail {
|
||||
@@ -2287,6 +2287,12 @@ h2 {
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.inline-back-button {
|
||||
font-size: 10px;
|
||||
min-height: 24px;
|
||||
padding: 3px 6px;
|
||||
}
|
||||
|
||||
.dungeon-run-screen .eyebrow,
|
||||
.dungeon-run-screen .tier-grid strong,
|
||||
.dungeon-choice-grid .activity-card strong,
|
||||
|
||||
+7
-13
@@ -55,7 +55,7 @@ const MENU_ITEMS: Array<{
|
||||
|
||||
const LAST_DIFFICULTY_KEY = 'i-want-to-heal:last-difficulty'
|
||||
const SHOW_LEADERBOARDS = false
|
||||
const ACTIVITY_PAGE_SIZE = 6
|
||||
const ACTIVITY_PAGE_SIZE = 4
|
||||
|
||||
function activityInitials(name: string) {
|
||||
return name
|
||||
@@ -333,8 +333,6 @@ function App() {
|
||||
(candidate) => candidate.droppedItemLevel === selectedTierItemLevel,
|
||||
) ?? activity.difficulties[0]
|
||||
const difficultyLocked = profile.character.level < selectedDifficulty.unlockLevel
|
||||
const activityCompletionCount = activity.completionCount ?? 0
|
||||
const marathonUnlocked = activityCompletionCount >= 10
|
||||
const cloudSync = getCloudSyncStatus()
|
||||
const canShowCloudSync = account.id !== -1 && cloudSync.available
|
||||
const lootPreviewEncounters = [...activity.encounters]
|
||||
@@ -609,11 +607,6 @@ function App() {
|
||||
|
||||
{(screen === 'dungeons' || screen === 'raids') && (
|
||||
<section className="content-screen dungeon-run-screen">
|
||||
<ScreenHeading
|
||||
eyebrow="Adventure"
|
||||
title={activity.contentType === 'raid' ? 'Raids' : 'Dungeons'}
|
||||
onBack={() => setScreen('menu')}
|
||||
/>
|
||||
<div className="dungeon-run-board">
|
||||
<div className="dungeon-run-main">
|
||||
<article className="run-summary-card dungeon-focus-card">
|
||||
@@ -622,7 +615,10 @@ function App() {
|
||||
</div>
|
||||
<div className="run-summary-copy">
|
||||
<p className="eyebrow">Selected Run</p>
|
||||
<div className="run-title-row">
|
||||
<h2>{activity.name}</h2>
|
||||
<button className="back-button inline-back-button" onClick={() => setScreen('menu')} type="button">Back</button>
|
||||
</div>
|
||||
<p>{activity.description}</p>
|
||||
<div className="tag-row">
|
||||
<span>Level {activity.recommendedLevel}</span>
|
||||
@@ -751,9 +747,7 @@ function App() {
|
||||
<small>
|
||||
{difficultyLocked
|
||||
? `Unlocks at level ${selectedDifficulty.unlockLevel}`
|
||||
: marathonUnlocked
|
||||
? 'Marathon keeps health and mana between boss kills.'
|
||||
: `Marathon unlocks after 10 clears (${activityCompletionCount}/10).`}
|
||||
: 'Marathon keeps health and mana between boss kills.'}
|
||||
</small>
|
||||
</div>
|
||||
<div className="part-picker">
|
||||
@@ -771,8 +765,8 @@ function App() {
|
||||
Start Hunt
|
||||
</button>
|
||||
<button
|
||||
className={`primary-button ${selectedMarathonMode ? 'selected-part' : ''} ${!marathonUnlocked ? 'locked' : ''}`}
|
||||
disabled={difficultyLocked || !marathonUnlocked}
|
||||
className={`primary-button ${selectedMarathonMode ? 'selected-part' : ''}`}
|
||||
disabled={difficultyLocked}
|
||||
onClick={() => {
|
||||
setSelectedMarathonMode(true)
|
||||
setCombatContentId(activity.id)
|
||||
|
||||
Reference in New Issue
Block a user