atmosphere explorer
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

remove delete dialog in collection view

Juliet 9d2c1dd6 09f55880

+2 -57
+2 -57
src/views/collection.tsx
··· 1 - import { 2 - createEffect, 3 - createResource, 4 - createSignal, 5 - For, 6 - onCleanup, 7 - onMount, 8 - Show, 9 - untrack, 10 - } from "solid-js"; 1 + import { createEffect, createResource, createSignal, For, Show, untrack } from "solid-js"; 11 2 import { CredentialManager, Client } from "@atcute/client"; 12 3 import { A, query, useParams } from "@solidjs/router"; 13 4 import { resolvePDS } from "../utils/api.js"; ··· 80 71 const [filter, setFilter] = createSignal<string>(); 81 72 const [batchDelete, setBatchDelete] = createSignal(false); 82 73 const [lastSelected, setLastSelected] = createSignal<number>(); 83 - const [modal, setModal] = createSignal<HTMLDialogElement>(); 84 - const [openDelete, setOpenDelete] = createSignal(false); 85 74 const did = params.repo; 86 75 let pds: string; 87 76 let rpc: Client; 88 - 89 - const clickEvent = (event: MouseEvent) => { 90 - if (modal() && event.target === modal()) setOpenDelete(false); 91 - }; 92 - const keyDownEvent = (event: KeyboardEvent) => { 93 - if (modal() && event.key === "Escape") setOpenDelete(false); 94 - }; 95 - 96 - onMount(() => { 97 - window.addEventListener("click", clickEvent); 98 - window.addEventListener("keydown", keyDownEvent); 99 - }); 100 - 101 - onCleanup(() => { 102 - window.removeEventListener("click", clickEvent); 103 - window.removeEventListener("keydown", keyDownEvent); 104 - }); 105 77 106 78 const listRecords = query( 107 79 (did: string, collection: string, cursor: string | undefined) => ··· 249 221 children={ 250 222 <button 251 223 class="i-lucide-trash-2 text-lg text-red-500 hover:text-red-600 dark:text-red-400 dark:hover:text-red-300" 252 - onclick={() => setOpenDelete(true)} 224 + onclick={() => deleteRecords()} 253 225 /> 254 226 } 255 227 /> 256 - <Show when={openDelete()}> 257 - <dialog 258 - ref={setModal} 259 - class="z-2 backdrop-brightness-60 fixed left-0 top-0 flex h-screen w-screen items-center justify-center bg-transparent" 260 - > 261 - <div class="dark:bg-dark-400 rounded-md border border-neutral-500 bg-zinc-100 p-3 text-slate-900 dark:text-slate-100"> 262 - <h3 class="text-lg font-bold"> 263 - Delete {records.filter((rec) => rec.toDelete).length} records? 264 - </h3> 265 - <div class="mt-2 inline-flex gap-2"> 266 - <button 267 - onclick={() => setOpenDelete(false)} 268 - class="dark:bg-dark-900 dark:hover:bg-dark-800 bg-light-100 rounded-lg border border-neutral-500 px-2.5 py-1.5 text-sm font-bold hover:bg-zinc-200 focus:outline-none focus:ring-1 focus:ring-slate-700 dark:focus:ring-slate-300" 269 - > 270 - Cancel 271 - </button> 272 - <button 273 - type="button" 274 - onclick={() => deleteRecords()} 275 - class="rounded-lg bg-red-500 px-2.5 py-1.5 text-sm font-bold text-slate-100 hover:bg-red-400 focus:outline-none focus:ring-1 focus:ring-slate-700 dark:bg-red-600 dark:hover:bg-red-500 dark:focus:ring-slate-300" 276 - > 277 - Delete 278 - </button> 279 - </div> 280 - </div> 281 - </dialog> 282 - </Show> 283 228 </Show> 284 229 </div> 285 230 </Show>