modrinth / code Goto Github PK
View Code? Open in Web Editor NEWThe Modrinth monorepo containing all code which powers Modrinth!
Home Page: https://modrinth.com
License: Other
The Modrinth monorepo containing all code which powers Modrinth!
Home Page: https://modrinth.com
License: Other
Currently the design only works well on large screens. We should add support for smaller screens and mobile devices for the site to be usable in more cases.
Sub-issues:
overflow-x: hidden;
. That isn't a solution to x-overflow, it just breaks the page moreem
s and rem
s; The body currently has font-size: 18pt;
which messes up the scaling for the rest of the siteThe external link icon is smaller for the source code link when the text wraps
object-fit: cover;
x
button that deletes the version if there<img>
links or<use xlink:href="...">
tags to reduce duplicationsvg
s<button>
s or <a>
sFrom venashial in #frontend, 2020-10-17
If you want to stick with the square, I would at least round the corners to the same amount as the mod icons. Just for simplicity's sake and because rounded corners are easier on the eyes.
Now that you mention it, badges inline with the username wouldn't look right but maybe directly beneath it, separating the username and the description? It feels like the badge is floating beneath the description and won't be in the same spot on each user page. (I guess it already moves around depending on whether a user has a description in the first place.)
Are you planning on putting "follow" and/or "report" buttons on each user page or will that only be on mod pages? (If you include those at all.)
Add a link to the github profile of users from the user page
From burner8 in #frontend on 2020-10-17
bug report: when you first load the mods list, you see the list of mods but then it changes to "no results". then, just after that the results re-appear. i have tested with javascript disabled, and the problem doesn't occur. my guess is that SSR serves the results, but the client decides to fetch the results too, when they are already there.
The seperation between the user info and the mod list in the user profile is almost invisible in light mode
The licensing info should be visible; we may also want a better place for it
Almost all of this discussion is still relevant:
https://discord.com/channels/734077874708938864/734082619352023081/766515942649757706
https://discord.com/channels/734077874708938864/734082619352023081/766533570176221225
Add search box to landing page:
https://discord.com/channels/734077874708938864/734082619352023081/762093945102270464
History entries:
https://discord.com/channels/734077874708938864/734082619352023081/761667331302621184
PWA:
https://discord.com/channels/734077874708938864/734082619352023081/758047414581067927
https://discord.com/channels/734077874708938864/734082619352023081/757176477430317096
Implement history support for searching:
https://discord.com/channels/734077874708938864/734082619352023081/756621499535851670
Fix history spam:
https://discord.com/channels/734077874708938864/734082619352023081/756618381515554836
Ad selection:
https://discord.com/channels/734077874708938864/734077874708938867/770530866429952010
Usernames:
https://discord.com/channels/734077874708938864/734077874708938867/770408408276926495
https://discord.com/channels/734077874708938864/734077874708938867/770405202582700063
Following/RSS:
https://discord.com/channels/734077874708938864/734077874708938867/770301914549321790
https://discord.com/channels/734077874708938864/734077874708938867/761097005878476810
Download counting:
https://discord.com/channels/734077874708938864/734077874708938867/770299588003233852
OR filters for searching:
https://discord.com/channels/734077874708938864/734077874708938867/770217254339608596
Github data concerns:
https://discord.com/channels/734077874708938864/734077874708938867/769953709676298250
https://discord.com/channels/734077874708938864/734077874708938867/770034217228042251
Youtube embed in markdown?
https://discord.com/channels/734077874708938864/734077874708938867/770173393340727306
Curseforge linking:
https://discord.com/channels/734077874708938864/734077874708938867/769838459426308096
https://discord.com/channels/734077874708938864/734077874708938867/769802982761955350
https://discord.com/channels/734077874708938864/734077874708938867/765935076680269824
Scope:
https://discord.com/channels/734077874708938864/734077874708938867/769792713968844811
https://discord.com/channels/734077874708938864/734077874708938867/769798081146519552
Discussion on bedrock vs java:
https://discord.com/channels/734077874708938864/734077874708938867/769772610971893800
Client & serverside tags:
https://discord.com/channels/734077874708938864/734077874708938867/768591675471167528
Missing stuff:
https://discord.com/channels/734077874708938864/734077874708938867/762101605021384704
https://discord.com/channels/734077874708938864/734077874708938867/761450662713098291
https://discord.com/channels/734077874708938864/734077874708938867/766513161956098059
Don't list all versions in dropdown:
https://discord.com/channels/734077874708938864/734077874708938867/768586457891602484
(There's a PR for the backend implementation of this now)
What's our current markdown parser?
https://discord.com/channels/734077874708938864/734077874708938867/766514131334594560
Mod lists?:
https://discord.com/channels/734077874708938864/734077874708938867/761291902707302460
https://discord.com/channels/734077874708938864/734077874708938867/761468452179279872
Bugs:
https://discord.com/channels/734077874708938864/734077874708938867/768722297938640918
Missing Features:
Important things to deal with:
https://medium.com/overwolf/our-stance-on-scraping-curseforge-19f4559a322a
https://mailchi.mp/overwolf/whats-new-with-overwolf-curseforge-september
I would love to have the option for an endless scroller
i would make a pr my self but currently i don't have much time to add it my self
So this is what I've found so far:
All the issues not marked as solve in this issue, was split into other issues. Don't update these checkboxes
General:
Description:
Versions:
Add a version
button should have more spacing between it and the "Upload Versions" titleEdit-specific:
† So it might be uploading, but since there was a (I think fixed) problem with being unable to create a mod with a version, I didn't have any versions to have files in. In the version creation screen on the versions page of the mod, it also shows that no file is selected, but after it was approved there was in fact a file
In the mod creation page, the placeholder.png doesn't match the other file, placeholder.svg.
This could be directly fixed in the bucket?
The header links on the landing page should have a larger padding area so that they are clickable
When a mod is under review, it's hard to tell that it's not public yet.
Compare something like Curse which has a giant "This project is not yet approved" banner - on Modrinth, the only place i've been able to find the project approval status is on the dashboard.
This is also true for individual files - Curse has a status (approved/under review) column in the versions table, Modrinth doesn't seem to have any indication.
This is pretty annoying when it's time to share a new mod, and you don't know if the link will 404 for other people or not !
Before authors can submit mods/modpacks directly to modrinth, there needs to be a robust moderation interface which will allow staff to support and moderate authors (and commenters).
Some of the things that this needs to account for:
If possible, set the default at 20 items per page.
Also save the user preference for the pagination step in localstorage (in the browser)
It would be preferable if this was replaced with some sort of "Loading" indicator instead.
The redesign is much better for this than the original site, but it still has some issues. I'm mainly using Firefox's accessibility view to find issues, but most tooling should work.
Some of the issues:
In the header:
<svg>
element, it could use aria-label="modrinth"
<header>
element instead of <aside>
On the search page:
<section>
or <article>
element instead of a <div>
, so that each mod is separated semanticallyaria-label
could work (maybe even title
?)aria-hidden="true"
, since they all have separate text labelstitle
as a substitute could work, but it wouldn't look as nice.<p>
tags with click events; these could be replaced with buttonsOn mod pages:
aria-label
, since they're svgs)Mod entries (specifically mod versions), the Supported Versions can contain any MC version, even if that version is invalid (e.g. Fabric mods can't be for <1.14)
When the "reset icon" button is clicked and the setting are saved the page hangs up (it doesn't redirect the user, and settings are unsaved) and a following error is written to the JS console: TypeError: "t.t0.response is undefined" NuxtJS
It's impossible to change the mod icon (the icon stays unchanged after saving modified settings)
If the License field (which is optional) is left empty during creation of a mod, the error "Error while parsing JSON: invalid type: null
" is shown to the user
If a required field is left empty during creation of a mod, the error "Error while parsing JSON: invalid type: null
" - this one is not strictly a bug, but a more user friendly message should be provided (e.g. "Please fill in missing required fields.")
If you change the mod count to be greater than the number of mods available, you can no longer change the mod count
The typewriter on the landing page has too large of a font; it breaks when the text has to wrap
The username on the bottom left should be clickable
I have a 240x780 mobile screen.
Android 10 - Firefox
The videos on the landing page are still terrible quality gifs rather than autoplaying videos
object-fit: cover;
x
button that deletes the version if thereWhile other people will see your new username, you won't see it until you reload the page since UI elements (including the setting to change your username, if you leave the settings page and come back) will continue to display your old username until you fully reload the page.
Right now, ModRinth advertises that it integrates its search with CuseForge both in text and in a gif. However, as discussed on the Discord recently CurseForge search has been disabled while Curse changes hands from Twitch to Overwolf, and restoration doesn't seem to be in the cards. This line and demo should probably be edited so Modrinth isn't accused of false advertising.
The download icon on the versions page should be a direct link to download, not to the version page
This is a non-exhaustive list of things that need to be implemented before we can consider the site to be minimally functional:
Non basic functionality, may come later:
When I load a page, the dropdown menu that appears when you click on your profile looks fine.
However, when I change page using one of the on-screen buttons (eg. from the Mods tab to the Dashboard, or in the page of a mod, from the description to the versions), the dropdown menu will look hidden behind other on-screen elements until I refresh the page.
I have attached 2 screen recordings showing the issue in different locations on modrinth.com.
I am using Safari 14 on macOS Big Sur.
https://user-images.githubusercontent.com/57519662/105606463-daf80980-5d99-11eb-9df1-95abbaf0cfda.mov
https://user-images.githubusercontent.com/57519662/105606425-b1d77900-5d99-11eb-8991-4b463a2bfb46.mov
Maybe a checkbox should be added? And it should be disabled by default.
In the mod list, the rows are composed of nested flexboxes, which look pretty broken in Safari (on both macOS and iOS):
The boxes seem to shrink to be smaller than their content, similar to this SO post. It turns out their fix works here too: applying flex-shrink: 0
to the too-small boxes.
I'm not sure where in the code this goes, just that it works to affect the selectors .project-card .info .top
and .project-card .info .bottom
(adding flex-shrink: 0
).
There are other places where this breaks, most similarly the dashboard and the profile. There might be others, but these are the ones I've found so far. I wish there was an easier fix than working around it in every place it happens, but perhaps one could just generally apply this to flex containers in the codebase?
When you tap on the version name, it doesn't take you to the mod/{id}/version/{id} page.
No clue why as it works on desktop.
We should have a basic description of the project and link to the website from a README in this repo. It may also be a good idea to document the basic setup for the frontend so that people can figure out how to run it and contribute.
Issue is, it's not even used for the mod name, so in LambdaBetterGrass I had multiple <h2>
because ##
of markdown for my description, and as there's no other higher-level headers search engines will take this as the main keyword/point of interest and leads to situation like this:
Really not great in my opinion :P
The last page number in the pagination view wraps on narrower screens
For example, pressing back on a URL like https://modrinth.com/mods?q=&f=host%3Amodrinth
might take you to https://modrinth.com/mods
and you need to press back a second time to go back to the page you were actually at before.
Would filtering mods by license be possible?
Previously, mods hosted on one platform or the other would show an icon indicating them as such and one could filter for only mods on one platform; this is no longer the case with the beta.
Bug:
The first time Modrinth is opened on a new browser window, the top left logo does not appear, you appear to be logged out, and all buttons except redirects do nothing on click. This issue disappears after reloading the page and only reappears after the browser window where it appeared is closed.
This error is thrown:
DOMException: Failed to execute 'appendChild' on 'Node': This node type does not support this method.
at Object.appendChild (https://modrinth.com/_nuxt/8a1c74e.js:2:41278)
at m (https://modrinth.com/_nuxt/8a1c74e.js:2:54201)
at https://modrinth.com/_nuxt/8a1c74e.js:2:53458
at v (https://modrinth.com/_nuxt/8a1c74e.js:2:53690)
at _ (https://modrinth.com/_nuxt/8a1c74e.js:2:54287)
at N (https://modrinth.com/_nuxt/8a1c74e.js:2:57673)
at N (https://modrinth.com/_nuxt/8a1c74e.js:2:57608)
at N (https://modrinth.com/_nuxt/8a1c74e.js:2:57608)
at N (https://modrinth.com/_nuxt/8a1c74e.js:2:57608)
at N (https://modrinth.com/_nuxt/8a1c74e.js:2:57608)
Environment:
Window 10, Chrome 87.0.4280.141
Environment:
Firefox 83.0-2
Arch Linux
Resulting error:
An Error Occurred
Error with multipart data: The mod description must be between 3 and 2048 bytes; got 0.
Steps to reproduce:
Some of the Featured Versions download buttons are squished when a page is loaded in Safari.
This seems to only happen when the mod page is reloaded or loaded directly from a link to that page, and it doesn't happen when I navigate to it.
This seems to go away when flex-shrink is set to 0.
Before setting flex-shrink to 0:
After setting flex-shrink to 0:
I am using Safari 14 on macOS Big Sur.
In this context, e.target.files
throws an error because e
itself is the file list.
Changing every occurance of e.target.files
to e
fixes this issue.
There's also a problem with labrinth which relates to this, so I'll make an issue on its repo.
On the versions page, the mod version name should be clickable (and obviously so: underlined when hover or something)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.