lemeryfertitta / Climbdex

Search engine for training board climbs
https://climbdex.com
MIT License
42 stars 10 forks source link

Tick climbs #46

Open lemeryfertitta opened 6 months ago

lemeryfertitta commented 6 months ago

This is probably the last major issue before Climbdex can be used without having to open the apps during most sessions.

In addition to some UI on the results page, Boardlib needs to be updated to include calls to write to the Aurora central db: https://github.com/lemeryfertitta/BoardLib/issues/20.

gardaholm commented 6 months ago

this will probably lead to new UI Elements, maybe these can be added as bottom row? Section could also be used for Mirror Climb, Heart, …


The detailed ticking interface could be improved a lot compared to the app experience. thecrag.com offers a pretty neat quick-tick feature for routes. where all important selections are visible as big. buttons and you dont need any dropdowns or submenus. Each of the datafields should be visible and clickable at once with big buttons. Maybe one row for each:

  1. Flash | 1 Attempt | 2 Attempts | 3+ Attempts
  2. Difficulty: by default the average difficulty is choosen and you have a Plus and Minus button to give grading suggestions
  3. Rating: Star Icons

Issue can probably be split up if boardlib is able to include the put calls

gardaholm commented 1 month ago

suggestion for a possible tick-climb modal, I would split the buttons on the results page into two rows – left/right arrows can probably be removed, to get back to simple and cleaner header. This should also save issue #54

If user is not logged in: instagram could be shown instead of the tick icon.

If user is logged in: – instagram could either be shown below the climb as a smaller icon or next to the climb-name in the Header (as small icon instead of a button) – tick, instagram and maybe some stats can be combined into a (i) Info Button

about the tick-modal:

haven't tried hooking up the save_ascent() function, but I guess all needed inputs should already be used on the draw_climb page …

https://github.com/lemeryfertitta/Climbdex/assets/7480162/f14e4cd8-445a-417d-9efe-c34ffe66a6b5

lemeryfertitta commented 1 month ago

For icons and such, maybe we could narrow it down to having a light up button on the left and then a second button on the right which is just a dropdown (maybe an arrow or three vertical dots) which has beta pages, ticking, and future items like stats, saving to circuits, etc.

Tick modal is looking nice! Angle shouldn't be needed from user input as every climb has an associated angle already. Seems fine to set date to now.

gardaholm commented 1 month ago

We've hooked up the boardlib save_ascent() function and were able to tick the first climbs. We didn't test in detail, but most of the settings worked for our first tests on tb2-mirrored

I've pushed my branch to fly.io, if you want to have a look: climbdex.why.dev beware: there are still some issues with the dropdown menu in this version …

We are currently struggling with the differentiation between ascents and attempts. Do you know how they are distinguished in the call? My first thought was that the attempts have no difficulty set, but this doesn't seem to be the case.

lemeryfertitta commented 1 month ago

We are currently struggling with the differentiation between ascents and attempts.

It's been a little while since I looked at it, but I believe the /v1/ascents/ call I implemented in BoardLib is only meant for saving a successful ascent, not an attempt. Additionally, the "attempt_id" field is now deprecated by Aurora, and is always set to 0. The "bid_count" field is used instead. I suspect there is a similar API call for logging attempts. I can look into it, but I think it would be good incremental progress to even just have this UI you've built for logging ascents! It looks great, would be happy to work on a PR with you if you're interested in contributing it upstream and getting it onto climbdex.com.

gardaholm commented 1 month ago

Alright, a good to know, then I won't use trial and error to get some attemts logged via this call :)

Will clean up the code a bit, add some more minor changes and create a PR for the ascents.
Makes sense to add logging ascents first …

I'm on a holiday trip the next 3 weeks but will probably find some time to work on it. Would be a good step forward :)