nofusscomputing / nofusscomputing/centurion_ui

Refactor from Javascript to TypeScript

Open
#174 0 comments 0 reactions 1 assignee View on GitHub

@jon-nfc is already working on this.

Since May 10, 2026.

Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
1d 4h
Merged PRs (30d)
20

Description

Summary

Refactor codebase to be completely in Typescript.

Description

Converting the code base to Typescript will improve quality control and assist in other areas, such as:

  • Enforceable rules
  • Type checking
User Story
  • Force requiring documentation for all objects a developer would use
Business Value
  • Can enforce coding standard.
  • quality control is improved as type checking is done.
  • Custom rules can be written to check different things.
Acceptance Criteria
  • All Code converted from JavaScript -> Typescript
  • Linting CI job
  • Code docs enforced
Dependencies & Impact

No response

Technical Notes

No response

Risks & Mitigations

No response

Testing Strategy
  • CI liniting job that will be a dep for the unit tests
Additional Notes

ESLint will be used

Files to convert
  • find src/ -type f \( -name "*.js" -o -name "*.jsx" \) | sort
Required for release 0.8.0
  • src/App.js

  • src/components/ActionDialog.jsx

  • src/components/Badge.jsx

    Confirm this was created as part of this release

  • src/components/Comment.jsx

  • src/components/DisplayFields.jsx

  • src/components/DisplayTable.jsx

  • src/components/form/DualFieldSelector.jsx

  • src/components/FormField.jsx

  • src/components/IconLoader.jsx

  • [ ] src/components/InlineFields.jsx removed as no longer used

  • src/components/MarkdownEditor.jsx

  • src/components/page/detail/DetailSection.jsx

  • src/components/page/detail/ModelNote.jsx

  • src/components/page/Footer.jsx

  • src/components/page/Header.jsx

  • src/components/page/Navbar.jsx

  • src/components/page/ticket/LinkedItems.jsx

  • src/components/page/ticket/RelatedTickets.jsx

  • src/components/Section.jsx

  • src/functions/FieldData.js

  • src/functions/markdown_plugins/HTMLWhitelist.js

  • src/functions/markdown_plugins/ModelLink.js

  • src/functions/markdown_plugins/TicketLink.js

  • src/functions/RenderMarkdown.js

  • src/functions/URLSanitize.js

  • src/hooks/useIsMobile.js

  • src/hooks/UserContext.jsx

  • src/hooks/useTheme.js

  • src/index.js

  • src/layout/Detail.jsx

  • src/layout/Dialog.jsx

  • src/layout/history.jsx

  • [ ] src/layout/Main.jsx was not used so removed

  • src/layout/Settings.jsx

  • src/layout/Ticket.jsx

Required for release 1.0.0
  • src/classes/Exceptions.js

  • src/components/form/Button.jsx

  • [ ] src/components/form/Menu.jsx removed as no longer used

  • [ ] src/components/form/Select.jsx removed as no longer used

  • [ ] src/components/form/Slider.jsx removed as no longer used

  • [ ] src/components/form/Textarea.jsx removed as no longer used

  • [ ] src/components/form/Textfield.jsx removed as no longer used

  • [ ] src/components/page/Card.jsx removed when settings lay was updated

  • src/functions/FormatTime.js

  • src/hooks/apiFetch.js

  • src/hooks/getCookie.js

  • src/hooks/urlBuilder.js

  • src/layout/Error.jsx

  • [ ] src/layout/ModelForm.jsx removed as no longer used

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.