* Added tabs
* Remove area links from nav
* Added social nav links
* Ensured toggle is respected when path changes
* Updated dev toggle link
* Removed white backgroudn to respect dark mode
* CI gods must be pleased
* Simplify path determination
* Toggle design as per Ben's feedback
* Tabs component styling
* Updated tabs content on docs home
* HEader nav links
* Dev sidebar link to home
* Adjust inactive & hover color of tab buttons
* Nest CSS
* Update docs/.vitepress/theme/Layout.vue
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
---------
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* add visual feedback for invalid value
* add focal point MVP
* Revert "add visual feedback for invalid value"
This reverts commit 1df1868342.
Accidently committed some local testing stuff. Pls disregard! :)
* fix wrong cropping
* fix text for new cropping, import correct type
* fix saving
* place initial focal point to saved value or center, display different cancel text
* split up tooltips
* honor rotations & flips when saving focal point
* apply custom cropper styles for focal mode
* Create loud-crews-fix.md
* add test and only crop when covering with fixed dimensions to preserve default behaviour
* linter gods pls forgive me
* replace json field with two int fields
* add focal point to sdk
* fix transformation for the two new db columns
* update test for new columns, add new tests
* wip: saving now differentiates between only img data and focal point and only enable saving if there are changes
but this is not optimal. would be better to check beforehand if we can collapse
to requests to one. Now its bad because
one request might succeed and the other fails.
* refactor image editor change persistence
now we save it in one request!
* Update loud-crews-fix.md
* add `focal_point_x` and `focal_point_y` to possible asset transformations
* fix assigning localdragmode upon cropper init
* reuse fetched fields in type
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* update file type
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* update changeset
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* improve type for `ASSET_TRANSFORM_QUERY_KEYS`
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Apply suggestions from code review
Trying out the batch change feature from github for the first time. Lets see.
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* rename `persistChanges` to `saveImage`
* Add docs for focal points (#20959)
* Add user guide
* Added to API Reference
* Prettier
* Spellchecker
* default null
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
* from -> around
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
* from -> around
---------
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
* add changeset for docs
* run prettier lets goooooooo
* move & show focal point fields and add divider
---------
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Kevin Lewis <kvn@lws.io>
* Add enable/disable support for bundle type extensions
* added changeset
* Update app/src/modules/settings/routes/extensions/components/extension-item.vue
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* add docs
* bundle with app extensions should display reload on prod
* use early returns for toggle logic
Co-Authored-By: Brainslug <br41nslug@users.noreply.github.com>
* add enable/disable all for partially enabled
* refresh message should work for enable and disable all
* Clearer tooltip for app extensions in dev
---------
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Update cli.md NodeJS required version because of Sharp.
Update NodeJs minimum requirement to v18.17.0 because of Sharp new version requirements. See issue #20854
* Update contributors.yml
* Update cli.md
More specific as later versions of Node 18 work too
* Added changeset
---------
Co-authored-by: Kevin Lewis <kvn@lws.io>
* Setup shared redis abstraction
* Install directus/memory
* Add mini useEnv util for test mocking purposes
* Export missing class from directus/memory
* Update readme to include kv
* Uninstall memory
* Setup telemetry lib
* Reduce concurrency
* Finalize reporting
* Add tests for send-report
* Add tests for init
* Add tests for tracker
* Add tests for get-item-count
* Add test for wait time
* Add test for get-user-count
* Add test for get-user-item-count
* Fix type issue
* Throw error on non-ok fetch
* Init telemetry on server startup
* Tweak submission logic
* Fix tests, submit version
* Update config-options reference
* Cool kids don't use + in large numbers
* Add changesets
* Update docs/self-hosted/config-options.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Use vi stubGlobal
* Update api/src/env.ts
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Unstub as well
* Mock telemetry start in app test
* Update api/src/telemetry/types/report.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
* Fix default value in env
* Use toBoolean for env var casting
* Don't rely on knex as
Apparently it doesn't work reliably with count()
* Update api/src/telemetry/lib/init-telemetry.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
* Use getDatabaseClient for consistent clients
* Rename ingress->url
* Send my apologies to the formatting bot
* Fix version
---------
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
* Add Create a Custom Portal Module
* Add Use Native Layout Features In Your Modules
* Added changeset
* Pascal's edits
* Update guide imports on extension type pages
* Changed livePreviewMode to a bool
* Please for formatter
* Rename file
* Replace all remaining imports while we're at it
* Finishing touch
* Update docs/guides/extensions/modules-native-layout-features.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
---------
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>