PreviewModal.tsx 887 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { Image } from "@queenjs/ui";
  2. import { defineUI } from "queenjs";
  3. import { object } from "vue-types";
  4. export default defineUI({
  5. props: {
  6. data: object<{
  7. url: string;
  8. fileType: "image" | "video";
  9. }>().isRequired,
  10. },
  11. setup(props) {
  12. return () => {
  13. const { data } = props;
  14. return (
  15. <div class="min-h-400px text-center">
  16. {data.fileType == "image" && (
  17. <Image
  18. size={1000}
  19. src={data.url}
  20. class="max-w-1/1 max-h-800px"
  21. // style={{
  22. // backgroundColor: "#e1e5e8",
  23. // }}
  24. />
  25. )}
  26. {data.fileType == "video" && (
  27. <video
  28. controls
  29. src={data.url}
  30. class="max-w-1/1 max-h-800px min-h-200px"
  31. />
  32. )}
  33. </div>
  34. );
  35. };
  36. },
  37. });