Skip to content

Conversation

@yell0wsuit
Copy link
Collaborator

@yell0wsuit yell0wsuit commented May 31, 2025

Closes #56

Refactor

  • Use Zod schemas for validating data instead of directly manipulating localstorage data.
  • Added new TypeScript declaration files for structured data types across conversation, exam, exercise, sound, and word pages.
  • Migrated frontend and Electron codebase from JavaScript/PropTypes to TypeScript with explicit type annotations.
  • Updated Electron build, artifact, and deployment workflows for improved packaging and directory structure.
  • Modernized ESLint and Electron Forge configurations to support TypeScript and new directory conventions.
  • Refined and consolidated component props, state, and event handler typings for clarity and maintainability.

Bug fixes

  • Improved error handling and type safety throughout the app, especially in Electron IPC, file operations, and localStorage access.
  • Fixed accessibility issues by adding alt/title attributes and improving button semantics.
  • Enhanced localStorage parsing to prevent runtime errors from malformed data.

Chores

  • Updated and expanded development scripts, dependencies, and dev tools in package configuration.
  • Improved and reorganized documentation for local development, coding style, and contribution guidelines.
  • Added and updated .gitignore entries for new build directories and artifacts.
  • Removed legacy and unused files, including old preload scripts, data JSONs, and deprecated components.

@coderabbitai

This comment was marked as outdated.

coderabbitai bot added a commit that referenced this pull request Jun 23, 2025
Docstrings generation was requested by @yell0wsuit.

* #65 (comment)

The following files were modified:

* `src/frontend/components/setting_page/LogSettings.tsx`
* `src/frontend/components/setting_page/PronunciationSettings.tsx`
@coderabbitai

This comment was marked as outdated.

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.

Migrate codebase to TypeScript

2 participants