diff --git a/.gitignore b/.gitignore index 8100c14..ded76cb 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ pkg/ Cargo.lock node_modules/ dist/ +.vscode \ No newline at end of file diff --git a/crates/sp_client/src/injecteurhtml.rs b/crates/sp_client/src/injecteurhtml.rs index 9a2ca73..1d18e90 100644 --- a/crates/sp_client/src/injecteurhtml.rs +++ b/crates/sp_client/src/injecteurhtml.rs @@ -56,20 +56,22 @@ pub fn inject_html_recover() -> String { #[wasm_bindgen] pub fn inject_html_revokeimage() -> String { String::from(" -
-
- - - +
- - +
") diff --git a/src/assets/4nk_revoke.jpg b/src/assets/4nk_revoke.jpg new file mode 100644 index 0000000..9fba6de Binary files /dev/null and b/src/assets/4nk_revoke.jpg differ diff --git a/src/assets/revoke.jpeg b/src/assets/revoke.jpeg deleted file mode 100644 index 232dcb9..0000000 Binary files a/src/assets/revoke.jpeg and /dev/null differ diff --git a/src/services.ts b/src/services.ts index e93da51..8667a03 100644 --- a/src/services.ts +++ b/src/services.ts @@ -105,22 +105,6 @@ class Services { await Services.instance.displayRevokeImage(); } - private async getImage(imageUrl:string): Promise { - let imageBytes = null; - try { - const response = await fetch(imageUrl); - if (!response.ok) { - throw new Error(`Failed to fetch image: ${response.status} ${response.statusText}`); - } - const arrayBuffer = await response.arrayBuffer(); - imageBytes = new Uint8Array(arrayBuffer); - console.log(imageBytes); - } catch (error) { - console.error("Failed to get image : "+imageUrl, error); - } - return imageBytes; - } - public async displayRecover(): Promise { Services.instance.injectHtml(Services.instance.get_html_recover()); Services.instance.attachSubmitListener("form4nk", Services.instance.recover); @@ -159,19 +143,39 @@ class Services { public async displayRevokeImage(): Promise { const html = Services.instance.get_html_revokeimage(); Services.instance.injectHtml(html); - Services.instance.attachSubmitListener("form4nk", Services.instance.revokeimage); + Services.instance.attachClickListener("displayupdateanid", Services.instance.revokeimage); + + let imageBytes = await Services.instance.getRecoverImage('assets/4nk_revoke.jpg'); + if (imageBytes != null) { + let blob = new Blob([imageBytes], {type: 'image/png'}); + var elem = document.getElementById("revoke") as HTMLAnchorElement; + if (elem != null) { + elem.href = URL.createObjectURL(blob); + } + } } public get_html_revokeimage(): string { return this.sdkClient.inject_html_revokeimage(); } + private async getRecoverImage(imageUrl:string): Promise { + let imageBytes = null; + try { + const response = await fetch(imageUrl); + if (!response.ok) { + throw new Error(`Failed to fetch image: ${response.status} ${response.statusText}`); + } + const arrayBuffer = await response.arrayBuffer(); + imageBytes = new Uint8Array(arrayBuffer); + } catch (error) { + console.error("Failed to get image : "+imageUrl, error); + } + return imageBytes; + } + public async revokeimage(event: Event): Promise { event.preventDefault(); - console.log("JS revokeimage submit "); - // TODO - alert("Revokeimage submit to do ..., next page Update an id ..."); - await Services.instance.displayUpdateAnId(); } @@ -194,6 +198,7 @@ class Services { } public async displayUpdateAnId() { + console.log("JS displayUpdateAnId process : "+this.current_process); let body = ""; let style = ""; let script = ""; diff --git a/src/style/4nk.css b/src/style/4nk.css index 39377bb..09b1116 100644 --- a/src/style/4nk.css +++ b/src/style/4nk.css @@ -114,7 +114,7 @@ a { .bg-primary:hover { background-color: #457be8; } -.card2 { +.card-revoke { display: flex; flex-direction: column; max-width: 400px; @@ -127,14 +127,22 @@ a { align-items: center; overflow: hidden; } -.card2 button { +.card-revoke a { max-width: 50px; width: 100%; background: none; border: none; cursor: pointer; } -.card2 svg { +.card-revoke button { + max-width: 200px; + width: 100%; + background: none; + border: none; + cursor: pointer; + color: #78a6de; +} +.card-revoke svg { width: 100%; height: auto; fill: #333;