Skip to content

refactor: consolidate tools and improve UI consistency#23

Merged
vuon9 merged 1 commit into
mainfrom
refactor/consolidate-tools
Jan 31, 2026
Merged

refactor: consolidate tools and improve UI consistency#23
vuon9 merged 1 commit into
mainfrom
refactor/consolidate-tools

Conversation

@vuon9
Copy link
Copy Markdown
Owner

@vuon9 vuon9 commented Jan 31, 2026

Summary

This PR consolidates multiple tools and improves UI consistency across the application following Carbon Design System guidelines.

Changes

Tool Consolidation:

  • Removed consolidated tools: JsonFormatter, SqlFormatter, UrlTools, UrlParser, UrlEncoder, PhpSerializer, PhpJsonConverter
  • Renamed TextBasedConverter → TextConverter
  • Renamed NumberBaseConverter → NumberConverter (with folder structure)
  • Created new StringUtilities tool consolidating LineSortDedupe, StringCaseConverter, and StringInspector

Layout Improvements:

  • NumberConverter: 4-pane layout with custom base dropdown (2-36)
  • CronJobParser: Split-pane layout with alternating row colors for examples
  • RegExpTester: Flag toggle tags and match highlighting in test string
  • TextDiffChecker: Compact mode switcher (Lines/Words/Chars)
  • UnixTimeConverter: Timezone and format support with customizable options

Configuration Updates:

  • Updated App.jsx imports and routing for new tool structure
  • Updated Sidebar.jsx navigation (reduced from 17 to 11 tools)
  • Updated TOOL_STATUS.md with new statuses

Tool Status

🟢 Done:

  • CronJobParser
  • NumberConverter

🟡 In Progress:

  • StringUtilities
  • TextDiffChecker
  • UnixTimeConverter
  • RegExpTester

Testing

All tools have been tested and follow the Carbon Design System patterns with:

  • Consistent ToolHeader, ToolControls, ToolPane components
  • Proper spacing and typography
  • Monospace fonts for data
  • Layout toggle support where applicable

- Remove consolidated tools: JsonFormatter, SqlFormatter, UrlTools, PhpSerializer
- Rename TextBasedConverter to TextConverter
- Rename NumberBaseConverter to NumberConverter with folder structure
- Create new StringUtilities tool consolidating LineSortDedupe, StringCaseConverter, StringInspector
- Fix layouts to follow Carbon Design System:
  - NumberConverter: 4-pane layout with custom base dropdown
  - CronJobParser: split-pane with alternating row colors
  - RegExpTester: flag toggles and match highlighting
  - TextDiffChecker: compact mode switcher
  - UnixTimeConverter: timezone and format support
- Update App.jsx and Sidebar.jsx for new tool structure
- Update TOOL_STATUS.md with new statuses
@vuon9 vuon9 force-pushed the refactor/consolidate-tools branch from fab2fd5 to 013b509 Compare January 31, 2026 16:14
@github-actions
Copy link
Copy Markdown
Contributor

Go Test Coverage Report

Coverage after merging refactor/consolidate-tools into main will be
61.59%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
internal/codeformatter
   service.go58.61%100%100%58.61%111–112, 136–137, 145–146, 152–153, 171–174, 177–183, 186, 209–212, 214–215, 223–224, 230–240, 242–247, 250–257, 260, 263–265, 267, 289, 297, 302–306, 310–311, 336–339, 348–349, 364–365, 367–368, 375–383, 412, 427–436, 440–445, 448–451, 453, 457–461, 466–474, 478–479, 48, 480–484, 488–489, 49, 490–494, 498–499, 50, 500–503, 506, 51, 510–519, 52, 520–522, 525–526, 53, 530–539, 54, 540–544, 55, 550–552, 555–556, 56, 560–569, 57, 570–575, 578–580, 583–584, 588–592, 594–596, 599–619, 625–627, 629–630, 633, 637–641, 643–651, 654, 658–662, 664–667, 669, 752–753, 761, 763–766, 835, 89–90
internal/converter
   encryption.go43.90%100%100%43.90%100–101, 110–111, 114–115, 119–143, 157–158, 170–171, 173–174, 180–181, 185–186, 191–207, 209–214, 216–229, 231–240, 248–249, 262–263, 271–272, 314–317, 320–323, 326–341, 343–345, 348–352, 354–360, 363–366, 369–372, 375–390, 392–394, 397–400, 403–406, 408, 412, 47–48, 50–51, 55–56, 68–69, 71–72, 78–79, 95–96
   formatting.go71.73%100%100%71.73%1000–1004, 1008–1009, 1011–1012, 1069–1070, 1074–1075, 1093–1094, 1115–1116, 1126–1127, 1154–1155, 1161–1166, 118, 1182, 1186, 119–120, 1205–1206, 121, 1214–1215, 122, 1224–1225, 123–124, 1259, 126, 1260–1264, 127–128, 1288–1289, 129, 1290–1297, 130, 1305–1306, 1308–1309, 131–132, 1322–1323, 133–134, 136, 156–162, 164–171, 177, 193–194, 202–203, 221–222, 237, 253–254, 278, 283–284, 303, 324, 332–334, 348–349, 357–358, 38, 389, 39–40, 408–409, 41, 410–412, 42, 421–422, 430–434, 436, 44–48, 481–489, 49, 491, 493, 50, 507–508, 51, 515–516, 52, 524–525, 53, 532–533, 54, 554–555, 561–562, 592–593, 605–610, 632–636, 641–646, 676–683, 690–698, 711–712, 723–726, 728–732, 74–75, 756–757, 76–83, 832–837, 84, 859, 86, 860–862, 868–869, 87–88, 885–888, 89, 890–892, 896–897, 90, 901–909, 91, 910, 92–93, 932–937, 95, 958–959, 97, 974–979, 98, 980, 991–999
   service.go75%100%100%75%43–44, 46–47, 53, 55–60, 62, 85, 94–95
   encoding.go52.53%100%100%52.53%100–115, 117–123, 125–132, 134, 163, 204–206, 213–215, 220–222, 229–231, 247–253, 260–261, 264–269, 289–299, 301, 318–319, 325–326, 337–338, 343–344, 37, 376, 38, 414–417, 426–427, 434–435, 44, 462–468, 470–478, 481, 485–488, 49, 491–494, 496–499, 50, 500–506, 509–512, 515, 524–525, 531–532, 535–536, 552–569, 57, 570–571, 573–588, 590–594, 603–604, 614–615, 618–619, 622–632, 634–637, 639–649, 65, 650–659, 66, 660–661, 663–666, 675–676, 679–680, 683–684, 687–688, 693–698, 706–708, 73–75, 750, 76–77, 770, 776–777, 796–814, 818–827, 83, 830, 832, 834–843, 859–860, 868, 876–887, 89, 892–895, 897–899, 95, 97–99
   escape.go86.90%100%100%86.90%135–136, 146–147, 158–163, 48–49, 58, 70–71, 74–75, 78–81, 84
   hashing.go86.64%100%100%86.64%104–107, 119, 65–70, 75–94
internal/datagenerator
   engine.go90.68%100%100%90.68%114–119, 126–127, 163–164, 183, 251–252, 295–296
   presets.go100%100%100%100%
   service.go85.90%100%100%85.90%54–55, 58–61, 71–75
   formatter.go87.37%100%100%87.37%105–106, 140–141, 49–50, 55–56, 80–81, 93–94
internal/jwt
   dto.go0%100%100%0%28–36, 39–45, 48–58
   errors.go47.83%100%100%47.83%14–18, 21–23, 46–47, 51–52
   token.go40%100%100%40%100, 104–109, 113–116, 118–123, 134–140, 143–146, 149–152, 155–159, 54–58, 61–65, 69–73, 77–82, 86–91, 95–99
   service.go61.54%100%100%61.54%25–28, 37–38, 41–42, 52–53
   parser.go60.98%100%100%60.98%108–109, 114–116, 124–125, 150–151, 156–157, 160–161, 169–170, 175–176, 33–36, 40–43, 61–64, 74–79, 82–85, 88–91, 93–97
internal/wails
   barcode_service.go0%100%100%0%100–102, 104–107, 111–115, 118–121, 125–136, 140–143, 146–149, 152–155, 159–167, 170–177, 180–187, 190–198, 200–201, 205–209, 21, 210–219, 22, 220–222, 225–229, 23, 230–235, 238–248, 25, 251–259, 26, 260–261, 264&nda

@vuon9 vuon9 merged commit 015d555 into main Jan 31, 2026
2 checks 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.

1 participant