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