* fix(frontend): remove fixed height from ManySelect
Frontend development is not my passion, there might be a better fix.
I've tested my changes in all places that I found using the chganed components (ManySelect, ScrollablePanel):
- Changelog filters
- Version filters
- Download dialog
- Search filters
Fixes#2334
* Revert incorrect merge
* fix merge conflict
* refactor: move .env to .env.example
* refactor(labrinth): allow setting SMTP port and TLS
This will help setting up labrinth for local development. You can now use a mock SMTP server such as smtp4dev. The TLS options will stay the same as before if set to `true`, and disabled when `false`.
Depends on #2883
* chore(labrinth): lint
* chore(labrinth): conflicts
* chore(labrinth): conflicts
* fix: use TLS port by default
Co-authored-by: AlexTMjugador<me@alegon.dev>
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
Signed-off-by: Erb3 <49862976+Erb3@users.noreply.github.com>
* fix(labrinth): correct deafult SMTP port in .env
* feat(labrinth): expose all SMTP TLS settings
Replaced if/else with a switch statement. The new values for `SMPT_TLS` are `none`, `opportunistic_start_tls`, `requires_start_tls`, `tls`. When none of these values are supplied, it defaults to full TLS (`tls`), and throws a warning.
Resolves PR review
* fix(labrinth): correct SMTP TLS example .env setting
Signed-off-by: Erb3 <49862976+Erb3@users.noreply.github.com>
* fix(labrinth) SMTP tls env var check
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
Signed-off-by: Erb3 <49862976+Erb3@users.noreply.github.com>
---------
Signed-off-by: Erb3 <49862976+Erb3@users.noreply.github.com>
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
Replaced all icon usages of `apps/frontend/src/assets/image/utils` for `@modrinth/assets`.
The only icon which has been changed is the `WorldIcon`, which has been replaced by the `GlobeIcon`.
* refactor(frontend): move Toggle component to Composition API + TS
**Toggle.vue**:
- Enable composition API and TS
- Added `disabled` to props
- Remove redundant `checked`
- Replace `modelValue` and `emits` with `defineModel` compiler macro
**Others**:
- Replace emit handling and `model-value` with `v-model` where simple logic was used
- Not `FeatureFlagSettings.vue` (contained custom code on receiving emit)
- Not `Mods.vue` (contained custom code on receiving emit)
- Remove redundant `checked` attribute
* fix(app): toggles not updating value
* refactor(frontend): move project description to composition API + TS
* refactor(frontend): rename to `patchRequestPayload` for consistency
* chore: lint
* refactor(frontend): revamp license page
- Add more understandable UI
- Field titles
- Field description
- Use more semantically correct elements
- Make paragraph not a label
- Rephrase some parts
- Fields no longer jump around
- Split SPDX-identifier and license name into two seperate fields, for readability
- Sort imports
- fmt
* feat(frontend): encourage license URL on custom license
* refactor(frontend): license page to composition + ts
- Move to Vue composition API
- Move to TypeScript
- Move away from vue-multiselect to the dropdown component
- Use `formatProjectType` function for typesafety
- Remove unused form error highlighting code
- Creating typings for built-in licenses
- Move standard licenses to licenses.ts util
- There are other license-related utils I want to move there eventually
- Fix typo in Project license type definition
* chore(frontend): fmt
* chore(frontend): fmt
* feat(frontend): require URL and name for custom license
* refactor(frontend): give license or-later checkbox own row
* chore(frontend): fmt
I noticed that the `.vscode` folder says LF endings should be used. However, I still regularily see CRLF. To fix this I've added a `.gitattributes` file which makes git convert endings to LF.
Fixes#3176
**Changes**:
- Sets the pagination to page one if the search is updated. This is the norm on most websites, and how users expect it to work.
- Join `setPage` into `updateSearchResults`
- Take a page number in `updateSearchResults`
- Remove unused param to `updateSearchResults`
- Update `watch` to not double requests
- use `scrollToTop` utility function
* fix(frontend): ignore case in collection search for followed
When searching for collections, the casing will normally be ignored. The item for "Followed Projects" will be removed if using capitalized characters though. This is especially confusing since it's titled with partially capital letters.
Resolvesmodrinth/code#1370
* chore: revert import sort
Only one element should have the same id. The id is used to link with the label's `for` attribute. There may be similar issues other places, but this is the one that was brought to my attention.
Resolves#2999
* feat(frontend): show date of user join
Shows and formats the date when the user joined, on hover. Can add `cursor-help` if wanted.
Resolves#2243
* chore(frontend): lint
Resolves an issue where the frontend generated URLs without provider property when there is a frontend redirect uri. Without the provider, labrinth defaults to GitHub.
Fixes#2884
Starlight defaults to favicon.svg, however a favicon.ico was added to the repo.
Changes:
- Format astro config according to Prettier
- Properly set favicon
- Markdown guide link to support article
- API version deprecated error to new docs
- Modpack permissions error to support article
- Labrinth README links to new docs
- App WebView2 link to support article