Commit Graph

25 Commits

Author SHA1 Message Date
3bc7ad4c7c fix: support raw HTML upload via FileReader, fix file import flow 2026-04-08 02:43:27 +02:00
90833c5b93 fix(app): meta null guard, deduplicate previewChords, env API URL, always show add card 2026-04-08 02:36:09 +02:00
9b68069151 feat(app): add song detail page with chord chart and transposition 2026-04-08 02:32:50 +02:00
3d18bb9e77 feat(app): add library page with song grid and search 2026-04-08 02:31:44 +02:00
cdb9c59d37 feat(app): add AddSongSheet component 2026-04-08 02:30:57 +02:00
8ca80c38f1 feat(app): add TransposeBar collapsible header 2026-04-08 02:29:48 +02:00
3844cc2296 feat(app): add ChordChart component with monospaced rendering 2026-04-08 02:29:10 +02:00
a6bec147d6 feat(app): add SongCard component 2026-04-08 02:28:39 +02:00
16fd6ba9ad feat(app): add types, mock data, and transpose utility 2026-04-08 02:27:13 +02:00
eeb1ea9615 feat(app): install shadcn button, input, card, badge, sheet, tooltip 2026-04-08 02:25:13 +02:00
2483ed5a08 feat(api): add CORS middleware for browser fetch 2026-04-08 02:23:37 +02:00
0444d11fb4 feat(api): wire POST /tabs/parse endpoint with fetcher and parser 2026-04-08 01:56:06 +02:00
fe7d2dbceb fix(ug-parser): address clippy warnings in parser 2026-04-08 01:54:43 +02:00
776389af49 feat(ug-parser): parse sections, lyrics, and chord positions from UG HTML 2026-04-08 01:47:17 +02:00
1a0458653a feat(ug-parser): implement UgHtmlParser metadata extraction 2026-04-08 01:44:06 +02:00
36d38b9a78 fix(ug-parser): impl Default for UgTabFetcher 2026-04-08 01:42:35 +02:00
6416f5e9ab feat(ug-parser): implement UgTabFetcher for file and URL sources 2026-04-08 01:41:29 +02:00
6435d92f8c feat: scaffold ug-parser infrastructure crate 2026-04-08 01:40:26 +02:00
a5897a29d8 feat(domain): add ChordTransposer with semitone and key transposition 2026-04-08 01:37:41 +02:00
2f703fbb2a feat(domain): add TabFetcherPort and TabParserPort traits 2026-04-08 01:35:55 +02:00
d004698923 feat(domain): add Song, Section, LyricLine, ChordPosition types 2026-04-08 01:34:26 +02:00
98370df27a fix(domain): rename from_str to parse on Note and Chord 2026-04-08 01:33:19 +02:00
422afbb3f2 feat(domain): add Chord struct with parsing and display 2026-04-08 01:31:17 +02:00
ac1f1bd3da fix(domain): remove dead use_sharps param, handle Cb enharmonic 2026-04-08 01:29:20 +02:00
a3ae4429f5 feat(domain): add Note enum with semitone math and display 2026-04-08 01:26:17 +02:00