Fix layouts on all onboarding screens; Add Cesium import (wallet list view is broken)

This commit is contained in:
poka 2021-03-01 04:48:28 +01:00
parent 42482fb579
commit 1be9b2c44a
14 changed files with 747 additions and 822 deletions

430
assets/cesium_bw2.svg Normal file
View File

@ -0,0 +1,430 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:bx="https://boxy-svg.com"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="logo-cesium-niveaux-de-gris-1.svg"
id="svg57"
version="1.1"
viewBox="0 0 500 500"
height="512px"
width="512px"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<metadata
id="metadata63">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs61">
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter2515">
<feColorMatrix
values="-0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 0 0 0 1 0 "
id="feColorMatrix2513"
result="fbSourceGraphic" />
<feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix2529" />
<feColorMatrix
id="feColorMatrix2531"
values="-0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter2519">
<feColorMatrix
values="-0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 0 0 0 1 0 "
id="feColorMatrix2517"
result="fbSourceGraphic" />
<feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix2533" />
<feColorMatrix
id="feColorMatrix2535"
values="-0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter2523">
<feColorMatrix
values="-0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 0 0 0 1 0 "
id="feColorMatrix2521"
result="fbSourceGraphic" />
<feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix2537" />
<feColorMatrix
id="feColorMatrix2539"
values="-0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter2527">
<feColorMatrix
values="-0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 0 0 0 1 0 "
id="feColorMatrix2525"
result="fbSourceGraphic" />
<feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix2541" />
<feColorMatrix
id="feColorMatrix2543"
values="-0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 -0.32 1.41 0.04 -0.11 0 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1360"
inkscape:window-height="743"
id="namedview59"
showgrid="false"
inkscape:zoom="0.4609375"
inkscape:cx="12.644173"
inkscape:cy="265.13276"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg57" />
<path
d="M 390.992 122.276 C 418.209 157.183 434.924 200.278 441.202 248.24 C 441.187 276.711 435.71 305.292 425.308 333.282 C 371.101 416.727 274.951 449.213 167.669 434.279 C 136.406 416.036 109.009 390.076 86.272 358.016 C 67.778 323.794 57.942 284.4 56.489 242.062 C 62.206 199.766 79.617 161.912 106.301 129.617 C 162.524 85.439 239.03 70.181 321.968 82.52 C 345.508 92.535 368.657 105.883 390.992 122.276 Z"
style="fill:rgb(255, 255, 255);filter:url(#filter2515)"
bx:origin="0 0"
id="path2" />
<g
transform="matrix(0.517848,0,0,0.517848,-53.306625,-599.93121)"
style="opacity:1;filter:url(#filter2519)"
id="g26">
<g
id="g-14"
style="display:inline;opacity:0.5"
transform="translate(144.57072,1007.0994)">
<path
style="display:inline;fill:#ffd086;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 585.16992,524.91211 C 447.41745,738.84015 285.93093,797.68142 93.347656,801.03711 158.66452,921.84083 287.20038,1003.1698 434.03906,1001.2559 607.56851,998.99446 752.51317,881.18488 796.65234,721.9668 c -2.6864,-6.57764 -6.20106,-13.62037 -10.8164,-21.13477 C 768.68987,677.03878 709.10478,568.47721 585.16992,524.91211 Z"
id="path-102"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill:#270b0b;fill-opacity:0.99393939;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 586.254,524.115 c -21.572,126.338 -108.28,230.357 -87.67,311.487 26.064,102.597 -79.126,125.913 -164.611,153.74 31.95,8.203 65.502,12.364 100.066,11.914 200.013,-2.607 362.054,-158.72 375.522,-354.817 -16.364,-4.662 -32.136,-11.75 -42.838,-23.693 -32.688,-36.474 -116.606,-76.182 -180.469,-98.631 z"
id="path-103"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill:#cb8903;fill-opacity:0.99393897;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 586.254,524.115 c -21.572,126.338 -108.28,230.357 -87.67,311.487 26.064,102.597 -79.126,125.913 -164.611,153.74 31.95,8.203 65.502,12.364 100.066,11.914 200.013,-2.607 362.054,-158.72 375.522,-354.817 -16.364,-4.662 -32.136,-11.75 -42.838,-23.693 -32.688,-36.474 -116.606,-76.182 -180.469,-98.631 z"
id="path-104"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
</g>
<g
id="g-15"
style="display:inline;opacity:0.5"
transform="translate(144.57072,1007.0994)">
<rect
x="504.26501"
y="500.28699"
width="23.492001"
height="25.527"
style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-105" />
<rect
x="369.17401"
y="415.42899"
width="22.384001"
height="24.419001"
style="display:inline;opacity:1;fill:#ffd086;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-106" />
<rect
x="418.995"
y="433.01901"
width="30.524"
height="30.524"
style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-107" />
<rect
x="417.34"
y="652.55603"
width="46.803001"
height="46.803001"
style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-108" />
<rect
x="422.586"
y="475.89099"
width="30.524"
height="30.524"
style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-109" />
<rect
x="472.61801"
y="605.45697"
width="24.419001"
height="26.454"
style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-110" />
<rect
x="520.77197"
y="557.90198"
width="18.313999"
height="18.313999"
style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-111" />
<rect
x="454.784"
y="563.02802"
width="30.524"
height="30.524"
style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-112" />
<rect
x="335.34201"
y="720.987"
width="38.662998"
height="40.698002"
style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-113" />
<rect
x="371.97"
y="661.97498"
width="26.454"
height="30.524"
style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-114" />
<rect
x="-427.92999"
y="610.08502"
width="24.507"
height="24.419001"
style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-115"
transform="scale(-1,1)" />
<rect
x="480.41101"
y="523.46899"
width="20.349001"
height="22.384001"
style="display:inline;opacity:1;fill:#ffd086;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-116" />
<rect
x="-499.5"
y="466.314"
width="24.507"
height="24.419001"
style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
id="path-117"
transform="scale(-1,1)" />
</g>
<g
id="g-16"
style="display:inline;opacity:1"
transform="translate(144.57072,1007.0994)">
<path
style="display:inline;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ff7a00;stroke-width:2.34888005;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 585.16992,524.91211 C 447.41745,738.84015 285.93093,797.68142 93.347656,801.03711 158.66452,921.84083 287.20038,1003.1698 434.03906,1001.2559 607.56851,998.99446 752.51317,881.18488 796.65234,721.9668 c -2.6864,-6.57764 -6.20106,-13.62037 -10.8164,-21.13477 C 768.68987,677.03878 709.10478,568.47721 585.16992,524.91211 Z"
id="path-118"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill:none;fill-opacity:0.99393897;fill-rule:evenodd;stroke:#ff7a00;stroke-width:2.34888005;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 586.254,524.115 c -21.572,126.338 -108.28,230.357 -87.67,311.487 26.064,102.597 -79.126,125.913 -164.611,153.74 31.95,8.203 65.502,12.364 100.066,11.914 200.013,-2.607 362.054,-158.72 375.522,-354.817 -16.364,-4.662 -32.136,-11.75 -42.838,-23.693 -32.688,-36.474 -116.606,-76.182 -180.469,-98.631 z"
id="path-119"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill:none;fill-opacity:0.99393897;fill-rule:evenodd;stroke:#ff7a00;stroke-width:2.34888005;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 586.254,524.115 c -21.572,126.338 -108.28,230.357 -87.67,311.487 26.064,102.597 -79.126,125.913 -164.611,153.74 31.95,8.203 65.502,12.364 100.066,11.914 200.013,-2.607 362.054,-158.72 375.522,-354.817 -16.364,-4.662 -32.136,-11.75 -42.838,-23.693 -32.688,-36.474 -116.606,-76.182 -180.469,-98.631 z"
id="path-120"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
</g>
</g>
<g
transform="matrix(0.608261,0,0,0.608261,-20.084976,3.255736)"
id="g53"
style="filter:url(#filter2523)">
<g
id="g43">
<path
style="display:inline;opacity:0.77999998;fill:#40b2ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path-10"
d="m 419.133,85.738 c -1.838,0.001 -3.678,0.016 -5.522,0.04 C 354.852,86.561 299.023,99.174 248.358,121.32 584.121,13.206 796.175,211.26 831.7,508.773 l 14.683,-1.649 C 815.586,235.801 652.477,85.588 419.133,85.738 Z"
transform="rotate(15.478579,547.3704,260.98857)"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<path
style="display:inline;opacity:1;fill:#40b2ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path-3"
d="m 146.037,194.065 c -1.836,0.001 -3.676,0.016 -5.52,0.039 -58.757,0.784 -114.586,13.399 -165.253,35.544 335.765,-108.117 547.819,89.935 583.34,387.445 l 14.68,-1.65 C 542.49,344.122 379.385,193.913 146.037,194.065 Z"
transform="rotate(-100.42732,274.27402,369.3121)"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<path
style="display:inline;opacity:0.4;fill:#40b2ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path-11"
d="m 487.744,193.084 c -1.838,0.001 -3.677,0.016 -5.521,0.039 -58.759,0.784 -114.588,13.397 -165.248,35.545 335.751,-108.116 547.8,89.937 583.324,387.441 l 14.68,-1.649 C 884.184,343.144 721.081,192.935 487.744,193.084 Z"
transform="matrix(0.619997,0.784605,-0.784605,0.619997,523.06723,-343.33154)"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<path
style="display:inline;opacity:0.83999999;fill:#40b2ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path-12"
d="m 295.969,432.757 c -1.838,10e-4 -3.676,0.016 -5.52,0.04 -58.761,0.783 -114.589,13.397 -165.251,35.544 335.759,-108.115 547.807,89.939 583.328,387.445 l 14.681,-1.647 C 692.412,582.819 529.31,432.609 295.969,432.757 Z"
transform="rotate(168.19485,424.20239,608.00613)"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<path
style="display:inline;opacity:0.4;fill:#40b2ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path-13"
d="m 158.036,148.83 c -1.836,0.003 -3.676,0.016 -5.52,0.042 -58.757,0.781 -114.586,13.395 -165.25,35.539 335.756,-108.11 547.81,89.941 583.338,387.446 l 14.682,-1.649 C 554.483,298.891 391.38,148.683 158.036,148.83 Z"
transform="matrix(0.338614,-0.940926,0.940926,0.338614,-115.59516,483.70598)"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<path
style="display:inline;opacity:1;fill:#40b2ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path-14"
d="m 501.019,288.292 c -1.838,0.001 -3.679,0.016 -5.523,0.039 -58.76,0.784 -114.588,13.395 -165.253,35.543 335.761,-108.117 547.819,89.938 583.343,387.448 l 14.682,-1.649 C 897.468,438.352 734.361,288.141 501.019,288.292 Z"
transform="rotate(80.522748,629.25553,463.53928)"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<path
style="display:inline;opacity:0.4;fill:#40b2ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path-15"
d="m 192.954,376.521 c -1.839,10e-4 -3.677,0.016 -5.521,0.04 -58.759,0.783 -114.588,13.397 -165.252,35.542 335.759,-108.114 547.806,89.942 583.324,387.45 l 14.683,-1.648 C 589.392,526.584 426.295,376.369 192.954,376.521 Z"
transform="rotate(-158.65469,321.18448,551.77089)"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<path
style="display:inline;opacity:1;fill:#40b2ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path-16"
d="m 221.614,63.973 c -1.837,0.003 -3.676,0.017 -5.52,0.042 -58.76,0.78 -114.588,13.394 -165.253,35.539 335.757,-108.113 547.81,89.943 583.332,387.447 l 14.681,-1.647 C 618.058,214.037 454.954,63.824 221.614,63.973 Z"
transform="rotate(-41.370455,349.84779,239.221)"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<path
style="display:inline;opacity:0.4;fill:#40b2ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path-17"
d="m 441.888,342.098 c -1.841,0 -3.681,0.016 -5.526,0.04 -58.761,0.784 -114.597,13.397 -165.259,35.543 335.783,-108.114 547.841,89.934 583.359,387.452 l 14.68,-1.65 C 838.354,492.154 675.242,341.948 441.888,342.098 Z"
transform="rotate(110.89043,570.12262,517.34992)"
bx:origin="0.5 0.5"
inkscape:connector-curvature="0" />
<g
transform="matrix(0.762493,0,0,0.762493,19.294647,-716.32281)"
id="g41">
<path
d="m 566.466,1089.137 v 59.085 c -0.599,0 -1.199,0 -1.799,0 -3.186,0 -6.357,0.042 -9.513,0.124 v -59.204 z m 341.824,388.009 h 48.697 v 11.312 h -48.418 c -0.03,-3.765 -0.122,-7.536 -0.279,-11.312 z m -341.824,357.867 v 41.454 h -11.312 v -41.581 c 3.164,0.087 6.336,0.131 9.513,0.131 0.6,0 1.2,-10e-4 1.799,0 z M 220.775,1488.458 h -51.118 v -11.312 h 51.432 c -0.168,3.763 -0.273,7.534 -0.314,11.312 z"
style="fill:#402800;stroke:none"
bx:origin="0 0"
id="path37"
inkscape:connector-curvature="0" />
<path
d="m 760.121,1143.311 -42.785,74.106 c -1.616,-0.899 -3.24,-1.785 -4.871,-2.656 l 42.853,-74.224 z m 70.001,180.892 70.302,-40.589 2.774,4.803 -70.158,40.506 c -0.96,-1.584 -1.933,-3.157 -2.918,-4.72 z m 10.477,316.934 62.598,36.141 -2.773,4.804 -62.513,-36.092 c 0.91,-1.61 1.806,-3.228 2.688,-4.853 z m -115.431,120.706 34.954,60.542 -4.804,2.773 -34.939,-60.517 c 1.606,-0.919 3.203,-1.852 4.789,-2.798 z m -321.63,-0.911 -37.082,64.227 -4.803,-2.773 37.149,-64.344 c 1.57,0.977 3.149,1.94 4.736,2.89 z m -113.958,-118.243 -68.23,39.393 -2.773,-4.803 68.367,-39.472 c 0.863,1.63 1.741,3.258 2.636,4.882 z m 4.774,-310.521 -75.778,-43.751 2.774,-4.803 75.863,43.8 c -0.967,1.576 -1.92,3.161 -2.859,4.754 z m 111.725,-111.909 -44.426,-76.948 4.804,-2.774 44.432,76.958 c -1.613,0.908 -3.216,1.829 -4.81,2.764 z"
style="fill:#402800;stroke:none"
bx:origin="0 0"
id="path39"
inkscape:connector-curvature="0" />
</g>
</g>
<rect
x="429.367"
y="425.979"
width="20.003"
height="21.735001"
style="display:inline;opacity:1;fill:#5096c8;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607801"
id="path-91"
transform="matrix(1,0,0,0.999999,-301.37707,-219.49843)" />
<rect
x="446.853"
y="25.462"
width="25.99"
height="25.99"
style="display:inline;opacity:1;fill:#5096c8;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607801"
id="path-93" />
<rect
x="-135.95599"
y="605.14099"
width="39.851002"
height="39.851002"
style="display:inline;opacity:1;fill:#5096c8;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607801"
id="path-94"
transform="matrix(0.999999,0,0,1,846.17676,-394.95602)" />
<rect
x="225.77901"
y="689.836"
width="25.99"
height="25.99"
style="display:inline;opacity:1;fill:#5096c8;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607801"
id="path-95" />
<rect
x="594.013"
y="737.14203"
width="20.792"
height="22.525"
style="display:inline;opacity:1;fill:#5096c8;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607801"
id="path-96" />
<rect
x="387.23499"
y="479.397"
width="25.99"
height="25.99"
style="display:inline;opacity:1;fill:#5096c8;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607801"
id="path-98"
transform="matrix(1.000001,0,0,0.999999,365.27497,79.295241)" />
<rect
x="421.96201"
y="775.93701"
width="32.919998"
height="34.653"
style="display:inline;opacity:1;fill:#5096c8;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607801"
id="path-99" />
<rect
x="-66.939003"
y="-568.97803"
width="20.867001"
height="20.792"
style="display:inline;opacity:1;fill:#5096c8;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607801"
id="path-101"
transform="matrix(-1,0,0,0.999997,31.356928,984.73631)" />
</g>
<path
d="m 154.526,230.66 c -5.725,0 -10.247,1.908 -13.564,5.723 -3.314,3.812 -4.97,9.034 -4.97,15.663 0,6.817 1.599,12.084 4.793,15.803 3.196,3.718 7.751,5.577 13.668,5.577 3.633,0 7.779,-0.653 12.439,-1.958 v 5.31 c -3.613,1.355 -8.067,2.03 -13.364,2.03 -7.675,0 -13.599,-2.326 -17.767,-6.981 -4.171,-4.66 -6.259,-11.277 -6.259,-19.855 0,-5.368 1.005,-10.073 3.017,-14.11 2.007,-4.039 4.905,-7.152 8.691,-9.338 3.792,-2.185 8.253,-3.277 13.383,-3.277 5.467,0 10.242,0.996 14.331,2.991 l -2.568,5.201 c -3.945,-1.853 -7.887,-2.779 -11.83,-2.779 z m 38.942,48.148 c -5.776,0 -10.332,-1.757 -13.669,-5.273 -3.337,-3.514 -5.005,-8.398 -5.005,-14.646 0,-6.297 1.548,-11.301 4.646,-15.006 3.102,-3.707 7.267,-5.56 12.493,-5.56 4.896,0 8.768,1.611 11.619,4.831 2.851,3.22 4.276,7.467 4.276,12.741 v 3.741 h -26.903 c 0.118,4.588 1.275,8.068 3.473,10.445 2.198,2.377 5.292,3.565 9.281,3.565 4.206,0 8.365,-0.883 12.476,-2.64 v 5.273 c -2.092,0.904 -4.071,1.553 -5.936,1.946 -1.862,0.39 -4.111,0.583 -6.751,0.583 m -1.607,-35.533 c -3.135,0 -5.634,1.021 -7.499,3.066 -1.865,2.042 -2.965,4.871 -3.297,8.485 h 20.424 c 0,-3.73 -0.832,-6.588 -2.498,-8.57 -1.664,-1.988 -4.039,-2.981 -7.13,-2.981 z m 50.897,24.165 c 0,3.638 -1.356,6.442 -4.063,8.412 -2.709,1.972 -6.511,2.956 -11.406,2.956 -5.179,0 -9.217,-0.818 -12.116,-2.456 v -5.486 c 1.877,0.949 3.89,1.697 6.04,2.244 2.149,0.543 4.221,0.814 6.217,0.814 3.089,0 5.465,-0.493 7.128,-1.477 1.663,-0.985 2.494,-2.488 2.494,-4.508 0,-1.52 -0.66,-2.821 -1.976,-3.904 -1.319,-1.079 -3.891,-2.355 -7.714,-3.826 -3.637,-1.356 -6.221,-2.536 -7.755,-3.547 -1.533,-1.01 -2.672,-2.156 -3.418,-3.443 -0.752,-1.281 -1.125,-2.812 -1.125,-4.598 0,-3.184 1.296,-5.694 3.887,-7.536 2.586,-1.84 6.138,-2.762 10.656,-2.762 4.205,0 8.316,0.856 12.33,2.569 l -2.105,4.809 c -3.917,-1.617 -7.47,-2.426 -10.657,-2.426 -2.802,0 -4.917,0.44 -6.344,1.319 -1.424,0.881 -2.134,2.094 -2.134,3.638 0,1.045 0.266,1.936 0.802,2.67 0.536,0.737 1.396,1.44 2.586,2.104 1.182,0.666 3.463,1.63 6.841,2.889 4.632,1.688 7.759,3.383 9.387,5.091 1.629,1.713 2.445,3.863 2.445,6.454 z m 15.233,10.657 h -5.917 v -39.061 h 5.917 v 39.061 m -6.417,-49.646 c 0,-1.354 0.333,-2.345 0.998,-2.974 0.665,-0.633 1.495,-0.949 2.493,-0.949 0.954,0 1.776,0.323 2.464,0.967 0.689,0.64 1.034,1.626 1.034,2.956 0,1.33 -0.345,2.322 -1.034,2.975 -0.688,0.653 -1.51,0.979 -2.464,0.979 -0.998,0 -1.828,-0.326 -2.493,-0.979 -0.665,-0.653 -0.998,-1.645 -0.998,-2.975 z m 24.359,10.585 v 25.339 c 0,3.183 0.725,5.56 2.176,7.129 1.449,1.569 3.719,2.354 6.809,2.354 4.086,0 7.073,-1.117 8.963,-3.351 1.888,-2.234 2.831,-5.882 2.831,-10.943 v -20.528 h 5.918 v 39.061 h -4.885 l -0.852,-5.236 h -0.323 c -1.211,1.921 -2.891,3.393 -5.041,4.416 -2.149,1.021 -4.603,1.531 -7.36,1.531 -4.752,0 -8.311,-1.126 -10.676,-3.38 -2.363,-2.259 -3.546,-5.872 -3.546,-10.84 v -25.552 z m 88.64,39.061 v -25.412 c 0,-3.112 -0.664,-5.444 -1.995,-7.003 -1.33,-1.556 -3.398,-2.335 -6.204,-2.335 -3.682,0 -6.403,1.059 -8.163,3.175 -1.756,2.114 -2.634,5.369 -2.634,9.764 v 21.811 h -5.917 v -25.412 c 0,-3.112 -0.667,-5.444 -1.996,-7.003 -1.329,-1.556 -3.409,-2.335 -6.235,-2.335 -3.707,0 -6.421,1.111 -8.145,3.334 -1.724,2.222 -2.584,5.865 -2.584,10.925 v 20.491 h -5.919 v -39.061 h 4.812 l 0.961,5.346 h 0.286 c 1.118,-1.903 2.695,-3.385 4.726,-4.452 2.032,-1.07 4.306,-1.607 6.825,-1.607 6.106,0 10.099,2.21 11.976,6.631 h 0.28 c 1.168,-2.045 2.854,-3.66 5.06,-4.848 2.211,-1.188 4.731,-1.783 7.562,-1.783 4.415,0 7.722,1.137 9.92,3.408 2.198,2.266 3.296,5.894 3.296,10.887 v 25.479 z"
style="text-transform:none;display:none;opacity:1;isolation:auto;fill:#402800;filter:url(#filter2527)"
bx:origin="0.5 0.5"
id="path55"
inkscape:connector-curvature="0" />
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

57
assets/cesium_small.svg Normal file
View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:bx="https://boxy-svg.com" width="30px" height="30px" viewBox="0 0 500 500">
<path d="M 390.992 122.276 C 418.209 157.183 434.924 200.278 441.202 248.24 C 441.187 276.711 435.71 305.292 425.308 333.282 C 371.101 416.727 274.951 449.213 167.669 434.279 C 136.406 416.036 109.009 390.076 86.272 358.016 C 67.778 323.794 57.942 284.4 56.489 242.062 C 62.206 199.766 79.617 161.912 106.301 129.617 C 162.524 85.439 239.03 70.181 321.968 82.52 C 345.508 92.535 368.657 105.883 390.992 122.276 Z" style="fill: rgb(255, 255, 255);"/>
<g transform="matrix(0.517848, 0, 0, 0.517848, -53.306625, -599.931213)" style="opacity: 1;">
<g id="g-14" style="display: inline; opacity: 0.5;" transform="matrix(1, 0, 0, 1, 144.570724, 1007.099426)">
<path style="display:inline;fill:#ffd086;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 585.16992,524.91211 C 447.41745,738.84015 285.93093,797.68142 93.347656,801.03711 158.66452,921.84083 287.20038,1003.1698 434.03906,1001.2559 607.56851,998.99446 752.51317,881.18488 796.65234,721.9668 c -2.6864,-6.57764 -6.20106,-13.62037 -10.8164,-21.13477 C 768.68987,677.03878 709.10478,568.47721 585.16992,524.91211 Z" id="path-102"/>
<path style="display:inline;fill:#270b0b;fill-opacity:0.99393939;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-103"/>
<path style="display: inline; fill: rgb(203, 137, 3); fill-opacity: 0.993939; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-104"/>
</g>
<g id="g-15" style="display: inline; opacity: 0.5;" transform="matrix(1, 0, 0, 1, 144.570724, 1007.099426)">
<rect x="504.265" y="500.287" width="23.492" height="25.527" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-105"/>
<rect x="369.174" y="415.429" width="22.384" height="24.419" style="display:inline;opacity:1;fill:#ffd086;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-106"/>
<rect x="418.995" y="433.019" width="30.524" height="30.524" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-107"/>
<rect x="417.34" y="652.556" width="46.803" height="46.803" style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-108"/>
<rect x="422.586" y="475.891" width="30.524" height="30.524" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-109"/>
<rect x="472.618" y="605.457" width="24.419" height="26.454" style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-110"/>
<rect x="520.772" y="557.902" width="18.314" height="18.314" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-111"/>
<rect x="454.784" y="563.028" width="30.524" height="30.524" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-112"/>
<rect x="335.342" y="720.987" width="38.663" height="40.698" style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-113"/>
<rect x="371.97" y="661.975" width="26.454" height="30.524" style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-114"/>
<rect x="-427.93" y="610.085" width="24.507" height="24.419" style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-115" transform="scale(-1,1)"/>
<rect x="480.411" y="523.469" width="20.349" height="22.384" style="display:inline;opacity:1;fill:#ffd086;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-116"/>
<rect x="-499.5" y="466.314" width="24.507" height="24.419" style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-117" transform="scale(-1,1)"/>
</g>
<g id="g-16" style="display: inline; opacity: 1;" transform="matrix(1.0000000700020495, 0, 0, 1.0000000700020495, 144.57072391079612, 1007.0994398715994)">
<path style="display: inline; fill: none; fill-opacity: 1; fill-rule: evenodd; stroke: rgb(255, 122, 0); stroke-width: 2.34888; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 585.16992,524.91211 C 447.41745,738.84015 285.93093,797.68142 93.347656,801.03711 158.66452,921.84083 287.20038,1003.1698 434.03906,1001.2559 607.56851,998.99446 752.51317,881.18488 796.65234,721.9668 c -2.6864,-6.57764 -6.20106,-13.62037 -10.8164,-21.13477 C 768.68987,677.03878 709.10478,568.47721 585.16992,524.91211 Z" id="path-118"/>
<path style="display: inline; fill: none; fill-opacity: 0.993939; fill-rule: evenodd; stroke: rgb(255, 122, 0); stroke-width: 2.34888; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-119"/>
<path style="display: inline; fill: none; fill-opacity: 0.993939; fill-rule: evenodd; stroke: rgb(255, 122, 0); stroke-width: 2.34888; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-120"/>
</g>
</g>
<g transform="matrix(0.608261, 0, 0, 0.608261, -20.084976, 3.255736)">
<g>
<path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.78;" id="path-10" d="M 419.133 85.738 C 417.295 85.739 415.455 85.754 413.611 85.778 C 354.852 86.561 299.023 99.174 248.358 121.32 C 584.121 13.206 796.175 211.26 831.7 508.773 L 846.383 507.124 C 815.586 235.801 652.477 85.588 419.133 85.738 Z" transform="matrix(0.96373, 0.266878, -0.266878, 0.96373, 89.505231, -136.615061)"/>
<path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 1;" id="path-3" d="M 146.037 194.065 C 144.201 194.066 142.361 194.081 140.517 194.104 C 81.76 194.888 25.931 207.503 -24.736 229.648 C 311.029 121.531 523.083 319.583 558.604 617.093 L 573.284 615.443 C 542.49 344.122 379.385 193.913 146.037 194.065 Z" transform="matrix(-0.180988, -0.983485, 0.983485, -0.180988, -39.298581, 705.897544)"/>
<path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-11" d="M 487.744 193.084 C 485.906 193.085 484.067 193.1 482.223 193.123 C 423.464 193.907 367.635 206.52 316.975 228.668 C 652.726 120.552 864.775 318.605 900.299 616.109 L 914.979 614.46 C 884.184 343.144 721.081 192.935 487.744 193.084 Z" transform="matrix(0.619997, 0.784605, -0.784605, 0.619997, 523.067231, -343.331539)"/>
<path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.84;" id="path-12" d="M 295.969 432.757 C 294.131 432.758 292.293 432.773 290.449 432.797 C 231.688 433.58 175.86 446.194 125.198 468.341 C 460.957 360.226 673.005 558.28 708.526 855.786 L 723.207 854.139 C 692.412 582.819 529.31 432.609 295.969 432.757 Z" transform="matrix(-0.978849, 0.204584, -0.204584, -0.978849, 963.820796, 1116.367293)"/>
<path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-13" d="M 158.036 148.83 C 156.2 148.833 154.36 148.846 152.516 148.872 C 93.759 149.653 37.93 162.267 -12.734 184.411 C 323.022 76.301 535.076 274.352 570.604 571.857 L 585.286 570.208 C 554.483 298.891 391.38 148.683 158.036 148.83 Z" transform="matrix(0.338614, -0.940926, 0.940926, 0.338614, -115.595158, 483.705984)"/>
<path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 1;" id="path-14" d="M 501.019 288.292 C 499.181 288.293 497.34 288.308 495.496 288.331 C 436.736 289.115 380.908 301.726 330.243 323.874 C 666.004 215.757 878.062 413.812 913.586 711.322 L 928.268 709.673 C 897.468 438.352 734.361 288.141 501.019 288.292 Z" transform="matrix(0.164656, 0.986351, -0.986351, 0.164656, 982.857266, -233.452063)"/>
<path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-15" d="M 192.954 376.521 C 191.115 376.522 189.277 376.537 187.433 376.561 C 128.674 377.344 72.845 389.958 22.181 412.103 C 357.94 303.989 569.987 502.045 605.505 799.553 L 620.188 797.905 C 589.392 526.584 426.295 376.369 192.954 376.521 Z" transform="matrix(-0.931404, -0.363988, 0.363988, -0.931404, 419.499006, 1182.599809)"/>
<path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 1;" id="path-16" d="M 221.614 63.973 C 219.777 63.976 217.938 63.99 216.094 64.015 C 157.334 64.795 101.506 77.409 50.841 99.554 C 386.598 -8.559 598.651 189.497 634.173 487.001 L 648.854 485.354 C 618.058 214.037 454.954 63.824 221.614 63.973 Z" transform="matrix(0.750452, -0.660925, 0.660925, 0.750452, -70.803322, 290.920273)"/>
<path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-17" d="M 441.888 342.098 C 440.047 342.098 438.207 342.114 436.362 342.138 C 377.601 342.922 321.765 355.535 271.103 377.681 C 606.886 269.567 818.944 467.615 854.462 765.133 L 869.142 763.483 C 838.354 492.154 675.242 341.948 441.888 342.098 Z" transform="matrix(-0.356582, 0.934264, -0.934264, -0.356582, 1256.759493, 169.182552)"/>
<g transform="matrix(0.762493, 0, 0, 0.762493, 19.294647, -716.322815)">
<path d="M 566.466 1089.137 L 566.466 1148.222 C 565.867 1148.219 565.267 1148.217 564.667 1148.217 C 561.481 1148.217 558.31 1148.259 555.154 1148.341 L 555.154 1089.137 Z M 908.29 1477.146 L 956.987 1477.146 L 956.987 1488.458 L 908.569 1488.458 C 908.539 1484.693 908.447 1480.922 908.29 1477.146 Z M 566.466 1835.013 L 566.466 1876.467 L 555.154 1876.467 L 555.154 1834.886 C 558.318 1834.973 561.49 1835.017 564.667 1835.017 C 565.267 1835.017 565.867 1835.016 566.466 1835.013 Z M 220.775 1488.458 L 169.657 1488.458 L 169.657 1477.146 L 221.089 1477.146 C 220.921 1480.909 220.816 1484.68 220.775 1488.458 Z" style="fill: rgb(64, 40, 0); stroke: rgb(64, 40, 0); stroke-width: 10.7806;"/>
<path d="M 760.121 1143.311 L 717.336 1217.417 C 715.72 1216.518 714.096 1215.632 712.465 1214.761 L 755.318 1140.537 Z M 830.122 1324.203 L 900.424 1283.614 L 903.198 1288.417 L 833.04 1328.923 C 832.08 1327.339 831.107 1325.766 830.122 1324.203 Z M 840.599 1641.137 L 903.197 1677.278 L 900.424 1682.082 L 837.911 1645.99 C 838.821 1644.38 839.717 1642.762 840.599 1641.137 Z M 725.168 1761.843 L 760.122 1822.385 L 755.318 1825.158 L 720.379 1764.641 C 721.985 1763.722 723.582 1762.789 725.168 1761.843 Z M 403.538 1760.932 L 366.456 1825.159 L 361.653 1822.386 L 398.802 1758.042 C 400.372 1759.019 401.951 1759.982 403.538 1760.932 Z M 289.58 1642.689 L 221.35 1682.082 L 218.577 1677.279 L 286.944 1637.807 C 287.807 1639.437 288.685 1641.065 289.58 1642.689 Z M 294.354 1332.168 L 218.576 1288.417 L 221.35 1283.614 L 297.213 1327.414 C 296.246 1328.99 295.293 1330.575 294.354 1332.168 Z M 406.079 1220.259 L 361.653 1143.311 L 366.457 1140.537 L 410.889 1217.495 C 409.276 1218.403 407.673 1219.324 406.079 1220.259 Z" style="fill: rgb(64, 40, 0); stroke: rgb(64, 40, 0); stroke-width: 10.7806;"/>
</g>
</g>
<rect x="429.367" y="425.979" width="20.003" height="21.735" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-91" transform="matrix(1, 0, 0, 0.999999, -301.377075, -219.498434)"/>
<rect x="446.853" y="25.462" width="25.99" height="25.99" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-93"/>
<rect x="-135.956" y="605.141" width="39.851" height="39.851" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-94" transform="matrix(0.999999, 0, 0, 1, 846.176756, -394.956024)"/>
<rect x="225.779" y="689.836" width="25.99" height="25.99" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-95"/>
<rect x="594.013" y="737.142" width="20.792" height="22.525" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-96"/>
<rect x="387.235" y="479.397" width="25.99" height="25.99" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-98" transform="matrix(1.000001, 0, 0, 0.999999, 365.274966, 79.295241)"/>
<rect x="421.962" y="775.937" width="32.92" height="34.653" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-99"/>
<rect x="-66.939" y="-568.978" width="20.867" height="20.792" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-101" transform="matrix(-1, 0, 0, 0.999997, 31.356928, 984.736306)"/>
</g>
<path d="M 213.903 186.772 C 195.856 186.772 181.61 192.782 171.163 204.802 C 160.723 216.815 155.503 233.269 155.503 254.162 C 155.503 275.649 160.536 292.249 170.603 303.962 C 180.676 315.682 195.033 321.542 213.673 321.542 C 225.126 321.542 238.193 319.482 252.873 315.362 L 252.873 332.092 C 241.493 336.365 227.453 338.502 210.753 338.502 C 186.573 338.502 167.913 331.162 154.773 316.482 C 141.633 301.809 135.063 280.959 135.063 253.932 C 135.063 237.012 138.226 222.189 144.553 209.462 C 150.88 196.735 160.013 186.925 171.953 180.032 C 183.893 173.145 197.95 169.702 214.123 169.702 C 231.343 169.702 246.393 172.849 259.273 179.142 L 251.183 195.532 C 238.756 189.692 226.33 186.772 213.903 186.772 Z M 365.156 302.672 C 365.156 314.125 360.886 322.959 352.346 329.172 C 343.812 335.392 331.832 338.502 316.406 338.502 C 300.086 338.502 287.359 335.919 278.226 330.752 L 278.226 313.452 C 284.139 316.445 290.486 318.805 297.266 320.532 C 304.039 322.252 310.569 323.112 316.856 323.112 C 326.589 323.112 334.076 321.559 339.316 318.452 C 344.562 315.345 347.186 310.609 347.186 304.242 C 347.186 299.455 345.106 295.359 340.946 291.952 C 336.792 288.545 328.689 284.519 316.636 279.872 C 305.182 275.605 297.039 271.882 292.206 268.702 C 287.379 265.522 283.786 261.909 281.426 257.862 C 279.066 253.822 277.886 248.992 277.886 243.372 C 277.886 233.345 281.969 225.429 290.136 219.622 C 298.296 213.822 309.486 210.922 323.706 210.922 C 336.959 210.922 349.912 213.615 362.566 219.002 L 355.946 234.172 C 343.592 229.079 332.399 226.532 322.366 226.532 C 313.532 226.532 306.869 227.915 302.376 230.682 C 297.882 233.455 295.636 237.275 295.636 242.142 C 295.636 245.435 296.479 248.242 298.166 250.562 C 299.846 252.882 302.559 255.092 306.306 257.192 C 310.046 259.285 317.232 262.315 327.866 266.282 C 342.466 271.602 352.329 276.955 357.456 282.342 C 362.589 287.735 365.156 294.512 365.156 302.672 Z" style="fill: rgb(64, 40, 0);"/>
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,6 +1,92 @@
import 'package:flutter/material.dart';
import 'package:bubble/bubble.dart';
class CommonElements {
// Exemple de Widget
Widget exemple(String data) {
return Text('Coucou');
}
Widget bubbleSpeak(String text, {double long}) {
return Bubble(
padding: long == null
? BubbleEdges.all(18)
: BubbleEdges.symmetric(horizontal: long, vertical: 30),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: Text(
text,
style: TextStyle(
color: Colors.black, fontSize: 18, fontWeight: FontWeight.w400),
),
);
}
Widget bubbleSpeakRich(List<TextSpan> text) {
return Bubble(
padding: BubbleEdges.all(18),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: RichText(
text: new TextSpan(
style: new TextStyle(
fontSize: 18.0,
color: Colors.black,
),
children: <TextSpan>[
new TextSpan(text: "Munissez-vous d'"),
new TextSpan(
text: 'un papier et dun crayon\n',
style: new TextStyle(fontWeight: FontWeight.bold)),
new TextSpan(
text: "afin de pouvoir noter votre phrase de restauration."),
],
)),
);
}
Widget onboardingProgressBar(String screenTitle, int progress) {
return Stack(children: [
Container(height: 100),
Positioned(
top: 0, left: 0, right: 0, child: GeckoSpeechAppBar(screenTitle)),
Positioned(
top: 0,
left: 0,
child: Image.asset(
'assets/onBoarding/gecko_bar.png',
),
),
if (progress != 0)
Positioned(
top: 75,
left: 90,
child: Image.asset(
'assets/onBoarding/progress_bar/total.png',
),
),
if (progress != 0)
Positioned(
top: 75,
left: 90,
child: Image.asset(
'assets/onBoarding/progress_bar/$progress.png',
),
),
if (progress != 0)
Positioned(
top: 70,
right: 90,
child: Text('$progress%',
style: TextStyle(fontSize: 12, color: Colors.black)),
),
]);
}
Widget roundButton(
AssetImage image,
ontap,
@ -81,3 +167,33 @@ class SlideLeftRoute extends PageRouteBuilder {
),
);
}
class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
final String title;
GeckoSpeechAppBar(
this.title, {
Key key,
}) : preferredSize = Size.fromHeight(105.4),
super(key: key);
@override
Widget build(BuildContext context) {
return AppBar(
leading: IconButton(
icon: Container(
height: 30,
child: Image.asset('assets/onBoarding/gecko_bar.png')),
onPressed: () => Navigator.popUntil(
context,
ModalRoute.withName('/'),
),
),
title: SizedBox(
height: 25,
child: Text(title),
));
}
}

View File

@ -1,7 +1,8 @@
import 'package:bubble/bubble.dart';
import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:gecko/screens/commonElements.dart';
import 'package:gecko/screens/myWallets/importWallet.dart';
import 'package:gecko/screens/onBoarding/2_stepOne.dart';
// import 'package:gecko/models/home.dart';
// import 'package:provider/provider.dart';
@ -13,43 +14,18 @@ class NoKeyChainScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
// HomeProvider _homeProvider = Provider.of<HomeProvider>(context);
CommonElements common = CommonElements();
return Scaffold(
extendBodyBehindAppBar: true,
// backgroundColor: Colors.white,
// appBar: GeckoSpeechAppBar('Mes portefeuilles'),
body: SafeArea(
child: Column(children: <Widget>[
Stack(children: [
Container(height: 100),
Positioned(
top: 0,
left: 0,
right: 0,
child: GeckoSpeechAppBar('Mes portefeuilles')),
Positioned(
top: 0,
left: 0,
child: Image.asset(
'assets/onBoarding/gecko_bar.png',
),
),
]),
Bubble(
padding: BubbleEdges.all(15),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: Text(
"Je ne connais pour linstant aucun de vos portefeuilles.\n\nVous pouvez en créer un nouveau, ou bien importer un portefeuille Cesium existant.",
style: TextStyle(
color: Colors.black,
fontSize: 15,
fontWeight: FontWeight.w500),
),
common.onboardingProgressBar('Mes portefeuilles', 0),
common.bubbleSpeak(
"Je ne connais pour linstant aucun de vos portefeuilles.\n\nVous pouvez en créer un nouveau, ou bien importer un portefeuille Cesium existant.",
),
SizedBox(height: 70),
SizedBox(height: 90),
Container(
child: ClipOval(
child: Material(
@ -57,17 +33,13 @@ class NoKeyChainScreen extends StatelessWidget {
child: InkWell(
splashColor: Color(0xffD28928), // inkwell color
child: Padding(
padding: EdgeInsets.all(12),
padding: EdgeInsets.all(8),
child: Image(
image: AssetImage('assets/onBoarding/wallet.png'),
height: 75)),
height: 90)),
onTap: () {
Navigator.push(
context, SlideLeftRoute(page: OnboardingStepOne()));
// Navigator.push(context,
// MaterialPageRoute(builder: (context) {
// return OnboardingStepOne();
// }));
}),
),
),
@ -83,13 +55,13 @@ class NoKeyChainScreen extends StatelessWidget {
],
),
),
SizedBox(height: 10),
SizedBox(height: 15),
Text(
"Créer un nouveau\nportefeuille",
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.black,
fontSize: 13,
fontSize: 16,
fontWeight: FontWeight.w500),
),
SizedBox(height: 70),
@ -100,11 +72,18 @@ class NoKeyChainScreen extends StatelessWidget {
child: InkWell(
splashColor: Color(0xffD28928), // inkwell color
child: Padding(
padding: EdgeInsets.all(8),
child: Image(
image: AssetImage('assets/onBoarding/cesium.png'),
height: 50)),
onTap: () {}),
padding: EdgeInsets.all(12),
child:
// Image(
// image: AssetImage('assets/cesium_bw3.png'),
// height: 60),
SvgPicture.asset('assets/cesium_small.svg',
semanticsLabel: 'Cesium Logo', height: 48),
),
onTap: () {
Navigator.push(context,
SlideLeftRoute(page: ImportWalletScreen()));
}),
),
),
decoration: BoxDecoration(
@ -123,39 +102,9 @@ class NoKeyChainScreen extends StatelessWidget {
Text(
"Importer un\nportefeuille Cesium",
textAlign: TextAlign.center,
style: TextStyle(color: Colors.black, fontSize: 10),
style: TextStyle(color: Colors.black, fontSize: 13),
)
]),
));
}
}
class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
final String title;
GeckoSpeechAppBar(
this.title, {
Key key,
}) : preferredSize = Size.fromHeight(105.4),
super(key: key);
@override
Widget build(BuildContext context) {
return AppBar(
leading: IconButton(
icon: Container(
height: 30,
child: Image.asset('assets/onBoarding/gecko_bar.png')),
onPressed: () => Navigator.popUntil(
context,
ModalRoute.withName('/'),
),
),
title: SizedBox(
height: 25,
child: Text(title),
));
}
}

View File

@ -1,4 +1,3 @@
import 'package:bubble/bubble.dart';
import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'package:gecko/screens/commonElements.dart';
@ -14,72 +13,27 @@ class OnboardingStepOne extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
CommonElements common = CommonElements();
return Scaffold(
extendBodyBehindAppBar: true,
body: SafeArea(
child: Column(children: <Widget>[
Stack(children: [
Container(height: 100),
Positioned(
top: 0,
left: 0,
right: 0,
child: GeckoSpeechAppBar('Nouveau portefeuilles')),
Positioned(
top: 0,
left: 0,
child: Image.asset(
'assets/onBoarding/gecko_bar.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/total.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/$progress.png',
),
),
Positioned(
top: 66,
right: 45,
child: Text('$progress%',
style: TextStyle(fontSize: 12, color: Colors.black)),
),
]),
Bubble(
padding: BubbleEdges.all(15),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: Text(
"Il semblerait que vous nayez pas encore de trousseau.\n\nUn trousseau vous permet de gérer un ou plusieurs portefeuilles.",
style: TextStyle(
color: Colors.black,
fontSize: 15,
fontWeight: FontWeight.w500),
),
common.onboardingProgressBar('Nouveau portefeuilles', progress),
common.bubbleSpeak(
"Il semblerait que vous nayez pas encore de trousseau.\n\nUn trousseau vous permet de gérer un ou plusieurs portefeuilles.",
),
SizedBox(height: 90),
Image.asset(
'assets/onBoarding/keys-and-wallets-horizontal.png',
height: 200,
),
SizedBox(height: 70),
// Row(children: <Widget>[
// Align(
// alignment: Alignment.centerRight,
// child:
Image.asset('assets/onBoarding/keys-and-wallets-horizontal.png'),
// ]),
Expanded(
child: Align(
alignment: Alignment.bottomCenter,
child: SizedBox(
width: 350,
height: 55,
width: 400,
height: 62,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
elevation: 5,
@ -98,33 +52,3 @@ class OnboardingStepOne extends StatelessWidget {
));
}
}
class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
final String title;
GeckoSpeechAppBar(
this.title, {
Key key,
}) : preferredSize = Size.fromHeight(105.4),
super(key: key);
@override
Widget build(BuildContext context) {
return AppBar(
leading: IconButton(
icon: Container(
height: 30,
child: Image.asset('assets/onBoarding/gecko_bar.png')),
onPressed: () => Navigator.popUntil(
context,
ModalRoute.withName('/'),
),
),
title: SizedBox(
height: 25,
child: Text(title),
));
}
}

View File

@ -1,4 +1,3 @@
import 'package:bubble/bubble.dart';
import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'package:gecko/screens/commonElements.dart';
@ -15,120 +14,42 @@ class OnboardingStepTwo extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
CommonElements common = CommonElements();
return Scaffold(
extendBodyBehindAppBar: true,
body: SafeArea(
child: Column(children: <Widget>[
Stack(children: [
Container(height: 100),
Positioned(
top: 0,
left: 0,
right: 0,
child: GeckoSpeechAppBar('Nouveau portefeuilles')),
Positioned(
top: 0,
left: 0,
child: Image.asset(
'assets/onBoarding/gecko_bar.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/total.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/$progress.png',
),
),
Positioned(
top: 66,
right: 45,
child: Text('$progress%',
style: TextStyle(fontSize: 12, color: Colors.black)),
),
]),
Bubble(
padding: BubbleEdges.all(15),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: Text(
"Un trousseau est créé à partir dune phrase de restauration.",
style: TextStyle(
color: Colors.black,
fontSize: 15,
fontWeight: FontWeight.w500),
),
common.onboardingProgressBar('Nouveau portefeuilles', progress),
common.bubbleSpeak(
"Un trousseau est créé à partir dune phrase de restauration.",
),
SizedBox(height: 70),
// Row(children: <Widget>[
// Align(
// alignment: Alignment.centerRight,
// child:
Image.asset(
'assets/onBoarding/keys-and-wallets-horizontal-plus-phrase.png'),
// ]),
Expanded(
child: Align(
alignment: Alignment.bottomCenter,
child: SizedBox(
width: 350,
height: 55,
width: 400,
height: 62,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
elevation: 5,
primary: Color(0xffD28928),
onPrimary: Colors.white, // foreground
),
onPressed: () {
Navigator.push(
context,
SmoothTransition(page: OnboardingStepFor()),
);
},
child: Text("J'ai compris",
style: TextStyle(fontSize: 20))),
style: ElevatedButton.styleFrom(
elevation: 5,
primary: Color(0xffD28928),
onPrimary: Colors.white, // foreground
),
onPressed: () {
Navigator.push(
context,
SmoothTransition(page: OnboardingStepFor()),
);
},
child: Text("D'accord", style: TextStyle(fontSize: 20)),
),
))),
SizedBox(height: 80),
]),
));
}
}
class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
final String title;
GeckoSpeechAppBar(
this.title, {
Key key,
}) : preferredSize = Size.fromHeight(105.4),
super(key: key);
@override
Widget build(BuildContext context) {
return AppBar(
leading: IconButton(
icon: Container(
height: 30,
child: Image.asset('assets/onBoarding/gecko_bar.png')),
onPressed: () => Navigator.popUntil(
context,
ModalRoute.withName('/'),
),
),
title: SizedBox(
height: 25,
child: Text(title),
));
}
}

View File

@ -1,4 +1,3 @@
import 'package:bubble/bubble.dart';
import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'package:gecko/screens/commonElements.dart';
@ -12,58 +11,15 @@ class OnboardingStepFor extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
CommonElements common = CommonElements();
return Scaffold(
extendBodyBehindAppBar: true,
body: SafeArea(
child: Column(children: <Widget>[
Stack(children: [
Container(height: 100),
Positioned(
top: 0,
left: 0,
right: 0,
child: GeckoSpeechAppBar('Ma phrase de restauration')),
Positioned(
top: 0,
left: 0,
child: Image.asset(
'assets/onBoarding/gecko_bar.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/total.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/$progress.png',
),
),
Positioned(
top: 66,
right: 45,
child: Text('$progress%',
style: TextStyle(fontSize: 12, color: Colors.black)),
),
]),
Bubble(
padding: BubbleEdges.all(15),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: Text(
"Si un jour vous changez de téléphone, il vous suffira de me redonner votre phrase de restauration pour recréer votre trousseau.",
style: TextStyle(
color: Colors.black,
fontSize: 15,
fontWeight: FontWeight.w500),
),
common.onboardingProgressBar('Ma phrase de restauration', progress),
common.bubbleSpeak(
"Si un jour vous changez de téléphone, il vous suffira de me redonner votre phrase de restauration pour recréer votre trousseau.",
),
SizedBox(height: 10),
// Row(children: <Widget>[
@ -79,8 +35,8 @@ class OnboardingStepFor extends StatelessWidget {
child: Align(
alignment: Alignment.bottomCenter,
child: SizedBox(
width: 350,
height: 55,
width: 400,
height: 62,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
elevation: 5,
@ -101,33 +57,3 @@ class OnboardingStepFor extends StatelessWidget {
));
}
}
class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
final String title;
GeckoSpeechAppBar(
this.title, {
Key key,
}) : preferredSize = Size.fromHeight(105.4),
super(key: key);
@override
Widget build(BuildContext context) {
return AppBar(
leading: IconButton(
icon: Container(
height: 30,
child: Image.asset('assets/onBoarding/gecko_bar.png')),
onPressed: () => Navigator.popUntil(
context,
ModalRoute.withName('/'),
),
),
title: SizedBox(
height: 25,
child: Text(title),
));
}
}

View File

@ -1,4 +1,3 @@
import 'package:bubble/bubble.dart';
import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'package:gecko/screens/commonElements.dart';
@ -12,75 +11,27 @@ class OnboardingStepFive extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
CommonElements common = CommonElements();
return Scaffold(
extendBodyBehindAppBar: true,
body: SafeArea(
child: Column(children: <Widget>[
Stack(children: [
Container(height: 100),
Positioned(
top: 0,
left: 0,
right: 0,
child: GeckoSpeechAppBar('Ma phrase de restauration')),
Positioned(
top: 0,
left: 0,
child: Image.asset(
'assets/onBoarding/gecko_bar.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/total.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/$progress.png',
),
),
Positioned(
top: 66,
right: 45,
child: Text('$progress%',
style: TextStyle(fontSize: 12, color: Colors.black)),
),
]),
Bubble(
padding: BubbleEdges.all(15),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: Text(
"Par contre, attention :\n\nDans une blockchain, il ny a pas de procédure de récupération de trousseau.\n\nSi vous perdez votre phrase de restauration, je ne pourrai pas vous la communiquer, et vous ne pourrez donc plus jamais accéder à votre compte.",
style: TextStyle(
color: Colors.black,
fontSize: 15,
fontWeight: FontWeight.w500),
),
common.onboardingProgressBar('Ma phrase de restauration', progress),
common.bubbleSpeak(
"Par contre, attention :\n\nDans une blockchain, il ny a pas de procédure de récupération de trousseau.\n\nSi vous perdez votre phrase de restauration, je ne pourrai pas vous la communiquer, et vous ne pourrez donc plus jamais accéder à votre compte.",
),
SizedBox(height: 10),
// Row(children: <Widget>[
// Align(
// alignment: Alignment.centerRight,
// child:
Image.asset(
'assets/onBoarding/maison-qui-brule.png',
height: 200,
),
// ]),
Expanded(
child: Align(
alignment: Alignment.bottomCenter,
child: SizedBox(
width: 350,
height: 55,
width: 400,
height: 62,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
elevation: 5,
@ -101,33 +52,3 @@ class OnboardingStepFive extends StatelessWidget {
));
}
}
class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
final String title;
GeckoSpeechAppBar(
this.title, {
Key key,
}) : preferredSize = Size.fromHeight(105.4),
super(key: key);
@override
Widget build(BuildContext context) {
return AppBar(
leading: IconButton(
icon: Container(
height: 30,
child: Image.asset('assets/onBoarding/gecko_bar.png')),
onPressed: () => Navigator.popUntil(
context,
ModalRoute.withName('/'),
),
),
title: SizedBox(
height: 25,
child: Text(title),
));
}
}

View File

@ -1,4 +1,3 @@
import 'package:bubble/bubble.dart';
import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'package:gecko/screens/commonElements.dart';
@ -12,75 +11,27 @@ class OnboardingStepSix extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
CommonElements common = CommonElements();
return Scaffold(
extendBodyBehindAppBar: true,
body: SafeArea(
child: Column(children: <Widget>[
Stack(children: [
Container(height: 100),
Positioned(
top: 0,
left: 0,
right: 0,
child: GeckoSpeechAppBar('Ma phrase de restauration')),
Positioned(
top: 0,
left: 0,
child: Image.asset(
'assets/onBoarding/gecko_bar.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/total.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/$progress.png',
),
),
Positioned(
top: 66,
right: 45,
child: Text('$progress%',
style: TextStyle(fontSize: 12, color: Colors.black)),
),
]),
Bubble(
padding: BubbleEdges.all(15),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: Text(
"Je vais générer votre phrase de restauration ansi que votre trousseau de clef.\n\nCest moi qui vais décider des mots de votre phrase, parce que sans ça les gens choisissent des choses trop faciles à deviner.",
style: TextStyle(
color: Colors.black,
fontSize: 15,
fontWeight: FontWeight.w500),
),
common.onboardingProgressBar('Ma phrase de restauration', progress),
common.bubbleSpeak(
"Je vais générer votre phrase de restauration ansi que votre trousseau de clef.\n\nCest moi qui vais décider des mots de votre phrase, parce que sans ça les gens choisissent des choses trop faciles à deviner.",
),
SizedBox(height: 10),
// Row(children: <Widget>[
// Align(
// alignment: Alignment.centerRight,
// child:
Image.asset(
'assets/onBoarding/good-bad-passphrase.png',
height: 300,
),
// ]),
Expanded(
child: Align(
alignment: Alignment.bottomCenter,
child: SizedBox(
width: 350,
height: 55,
width: 400,
height: 62,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
elevation: 5,
@ -101,33 +52,3 @@ class OnboardingStepSix extends StatelessWidget {
));
}
}
class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
final String title;
GeckoSpeechAppBar(
this.title, {
Key key,
}) : preferredSize = Size.fromHeight(105.4),
super(key: key);
@override
Widget build(BuildContext context) {
return AppBar(
leading: IconButton(
icon: Container(
height: 30,
child: Image.asset('assets/onBoarding/gecko_bar.png')),
onPressed: () => Navigator.popUntil(
context,
ModalRoute.withName('/'),
),
),
title: SizedBox(
height: 25,
child: Text(title),
));
}
}

View File

@ -1,4 +1,3 @@
import 'package:bubble/bubble.dart';
import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'package:gecko/screens/commonElements.dart';
@ -12,103 +11,44 @@ class OnboardingStepSeven extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
CommonElements common = CommonElements();
return Scaffold(
extendBodyBehindAppBar: true,
body: SafeArea(
child: Column(children: <Widget>[
Stack(children: [
Container(height: 100),
Positioned(
top: 0,
left: 0,
right: 0,
child: GeckoSpeechAppBar('Ma phrase de restauration')),
Positioned(
top: 0,
left: 0,
child: Image.asset(
'assets/onBoarding/gecko_bar.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/total.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/$progress.png',
),
),
Positioned(
top: 66,
right: 45,
child: Text('$progress%',
style: TextStyle(fontSize: 12, color: Colors.black)),
),
]),
Bubble(
padding: BubbleEdges.all(15),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: RichText(
text: new TextSpan(
// Note: Styles for TextSpans must be explicitly defined.
// Child text spans will inherit styles from parent
style: new TextStyle(
fontSize: 14.0,
color: Colors.black,
),
children: <TextSpan>[
new TextSpan(text: "Munissez-vous d'"),
new TextSpan(
text: 'un papier et dun crayon\n',
style: new TextStyle(fontWeight: FontWeight.bold)),
new TextSpan(
text:
"afin de pouvoir noter votre phrase de restauration."),
],
)),
common.onboardingProgressBar('Ma phrase de restauration', progress),
common.bubbleSpeakRich(
<TextSpan>[
TextSpan(text: "Munissez-vous d'"),
TextSpan(
text: 'un papier et dun crayon\n',
style: TextStyle(fontWeight: FontWeight.bold)),
TextSpan(
text:
"afin de pouvoir noter votre phrase de restauration."),
],
),
Expanded(
child: Align(
alignment: Alignment.bottomCenter,
child: Row(
// mainAxisAlignment: MainAxisAlignment.spaceAround,
mainAxisSize: MainAxisSize.min,
// crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
// SizedBox(width: 50),
Container(
padding: const EdgeInsets.only(bottom: 90),
child: Bubble(
padding: BubbleEdges.all(15),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(15, 0, 0, 0),
// nip: BubbleNip.leftTop,
child: Text(
'Moi, jai déjà essayé de\nmémoriser une phrase de\nrestauration, mais je nai\npas une mémoire\ndéléphant.',
style: TextStyle(color: Colors.black),
),
)),
Image.asset(
'assets/onBoarding/chopp-gecko.png',
height: 200,
),
]),
child: Row(mainAxisSize: MainAxisSize.min, children: <Widget>[
Container(
padding: const EdgeInsets.only(bottom: 90),
child: common.bubbleSpeak(
"Moi, jai déjà essayé de\nmémoriser une phrase de\nrestauration, mais je nai\npas une mémoire\ndéléphant.",
),
),
Image.asset(
'assets/onBoarding/chopp-gecko.png',
height: 200,
),
]),
)),
SizedBox(height: 50),
SizedBox(
width: 350,
height: 55,
width: 400,
height: 62,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
elevation: 5,
@ -129,33 +69,3 @@ class OnboardingStepSeven extends StatelessWidget {
));
}
}
class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
final String title;
GeckoSpeechAppBar(
this.title, {
Key key,
}) : preferredSize = Size.fromHeight(105.4),
super(key: key);
@override
Widget build(BuildContext context) {
return AppBar(
leading: IconButton(
icon: Container(
height: 30,
child: Image.asset('assets/onBoarding/gecko_bar.png')),
onPressed: () => Navigator.popUntil(
context,
ModalRoute.withName('/'),
),
),
title: SizedBox(
height: 25,
child: Text(title),
));
}
}

View File

@ -1,6 +1,4 @@
import 'dart:ui';
import 'package:bubble/bubble.dart';
import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'package:gecko/screens/commonElements.dart';
@ -14,71 +12,25 @@ class OnboardingStepEight extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
CommonElements common = CommonElements();
return Scaffold(
extendBodyBehindAppBar: true,
body: SafeArea(
child: Column(children: <Widget>[
Stack(children: [
Container(height: 100),
Positioned(
top: 0,
left: 0,
right: 0,
child: GeckoSpeechAppBar('Ma phrase de restauration')),
Positioned(
top: 0,
left: 0,
child: Image.asset(
'assets/onBoarding/gecko_bar.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/total.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/$progress.png',
),
),
Positioned(
top: 66,
right: 45,
child: Text('$progress%',
style: TextStyle(fontSize: 12, color: Colors.black)),
),
]),
Bubble(
padding: BubbleEdges.all(15),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: Text(
"Jai généré votre phrase de restauration !\nTâchez de la garder bien secrète, car elle permet à quiconque la connaît daccéder à tous vos portefeuilles.",
style: TextStyle(
color: Colors.black,
fontSize: 15,
fontWeight: FontWeight.w500),
),
common.onboardingProgressBar('Ma phrase de restauration', progress),
common.bubbleSpeak(
"Jai généré votre phrase de restauration !\nTâchez de la garder bien secrète, car elle permet à quiconque la connaît daccéder à tous vos portefeuilles.",
),
SizedBox(height: 10),
// ImageFiltered(
// imageFilter: ImageFilter.blur(sigmaX: 2.5, sigmaY: 2.5),
// child:
SizedBox(height: 30),
sentanceArray(context),
// ),
Expanded(
child: Align(
alignment: Alignment.bottomCenter,
child: SizedBox(
width: 350,
height: 55,
width: 400,
height: 62,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
elevation: 5,
@ -100,36 +52,6 @@ class OnboardingStepEight extends StatelessWidget {
}
}
class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
final String title;
GeckoSpeechAppBar(
this.title, {
Key key,
}) : preferredSize = Size.fromHeight(105.4),
super(key: key);
@override
Widget build(BuildContext context) {
return AppBar(
leading: IconButton(
icon: Container(
height: 30,
child: Image.asset('assets/onBoarding/gecko_bar.png')),
onPressed: () => Navigator.popUntil(
context,
ModalRoute.withName('/'),
),
),
title: SizedBox(
height: 25,
child: Text(title),
));
}
}
Widget sentanceArray(BuildContext context) {
return Container(
padding: EdgeInsets.symmetric(horizontal: 12),
@ -172,19 +94,19 @@ Widget sentanceArray(BuildContext context) {
Widget arrayCell(dataWord) {
return Container(
width: 80,
width: 102,
child: Column(
children: <Widget>[
ImageFiltered(
imageFilter: ImageFilter.blur(sigmaX: 2.5, sigmaY: 2.5),
child: Text(dataWord.split(':')[0],
style: TextStyle(fontSize: 12, color: Colors.black)),
style: TextStyle(fontSize: 14, color: Colors.black)),
),
SizedBox(height: 2),
ImageFiltered(
imageFilter: ImageFilter.blur(sigmaX: 3, sigmaY: 3),
child: Text(dataWord.split(':')[1],
style: TextStyle(fontSize: 16, color: Colors.black)),
style: TextStyle(fontSize: 20, color: Colors.black)),
)
],
));

View File

@ -1,4 +1,3 @@
import 'package:bubble/bubble.dart';
import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'package:gecko/models/generateWallets.dart';
@ -16,74 +15,20 @@ class OnboardingStepNine extends StatelessWidget {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
GenerateWalletsProvider _generateWalletProvider =
Provider.of<GenerateWalletsProvider>(context);
CommonElements common = CommonElements();
// _generateWalletProvider.generateMnemonic();
return Scaffold(
extendBodyBehindAppBar: true,
body: SafeArea(
child: Column(children: <Widget>[
Stack(children: [
Container(height: 100),
Positioned(
top: 0,
left: 0,
right: 0,
child: GeckoSpeechAppBar('Ma phrase de restauration')),
Positioned(
top: 0,
left: 0,
child: Image.asset(
'assets/onBoarding/gecko_bar.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/total.png',
),
),
Positioned(
top: 70,
left: 50,
child: Image.asset(
'assets/onBoarding/progress_bar/$progress.png',
),
),
Positioned(
top: 66,
right: 45,
child: Text('$progress%',
style: TextStyle(fontSize: 12, color: Colors.black)),
),
]),
Bubble(
padding: BubbleEdges.fromLTRB(40, 15, 40, 15),
elevation: 5,
color: Colors.white,
margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
// nip: BubbleNip.leftTop,
child: Text(
"Cest le moment de noter votre phrase !",
style: TextStyle(
color: Colors.black,
fontSize: 15,
fontWeight: FontWeight.w500),
),
common.onboardingProgressBar('Ma phrase de restauration', progress),
common.bubbleSpeak(
"Cest le moment de noter votre phrase !",
long: 60,
),
SizedBox(height: 64),
// TextField(
// enabled: false,
// controller: _generateWalletProvider.mnemonicController,
// maxLines: 3,
// textAlign: TextAlign.center,
// decoration: InputDecoration(
// contentPadding: EdgeInsets.all(15.0),
// ),
// style: TextStyle(
// fontSize: 22.0,
// color: Colors.black,
// fontWeight: FontWeight.w400)),
SizedBox(height: 69),
sentanceArray(context),
SizedBox(height: 15),
GestureDetector(
@ -104,8 +49,8 @@ class OnboardingStepNine extends StatelessWidget {
child: Align(
alignment: Alignment.bottomCenter,
child: SizedBox(
width: 350,
height: 55,
width: 400,
height: 62,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
elevation: 5,
@ -120,8 +65,8 @@ class OnboardingStepNine extends StatelessWidget {
))),
SizedBox(height: 25),
SizedBox(
width: 350,
height: 55,
width: 400,
height: 62,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
elevation: 5,
@ -143,38 +88,6 @@ class OnboardingStepNine extends StatelessWidget {
}
}
class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
final String title;
GeckoSpeechAppBar(
this.title, {
Key key,
}) : preferredSize = Size.fromHeight(105.4),
super(key: key);
@override
Widget build(BuildContext context) {
return AppBar(
leading: IconButton(
icon: Container(
height: 30,
child: Image.asset('assets/onBoarding/gecko_bar.png')),
onPressed: () => Navigator.popUntil(
context,
ModalRoute.withName('/'),
),
),
title: SizedBox(
height: 25,
child: Text(title),
));
}
}
// _generateWalletProvider
Widget sentanceArray(BuildContext context) {
GenerateWalletsProvider _generateWalletProvider =
Provider.of<GenerateWalletsProvider>(context);
@ -225,12 +138,12 @@ Widget sentanceArray(BuildContext context) {
Widget arrayCell(dataWord) {
return Container(
width: 80,
width: 102,
child: Column(children: <Widget>[
Text(dataWord.split(':')[0], style: TextStyle(fontSize: 12)),
Text(dataWord.split(':')[0], style: TextStyle(fontSize: 14)),
SizedBox(height: 2),
Text(dataWord.split(':')[1],
style: TextStyle(fontSize: 16, color: Colors.black)),
style: TextStyle(fontSize: 19, color: Colors.black)),
]));
}

View File

@ -216,6 +216,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.11"
flutter_svg:
dependency: "direct main"
description:
name: flutter_svg
url: "https://pub.dartlang.org"
source: hosted
version: "0.19.1"
flutter_test:
dependency: "direct dev"
description: flutter
@ -443,6 +450,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0-nullsafety.1"
path_drawing:
dependency: transitive
description:
name: path_drawing
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.1+1"
path_parsing:
dependency: transitive
description:

View File

@ -40,6 +40,7 @@ dependencies:
catcher: ^0.4.1
bubble: ^1.1.9+1
responsive_framework: ^0.0.14
flutter_svg: ^0.19.1
flutter_icons:
android: "ic_launcher"