From 60d20174733315d37ffb33baedd56c2b6b0d76a2 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Mon, 19 May 2025 16:40:33 +0200 Subject: [PATCH] lib/search/kanji: add codepoints --- lib/models/kanji_search/kanji_search_result.dart | 9 +++++++++ lib/search/kanji_search.dart | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/lib/models/kanji_search/kanji_search_result.dart b/lib/models/kanji_search/kanji_search_result.dart index 36046ca..1094476 100644 --- a/lib/models/kanji_search/kanji_search_result.dart +++ b/lib/models/kanji_search/kanji_search_result.dart @@ -43,6 +43,10 @@ class KanjiSearchResult extends Equatable { /// Note that this list might not always be complete. final List parts; + /// Ids for the kanji's symbol in different encoding systems + /// (e.g. JIS213, JIS208, UCS, etc.) + final Map codepoints; + const KanjiSearchResult({ required this.kanji, this.taughtIn, @@ -56,6 +60,7 @@ class KanjiSearchResult extends Equatable { // this.onyomiExamples = const [], this.radical, this.parts = const [], + required this.codepoints, }); @override @@ -91,6 +96,7 @@ class KanjiSearchResult extends Equatable { // 'strokeOrderSvgUri': strokeOrderSvgUri, // 'strokeOrderGifUri': strokeOrderGifUri, // 'uri': uri, + 'codepoints': codepoints, }; factory KanjiSearchResult.fromJson(Map json) { @@ -113,6 +119,9 @@ class KanjiSearchResult extends Equatable { ? KanjiSearchRadical.fromJson(json['radical']) : null, parts: (json['parts'] as List).map((e) => e as String).toList(), + codepoints: (json['codepoints'] as Map).map( + (key, value) => MapEntry(key, value as String), + ), ); } } diff --git a/lib/search/kanji_search.dart b/lib/search/kanji_search.dart index 3b2ddf9..b2b0bd1 100644 --- a/lib/search/kanji_search.dart +++ b/lib/search/kanji_search.dart @@ -155,5 +155,9 @@ Future searchKanjiWithDbConnection( kunyomi: kunyomis.map((item) => item['yomi'] as String).toList(), parts: parts.map((item) => item['radical'] as String).toList(), onyomi: onyomis.map((item) => item['yomi'] as String).toList(), + codepoints: { + for (final codepoint in codepoints) + codepoint['type'] as String: codepoint['codepoint'] as String, + }, ); }