-
-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Convert to TypeScript and Svelte #584
Draft
tuanchauict
wants to merge
369
commits into
main
Choose a base branch
from
port-to-js
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7e4c014
to
318849c
Compare
Add drawable and its child classes
Implement BrowserManager and WorkspaceDao
Port Shape to TypeScript
…alog Use Portal instead of using model holder for modals
…alog Correct the initial project id and update title after rename
…alog Fix position of drawing info canvas overlaps nav bar
…alog Observe change from other opening tab and create Alert dialog
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While Kotlin JS is excellent for development and works seamlessly for adding new features, the UI has become a significant bottleneck as I aim to support more tools.
The current shape format tool is both limited in functionality and, quite frankly, visually unappealing. Although MonoSketch has already adopted Compose HTML for UI development, I still feel that writing UI in code isn’t the ideal approach. Perhaps it’s just my preference for traditional methods, but in my opinion, XML remains the best language for designing UIs.
After carefully weighing the trade-offs, challenges, and required effort, I decided to migrate the project to TypeScript and use Svelte for the UI. Initially, I attempted to integrate Kotlin JS and Svelte within the same project. However, this approach proved problematic. Both frameworks require being the final step in the build process, making them incompatible in this context. Additionally, creating and maintaining a bridge between the two introduced further complexity, which I decided was not feasible.
That said, I want to acknowledge that my knowledge of TypeScript and the FrontEnd ecosystem is limited. I’ve done my best, but there may be areas that could be improved or optimized. If you notice any issues or have suggestions, I’d greatly appreciate your feedback. Feel free to point out problems or, better yet, create a PR to the
port-to-js
branch with fixes or enhancements.Let me know if you need more tweaks!