DigitalCardBasic.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { View, Text } from "@tarojs/components";
  2. import IconCertificateColor from "@/components/icon/icon-certificate-color";
  3. export interface DigitalCardBasicProps {
  4. certificated?: boolean;
  5. name: string;
  6. position: string;
  7. entName?: string|null;
  8. }
  9. const DigitalCardBasic = ({
  10. name,
  11. position,
  12. entName,
  13. certificated,
  14. }: DigitalCardBasicProps) => {
  15. const hasEntName = !!entName?.length
  16. const hasPosition = !!position?.length
  17. const renderPosition = ()=> {
  18. return <>
  19. {(hasPosition && hasEntName) && <>&nbsp;|&nbsp;</>}
  20. {hasPosition && <>{position}</>}
  21. </>
  22. }
  23. return (
  24. <View className="flex items-start">
  25. <View className="flex flex-col flex-1 justify-center min-h-40 gap-4">
  26. <View className="flex">
  27. <View className="text-16 max-w-120 font-medium leading-24 font-pingfangSCMedium">{name}</View>
  28. </View>
  29. {/* inline-flex flex-nowrap break-normal items-center */}
  30. {(hasPosition || hasEntName) && <View className="text-12 leading-20 text-gray-45 gap-4">
  31. {entName || ''}{renderPosition()}{!!certificated && <View className="inline-block transform translate-y-2">&nbsp;<IconCertificateColor /></View>}
  32. </View>}
  33. </View>
  34. </View>
  35. );
  36. };
  37. export default DigitalCardBasic;