Pārlūkot izejas kodu

fix: sd image preview modal size

licoy 1 gadu atpakaļ
vecāks
revīzija
dd1030139b
2 mainītis faili ar 25 papildinājumiem un 6 dzēšanām
  1. 6 0
      app/components/sd.tsx
  2. 19 6
      app/components/ui-lib.tsx

+ 6 - 0
app/components/sd.tsx

@@ -167,6 +167,12 @@ export function Sd() {
                         showImageModal(
                           getBase64ImgUrl(item.img_data, "image/png"),
                           true,
+                          isMobileScreen
+                            ? { width: "100%", height: "fit-content" }
+                            : { maxWidth: "100%", maxHeight: "100%" },
+                          isMobileScreen
+                            ? { width: "100%", height: "fit-content" }
+                            : { width: "100%", height: "100%" },
                         );
                       }}
                     />

+ 19 - 6
app/components/ui-lib.tsx

@@ -13,7 +13,13 @@ import MinIcon from "../icons/min.svg";
 import Locale from "../locales";
 
 import { createRoot } from "react-dom/client";
-import React, { HTMLProps, MouseEvent, useEffect, useState } from "react";
+import React, {
+  CSSProperties,
+  HTMLProps,
+  MouseEvent,
+  useEffect,
+  useState,
+} from "react";
 import { IconButton } from "./button";
 
 export function Popover(props: {
@@ -425,18 +431,25 @@ export function showPrompt(content: any, value = "", rows = 3) {
   });
 }
 
-export function showImageModal(img: string, defaultMax?: boolean) {
+export function showImageModal(
+  img: string,
+  defaultMax?: boolean,
+  style?: CSSProperties,
+  boxStyle?: CSSProperties,
+) {
   showModal({
     title: Locale.Export.Image.Modal,
     defaultMax: defaultMax,
     children: (
-      <div style={{ display: "flex", justifyContent: "center" }}>
+      <div style={{ display: "flex", justifyContent: "center", ...boxStyle }}>
         <img
           src={img}
           alt="preview"
-          style={{
-            maxWidth: "100%",
-          }}
+          style={
+            style ?? {
+              maxWidth: "100%",
+            }
+          }
         ></img>
       </div>
     ),