1
0
Fork 0
mirror of https://github.com/kou029w/quot.git synced 2025-03-09 16:05:19 +00:00

Compare commits

...

2 commits

Author SHA1 Message Date
3ea90fbd06 LFのみ残り続ける問題を修正 2022-08-29 12:24:40 +09:00
887eafef4d use 31bit random hex id 2022-08-29 10:39:16 +09:00
5 changed files with 16 additions and 6 deletions

View file

@ -38,7 +38,9 @@ export default () => {
<a href="/new">📄</a>
</header>
{routes[pathname()] ?? (
<Page id={Number(pathname().slice(1)) || random()} />
<Page
id={parseInt(pathname().slice(1), 16) || random()}
/>
)}
</>
);

View file

@ -1,4 +1,5 @@
import {
$createLineBreakNode,
$createParagraphNode,
$createTextNode,
$getRoot,
@ -25,8 +26,11 @@ export default (props: {
const root = $getRoot();
if (root.getFirstChild()) return;
const paragraphNode = $createParagraphNode();
const textNode = $createTextNode(props.text);
paragraphNode.append(textNode);
const text = props.text
.split("\n")
.flatMap((line) => [$createTextNode(line), $createLineBreakNode()])
.slice(0, -1);
paragraphNode.append(...text);
root.append(paragraphNode);
};
onCleanup(registerPlainText(editor, initialEditorState));

View file

@ -1,5 +1,5 @@
function random(): number {
return window.crypto.getRandomValues(new Uint16Array(1))[0]!;
return 0x7f_ff_ff_ff & window.crypto.getRandomValues(new Uint32Array(1))[0]!;
}
export default random;

View file

@ -20,7 +20,7 @@ export default () => {
<Cards>
<For each={pages()}>
{(page) => (
<a href={`/${page.id}`}>
<a href={`/${page.id.toString(16)}`}>
<Card {...page} />
</a>
)}

View file

@ -44,7 +44,11 @@ export default (props: { id: number }) => {
async (id: number, content: Pages.RequestContentPage) => {
if (await (content.text ? updatePage(id, content) : deletePage(id))) {
unblock();
window.history.replaceState({}, "", `/${content.text ? id : "new"}`);
window.history.replaceState(
{},
"",
`/${content.text ? id.toString(16) : "new"}`
);
}
},
intervalMs