Skip to content

Conversation

@Sandijigs
Copy link
Contributor

@Sandijigs Sandijigs commented Aug 11, 2025

Close issue #17

Summary

This PR integrates Monaco Editor into the Angular frontend, providing a professional code editing
experience for writing Rust smart contracts on the Stellar blockchain using the Soroban SDK.

Changes Made

Dependencies

  • Added @materia-ui/ngx-monaco-editor@6.0.0 for Angular integration
  • Added monaco-editor@0.52.2 for core editor functionality

Component Development

  • Created standalone MonacoEditorComponent with full TypeScript interfaces
  • Implemented ControlValueAccessor for seamless Angular forms integration
  • Added SSR compatibility with isPlatformBrowser checks

    Configuration

  • Updated angular.json to serve Monaco Editor assets from node_modules
  • Configured asset paths for proper editor resource loading

UI Integration

  • Added Monaco Editor to main application component
  • Configured Rust language support with syntax highlighting
  • Applied vs-dark theme for professional appearance
  • Set editor height to 500px with disabled minimap

Content & Styling

  • Included sample Soroban smart contract with proper syntax highlighting
  • Added responsive CSS styling for different screen sizes
  • Updated app layout to accommodate the editor component

Features

  • ✅ Rust syntax highlighting and autocompletion
  • ✅ Professional dark theme interface
  • ✅ Responsive design for all screen sizes
  • ✅ Sample Stellar smart contract included
  • ✅ Clean, lint-free TypeScript code

@Sandijigs
Copy link
Contributor Author

@salazarsebas please help review and merge this issue

@Sandijigs
Copy link
Contributor Author

@salazarsebas please help review and merge this issue

Copy link
Member

@salazarsebas salazarsebas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@salazarsebas salazarsebas merged commit 33395a2 into ScaffoldRust:main Aug 21, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants