Add grade based search
This commit is contained in:
parent
32740dd7dd
commit
e66e33b9ed
|
@ -0,0 +1,631 @@
|
|||
/// Jouyou kanji sorted primarily by grades and secondarliy by strokes.
|
||||
const Map<int, Map<int, List<String>>> grades = {
|
||||
1: {
|
||||
1: [ '一' ],
|
||||
2: [
|
||||
'力', '八', '入',
|
||||
'二', '人', '十',
|
||||
'七', '九'
|
||||
],
|
||||
3: [
|
||||
'土', '大', '川',
|
||||
'千', '夕', '上',
|
||||
'小', '女', '子',
|
||||
'山', '三', '口',
|
||||
'下'
|
||||
],
|
||||
4: [
|
||||
'六', '木', '文',
|
||||
'日', '天', '中',
|
||||
'水', '手', '五',
|
||||
'犬', '月', '火',
|
||||
'王', '円'
|
||||
],
|
||||
5: [
|
||||
'立', '目', '本',
|
||||
'白', '田', '石',
|
||||
'生', '正', '出',
|
||||
'四', '左', '玉',
|
||||
'右'
|
||||
],
|
||||
6: [
|
||||
'名', '百', '年',
|
||||
'虫', '竹', '早',
|
||||
'先', '耳', '字',
|
||||
'糸', '休', '気'
|
||||
],
|
||||
7: [
|
||||
'町', '男', '村',
|
||||
'足', '赤', '車',
|
||||
'見', '貝', '花'
|
||||
],
|
||||
8: [ '林', '青', '空', '金', '学', '雨' ],
|
||||
9: [ '草', '音' ],
|
||||
10: [ '校' ],
|
||||
12: [ '森' ]
|
||||
},
|
||||
2: {
|
||||
2: [ '刀' ],
|
||||
3: [ '万', '才', '工', '弓', '丸' ],
|
||||
4: [
|
||||
'友', '毛', '方', '分',
|
||||
'父', '内', '太', '切',
|
||||
'心', '少', '止', '今',
|
||||
'公', '午', '戸', '元',
|
||||
'牛', '引'
|
||||
],
|
||||
5: [
|
||||
'用', '北', '母',
|
||||
'半', '冬', '台',
|
||||
'矢', '市', '広',
|
||||
'古', '兄', '外'
|
||||
],
|
||||
6: [
|
||||
'毎', '米', '肉', '同',
|
||||
'当', '池', '地', '多',
|
||||
'西', '色', '自', '寺',
|
||||
'合', '行', '考', '光',
|
||||
'交', '会', '回', '羽'
|
||||
],
|
||||
7: [
|
||||
'里', '来', '麦', '売',
|
||||
'弟', '体', '走', '声',
|
||||
'図', '社', '作', '谷',
|
||||
'言', '形', '近', '汽',
|
||||
'角', '何'
|
||||
],
|
||||
8: [
|
||||
'夜', '門', '明', '妹',
|
||||
'歩', '東', '店', '直',
|
||||
'長', '知', '姉', '国',
|
||||
'京', '岩', '画'
|
||||
],
|
||||
9: [
|
||||
'風', '南', '点', '昼',
|
||||
'茶', '前', '星', '食',
|
||||
'春', '秋', '首', '室',
|
||||
'思', '後', '計', '活',
|
||||
'海', '科'
|
||||
],
|
||||
10: [
|
||||
'馬', '通', '書',
|
||||
'弱', '時', '紙',
|
||||
'高', '原', '帰',
|
||||
'記', '家', '夏'
|
||||
],
|
||||
11: [
|
||||
'理', '野', '鳥',
|
||||
'組', '船', '雪',
|
||||
'週', '細', '黒',
|
||||
'黄', '教', '強',
|
||||
'魚'
|
||||
],
|
||||
12: [
|
||||
'番', '買', '道',
|
||||
'答', '朝', '晴',
|
||||
'場', '間', '絵',
|
||||
'雲'
|
||||
],
|
||||
13: [
|
||||
'話', '電',
|
||||
'数', '新',
|
||||
'楽', '遠',
|
||||
'園'
|
||||
],
|
||||
14: [ '鳴', '聞', '読', '算', '語', '歌' ],
|
||||
15: [ '線' ],
|
||||
16: [ '頭', '親' ],
|
||||
18: [ '曜', '顔' ]
|
||||
},
|
||||
3: {
|
||||
2: [ '丁' ],
|
||||
4: [ '予', '反', '区', '化' ],
|
||||
5: [
|
||||
'礼', '由', '平', '氷',
|
||||
'皮', '代', '打', '他',
|
||||
'世', '申', '主', '写',
|
||||
'仕', '皿', '号', '去',
|
||||
'央'
|
||||
],
|
||||
6: [
|
||||
'列', '両', '羊',
|
||||
'有', '全', '州',
|
||||
'守', '式', '次',
|
||||
'死', '向', '血',
|
||||
'曲', '安'
|
||||
],
|
||||
7: [
|
||||
'役', '返', '坂',
|
||||
'豆', '投', '対',
|
||||
'身', '助', '住',
|
||||
'決', '君', '局',
|
||||
'究', '医'
|
||||
],
|
||||
8: [
|
||||
'和', '油', '命', '味', '放',
|
||||
'物', '服', '表', '板', '波',
|
||||
'定', '注', '昔', '所', '受',
|
||||
'取', '者', '実', '事', '始',
|
||||
'使', '幸', '具', '苦', '岸',
|
||||
'泳', '育', '委'
|
||||
],
|
||||
9: [
|
||||
'洋', '面', '負', '品', '秒',
|
||||
'美', '発', '畑', '度', '追',
|
||||
'柱', '炭', '待', '送', '相',
|
||||
'神', '乗', '昭', '重', '拾',
|
||||
'持', '指', '県', '研', '係',
|
||||
'級', '急', '客', '界', '屋'
|
||||
],
|
||||
10: [
|
||||
'旅', '流', '勉', '病',
|
||||
'倍', '配', '島', '庭',
|
||||
'速', '息', '真', '消',
|
||||
'酒', '根', '庫', '宮',
|
||||
'起', '荷', '院', '員'
|
||||
],
|
||||
11: [
|
||||
'問', '部', '動', '都',
|
||||
'転', '笛', '帳', '第',
|
||||
'族', '進', '深', '章',
|
||||
'商', '宿', '習', '終',
|
||||
'祭', '球', '悪'
|
||||
],
|
||||
12: [
|
||||
'落', '陽', '葉', '遊', '筆',
|
||||
'悲', '童', '等', '登', '湯',
|
||||
'着', '短', '植', '勝', '暑',
|
||||
'集', '歯', '港', '湖', '軽',
|
||||
'期', '寒', '階', '開', '温',
|
||||
'運', '飲'
|
||||
],
|
||||
13: [
|
||||
'路', '福', '農',
|
||||
'鉄', '想', '詩',
|
||||
'業', '漢', '感',
|
||||
'意', '暗'
|
||||
],
|
||||
14: [ '練', '緑', '様', '鼻', '銀', '駅' ],
|
||||
15: [ '箱', '調', '談', '横' ],
|
||||
16: [ '薬', '整', '橋', '館' ],
|
||||
18: [ '題' ]
|
||||
},
|
||||
4: {
|
||||
4: [ '夫', '不', '井', '氏', '欠' ],
|
||||
5: [
|
||||
'令', '民', '未',
|
||||
'末', '包', '辺',
|
||||
'付', '必', '失',
|
||||
'司', '札', '功',
|
||||
'加', '以'
|
||||
],
|
||||
6: [
|
||||
'老', '灯', '伝',
|
||||
'兆', '仲', '争',
|
||||
'成', '好', '共',
|
||||
'各', '印', '衣'
|
||||
],
|
||||
7: [
|
||||
'労', '冷', '良', '利',
|
||||
'別', '兵', '阪', '努',
|
||||
'低', '沖', '束', '折',
|
||||
'臣', '初', '児', '材',
|
||||
'佐', '芸', '求', '希',
|
||||
'岐', '完', '改', '位'
|
||||
],
|
||||
8: [
|
||||
'例', '牧', '法', '阜', '府',
|
||||
'念', '奈', '典', '的', '底',
|
||||
'卒', '松', '周', '治', '参',
|
||||
'刷', '固', '径', '協', '泣',
|
||||
'季', '官', '芽', '果', '岡',
|
||||
'英'
|
||||
],
|
||||
9: [
|
||||
'要', '勇', '約', '便',
|
||||
'変', '飛', '栃', '単',
|
||||
'浅', '省', '信', '城',
|
||||
'祝', '昨', '香', '建',
|
||||
'軍', '栄', '茨'
|
||||
],
|
||||
10: [
|
||||
'連', '料', '浴', '梅',
|
||||
'特', '徒', '帯', '孫',
|
||||
'倉', '席', '笑', '借',
|
||||
'残', '差', '候', '郡',
|
||||
'訓', '挙', '害', '案'
|
||||
],
|
||||
11: [
|
||||
'陸', '望', '副', '票',
|
||||
'敗', '梨', '側', '巣',
|
||||
'清', '唱', '鹿', '産',
|
||||
'崎', '埼', '菜', '康',
|
||||
'健', '械', '貨'
|
||||
],
|
||||
12: [
|
||||
'量', '無', '満', '富',
|
||||
'飯', '博', '達', '隊',
|
||||
'然', '焼', '順', '滋',
|
||||
'散', '最', '結', '景',
|
||||
'極', '給', '覚', '街',
|
||||
'賀', '媛'
|
||||
],
|
||||
13: [
|
||||
'働', '置', '続',
|
||||
'戦', '節', '照',
|
||||
'辞', '試', '群',
|
||||
'塩', '愛'
|
||||
],
|
||||
14: [
|
||||
'徳', '説', '静',
|
||||
'種', '察', '熊',
|
||||
'漁', '旗', '関',
|
||||
'管'
|
||||
],
|
||||
15: [
|
||||
'輪', '養', '標',
|
||||
'熱', '選', '縄',
|
||||
'器', '潟', '課',
|
||||
'億'
|
||||
],
|
||||
16: [ '録', '積', '機' ],
|
||||
18: [ '類', '験', '観' ],
|
||||
19: [ '鏡', '願' ],
|
||||
20: [ '競', '議' ]
|
||||
},
|
||||
5: {
|
||||
3: [ '士', '久' ],
|
||||
4: [ '仏', '比', '支' ],
|
||||
5: [
|
||||
'弁', '布', '犯',
|
||||
'示', '史', '句',
|
||||
'旧', '刊', '可',
|
||||
'永', '圧'
|
||||
],
|
||||
6: [
|
||||
'任', '団',
|
||||
'在', '再',
|
||||
'件', '仮',
|
||||
'因'
|
||||
],
|
||||
7: [
|
||||
'余', '防', '判', '状',
|
||||
'条', '序', '似', '志',
|
||||
'災', '告', '均', '技',
|
||||
'快', '応', '囲'
|
||||
],
|
||||
8: [
|
||||
'武', '非', '肥', '版',
|
||||
'毒', '性', '制', '招',
|
||||
'述', '舎', '枝', '妻',
|
||||
'効', '居', '河', '価',
|
||||
'往', '易'
|
||||
],
|
||||
9: [
|
||||
'迷', '保', '独',
|
||||
'則', '祖', '政',
|
||||
'査', '厚', '故',
|
||||
'限', '型', '逆',
|
||||
'紀'
|
||||
],
|
||||
10: [
|
||||
'留', '容', '脈', '粉',
|
||||
'破', '能', '造', '素',
|
||||
'修', '師', '殺', '財',
|
||||
'航', '耕', '個', '格',
|
||||
'桜', '益'
|
||||
],
|
||||
11: [
|
||||
'略', '務', '婦', '貧', '得',
|
||||
'堂', '停', '張', '断', '率',
|
||||
'設', '接', '責', '情', '常',
|
||||
'術', '授', '採', '混', '現',
|
||||
'険', '経', '許', '救', '規',
|
||||
'寄', '基', '眼', '液', '移'
|
||||
],
|
||||
12: [
|
||||
'貿', '報', '復', '評',
|
||||
'備', '費', '統', '程',
|
||||
'提', '貯', '貸', '属',
|
||||
'測', '絶', '税', '象',
|
||||
'証', '減', '検', '喜',
|
||||
'過', '営'
|
||||
],
|
||||
13: [
|
||||
'夢', '豊', '墓',
|
||||
'損', '勢', '準',
|
||||
'飼', '資', '罪',
|
||||
'鉱', '禁', '義',
|
||||
'幹', '解'
|
||||
],
|
||||
14: [
|
||||
'歴', '領', '綿', '複',
|
||||
'銅', '適', '態', '増',
|
||||
'像', '総', '製', '精',
|
||||
'酸', '雑', '際', '構',
|
||||
'境', '慣', '演'
|
||||
],
|
||||
15: [
|
||||
'暴', '編', '導',
|
||||
'賞', '質', '賛',
|
||||
'潔', '確'
|
||||
],
|
||||
16: [ '輸', '燃', '築', '興', '衛' ],
|
||||
17: [ '績', '謝', '講' ],
|
||||
18: [ '職', '織', '額' ],
|
||||
19: [ '識' ],
|
||||
20: [ '護' ]
|
||||
},
|
||||
6: {
|
||||
3: [ '亡', '寸', '己', '干' ],
|
||||
4: [ '片', '仁', '収', '尺' ],
|
||||
5: [ '幼', '庁', '処', '冊', '穴' ],
|
||||
6: [
|
||||
'宅', '存', '舌',
|
||||
'至', '后', '吸',
|
||||
'机', '危', '灰',
|
||||
'宇'
|
||||
],
|
||||
7: [
|
||||
'卵', '乱', '忘',
|
||||
'批', '否', '私',
|
||||
'困', '孝', '系',
|
||||
'我'
|
||||
],
|
||||
8: [
|
||||
'枚', '宝', '並', '拝',
|
||||
'乳', '届', '忠', '宙',
|
||||
'担', '垂', '承', '宗',
|
||||
'若', '刻', '呼', '券',
|
||||
'供', '拡', '沿', '延'
|
||||
],
|
||||
9: [
|
||||
'律', '肺', '背', '派',
|
||||
'段', '退', '奏', '染',
|
||||
'洗', '泉', '専', '宣',
|
||||
'姿', '砂', '紅', '皇',
|
||||
'看', '巻', '革', '映',
|
||||
'胃'
|
||||
],
|
||||
10: [
|
||||
'朗', '陛', '俵', '秘',
|
||||
'班', '俳', '納', '党',
|
||||
'討', '展', '値', '針',
|
||||
'将', '除', '純', '従',
|
||||
'射', '蚕', '座', '骨',
|
||||
'降', '胸', '株', '恩'
|
||||
],
|
||||
11: [
|
||||
'翌', '欲', '郵', '訳',
|
||||
'密', '訪', '閉', '脳',
|
||||
'頂', '著', '探', '窓',
|
||||
'盛', '推', '捨', '視',
|
||||
'済', '郷', '域', '異'
|
||||
],
|
||||
12: [
|
||||
'棒', '補', '晩', '痛',
|
||||
'尊', '装', '創', '善',
|
||||
'衆', '就', '詞', '策',
|
||||
'裁', '敬', '筋', '勤',
|
||||
'貴', '揮', '割'
|
||||
],
|
||||
13: [
|
||||
'裏', '預', '盟', '幕',
|
||||
'腹', '賃', '腸', '暖',
|
||||
'誠', '聖', '蒸', '傷',
|
||||
'署', '源', '絹'
|
||||
],
|
||||
14: [
|
||||
'模', '暮', '認',
|
||||
'層', '銭', '障',
|
||||
'磁', '誌', '穀',
|
||||
'誤', '疑', '閣'
|
||||
],
|
||||
15: [
|
||||
'論', '敵', '潮',
|
||||
'誕', '蔵', '諸',
|
||||
'熟', '権', '劇',
|
||||
'遺'
|
||||
],
|
||||
16: [
|
||||
'奮', '糖', '操',
|
||||
'縦', '樹', '鋼',
|
||||
'憲', '激'
|
||||
],
|
||||
17: [ '覧', '優', '縮', '厳' ],
|
||||
18: [ '臨', '難', '簡' ],
|
||||
19: [ '臓', '警' ]
|
||||
},
|
||||
7: {
|
||||
1: [ '乙' ],
|
||||
2: [ '了', '又' ],
|
||||
3: [
|
||||
'与', '凡',
|
||||
'刃', '丈',
|
||||
'乞', '巾',
|
||||
'及'
|
||||
],
|
||||
4: [
|
||||
'厄', '乏', '匹', '匂',
|
||||
'屯', '斗', '爪', '弔',
|
||||
'丹', '双', '冗', '升',
|
||||
'孔', '勾', '互', '幻',
|
||||
'斤', '凶', '刈', '介'
|
||||
],
|
||||
5: [
|
||||
'矛', '丙', '払', '氾', '尼',
|
||||
'丼', '凸', '奴', '旦', '占',
|
||||
'仙', '斥', '尻', '召', '汁',
|
||||
'囚', '𠮟', '込', '甲', '巧',
|
||||
'玄', '巨', '丘', '甘', '且',
|
||||
'瓦', '牙', '凹'
|
||||
],
|
||||
6: [
|
||||
'劣', '吏', '妄', '朴', '忙', '伏',
|
||||
'妃', '汎', '帆', '伐', '肌', '弐',
|
||||
'吐', '壮', '迅', '尽', '匠', '如',
|
||||
'巡', '旬', '充', '舟', '朱', '芝',
|
||||
'旨', '江', '刑', '仰', '叫', '臼',
|
||||
'朽', '吉', '伎', '企', '缶', '汗',
|
||||
'汚', '芋', '扱'
|
||||
],
|
||||
7: [
|
||||
'弄', '呂', '戻', '励', '沃', '抑', '妖',
|
||||
'冶', '妙', '没', '妨', '坊', '邦', '芳',
|
||||
'扶', '肘', '尾', '伴', '抜', '伯', '把',
|
||||
'忍', '妊', '尿', '那', '廷', '呈', '沈',
|
||||
'但', '沢', '択', '妥', '汰', '即', '杉',
|
||||
'吹', '辛', '芯', '伸', '肖', '抄', '床',
|
||||
'秀', '寿', '伺', '沙', '克', '更', '攻',
|
||||
'抗', '坑', '呉', '迎', '串', '吟', '狂',
|
||||
'却', '忌', '含', '肝', '戒', '壱', '亜'
|
||||
],
|
||||
8: [
|
||||
'枠', '炉', '拉', '弥', '盲', '茂', '免', '岬', '抹',
|
||||
'枕', '奔', '肪', '房', '泡', '抱', '奉', '併', '沸',
|
||||
'侮', '附', '怖', '苗', '泌', '披', '彼', '迫', '泊',
|
||||
'拍', '杯', '突', '到', '妬', '迭', '泥', '邸', '抵',
|
||||
'坪', '抽', '拓', '卓', '阻', '狙', '拙', '析', '斉',
|
||||
'征', '姓', '枢', '炊', '沼', '昇', '尚', '叔', '呪',
|
||||
'邪', '侍', '肢', '祉', '刺', '刹', '采', '昆', '肯',
|
||||
'拘', '虎', '股', '弦', '肩', '茎', '屈', '況', '享',
|
||||
'拠', '拒', '宜', '祈', '奇', '玩', '岳', '劾', '拐',
|
||||
'怪', '苛', '佳', '殴', '欧', '旺', '押', '炎', '依',
|
||||
'宛'
|
||||
],
|
||||
9: [
|
||||
'郎', '厘', '侶', '柳', '幽', '昧', '盆', '勃', '冒',
|
||||
'某', '胞', '柄', '封', '赴', '訃', '眉', '卑', '虹',
|
||||
'峠', '洞', '逃', '怒', '訂', '帝', '貞', '亭', '珍',
|
||||
'勅', '挑', '胆', '胎', '怠', '耐', '俗', '促', '荘',
|
||||
'窃', '牲', '是', '帥', '甚', '津', '侵', '拭', '浄',
|
||||
'叙', '盾', '俊', '柔', '臭', '狩', '施', '拶', '咲',
|
||||
'柵', '削', '砕', '恨', '拷', '郊', '荒', '洪', '恒',
|
||||
'侯', '枯', '弧', '孤', '契', '狭', '挟', '峡', '糾',
|
||||
'虐', '軌', '冠', '括', '柿', '垣', '皆', '悔', '架',
|
||||
'卸', '怨', '疫', '姻', '咽', '畏', '為', '威', '哀'
|
||||
],
|
||||
10: [
|
||||
'脇', '浪', '恋', '烈', '涙', '倫', '竜', '紋', '耗', '冥',
|
||||
'娘', '眠', '埋', '紡', '剖', '砲', '峰', '倣', '俸', '捕',
|
||||
'哺', '紛', '浮', '敏', '浜', '姫', '被', '疲', '般', '畔',
|
||||
'剝', '悩', '匿', '胴', '透', '桃', '唐', '凍', '倒', '途',
|
||||
'哲', '逓', '朕', '捗', '酎', '衷', '秩', '逐', '畜', '致',
|
||||
'恥', '託', '泰', '捉', '桑', '挿', '捜', '租', '栓', '扇',
|
||||
'隻', '脊', '逝', '凄', '衰', '粋', '陣', '浸', '振', '娠',
|
||||
'唇', '辱', '称', '祥', '症', '宵', '徐', '殉', '准', '袖',
|
||||
'珠', '殊', '酌', '疾', '脂', '恣', '桟', '索', '剤', '栽',
|
||||
'宰', '挫', '唆', '剛', '貢', '悟', '娯', '軒', '拳', '剣',
|
||||
'兼', '倹', '桁', '恵', '脅', '恭', '恐', '鬼', '飢', '既',
|
||||
'陥', '釜', '核', '蚊', '華', '俺', '翁', '宴', '悦', '浦',
|
||||
'畝', '唄', '挨'
|
||||
],
|
||||
11: [
|
||||
'累', '陵', '猟', '涼', '隆', '粒', '庸', '悠', '唯', '猛',
|
||||
'麻', '堀', '崩', '偏', '符', '瓶', '猫', '描', '販', '舶',
|
||||
'陪', '培', '排', '婆', '粘', '捻', '軟', '貪', '豚', '陶',
|
||||
'盗', '悼', '添', '偵', '陳', '釣', '眺', '彫', '窒', '淡',
|
||||
'脱', '逮', '袋', '堆', '唾', '爽', '曽', '曹', '掃', '粗',
|
||||
'措', '旋', '戚', '惜', '据', '崇', '酔', '紳', '剰', '訟',
|
||||
'紹', '渉', '庶', '粛', '淑', '渋', '羞', '寂', '釈', '蛇',
|
||||
'斜', '赦', '執', '斬', '惨', '斎', '彩', '紺', '痕', '婚',
|
||||
'頃', '梗', '控', '舷', '蛍', '渓', '掲', '啓', '掘', '偶',
|
||||
'惧', '菌', '虚', '脚', '菊', '偽', '亀', '貫', '患', '勘',
|
||||
'乾', '葛', '渇', '喝', '掛', '郭', '殻', '涯', '崖', '菓',
|
||||
'陰', '淫', '逸', '萎', '尉'
|
||||
],
|
||||
12: [
|
||||
'腕', '湾', '惑', '廊', '裂', '塁', '硫', '痢', '絡', '揺',
|
||||
'揚', '雄', '裕', '猶', '湧', '愉', '喩', '帽', '傍', '募',
|
||||
'遍', '塀', '雰', '幅', '普', '扉', '蛮', '斑', '媒', '廃',
|
||||
'鈍', '筒', '痘', '棟', '搭', '塔', '渡', '堤', '塚', '椎',
|
||||
'超', '貼', '遅', '弾', '棚', '替', '惰', '堕', '葬', '痩',
|
||||
'喪', '訴', '疎', '婿', '随', '遂', '須', '尋', '診', '殖',
|
||||
'畳', '詔', '粧', '硝', '焦', '晶', '掌', '循', '煮', '湿',
|
||||
'軸', '紫', '傘', '酢', '詐', '項', '絞', '硬', '慌', '喉',
|
||||
'雇', '堅', '圏', '隅', '遇', '僅', '琴', '暁', '御', '距',
|
||||
'喫', '欺', '棋', '幾', '閑', '款', '棺', '敢', '換', '堪',
|
||||
'喚', '渦', '奥', '援', '越', '詠', '椅', '偉', '嵐', '握'
|
||||
],
|
||||
13: [
|
||||
'賄', '楼', '賂', '廉', '零', '鈴', '虜', '慄', '酪', '雷',
|
||||
'裸', '腰', '溶', '誉', '滅', '睦', '飽', '蜂', '微', '頒',
|
||||
'煩', '搬', '鉢', '漠', '頓', '督', '塗', '殿', '塡', '溺',
|
||||
'艇', '跳', '蓄', '稚', '痴', '嘆', '滝', '滞', '遜', '賊',
|
||||
'僧', '遡', '塑', '禅', '践', '詮', '腺', '羨', '煎', '摂',
|
||||
'跡', '裾', '睡', '腎', '慎', '寝', '触', '飾', '詳', '奨',
|
||||
'酬', '愁', '腫', '嫉', '慈', '嗣', '搾', '載', '歳', '塞',
|
||||
'催', '債', '傲', '溝', '碁', '鼓', '誇', '遣', '献', '嫌',
|
||||
'傑', '隙', '詣', '継', '携', '傾', '窟', '愚', '嗅', '詰',
|
||||
'毀', '棄', '頑', '寛', '勧', '褐', '滑', '隔', '較', '該',
|
||||
'蓋', '慨', '楷', '塊', '雅', '靴', '禍', '暇', '嫁', '虞',
|
||||
'鉛', '猿', '煙', '違', '彙'
|
||||
],
|
||||
14: [
|
||||
'漏', '暦', '瑠', '僚', '辣', '踊', '瘍',
|
||||
'誘', '網', '銘', '蜜', '漫', '慢', '膜',
|
||||
'墨', '僕', '貌', '慕', '蔑', '餅', '腐',
|
||||
'漂', '碑', '閥', '罰', '髪', '寧', '稲',
|
||||
'滴', '摘', '漬', '徴', '嫡', '綻', '端',
|
||||
'奪', '駄', '憎', '遭', '漸', '箋', '誓',
|
||||
'彰', '緒', '塾', '銃', '需', '遮', '漆',
|
||||
'餌', '雌', '魂', '獄', '酷', '豪', '酵',
|
||||
'綱', '駆', '概', '箇', '寡', '隠', '維'
|
||||
],
|
||||
15: [
|
||||
'霊', '寮', '慮', '璃', '履', '窯', '憂', '黙', '魅',
|
||||
'摩', '撲', '褒', '舗', '蔽', '弊', '幣', '憤', '墳',
|
||||
'噴', '舞', '賦', '膚', '敷', '賓', '膝', '罷', '盤',
|
||||
'範', '箸', '賠', '輩', '罵', '踏', '賭', '撤', '徹',
|
||||
'締', '墜', '澄', '嘲', '駐', '鋳', '誰', '諾', '踪',
|
||||
'槽', '遷', '潜', '請', '穂', '震', '審', '嘱', '衝',
|
||||
'憧', '遵', '潤', '趣', '賜', '摯', '暫', '撮', '駒',
|
||||
'稿', '撃', '稽', '憬', '慶', '勲', '緊', '窮', '戯',
|
||||
'儀', '輝', '畿', '緩', '監', '歓', '潰', '餓', '稼',
|
||||
'縁', '閲', '謁', '鋭', '影', '慰'
|
||||
],
|
||||
16: [
|
||||
'錬', '隷', '隣', '頼', '謡', '擁', '融',
|
||||
'諭', '麺', '磨', '頰', '謀', '膨', '縫',
|
||||
'壁', '避', '繁', '縛', '薄', '濃', '謎',
|
||||
'曇', '篤', '諦', '緻', '壇', '濁', '膳',
|
||||
'薦', '醒', '薪', '錠', '嬢', '壌', '獣',
|
||||
'儒', '諮', '錯', '墾', '衡', '錮', '賢',
|
||||
'憩', '薫', '錦', '凝', '還', '憾', '獲',
|
||||
'骸', '諧', '懐', '壊', '穏', '憶', '緯'
|
||||
],
|
||||
17: [
|
||||
'齢', '瞭', '療', '翼', '闇',
|
||||
'頻', '鍋', '瞳', '謄', '聴',
|
||||
'鍛', '濯', '戴', '霜', '燥',
|
||||
'鮮', '繊', '礁', '償', '醜',
|
||||
'爵', '擦', '懇', '購', '鍵',
|
||||
'謙', '謹', '矯', '犠', '擬',
|
||||
'環', '轄', '嚇', '臆', '曖'
|
||||
],
|
||||
18: [
|
||||
'糧', '藍', '濫', '癒', '翻',
|
||||
'癖', '璧', '覆', '藩', '闘',
|
||||
'藤', '鎮', '懲', '贈', '騒',
|
||||
'礎', '繕', '瞬', '鎖', '顕',
|
||||
'繭', '襟', '騎', '韓', '鎌',
|
||||
'顎', '穫'
|
||||
],
|
||||
19: [
|
||||
'麓', '麗', '離', '羅',
|
||||
'霧', '簿', '譜', '爆',
|
||||
'覇', '藻', '瀬', '髄',
|
||||
'蹴', '璽', '鯨', '鶏',
|
||||
'繰', '艶', '韻'
|
||||
],
|
||||
20: [
|
||||
'欄', '騰', '籍',
|
||||
'醸', '譲', '鐘',
|
||||
'懸', '響'
|
||||
],
|
||||
21: [ '露', '躍', '魔', '鶴', '顧', '艦' ],
|
||||
22: [ '籠', '襲', '驚' ],
|
||||
23: [ '鑑' ],
|
||||
29: [ '鬱' ]
|
||||
},
|
||||
};
|
|
@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
|||
import 'view/home.dart';
|
||||
import 'view/screens/search/kanji_result_page.dart';
|
||||
import 'view/screens/search/search_mechanisms/drawing.dart';
|
||||
import 'view/screens/search/search_mechanisms/grade_list.dart';
|
||||
import 'view/screens/search/search_mechanisms/radical_list.dart';
|
||||
import 'view/screens/search/search_results_page.dart';
|
||||
|
||||
|
@ -28,6 +29,9 @@ Route<Widget> generateRoute(RouteSettings settings) {
|
|||
case '/kanjiSearch/draw':
|
||||
return MaterialPageRoute(builder: (_) => const KanjiDrawingSearch());
|
||||
|
||||
case '/kanjiSearch/grade':
|
||||
return MaterialPageRoute(builder: (_) => const KanjiGradeSearch());
|
||||
|
||||
case '/kanjiSearch/radicals':
|
||||
return MaterialPageRoute(builder: (_) => const KanjiRadicalSearch());
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
//TODO: Make buttons have an effect
|
||||
import '../../../../bloc/theme/theme_bloc.dart';
|
||||
|
||||
class KanjiSearchOptionsBar extends StatelessWidget {
|
||||
const KanjiSearchOptionsBar({Key? key}) : super(key: key);
|
||||
|
@ -12,19 +12,16 @@ class KanjiSearchOptionsBar extends StatelessWidget {
|
|||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
_IconButton(
|
||||
icon: const Text(
|
||||
'部',
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 18,
|
||||
),
|
||||
),
|
||||
onPressed: () => Navigator.pushNamed(context, '/kanjiSearch/radicals'),
|
||||
icon: const Icon(Icons.pie_chart),
|
||||
onPressed: () =>
|
||||
Navigator.pushNamed(context, '/kanjiSearch/radicals'),
|
||||
),
|
||||
const SizedBox(width: 10,),
|
||||
_IconButton(
|
||||
icon: const Icon(Icons.category),
|
||||
onPressed: () {},
|
||||
icon: const Icon(Icons.school),
|
||||
onPressed: () => Navigator.pushNamed(context, '/kanjiSearch/grade'),
|
||||
),
|
||||
const SizedBox(width: 10,),
|
||||
_IconButton(
|
||||
icon: const Icon(Icons.mode),
|
||||
onPressed: () => Navigator.pushNamed(context, '/kanjiSearch/draw'),
|
||||
|
@ -47,6 +44,11 @@ class _IconButton extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return IconButton(onPressed: onPressed, icon: icon);
|
||||
return IconButton(
|
||||
onPressed: onPressed,
|
||||
icon: icon,
|
||||
iconSize: 30,
|
||||
color: BlocProvider.of<ThemeBloc>(context).state.theme.menuGreyDark.background,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,110 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../../data/grades.dart';
|
||||
import '../../../../models/themes/theme.dart';
|
||||
|
||||
class KanjiGradeSearch extends StatefulWidget {
|
||||
const KanjiGradeSearch({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
_KanjiGradeSearchState createState() => _KanjiGradeSearchState();
|
||||
}
|
||||
|
||||
class _GridItem extends StatelessWidget {
|
||||
final bool isNumber;
|
||||
final String text;
|
||||
const _GridItem({Key? key, required this.text, this.isNumber = false})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final color = isNumber
|
||||
? LightTheme.defaultMenuGreyDark
|
||||
: LightTheme.defaultMenuGreyNormal;
|
||||
|
||||
final onTap = isNumber
|
||||
? () => ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(text)),
|
||||
)
|
||||
: () =>
|
||||
Navigator.popAndPushNamed(context, '/kanjiSearch', arguments: text);
|
||||
|
||||
return InkWell(
|
||||
onTap: onTap,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: const BorderRadius.all(Radius.circular(5)),
|
||||
color: color.background,
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
child: Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
color: color.foreground,
|
||||
fontSize: 25,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _KanjiGradeSearchState extends State<KanjiGradeSearch> {
|
||||
Future<Map<int, Map<int, List<Widget>>>> get gradeWidgets async => compute<
|
||||
Map<int, Map<int, List<String>>>, Map<int, Map<int, List<Widget>>>>(
|
||||
(gs) => gs.map(
|
||||
(grade, sortedByStrokes) => MapEntry(
|
||||
grade,
|
||||
sortedByStrokes.map<int, List<Widget>>(
|
||||
(strokeCount, kanji) => MapEntry(
|
||||
strokeCount,
|
||||
[_GridItem(text: strokeCount.toString(), isNumber: true)] +
|
||||
kanji.map((k) => _GridItem(text: k)).toList(),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
grades,
|
||||
);
|
||||
|
||||
Future<Widget> get makeGrids async => SingleChildScrollView(
|
||||
child: Column(
|
||||
children: (await Future.wait(
|
||||
grades.keys.map(
|
||||
(grade) async => ExpansionTile(
|
||||
title: Text(grade == 7 ? 'Junior Highschool' : 'Grade $grade'),
|
||||
maintainState: true,
|
||||
children: [
|
||||
GridView.count(
|
||||
crossAxisCount: 6,
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
shrinkWrap: true,
|
||||
mainAxisSpacing: 10,
|
||||
crossAxisSpacing: 10,
|
||||
padding: const EdgeInsets.all(10),
|
||||
children: (await gradeWidgets)[grade]!
|
||||
.values
|
||||
.expand((l) => l)
|
||||
.toList(),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
))
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(title: const Text('Choose by grade')),
|
||||
body: FutureBuilder<Widget>(
|
||||
future: makeGrids,
|
||||
initialData: const Center(child: CircularProgressIndicator()),
|
||||
builder: (context, snapshot) => snapshot.data!,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue