betagouv/service-national-universel

View on GitHub
app/src/assets/FileIcon.jsx

Summary

Maintainability
A
0 mins
Test Coverage
import * as React from "react";

const FileIcon = ({ filled = false, icon }) => (
  <svg width="85" height="87" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path
      d="M70.334 11.366c1.784 0 3.241 1.475 3.241 3.28v65.44c0 1.806-1.457 3.28-3.241 3.28H18.817c-1.785 0-3.242-1.474-3.242-3.28v-65.44c0-1.805 1.457-3.28 3.242-3.28h51.517z"
      fill="#FFA26E"
    />
    <path
      d="M66.264 9.63a3.136 3.136 0 013.129 3.13v62.41a3.136 3.136 0 01-3.13 3.13H16.536a3.136 3.136 0 01-3.129-3.13V12.76a3.136 3.136 0 013.13-3.13h49.728zm0-1.405H16.535A4.546 4.546 0 0012 12.76v62.41a4.546 4.546 0 004.535 4.536h49.729a4.546 4.546 0 004.535-4.535V12.76a4.546 4.546 0 00-4.535-4.535z"
      fill="#581166"
    />
    <path
      d="M62.493 14.799v58.333H20.306V14.799h42.187zm1.055-1.406H19.25a.353.353 0 00-.352.351v60.442c0 .194.159.352.352.352h44.297a.353.353 0 00.351-.352V13.744a.353.353 0 00-.351-.351z"
      fill="#581166"
    />
    <path d="M62.493 14.799V73.14H20.306V14.799h42.187z" fill={filled ? "#FFEDE6" : "#FFA26E"} />
    <path
      d="M41.355 2.406a7.752 7.752 0 017.366 5.309l.316.967h3.296v6.758H30.36V8.682h3.296l.317-.967a7.79 7.79 0 017.383-5.309zm0-1.406a9.17 9.17 0 00-8.7 6.275h-3.692v9.572h24.785v-9.58h-3.691A9.174 9.174 0 0041.355 1z"
      fill="#581166"
    />
    <path d="M41.355 2.406a7.752 7.752 0 017.366 5.309l.316.967h3.296v6.758H30.36V8.682h3.296l.317-.967a7.79 7.79 0 017.383-5.309z" fill="#FF5855" />
    <path d="M39.747 8.919a1.608 1.608 0 103.217 0 1.608 1.608 0 00-3.217 0z" fill="#fff" />
    <path
      d="M55.857 57.25H26.854a.705.705 0 00-.704.703c0 .387.317.703.704.703h29.003a.705.705 0 00.703-.703.705.705 0 00-.703-.703zm0 5.098H26.854a.705.705 0 00-.704.703c0 .386.317.703.704.703h29.003a.705.705 0 00.703-.703.705.705 0 00-.703-.703zM39.554 43.803h-12.7a.705.705 0 00-.704.703c0 .387.317.703.704.703h12.7a.705.705 0 00.703-.703.705.705 0 00-.703-.703zm0 5.097h-12.7a.705.705 0 00-.704.703c0 .387.317.704.704.704h12.7a.705.705 0 00.703-.704.705.705 0 00-.703-.703z"
      fill={filled ? "#581166" : "#FFA26E"}
    />
    <path d="M66.575 49.877v-6.198M66.575 41.023v-2.657" stroke="#fff" strokeWidth="2" strokeLinecap="round" />
    <path
      d="M26 73.5C26 80.404 20.404 86 13.5 86S1 80.404 1 73.5a12.412 12.412 0 011.389-5.732 12.537 12.537 0 016.944-6.057A12.478 12.478 0 0113.5 61C20.404 61 26 66.596 26 73.5z"
      fill="#fff"
    />
    <path
      d="M4.619 64.704a12.555 12.555 0 00-1.627 2.023m4.027-3.918A12.442 12.442 0 0113.5 61C20.404 61 26 66.596 26 73.5S20.404 86 13.5 86 1 80.404 1 73.5a12.602 12.602 0 01.558-3.704"
      stroke="#581166"
      strokeWidth="1.3"
      strokeLinecap="round"
    />
    {icon === "autotest" && (
      <path
        d="M8.379 69.212a3 3 0 000 4.243l5.121 5.121 5.121-5.121a3 3 0 00-4.242-4.243l-.879.879-.879-.879a3 3 0 00-4.242 0z"
        fill="#FFCBAE"
        stroke="#581166"
        strokeWidth="1.2"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
    )}
    {icon === "image" && (
      <>
        <path
          d="M6.75 70.75a1.5 1.5 0 011.5-1.5h.697a1.5 1.5 0 001.248-.668l.61-.914A1.5 1.5 0 0112.053 67h2.894c.502 0 .97.25 1.248.668l.61.914a1.5 1.5 0 001.248.668h.697a1.5 1.5 0 011.5 1.5v6.75a1.5 1.5 0 01-1.5 1.5H8.25a1.5 1.5 0 01-1.5-1.5v-6.75z"
          fill="#FFCBAE"
        />
        <path d="M15.75 73.75a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z" fill="#FFCBAE" />
        <path
          d="M6.75 70.75a1.5 1.5 0 011.5-1.5h.697a1.5 1.5 0 001.248-.668l.61-.914A1.5 1.5 0 0112.053 67h2.894c.502 0 .97.25 1.248.668l.61.914a1.5 1.5 0 001.248.668h.697a1.5 1.5 0 011.5 1.5v6.75a1.5 1.5 0 01-1.5 1.5H8.25a1.5 1.5 0 01-1.5-1.5v-6.75z"
          stroke="#581166"
          strokeWidth="1.2"
          strokeLinecap="round"
          strokeLinejoin="round"
        />
        <path d="M15.75 73.75a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z" stroke="#581166" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round" />
      </>
    )}
    {icon === "sanitaire" && (
      <>
        <path
          d="M70.3338 11.3662C72.1184 11.3662 73.5752 12.8407 73.5752 14.6469V80.0855C73.5752 81.8917 72.1184 83.3662 70.3338 83.3662H18.8166C17.032 83.3662 15.5752 81.8917 15.5752 80.0855V14.6469C15.5752 12.8407 17.032 11.3662 18.8166 11.3662H70.3338Z"
          fill="#FFA26E"
        />
        <path
          d="M66.2637 9.63086C67.9863 9.63086 69.3926 11.0371 69.3926 12.7598V75.1709C69.3926 76.8936 67.9863 78.2998 66.2637 78.2998H16.5352C14.8125 78.2998 13.4062 76.8936 13.4062 75.1709V12.7598C13.4062 11.0371 14.8125 9.63086 16.5352 9.63086H66.2637ZM66.2637 8.22461H16.5352C14.0391 8.22461 12 10.2637 12 12.7598V75.1709C12 77.667 14.0391 79.7061 16.5352 79.7061H66.2637C68.7598 79.7061 70.7988 77.667 70.7988 75.1709V12.7598C70.7988 10.2637 68.7598 8.22461 66.2637 8.22461Z"
          fill="#581166"
        />
        <path
          d="M62.4932 14.7988V73.1318H20.3057V14.7988H62.4932ZM63.5479 13.3926H19.251C19.0576 13.3926 18.8994 13.5508 18.8994 13.7441V74.1865C18.8994 74.3799 19.0576 74.5381 19.251 74.5381H63.5479C63.7412 74.5381 63.8994 74.3799 63.8994 74.1865V13.7441C63.8994 13.5508 63.7412 13.3926 63.5479 13.3926Z"
          fill="#581166"
        />
        <path d="M62.4932 14.7988V73.1406H20.3057V14.7988H62.4932Z" fill="#FFEDE6" />
        <path
          d="M41.3555 2.40625C44.7041 2.40625 47.666 4.54199 48.7207 7.71484L49.0371 8.68164H52.333V15.4404H30.3604V8.68164H33.6562L33.9727 7.71484C35.0449 4.54199 38.0068 2.40625 41.3555 2.40625ZM41.3555 1C37.3037 1 33.8672 3.62793 32.6543 7.27539H28.9629V16.8467H53.748V7.2666H50.0566C48.8437 3.62793 45.4072 1 41.3555 1V1Z"
          fill="#581166"
        />
        <path
          d="M41.3555 2.40625C44.7041 2.40625 47.666 4.54199 48.7207 7.71484L49.0371 8.68164H52.333V15.4404H30.3604V8.68164H33.6563L33.9727 7.71484C35.0449 4.54199 38.0068 2.40625 41.3555 2.40625Z"
          fill="#FF5855"
        />
        <path
          d="M39.7471 8.91895C39.7471 9.34552 39.9165 9.75462 40.2182 10.0563C40.5198 10.3579 40.9289 10.5273 41.3555 10.5273C41.782 10.5273 42.1911 10.3579 42.4928 10.0563C42.7944 9.75462 42.9639 9.34552 42.9639 8.91895C42.9639 8.70773 42.9223 8.49858 42.8414 8.30344C42.7606 8.1083 42.6421 7.93099 42.4928 7.78164C42.3434 7.63228 42.1661 7.51381 41.971 7.43298C41.7758 7.35215 41.5667 7.31055 41.3555 7.31055C41.1443 7.31055 40.9351 7.35215 40.74 7.43298C40.5448 7.51381 40.3675 7.63228 40.2182 7.78164C40.0688 7.93099 39.9503 8.1083 39.8695 8.30344C39.7887 8.49858 39.7471 8.70773 39.7471 8.91895V8.91895Z"
          fill="white"
        />
        <path
          d="M55.8574 57.25H26.8535C26.4668 57.25 26.1504 57.5664 26.1504 57.9531C26.1504 58.3398 26.4668 58.6563 26.8535 58.6563H55.8574C56.2441 58.6563 56.5605 58.3398 56.5605 57.9531C56.5605 57.5664 56.2441 57.25 55.8574 57.25ZM55.8574 62.3477H26.8535C26.4668 62.3477 26.1504 62.6641 26.1504 63.0508C26.1504 63.4375 26.4668 63.7539 26.8535 63.7539H55.8574C56.2441 63.7539 56.5605 63.4375 56.5605 63.0508C56.5605 62.6641 56.2441 62.3477 55.8574 62.3477ZM39.5537 43.8027H26.8535C26.4668 43.8027 26.1504 44.1191 26.1504 44.5059C26.1504 44.8926 26.4668 45.209 26.8535 45.209H39.5537C39.9404 45.209 40.2568 44.8926 40.2568 44.5059C40.2568 44.1191 39.9404 43.8027 39.5537 43.8027ZM39.5537 48.9004H26.8535C26.4668 48.9004 26.1504 49.2168 26.1504 49.6035C26.1504 49.9902 26.4668 50.3066 26.8535 50.3066H39.5537C39.9404 50.3066 40.2568 49.9902 40.2568 49.6035C40.2568 49.2168 39.9404 48.9004 39.5537 48.9004Z"
          fill="#581166"
        />
        <path d="M66.5752 49.877L66.5752 43.6791" stroke="white" strokeWidth="2" strokeLinecap="round" />
        <path d="M66.5752 41.0225L66.5752 38.3662" stroke="white" strokeWidth="2" strokeLinecap="round" />
        <path
          d="M26 73.5C26 80.4036 20.4036 86 13.5 86C6.59644 86 1 80.4036 1 73.5C1 72.8708 1.04649 72.2524 1.13623 71.6481C1.34115 70.2682 1.7716 68.9619 2.38889 67.7678C2.97486 66.6342 3.72921 65.6019 4.61883 64.7037C5.33648 63.9792 6.14217 63.342 7.01852 62.8095C7.74487 62.3682 8.51978 61.9988 9.33333 61.7113C10.6366 61.2506 12.039 61 13.5 61C20.4036 61 26 66.5964 26 73.5Z"
          fill="white"
        />
        <path
          d="M4.61883 64.7037C4.00977 65.3186 3.46411 65.9964 2.99248 66.7266M7.01852 62.8095C7.74487 62.3682 8.51978 61.9988 9.33333 61.7113C9.63677 61.604 9.94558 61.5082 10.2593 61.4242C11.2928 61.1475 12.3792 61 13.5 61C20.4036 61 26 66.5964 26 73.5C26 80.4036 20.4036 86 13.5 86C6.59644 86 1 80.4036 1 73.5C1 72.8708 1.04649 72.2524 1.13623 71.6481C1.23039 71.0141 1.37217 70.3955 1.55781 69.7963"
          stroke="#581166"
          strokeWidth="1.3"
          strokeLinecap="round"
        />
        <path
          d="M20.3225 69.7375C20.1605 69.7457 19.9974 69.7499 19.8333 69.7499C17.4002 69.7499 15.1807 68.8351 13.4999 67.3308C11.8192 68.8351 9.59976 69.7498 7.16667 69.7498C7.00261 69.7498 6.83953 69.7456 6.67752 69.7374C6.48006 70.5002 6.375 71.3003 6.375 72.1249C6.375 76.5515 9.40259 80.271 13.5 81.3256C17.5974 80.271 20.625 76.5515 20.625 72.1249C20.625 71.3003 20.52 70.5003 20.3225 69.7375Z"
          fill="#FFCBAE"
        />
        <path
          d="M11.125 74.4999L12.7083 76.0832L15.875 72.9166M20.3225 69.7375C20.1605 69.7457 19.9974 69.7499 19.8333 69.7499C17.4002 69.7499 15.1807 68.8351 13.4999 67.3308C11.8192 68.8351 9.59976 69.7498 7.16667 69.7498C7.00261 69.7498 6.83953 69.7456 6.67752 69.7374C6.48006 70.5002 6.375 71.3003 6.375 72.1249C6.375 76.5515 9.40259 80.271 13.5 81.3256C17.5974 80.271 20.625 76.5515 20.625 72.1249C20.625 71.3003 20.52 70.5003 20.3225 69.7375Z"
          stroke="#581166"
          strokeWidth="1.2"
          strokeLinecap="round"
          strokeLinejoin="round"
        />
      </>
    )}
    {icon === "reglement" && (
      <>
        <rect x="8.719" y="68.188" width="9.563" height="11.688" rx="1" fill="#FFCBAE" />
        <path d="M11.375 68.542c0-.783.634-1.417 1.417-1.417h1.416a1.417 1.417 0 010 2.833h-1.416a1.417 1.417 0 01-1.417-1.416z" fill="#FFCBAE" />
        <path
          d="M11.8 74.492a.6.6 0 00-.85.849l.85-.849zm.992 1.841l-.425.425a.6.6 0 00.849 0l-.424-.425zm3.257-2.409a.6.6 0 00-.848-.848l.848.848zm1.81-3.966v8.5h1.2v-8.5h-1.2zm-.817 9.317H9.958v1.2h7.084v-1.2zm-7.9-.817v-8.5h-1.2v8.5h1.2zm.816-9.316h1.417v-1.2H9.958v1.2zm5.667 0h1.417v-1.2h-1.417v1.2zM9.958 79.275a.817.817 0 01-.816-.817h-1.2c0 1.114.903 2.017 2.016 2.017v-1.2zm7.9-.817a.817.817 0 01-.816.817v1.2a2.017 2.017 0 002.016-2.017h-1.2zm1.2-8.5a2.017 2.017 0 00-2.016-2.016v1.2c.45 0 .816.365.816.816h1.2zm-9.916 0c0-.45.365-.816.816-.816v-1.2a2.017 2.017 0 00-2.016 2.016h1.2zm1.809 5.383l1.416 1.417.849-.849-1.417-1.417-.848.849zm2.265 1.417l2.833-2.834-.848-.848-2.834 2.833.849.849zm-.424-9.033h1.416v-1.2h-1.416v1.2zm1.416 1.633h-1.416v1.2h1.416v-1.2zm-1.416 0a.817.817 0 01-.817-.816h-1.2c0 1.113.903 2.016 2.017 2.016v-1.2zm2.233-.816a.817.817 0 01-.817.816v1.2a2.017 2.017 0 002.017-2.016h-1.2zm-.817-.817c.451 0 .817.366.817.817h1.2a2.017 2.017 0 00-2.017-2.017v1.2zm-1.416-1.2a2.017 2.017 0 00-2.017 2.017h1.2c0-.451.366-.817.817-.817v-1.2z"
          fill="#581166"
        />
      </>
    )}
  </svg>
);

export default FileIcon;