Skip to content

Commit 7ee37ae

Browse files
committed
add decompress url
1 parent e920616 commit 7ee37ae

File tree

3 files changed

+21
-4
lines changed

3 files changed

+21
-4
lines changed

src/routes/+page.svelte

+10-3
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,30 @@
1010
import { writable } from "svelte/store"
1111
import CodeMirror from "svelte-codemirror-editor"
1212
import ScrollArea from "@/components/ui/scroll-area/scroll-area.svelte";
13-
import ScrollAreaScrollbar from "@/components/ui/scroll-area/scroll-area-scrollbar.svelte";
1413
import { readTextFile } from "./utils/file-render";
1514
import { FilePen } from 'lucide-svelte';
1615
import { FilePlus2 } from 'lucide-svelte';
1716
import { Separator } from "@/components/ui/separator";
1817
import { generateCompressedNovelUrl } from "./utils/generate-compressed-novel-url";
1918
import { toast } from "svelte-sonner";
20-
import { onMount } from "svelte";
2119
import * as ContextMenu from "$lib/components/ui/context-menu";
22-
import { Label } from "bits-ui";
20+
import { page } from "$app/stores";
21+
import { generateSearchParamsToText } from "./utils/generate-search-params-to-text";
2322
2423
let inputText:PersistentStore<string> = persist(writable(""), createLocalStorage(), "inputText")
2524
let preview: string = "";
2625
let textarea: Textarea;
2726
let open:boolean = true;
2827
let fileInput: HTMLInputElement;
2928
29+
let urlSearchParams = $page.url.searchParams;
30+
if(urlSearchParams) {
31+
const result = generateSearchParamsToText(urlSearchParams);
32+
if(result) {
33+
inputText.set(result)
34+
}
35+
}
36+
3037
function handleFileChange(event: Event) {
3138
readTextFile(event, (text: string) => {
3239
inputText.set(text);

src/routes/utils/generate-compressed-novel-url.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ import { get } from 'svelte/store';
55

66
export function generateCompressedNovelUrl(text: string): string {
77
const compressedText = compressToEncodedURIComponent(text);
8-
return `${get(page).url.origin}?novelText=${compressedText}`;
8+
return `${get(page).url.origin}?novel=${compressedText}`;
99
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { decompressFromEncodedURIComponent } from "lz-string";
2+
3+
export function generateSearchParamsToText(urlSearchParams: URLSearchParams): string | null {
4+
const compressedText = urlSearchParams.get("novel");
5+
if (!compressedText) return null; // undefinedの代わりにnullを返す
6+
7+
const result: string = decompressFromEncodedURIComponent(compressedText);
8+
9+
return result || null;
10+
}

0 commit comments

Comments
 (0)