Code Monkey home page Code Monkey logo

genshin-schedule's Issues

bug: Task respawn timer unit dropdown is drawn outside the card on Firefox

On Firefox 85.0.2, when a task is clicked on the map, or an empty location is clicked on the map to open the task add/edit interface, the dropdown to select the unit of time is drawn outside the bounds of the add item card. If you know that it's there, you can still click it by clicking off towards the right and get the dropdown. See screenshot for details.

image

[Feature Request] Alternate Resin timing

The Resin calculator is super handy - I use it all the time. But it would be even more helpful if it could also show (or be set to show) when you'll hit relevant amounts of resin (as opposed to how much resin you'll have in certain amounts of time). Basically, how long until you hit any given multiple of 20 so you know when you can hit your next domain, boss, etc.

This would be even better if you could set your time zone and see what time you'll hit these milestones, and best of all if you could set reminders for them with the reminders bot (ping me whenever I have 40 resin available, for instance)

Keyboard shortcuts for common actions

Add keyboard shortcuts for commonly performed actions such as:

  • Marking a focused task as done - d
  • Show schedule for the next/previous days - arrow keys
  • Focusing the next task in list - n

Add gadgets to the list of map icons

Suggested by Makanoyasha#0001 on Discord

discord

7 day timer, would be useful to have a reminder for that


While we are at adding Parametric Transformer to the list, we can add all other gadget icons too in case someone finds a need for them.

login

how i can sign in to the website?

Add portable teleport as task icon

Suggested by Tank Man#9754 on Discord

Is it perhaps possible to include in the next update a icon for personal teleporter? i know its a minor thing but would still be nice to have.

image


Respawn timer should be defined as 1 week for this icon.

Resin Input Cropping Itself on Refresh

The input for resin will lower its max-width CSS by a couple pixels whenever you refresh the page.
This almost always ends up cutting off the number when you come back to the page later.
image

Possible improvements on Today's Task and Map

Maybe this has more to do on how I use the site but, I have my own routes marked on the map, currently only crystals and respawnable artifacts, and is quite tedious having to click on each icon twice (one for selecting it and one to mark as done) for every icon.
My suggestion is being able to have a parent task and its children, and checking the parent would mark all as done.

How the map could look:
map-icons-and-routes

How the list could look:
task-list-con-child-tasks

I've seen the post "Keyboard shortcuts for common actions" but that leads me to this issue:
About the task list, i would find it better if the task got arranged alphabetically, that way we could have more control with the order they appear. I'm not sure how they are currently arranged.

The last thing that i found missing is the possibility of having filters to pick specific tasks and avoid having the list and the map cluttered. Would be great being capable of having multiple swappable lists like: Ore location tasks, elite enemies locations, artifact locations, etc. I can solve this switching between different users on Google Chrome so I'm not too worried about this.

Also want to say that this is one of the best pages for Genshin Impact. Thanks for your hard work.

Resin Calculator resets timer when using the subtraction to the right

When you use the buttons to subtract set amounts of resin, it will reset the timer for the resin regenerating.
image

I tested this by matching the resin calculator to my resin in game and then clicking -20 before my resin regenerated in game.
If it kept the timer, it would've regenerated 1 resin in the next minute at most, but it didn't.

Daylight Timezone Support

Most countries in North America and Europe observe Daylight Savings Time, where clocks are set forward one hour for half of the year. Currently the website doesn't account for this when displaying times.

As an example, for timezones such as America/New_York, currently the time should be displayed in Eastern Daylight Time (EDT, or UTC-04:00), but it is still displayed in Eastern Standard Time (EST, or UTC-05:00)

Daylight Savings Time is complicated and varies in implementation between countries, so it'd probably be easiest to use something like moment.js and moment-timezone to take care of that stuff. If this isn't feasible or too time consuming, a simple manual toggle in the Settings menu would be enough. (e.g. checking a checkbox would add an hour to all times displayed)

Support quickly switching between multiple accounts

Suggested by UnkWeil#9701 on Discord

Is it possible to have an option to add more resin calculators? Because I have 2 accounts and i'm sure a lot of people also have 2 account or more. And also, to be able to give names to our different calculators.


Due to the way resin calculators are implemented right now, it's not easy to make a "multiple calculator" feature. I think a better way to approach this would be to make a quick account switcher that lets you sign in to another account without having to type in the username/password, similar to how Google does it.

Feature Request: More Specific Time and Time Zones

Hello! I love this project, but had 2 small requests.

1:
More time zones. The current one for "America" is ahead by 1 hour for me, which is a small inconvenience but I hope it can be edited in the future.

2:
More specific time. Right now, the resin regeneration estimate says 120 in 16 hours no matter how long it actually will take to get the resin to 120. While this is technically true, it'd be useful to have the 120 resin time estimate change dynamically just like every other estimate.

It'd also be useful to know what time in the timezone selected would be the time the resin is fully regenerated.
For example, it'd still say "120 in 12 hours" for those who are fine with doing the mental math but it'd also say "120 at XX:XX" in a single line below it.

Thank you for making this website! It's super useful.

Reminders system

Suggested by Dechi#0001 on Discord

Could there be a special timer a weekly server reset for BP weeklies, especially the merchants that sell artifacts on Thursdays every week, or the weekly bosses?
there are weekly missions for the bp so a reminder every week to make sure they're done could be nice or the artifact merchants that reset every thursday


This could be implemented as a generic "reminders" system that complements the current tasks system. Users should be able to create their own one-time reminders or reminders that reset on specific a day and time.

Add button to filter trounce domains from the domain list

Suggested by tae***@gmail.com via email

If I may throw in a little idea/suggestion. Add a 4th button to filter out the weekly domain? Those weekly take a lot of space and once they are done the info panels aren’t needed anymore.

Ability to add various resin notification points

Suggested by Noh#4452 on Discord

Hey my suggestion would be to be able to set a notification when you reach a certain amount of resin before the 160 max
Like: You got 140 resin you'll be full in 2hours and 40minutes

Request: make map an option

It would be great if we could have the map as an option to turn off. I don't use the map and it would use fewer resources in loading into the schedule tracker if it didn't load unless needed by users. On mobile especially since it takes up a large part of the screen.

NetworkError when trying to log in on Firefox

Hi, first of all thanks for making this website!

I tried using the new sync feature today, but I wasn't able to log in on Firefox. For a brief moment, the red notification text below the submit button changes to NetworkError when attempting to fetch resource, and then the page reloads. I then tried signing in with the same username-password combination on a Chromium-based browser which worked flawlessly.

I tried investigating the issue, but it started going over my head pretty quickly. The authentication request is shown as "blocked" in the Network tab (see below), which after a quick google search might be related to too many simultaneous connections to the server? I'm not sure how that could be the case here though.

image

These two links might explain part of what's going on:

https://stackoverflow.com/questions/43783829/what-does-blocked-really-mean-in-the-firefox-developer-tools-network-monitorin
https://developer.mozilla.org/en-US/docs/Tools/Network_Monitor/request_details#Request_Timing

Here is my relevant system info in case you need any of it:

  • Firefox 82.0.2
  • Microsoft Edge 86.0.622.56 (the issue did not occur in this one)
  • Windows 10 Version 2004 Build 19041.572

i18n support

The website is currently only available in English and all strings are hardcoded. Implementing i18n support would allow people to add localizations for other languages.

Efficient route generation for tasks

Currently the task list is naively sorted such that more overdue tasks appear first. If a pathfinding algorithm for tasks is to be implemented, it could potentially make farming more time efficient. Unfortunately this is an instance of TSP which is an NP-hard problem.

I tried implementing the simulated annealing algorithm but ended up with a big mess. Maybe it was not a suitable algorithm for this problem. Opening this issue to see if anyone is interested in tackling this.

Successful initial implementation must account for teleports as weight=0 unidirectionally. Elevation and water consideration is an added bonus (there are no geo data for these though).

Domain Peak of Vindagnyr not in order in Domain list

I assume the domains are ordered as Talent > Weapon material > Artifact.
When adding this domain it appears at the top of the list, when it's supposed to appear grouped with the other artifact domains at the bottom.
It is also missing the note "Domain of Blessing, Mondstadt" in the subtitle.
Peak of Vindagnyr bug

Support for custom timezones

Theres a way to add timezones? I'm 1 hour ahead the America server, but I can't find the timezone adjust.
Thanks for the excelent work.

Add more customization points to schedulable things

Suggested by hukio#6499 on Discord

for weapons - a way to select how many you own, who has it, and the lvl of each copy (this can be done by writing it down in notes, but I just think having it implemented into the interface can make it look neater than having it as a note)

for characters - be able to put what lvl their talents are.

In general - a way to "prioritize" select items. can be simple like the ability to favorite an item and it'll appear golden.


Also, character talent level input will allow #11 to proceed.

[Feature Request] Expedition Timer

Thanks for the site! It's been super useful.

Would it be possible to add an expedition timer module? Something along the lines of "clicking this button starts a 20 hour timer that counts down to zero" would be useful. Obviously there'd be other stuff that could be fleshed out (decreased times for characters with expedition passives, a separate entry and timer for each character out on expedition, etc.) but at its core it'd just be a countdown timer.

I guess another request might be to add the ability to reorder the modules on the page, but that would likely be a bit more involved to implement depending on how the page is laid out.

Add new items from 1.1

Couldn't find a website with a compiled list of all new items but the new in-game archive should be useful for this.

Disallow editing fields during preview

If you click > to preview the resin amount tomorrow, then click any of the buttons to subtract resin, and then click < to return to your current time, you'll have negative resin that shows as 0.
Clicking > again won't fix the issue, the preview will act like usual and add hours to simulate regeneration without touching the actual number.
image

Add Chinese localization

May I ask if we can add a language change feature for this project?
I can provide L10n of Chinese.


Prerequisites:

External keyboard numeric keypad does not substract resin on Firefox on macOS

(I fully intend to submit a PR for this but as I'll explain below it's not currently possible)

This issue appears to be a perfect storm of:

  • Firefox on macOS
  • External keyboard that includes numeric keypad that I just started using
  • Using event.code or event.which instead of event.key for key handlers (which is what hotkeys JS does)

If you happen to have such a device on macOS you can test it out here: https://omatsuri.app/events-keycode

Basically, for e.g. 4, the top row key returns:
key: '4', code: 'Digit4', which: 52
but the numeric keypad returns (I think this matches NumLock off on Windows but macOS does not do NumLock):
key: '4', code: 'Numpad4', which: 100
Furthermore, Chrome seems to pave over this difference and returns the same as the top row key above, so it is left as a Firefox issue.

Solution:

  • Upgrade to a version of react-hotkeys-hook that uses hotkeys JS 3.8.3 (it's out, but the current 3.2.1 of the hook does not use it; it's in main branch so 3.2.2 probably)
  • Modify the Subtractor.tsx useHotkeys hook call to include the special key variant as defined in the library https://github.com/jaywcjlove/hotkeys/pull/254/files (4 becomes 4, num_4 for example)

Feature Request: Resin Calculator Thresholds

Currently, resin events are fairly general with the amounts of resin they require.
They either need 20, 40, or 60.

I think it'd be useful to have the resin calculator show how long until you reach those thresholds if you're below them just so you know how long it'll be until you can run the next domain, weekly boss, elite boss, etc.

For example: if you're at 12 resin, it'll say "20 resin in 1 hour 4 minutes" and "40 resin in 3 hours 44 minutes"

This could potentially even replace what the calculator currently does by keeping track of intervals of 15.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.