Questlog 0.31.0 — Another Fruit Salad

A few months ago I released an update I called “Fruit Salad“. And I guess now I have another one. Fruit salads are tasty, so we probably should have them regularly. As a short summary: That’s just an update without a clear focus, with some “low hanging fruit” tickets, I created for Questlog.

This time the update is a big bigger with 13 tickets I closed, some based on your feedback. Let’s dive in!

Better(?) similar games

Similar Games got an update. On every game page there is a section with 9 similar games. This info was previously just taken from the IGDB data I use to build up the database. But to be honest: This data is terrible and I have no idea how they decided that this should be the implementation. It also seems static, so it’s generated once and can never change?

Anyways, I implemented a really basic algorithm to get similar games based on Game Mode, Genre and Theme. The results are mixed, but still better than before.

The sorting takes reviews on Questlog into account. So if 200 games are found as similar games with positive reviews are higher up in the list. So the more reviews are hosted on Questlog, the better the results should get. Maybe?

Anyways, it’s a start and I can improve this algorithm based on observations and your feedback!

Small improvements

Games get cancelled all the time. In the past this wasn’t reflected in Questlog. I was made aware of this when I saw a post that the game “Excuse me sir” got cancelled. The info was missing on Questlog and I looked for ways to get this info. Well now it’s there. Games are slowly updated in background, so you may see some games without this info despite the fact they were cancelled.

There was a request to implement a simple navigation between Playlists, Your Playlists and Your Liked Playlists. That’s implemented now at the top of each of these pages. I’m not super happy with the solution, but I’m open for feedback as always.

The sidebar on the profile got a few improvements. Numbers for counts are now tabular, so they all have the same width. Also there are section headlines. Reviews and Playlists links now have a count too and look more like navigation items.

Subtle changes

If you’re not logged in you will definitely see a change immediately. Button for liking, logging, creating and stuff like this is now visible. It does nothing but linking to the login page but I got the feedback, that Questlog doesn’t look interactive when you’re not logged in. And you were right. As a bonus, I could remove some if conditions and make my code more consice.

If you’re on mobile the main navigation is now always visible. It takes up so little space it makes no sense to hide it behind a hamburger menu. Resulting in this change, the hamburger menu got removed. Instead the user menu is now at this place, that was missing on mobile with duplicated entries.

Background changes

The header got completely rebuilt. For reference I’m using Laravel with the Jetstream starter kit. With this comes a simple frontend I used as a base for Questlog back then. Most parts don’t have to do anything with this anymore (Except the account settings) but the header was still this really terrible code from the package. So the header behaves a bit differently and is more consistent in itself. Much less code, much cleaner and easier to maintain.

The account settings page is now available under https://questlog.app/account-settings. Small change but it makes more sense for me. The previous route was a part from the Jetstream starter kit too. Never made sense for me, but I didn’t bother to change it until now.

Changelog

As always, here’s the unfiltered Changelog:

Features

  • If a game got cancelled, is just a rumor or got delisted and so on a simple message is shown on the game page
  • It’s now possible to navigate directly between different Review and Playlist pages via a dropdown on the top right

Improvements

  • Similar games are now calculated based on Themes, Genres and Game Modes instead of a the inexplicable random array that was assigned by the IGDB
  • If a game isn’t released yet but has a date the label on a game card now says “Will be released at $date”
  • When clicking the like button on a playlist or review while not logged in the user is now redirected to the login page instead of doing nothing
  • Instead of hiding the Status/Log button on game cards when not logged in, it now redirects to the login page
  • Instead of hiding the Status/Log button and playlist button on the game page when not logged in, it now redirects to the login page
  • Instead of hiding the Write Review button on the game page when not logged in, it now redirects to the login page
  • Remove redundant login and register from header and mobile navigation
  • Change the text in the banner you see, when you’re not logged in
  • Completely rebuild the site header
    • Instead of using a mobile and a desktop navigation there’s only one now
    • Use user menu on mobile now instead of a hybrid
    • If the search suggestion is open while resizing the window it doesn’t close anymore on a specific breakpoint
    • Add “Support on Ko-fi” segment to user menu as it was only on the mobile menu before and you told me to make it more visible (Thank you I guess?)
    • The font-size of the mobile search form is now a bit smaller
  • Change the style of dialog modals
  • The account page is now available under https://questlog.app/account-settings instead of https://questlog.app/user/profile as this makes more sense
  • Streamline the layout of the settings page
    • Group inputs together
    • Optimize layout of the Two Factor Auth section
    • Add some missing German translations
    • Modals with inputs are now better formatted
  • Rework the dropdown component
  • Dropdowns are now a bit more spaced out
  • Most buttons now have a subtle scale down as the active/pressed state
  • The navigation on the profile page now shows the count of reviews and playlists
  • PlayStatus counts now use tabular numbers
  • Tabular numbers are now a bit narrower
  • The navigation to User Content (Reviews & Playlists) looks more coherent on profile pages
  • Add section headlines to sidebar on profile pages
  • Reduce JS footprint
  • Reduce CSS filesize

Fixes

  • Add missing Open Graph data for some pages
  • Add missing page title for about page and privacy policy
  • The breadcrumb on the liked reviews page is now correct
  • The play status/log navigation isn’t misaligned anymore on viewports between 600 and 800 pixel viewport width

Accessibility

  • The like button now looks like an actual button
  • Improve Accessibility for active navigation endpoints
  • Optimize typography of playlist items