Skip to content

Conversation

@cwhelchel
Copy link

Mobile mode is intended to be used by hunters for logging spots (POTA, SOTA, etc) while mobile (/M) with their device in phone mount or other similar contraption. At least that's how I've been using this. And my goal was to reduce the number of touches needed to log a spot and make it easier to read from a few feet away on a phone screen

Changes:

Adds a Logging setting to turn on Mobile Mode.

Add ability to log from long pressing a spot in the spot list.

  • Popup appears with lookup info (only one large button here to go back but user could also navigate back by swiping)

Also formats the spots in the list to make it easier to read at a quick glance by doing the following:

  • Increase spot item row height
  • Increase font sizes
  • Removes band display
  • changes freq display: makes display multi-line and also removes Hertz display if it's 0
  • colors the spot age value: green if age <2min, orange if age >15m and red if age >20m

Possible issues

I did nothing with the splitview mode as I don't have a tablet nor am I going to log mobile using such a device. The changes shouldn't use the new log popup when in that mode but I can not verify.

Not tested on IOS

Screenshots

These are in dark mode but the changes use theme colors so should look OK on light mode. Recorded in emulator so its sluggish.

settings

Logging by long pressing.

logging

example of the lookups that got cut off in other gif:

lookups

Adds Logging setting: mobile mode. When set, height of spots rows on spots
screen is increased, the text enlarged and reaaranged for easier viewing
while mobile. A long press event will log the spot and bring query the
callsign.

not working: multi-op spots dont log correctly and qsos in list dont have
filled in data. Need to add rest of logging code to new modal.
SpotItem component into its own Component

Logic for picking the component to display is pulled up into SpotList.

Also finish fixing the logging for Multiple-OP spots.
… log or cancel.

The new modal gives hunter chance to pull up info without logging.
@cwhelchel
Copy link
Author

Changes pushed. Rename mode to Big Thumb Mode and modal popup screen has a 'Log' and 'Cancel' button. Pressing both returns to spots list (and the log button logs it obviously)

Screenshot_20251030_213743_PoLo
Screenshot_20251030_213816_PoLo

@cwhelchel cwhelchel changed the title Adds Mobile Mode logging directly from spots tab. Adds Big Thumbs mode: logging directly from spots tab. Oct 31, 2025
Copy link
Contributor

@sd sd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ready to merge this, but have some tiny nitpicks that I'd rather have fixed on the PR than afterwards.

Also, add something to RELEASE-NOTES.json, and yourself on CreditSettingsScreen.jsx

@@ -0,0 +1,341 @@
// cmw
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add license header here, with your own copyright line

@@ -0,0 +1,153 @@
/*
* Copyright ©️ 2024-2025 Sebastian Delmont <sd@ham2k.com>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add your own copyright line here

@@ -0,0 +1,153 @@
/*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rename this component to something like "BigThumbsSpotItem"

import { paperNameOrHam2KIcon, H2kPressable } from '../../../../ui'

/**
* When settings Mobile Mode is true, this is used to render spots in SpotList.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"When Big Thumbs Mode is enabled ..."

* It's the same as SpotItem but with some padding and different layout for better viewing
* while mobile with a phone or tablet in a mounted holder.
*/
const MobileSpotItem = React.memo(function QSOItemMobile ({ spot, styles, onPress, onLongPress }) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rename the component, and also the function name (both should be the same name)

borderWidth: DEBUG ? 1 : 0
}

const mobileStyles = {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bigThumbsStyles

onPress={() => dispatch(setSettings({ leftieMode: !settings.leftieMode }))}
/>

<H2kListItem title={'Big Thumb Mode'}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets make this devMode only, for now...

{settings.devMode && (
  <H2kListItem...
    leftIconColor={styles.colors.devMode}
  />

)}

/>

<H2kListItem title={'Big Thumb Mode'}
description={settings.bigThumbMode ? 'Use big thumb mode: log from spots list with a long press' : 'Use normal logging' }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets use the plural bigThumbsMode

await hook.extraSpotInfo({ online, settings, dispatch, spot })
}

if (settings.bigThumbMode === true) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets use the plural bigThumbsMode

const spot = item
return (
<SpotItem key={spot.key} spot={spot} onPress={onPress} styles={styles} style={{ paddingRight, paddingLeft }} extendedWidth={extendedWidth} />
(settings.bigThumbMode ? (
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets use the plural bigThumbsMode

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants