Code Monkey home page Code Monkey logo

vdb's People

Contributors

giottoverducci avatar smeea avatar vaughnad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vdb's Issues

Overlay issue

Hi,

Just detected an overlay issue while creating a new deck.

Here is a screenshot:
overlay

Add Missing in Inventory and generating proxy fails in PDF Proxy

In the "PDF Proxy" page, the "Add Missing In Inventory" button is messing up the proxySelected object so that the Generate buttons fail with below error caused by the card details being missed out.

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'localeCompare')
at Rr (sorting.js:5:16)
at Array.sort ()
at aa (cryptSort.js:28:22)
at y (DeckProxyButton.jsx:115:25)
at g (DeckProxySelectModal.jsx:176:5)
at onClick (DeckProxySelectModal.jsx:232:34)
at Object.Ke (react-dom.production.min.js:54:317)
at et (react-dom.production.min.js:54:471)
at react-dom.production.min.js:55:35
at Yr (react-dom.production.min.js:105:68)

This setProxySelected line does not do what is expected. Merging by spreading like this only does a shallow merge, where crypt and library only have the q and print attributes and each selected card loses the c attribute.

This could be solved by any deep merge solution e.g.
const merge = (a,b) => Object.assign(a, ...Object.keys(b).map(k => ({[k]: typeof b[k] === 'object' ? merge(a[k], b[k]) : b[k]})));
and replace
setProxySelected({ ...proxySelected, ...crypt, ...library });
with
setProxySelected(merge(proxySelected, {...crypt, ...library}));

Absent from TWDA filter

It would be cool to have a filter that shows what cards are not in the TWDA. Both crypt and library could use this feature.

Error when filtering crypt card

After clicking twice on the Thaumaturgy discipline icon to get vampires with superior Thaumaturgy:

https://vdb.smeea.casa/crypt?q=%7B%22disciplines%22%3A%7B%22Thaumaturgy%22%3A1%7D%7D

react_devtools_backend.js:2540 TypeError: Cannot read properties of undefined (reading 'Group')
at ResultCryptTotal.jsx:12
at Array.map ()
at kf (ResultCryptTotal.jsx:11)
at gi (react-dom.production.min.js:157)
at il (react-dom.production.min.js:267)
at ql (react-dom.production.min.js:250)
at zl (react-dom.production.min.js:250)
at Ll (react-dom.production.min.js:250)
at Al (react-dom.production.min.js:243)
at react-dom.production.min.js:123
overrideMethod @ react_devtools_backend.js:2540
Co @ react-dom.production.min.js:216
n.callback @ react-dom.production.min.js:216
Ss @ react-dom.production.min.js:131
Eo @ react-dom.production.min.js:220
Wl @ react-dom.production.min.js:259
y @ scheduler.production.min.js:18
as @ react-dom.production.min.js:122
Hl @ react-dom.production.min.js:252
Al @ react-dom.production.min.js:243
(anonymous) @ react-dom.production.min.js:123
y @ scheduler.production.min.js:18
as @ react-dom.production.min.js:122
os @ react-dom.production.min.js:123
is @ react-dom.production.min.js:122
Sl @ react-dom.production.min.js:237
qi @ react-dom.production.min.js:170
(anonymous) @ App.js:365
Promise.then (async)
(anonymous) @ App.js:364
Yl @ react-dom.production.min.js:262
y @ scheduler.production.min.js:18
as @ react-dom.production.min.js:122
$l @ react-dom.production.min.js:261
Al @ react-dom.production.min.js:243
(anonymous) @ react-dom.production.min.js:123
y @ scheduler.production.min.js:18
as @ react-dom.production.min.js:122
os @ react-dom.production.min.js:123
is @ react-dom.production.min.js:122
Rl @ react-dom.production.min.js:244
gc @ react-dom.production.min.js:289
c @ react-dom.production.min.js:296
(anonymous) @ index.js:6
ResultCryptTotal.jsx:12 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'Group')
at ResultCryptTotal.jsx:12
at Array.map ()
at kf (ResultCryptTotal.jsx:11)
at gi (react-dom.production.min.js:157)
at il (react-dom.production.min.js:267)
at ql (react-dom.production.min.js:250)
at zl (react-dom.production.min.js:250)
at Ll (react-dom.production.min.js:250)
at Al (react-dom.production.min.js:243)
at react-dom.production.min.js:123

Can't export deck

When I try to export a deck (whatever the format [txt, lackey, twd], whatever the destination [clipboard or file]), I have a red "ERROR" label appearing.
I've tried with different decks. There is no visible error in the Console.

Card listing broken in Firefox

When a card list should appear when selecting a deck or searching under Crypt or Library, nothing shows up in Firefox.

Everything works under Chrome, but in FF some warnings appear in the Debugging console.

Deactivate browser completion/correction on Card Name input fields

Some browsers will automatically check spelling and propose autocomplete/autocorrect on the search inputs for card names, which results in a frustrating interaction:

Screenshot 2021-03-18 at 09 23 52

As soon as you get of of focus of the search field (for example to click on the card you just found), autocorrect kicks in:
Screenshot 2021-03-18 at 09 24 09

This can be fixed by setting the proper attributes on the input field to tell the browser to avoid any kind of correction/modification on this field:

<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />

Add Set to Cards in Inventory

It would be amazing if we could, optionally, set to which Set belong the cards in the Inventory.
Maybe adding a drop down with only the available Sets for each card in the inventory list, to set how many we have of each set.

Also, that would mean being able to filter by Set in the Inventory list.

The last part would be being able to set to which Set the cards in a Deck belong: I think it would be useful to keep track of cards, but I'm not 100% sure of this.
Also, I don't know how this could be shown in the interface without getting in the way.

Thanks a lot for your great effort!

Card search (crypt/library): update when removing a filter

The issue happens when searching for a card by name with an active filter
Screenshot 2021-03-18 at 10 52 22

If you remove the filter then no card shows up, although the error message disappears
Screenshot 2021-03-18 at 10 52 37

You need to update the card name field (by example, adding a letter or a space) to get your results
Screenshot 2021-03-18 at 10 52 55

Ideally, just removing the filter should be enough to get the updated results, without needing to update the card name.

[Feature Request] Deck compare feature

It would be wonderful to have a compare feature to ... compare decks.

What it could do would be:

  • Compare two or more decks
  • Compare a deck against one or more TWD

The benefits from it would be:

  • Have a better view of what is unique in every deck
  • Have a better view of what could be called 'core'

I'd be happy to discuss it more with you if you want to

copying decklists from JOL requires manual intervention to parse the cards

STEPS

  • Given I have a JOL deck
  • When I Copy the deck to clipboard (sample below)
  • And I Select 'Import from Text' in VDB
  • And I Paste my JOL format into the text window
  • Then I Expect to be able to import without manually trimming a space from each card

ACTUAL:

The deck does not parse the extra space that JOL has, and i must remove all spaces:

This fails:

4 x Handsome Dan
1 x Laura Goldman
4 x Alabástrom
2 x Malachai
3 x Anarch Convert

image

This works:

4x Handsome Dan
1x Laura Goldman
4x Alabástrom
2x Malachai
3x Anarch Convert

The swipe functionality on mobile collides with the (common) "back" swipe functionality in browsers

First of all thanks for VDB, it is such a precious tool!

This is more a remark than a bug, and possibly a suggestion for future development.

Many (Android) browsers implement the "back to previous page" functionality as a swipe to the left. The add/remove cards on swipe functionality is extremely sensitive and many times while your intention is just to go back, you also modify your deck.

I am not an expert in web development, so take it as a humble suggestion to your great work: maybe add a visual clue to the action (similar, for example, to the swipe function in Gmail mobile) and make the response to the swipe more "elastic" (i.e. you have to pull harder in order to add/remove).

Problem in filtering library by discipline

As you can see in the screenshot below, not all cards with Spiritus appears if I apply the filter.
I didn't tested if other disciplines have the same problem.

I can help with fixing the problem if needed

Screenshot from 2022-06-10 15-19-14

Import all versions of a deck from Amaranth

Amaranth exposes all versions of a deck though I am not sure if there's an easily accessible way to get the other versions programatically. It would be useful when importing a deck to import all versions of the deck.

3rd edition players kit

i've got 3 of them i'd like to add to my inventory.

Contents

4 pre-constructed decks
Brujah antitribu deck (50 cards; 6 crypt cards & 44 library cards)
Malkavian antitribu deck (50 cards; 6 crypt cards & 44 library cards)
Tremere antitribu deck (50 cards; 6 crypt cards & 44 library cards)
Tzimsice deck (50 cards; 6 crypt cards & 44 library cards)

Brujah antitribu (Bruce):
Crypt:
Alessandro Garcia; Armin Brenner; Father Juan Carlos; Hektor (sketch variant); Smash; Urraca
Library:
Acrobatics (x2); Amusement Park Hunting Ground; Bewitching Oration (x2); Blood Doll (x2); Bribes (x2); Celerity; Consanguineous Boon (x2); Disputed Territory; Flash (x4); Increased Strength (x2); Iron Glare (x3); Kine Resources Contested (x4); Leather Jacket; Nimble Feet (x2); On the Qui Vive (x2); Potence; Sabbat Priest; Secret Horde; Stunt Cycle (x2); Torn Signpost (x2); Undead Strength (x4); Voter Captivation (x2)

Malkavian antitribu (Malcolm):
Crypt:
Apache Jones; Beauregard Krueller; Bloodfeud; Harold Zettler, Pentex Director (sketch variant); Persephone Tar-Anis; White Lily
Library:
Blood Doll (x2); Cloak the Gathering (x4); Confusion (x3); Dementation; Effective Management; Elder Impersonation; Escaped Mental Patient; Eyes of Chaos (x3); Glancing Blow (x2); Institution Hunting Ground; Kindred Spirits (x3); Leather Jacket (x2); Lost in Crowds (x4); Mind Tricks (x2); Obfuscate; On the Qui Vive (x2); Palatial Estate; Precognition (x2); Sawed-Off Shotgun; Swallowed by the Night (x2); Telepathic Counter (x3); Telepathic Misdirection

Tremere antitribu (Trey):
Crypt:
Esoara (sketch variant); Frondator; Janine; Lucubratio; Paul Cordwood; Uta Kovacs
Library:
Apportation (x4); Blood Doll (x2); Blood Rage (x2); Bonding (x4); Dominate; Enhanced Senses (x3); Govern the Unaligned (x3); Hand Intervention; Harass (x2); On the Qui Vive (x2); Redirection (x3); The Spirit's Touch (x4); Strained Vitae Supply; Thaumaturgy; Theft of Vitae (x4); Threats (x3); University Hunting Ground; Walk of Flame (x3)

Tzimisce (Tim):
Crypt:
Count Vladimir Rustovich (sketch variant); Duality; Radu Bistri; Lady Zara Slatikov; Laika; Yuri Kerezenski
Library:
Amaranth; Aura Reading; Auspex; Blood Doll (x2); Body Arsenal (x3); Bonecraft (x3); Canine Horde; Changeling (x3); Drawing Out the Beast (x2); Enhanced Senses (x4); Festivo dello Estinto; Forced Awakening (x2); Forgery (x2); Guard Dogs (x2); Horrid Form (x2); Library Hunting Ground; Plasmic Form (x2); Raven Spy (x2); Revenant; Rumble (x2); Scorpion Sting (x2); The Spirit's Touch (x2); Vicissitude; Wolf Companion

Add tags to deck to sort them

It would be very nice to be able to add tags to deck and filter the decks by tags. I was thinking about "folders" but tags can be used to:

  • label decks I won tournaments with
  • label decks by category (fight, stealth bleed)
  • label decks that I've never played
    etc.

Create a way to exclude text

It would be great to perform a "not containing" search on text, for instance:

!unique

or !"Black Hand" (if there is more than one word)

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.