Compare commits
10 Commits
1d2daef9a1
...
5c19fbbf16
| Author | SHA1 | Date | |
|---|---|---|---|
| 5c19fbbf16 | |||
| aeaa30c2be | |||
| 64d2fc1ea8 | |||
| 7f87f0d658 | |||
| bcb6a172f1 | |||
| 9ce4bd53e6 | |||
| a3031a6fb7 | |||
| 612dfac06e | |||
| 4e3ceb6876 | |||
| 6501008c8c |
@@ -50,6 +50,7 @@ Practice Japanese Karaoke lyrics reading and typing at the same time with amaoke
|
|||||||
* [ ] Intro popup
|
* [ ] Intro popup
|
||||||
* [ ] Re-encode songs using opus
|
* [ ] Re-encode songs using opus
|
||||||
* [x] Meta tags
|
* [x] Meta tags
|
||||||
|
* [ ] Allow deleting incorrect characters
|
||||||
|
|
||||||
## 自搭服务器文档 / Self-hosting Guide
|
## 自搭服务器文档 / Self-hosting Guide
|
||||||
|
|
||||||
@@ -99,6 +100,17 @@ http://127.0.0.1:3000/admin/netease-login?pwd=你的管理密码
|
|||||||
|
|
||||||
## 更新日志 / Changelog
|
## 更新日志 / Changelog
|
||||||
|
|
||||||
|
### v1.0.4
|
||||||
|
|
||||||
|
* 修复了 12 キー无法打出 ぱ 行和 づ 的问题
|
||||||
|
|
||||||
|
### v1.0.3
|
||||||
|
|
||||||
|
* 修复了手机浏览器展开输入法会挡住视图和自动居中偏移的问题
|
||||||
|
* 修复了手机浏览器收缩地址栏之前最下面的按钮会看不到的问题
|
||||||
|
* 修复了 12 キー输入法输入平假名濁音会被判错的问题
|
||||||
|
* 修复了 12 キー输入法输入濁音时,如果输入完对应的清音之后并没有转换而是继续输入,不会被判错的问题
|
||||||
|
|
||||||
### v1.0.2
|
### v1.0.2
|
||||||
|
|
||||||
* 修复了 12 キー(日语九宫格)输入法输入某些正确的濁音(e.g. が)会被判错的问题
|
* 修复了 12 キー(日语九宫格)输入法输入某些正确的濁音(e.g. が)会被判错的问题
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "amaoke",
|
"name": "amaoke",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.2",
|
"version": "1.0.4",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite dev",
|
"dev": "vite dev",
|
||||||
|
|||||||
@@ -34,9 +34,9 @@ export const composeMap = new Map(Object.entries({
|
|||||||
|
|
||||||
'が': 'か', 'ぎ': 'き', 'ぐ': 'く', 'げ': 'け', 'ご': 'こ',
|
'が': 'か', 'ぎ': 'き', 'ぐ': 'く', 'げ': 'け', 'ご': 'こ',
|
||||||
'ざ': 'さ', 'じ': 'し', 'ず': 'す', 'ぜ': 'せ', 'ぞ': 'そ',
|
'ざ': 'さ', 'じ': 'し', 'ず': 'す', 'ぜ': 'せ', 'ぞ': 'そ',
|
||||||
'だ': 'た', 'ぢ': 'ち', 'づ': 'つ', 'で': 'て', 'ど': 'と',
|
'だ': 'た', 'ぢ': 'ち', 'づ': 'っつ', 'で': 'て', 'ど': 'と',
|
||||||
'ば': 'は', 'び': 'ひ', 'ぶ': 'ふ', 'べ': 'へ', 'ぼ': 'ほ',
|
'ば': 'は', 'び': 'ひ', 'ぶ': 'ふ', 'べ': 'へ', 'ぼ': 'ほ',
|
||||||
'ぱ': 'は', 'ぴ': 'ひ', 'ぷ': 'ふ', 'ぺ': 'へ', 'ぽ': 'ほ',
|
'ぱ': 'ばは', 'ぴ': 'びひ', 'ぷ': 'ぶふ', 'ぺ': 'べへ', 'ぽ': 'ぼほ',
|
||||||
}))
|
}))
|
||||||
export const composeList = Array.from(composeMap.keys())
|
export const composeList = Array.from(composeMap.keys())
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
import "@fontsource/roboto"
|
import "@fontsource/roboto"
|
||||||
import 'virtual:uno.css'
|
import 'virtual:uno.css'
|
||||||
import "../style/app.sass"
|
import "../style/app.sass"
|
||||||
|
import "../style/app.scss"
|
||||||
import "../style/material.scss"
|
import "../style/material.scss"
|
||||||
import '@unocss/reset/normalize.css'
|
import '@unocss/reset/normalize.css'
|
||||||
import '@unocss/reset/tailwind-v4.css'
|
import '@unocss/reset/tailwind-v4.css'
|
||||||
@@ -50,9 +51,11 @@
|
|||||||
<meta property="twitter:title" content="🍬アマオケ🎤" />
|
<meta property="twitter:title" content="🍬アマオケ🎤" />
|
||||||
<meta property="twitter:description" content="是一个日语卡拉 OK 阅读打字唱歌练习软件!" />
|
<meta property="twitter:description" content="是一个日语卡拉 OK 阅读打字唱歌练习软件!" />
|
||||||
<meta property="twitter:image" content="https://amaoke.app/images/meta.png" />
|
<meta property="twitter:image" content="https://amaoke.app/images/meta.png" />
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, interactive-widget=resizes-content">
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<div class="vbox h-screen min-h-screen box-border overflow-hidden relative max-w-1200px mx-auto">
|
<div id="layout-view" class="vbox box-border overflow-hidden relative max-w-1200px mx-auto">
|
||||||
{@render children()}
|
{@render children()}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -116,7 +116,10 @@
|
|||||||
let exph = toHiragana(exp)
|
let exph = toHiragana(exp)
|
||||||
let res = fuzzyEquals(char, exp)
|
let res = fuzzyEquals(char, exp)
|
||||||
// Need to compose, stop here
|
// Need to compose, stop here
|
||||||
if (res !== 'right' && !imeUsed && !isComposed && composeList.includes(exph) && composeMap.get(exph) === char) return
|
if (res !== 'right' && !imeUsed && !isComposed
|
||||||
|
&& composeList.includes(exph) && composeMap.get(exph)?.includes(char)
|
||||||
|
&& inp.length === 1
|
||||||
|
) return
|
||||||
states[li][wi] = res
|
states[li][wi] = res
|
||||||
|
|
||||||
// Record stats
|
// Record stats
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ body
|
|||||||
margin: 0
|
margin: 0
|
||||||
background: rgb(var(--m3-scheme-background))
|
background: rgb(var(--m3-scheme-background))
|
||||||
|
|
||||||
|
#layout-view
|
||||||
|
height: var(--svh)
|
||||||
|
|
||||||
.hbox
|
.hbox
|
||||||
display: flex
|
display: flex
|
||||||
flex-direction: row
|
flex-direction: row
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
:root { --svh: 100vh; --dvh: 100vh; --svw: 100vw; --dvw: 100vw; }
|
||||||
|
@supports (height: 100svh) { :root { --svh: 100svh; --svw: 100svw; } }
|
||||||
|
@supports (height: 100dvh) { :root { --dvh: 100dvh; --dvw: 100dvw; } }
|
||||||
Reference in New Issue
Block a user