This commit is contained in:
Mal 2021-02-28 01:01:24 +01:00
parent 82456d8df0
commit 7ad63432d1
83 changed files with 2907 additions and 41 deletions

17
Makefile Normal file
View File

@ -0,0 +1,17 @@
install:
ionic cordova plugin add cordova-plugin-local-notification
npm install --save @ionic-native/local-notifications
npm install --save @ionic-native/core
npm install --save @capacitor/core
android:
ionic build
sudo archlinux-java set java-8-openjdk
ANDROID_SDK_ROOT=/home/mal/Android/Sdk JAVA_HOME=/usr/lib/jvm/java-8-openjdk/ ionic cordova build android
sudo archlinux-java set java-11-openjdk
deployment:
read VERSION
cp platforms/android/app/build/outputs/apk/debug/app-debug.apk '/run/user/1000/gvfs/mtp:host=Fairphone_FP2_ff87fc9d/Interner gemeinsamer Speicher/bluetooth/metasocket-${VERSION}.apk'

60
build/android/build.bash Executable file
View File

@ -0,0 +1,60 @@
#/bin/bash
TARGET='/home/mal/Code/Ionic/metasocket-cordova/resources/android'
TARGET_RESOURCES=${TARGET}
TARGET_JAVA=/home/mal/Code/Ionic/metasocket-cordova/platforms/android/app/java/com/metasocket/app
RESOURCES='/home/mal/Code/Ionic/metasocket-cordova/build/android'
# SPLASH LANDSCAPE
inkscape ${RESOURCES}/splash-drawable-480x320.svg -o ${TARGET_RESOURCES}/splash/drawable-land-ldpi-screen.png -w 320 -h 240 --export-overwrite
inkscape ${RESOURCES}/splash-drawable-800x480.svg -o ${TARGET_RESOURCES}/splash/drawable-land-hdpi-screen.png -w 800 -h 480 --export-overwrite
inkscape ${RESOURCES}/splash-drawable-480x320.svg -o ${TARGET_RESOURCES}/splash/drawable-land-mdpi-screen.png -w 480 -h 320 --export-overwrite
inkscape ${RESOURCES}/splash-drawable-1280x720.svg -o ${TARGET_RESOURCES}/splash/drawable-land-xhdpi-screen.png -w 1280 -h 720 --export-overwrite
inkscape ${RESOURCES}/splash-drawable-1600x960.svg -o ${TARGET_RESOURCES}/splash/drawable-land-xxhdpi-screen.png -w 1600 -h 960 --export-overwrite
inkscape ${RESOURCES}/splash-drawable-1920x1280.svg -o ${TARGET_RESOURCES}/splash/drawable-land-xxxhdpi-screen.png -w 1920 -h 1280 --export-overwrite
# SPLASH PORTRAIT
inkscape ${RESOURCES}/splash-drawable-320x480.svg -o ${TARGET_RESOURCES}/splash/drawable-port-ldpi-screen.png -w 240 -h 320 --export-overwrite
inkscape ${RESOURCES}/splash-drawable-480x800.svg -o ${TARGET_RESOURCES}/splash/drawable-port-hdpi-screen.png -w 480 -h 800 --export-overwrite
inkscape ${RESOURCES}/splash-drawable-320x480.svg -o ${TARGET_RESOURCES}/splash/drawable-port-mdpi-screen.png -w 320 -h 480 --export-overwrite
inkscape ${RESOURCES}/splash-drawable-720x1280.svg -o ${TARGET_RESOURCES}/splash/drawable-port-xhdpi-screen.png -w 720 -h 1280 --export-overwrite
inkscape ${RESOURCES}/splash-drawable-960x1600.svg -o ${TARGET_RESOURCES}/splash/drawable-port-xxhdpi-screen.png -w 960 -h 1600 --export-overwrite
inkscape ${RESOURCES}/splash-drawable-1280x1920.svg -o ${TARGET_RESOURCES}/splash/drawable-port-xxxhdpi-screen.png -w 1280 -h 1920 --export-overwrite
# ICONS
inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/icon/drawable-ldpi-icon.png -w 36 -h 36 --export-overwrite
inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/icon/drawable-hdpi-icon.png -w 72 -h 72 --export-overwrite
# inkscape ${RESOURCES}/ic_launcher_round.svg -o ${TARGET_RESOURCES}/icon/drawable-mipmap-hdpi/ic_launcher_round.png -w 72 -h 72 --export-overwrite
# inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/mipmap-hdpi/ic_launcher_foreground.png -w 162 -h 162 --export-overwrite
inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/icon/drawable-mdpi-icon.png -w 48 -h 48 --export-overwrite
# inkscape ${RESOURCES}/ic_launcher_round.svg -o ${TARGET_RESOURCES}/mipmap-mdpi/ic_launcher_round.png -w 48 -h 48 --export-overwrite
# inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/mipmap-mdpi/ic_launcher_foreground.png -w 108 -h 108 --export-overwrite
inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/icon/drawable-xhdpi-icon.png -w 96 -h 96 --export-overwrite
# inkscape ${RESOURCES}/ic_launcher_round.svg -o ${TARGET_RESOURCES}/mipmap-xhdpi/ic_launcher_round.png -w 96 -h 96 --export-overwrite
# inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/mipmap-xhdpi/ic_launcher_foreground.png -w 216 -h 216 --export-overwrite
inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/icon/drawable-xxhdpi-icon.png -w 144 -h 144 --export-overwrite
# inkscape ${RESOURCES}/ic_launcher_round.svg -o ${TARGET_RESOURCES}/mipmap-xxhdpi/ic_launcher_round.png -w 144 -h 144 --export-overwrite
# inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/mipmap-xxhdpi/ic_launcher_foreground.png -w 324 -h 324 --export-overwrite
inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/icon/drawable-xxxhdpi-icon.png -w 192 -h 192 --export-overwrite
# inkscape ${RESOURCES}/ic_launcher_round.svg -o ${TARGET_RESOURCES}/mipmap-xxxhdpi/ic_launcher_round.png -w 192 -h 192 --export-overwrite
# inkscape ${RESOURCES}/ic_launcher.svg -o ${TARGET_RESOURCES}/mipmap-xxxhdpi/ic_launcher_foreground.png -w 432 -h 432 --export-overwrite
exit 0
# cp -R ${RESOURCES}/res/* ${TARGET_RESOURCES}/
# SOUND
mkdir -p ${TARGET_RESOURCES}/raw
cp ${RESOURCES}/murloc.wav ${TARGET_RESOURCES}/raw/
# OVERRIDE MainActivity.java
# cp ${RESOURCES}/MainActivity.java ${TARGET_JAVA}/
# OVERRIDE AndroidManifest.xml
cp ${RESOURCES}/AndroidManifest.xml ${TARGET}/

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 75.361905 75.361907"
height="75.361908mm"
width="75.361908mm"
sodipodi:docname="ic_launcher.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="1.0134608"
inkscape:cx="298.30195"
inkscape:cy="201.14212"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:1.19397;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="75.361908"
height="75.361908"
x="0"
y="0" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:1.064;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 22.941029,12.684805 -10.256227,10.256222 5.696296,5.69681 10.256741,-10.256222 z m 29.479854,0 -5.69681,5.69681 10.256224,10.256222 5.69681,-5.69681 z M 31.90534,18.248807 v 2.764689 l 2.888197,2.981213 h 2.886644 2.888197 l 2.888197,-2.981213 V 18.248807 H 37.680181 Z M 18.249839,31.904304 v 5.776908 5.775875 h 2.764175 l 2.981215,-2.888194 v -2.887681 -2.888195 l -2.981215,-2.888713 z m 36.09806,0 -2.98173,2.888713 v 2.888195 2.887681 l 2.98173,2.888194 h 2.764171 v -5.775875 -5.776908 z m -35.966801,14.819768 -5.696296,5.69681 10.256227,10.256222 5.69681,-5.696294 z m 38.599199,0 -10.256224,10.256738 5.69681,5.696294 10.256224,-10.256222 z m -22.18676,4.643644 -2.888197,2.981214 v 2.763655 h 5.774841 5.776394 V 54.34893 l -2.888197,-2.981214 h -2.888197 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 74.938352 74.938354"
height="74.938354mm"
width="74.938354mm"
sodipodi:docname="ic_launcher_round.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="1.0134608"
inkscape:cx="298.30195"
inkscape:cy="201.14212"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<circle
style="fill:#2d122d;fill-opacity:1;stroke-width:0.999478;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="path830"
r="37.469177"
cy="37.469177"
cx="37.469177" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:1.064;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="M 22.729251,12.473028 12.473024,22.72925 18.16932,28.42606 28.426061,18.169838 Z m 29.479854,0 -5.69681,5.69681 10.256224,10.256222 5.69681,-5.69681 z M 31.693562,18.03703 v 2.764689 l 2.888197,2.981213 h 2.886644 2.888197 l 2.888197,-2.981213 V 18.03703 H 37.468403 Z M 18.038061,31.692527 v 5.776908 5.775875 h 2.764175 l 2.981215,-2.888194 V 37.469435 34.58124 l -2.981215,-2.888713 z m 36.09806,0 -2.98173,2.888713 v 2.888195 2.887681 l 2.98173,2.888194 h 2.764171 v -5.775875 -5.776908 z m -35.966801,14.819768 -5.696296,5.69681 10.256227,10.256222 5.69681,-5.696294 z m 38.599199,0 -10.256224,10.256738 5.69681,5.696294 10.256224,-10.256222 z m -22.18676,4.643644 -2.888197,2.981214 v 2.763655 h 5.774841 5.776394 V 54.137153 L 40.3566,51.155939 h -2.888197 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 8.4666664 8.4666668"
height="32"
width="32"
sodipodi:docname="notification-icon-disabled.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="16.215373"
inkscape:cx="12.554834"
inkscape:cy="19.341657"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.135149;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824;opacity:0.30193057"
d="M 2.3610745,1.0583333 1.0583332,2.3610741 1.7818742,3.0846804 3.0846807,1.7819397 Z m 3.7445178,0 -0.723606,0.7236064 1.302741,1.3027407 0.723606,-0.7236063 z M 3.4997172,1.7650704 V 2.11624 L 3.8665747,2.4949124 H 4.2332349 4.6000924 L 4.9669503,2.11624 V 1.7650704 H 4.2332349 Z M 1.7652017,3.4995857 V 4.233366 4.9670151 H 2.1163059 L 2.4949785,4.600158 V 4.233366 3.8665087 L 2.1163059,3.4995857 Z m 4.5851596,0 -0.378738,0.366923 V 4.233366 4.600158 l 0.378738,0.3668571 h 0.351103 V 4.233366 3.4995857 Z M 1.7818742,5.3819861 1.0583332,6.1055924 2.3610745,7.4083332 3.0846807,6.6847925 Z m 4.9028531,0 -1.302741,1.3028064 0.723606,0.7235407 1.302741,-1.3027408 z M 3.8665747,5.9718197 3.4997172,6.3504922 V 6.7015305 H 4.2332349 4.9669503 V 6.3504922 L 4.6000924,5.9718197 H 4.2332349 Z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 8.4666664 8.4666668"
height="32"
width="32"
sodipodi:docname="notification-icon-enabled.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="16.215373"
inkscape:cx="12.554834"
inkscape:cy="19.341657"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.135149;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824;opacity:0.80002348"
d="M 2.3610745,1.0583333 1.0583332,2.3610741 1.7818742,3.0846804 3.0846807,1.7819397 Z m 3.7445178,0 -0.723606,0.7236064 1.302741,1.3027407 0.723606,-0.7236063 z M 3.4997172,1.7650704 V 2.11624 L 3.8665747,2.4949124 H 4.2332349 4.6000924 L 4.9669503,2.11624 V 1.7650704 H 4.2332349 Z M 1.7652017,3.4995857 V 4.233366 4.9670151 H 2.1163059 L 2.4949785,4.600158 V 4.233366 3.8665087 L 2.1163059,3.4995857 Z m 4.5851596,0 -0.378738,0.366923 V 4.233366 4.600158 l 0.378738,0.3668571 h 0.351103 V 4.233366 3.4995857 Z M 1.7818742,5.3819861 1.0583332,6.1055924 2.3610745,7.4083332 3.0846807,6.6847925 Z m 4.9028531,0 -1.302741,1.3028064 0.723606,0.7235407 1.302741,-1.3027408 z M 3.8665747,5.9718197 3.4997172,6.3504922 V 6.7015305 H 4.2332349 4.9669503 V 6.3504922 L 4.6000924,5.9718197 H 4.2332349 Z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 961 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 338.66667 507.99995"
height="1920"
width="1280"
sodipodi:docname="splash-drawable-1280x1920.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="495.59134"
inkscape:cy="694.62678"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:snap-bbox="false"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:6.57144;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="507.99997"
height="338.66666"
x="-507.99997"
y="-1.4210855e-14"
transform="rotate(-90)" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 155.01187,262.44517 5.87627,5.87627 3.26396,-3.26367 -5.87626,-5.87656 z m 0,-16.89037 3.26397,3.26396 5.87626,-5.87626 -3.26396,-3.26396 z m 3.18787,11.7543 h 1.58402 l 1.70808,-1.65478 v -1.65389 -1.65478 l -1.70808,-1.65478 h -1.58402 v 3.30956 z m 7.82387,7.82387 h 3.30986 3.30926 v -1.58372 l -1.65478,-1.70808 h -1.65448 -1.65479 l -1.65507,1.70808 z m 0,-20.68224 1.65507,1.70837 h 1.65479 1.65448 l 1.65478,-1.70837 V 242.867 h -3.30926 -3.30986 z m 8.49094,20.60704 3.26397,3.26367 5.87626,-5.87627 -3.26367,-3.26396 z m 0,-22.11527 5.87656,5.87627 3.26367,-3.26397 -5.87626,-5.87626 z m 2.66056,12.71182 1.70807,1.65478 h 1.58343 v -3.30867 -3.30956 h -1.58343 l -1.70807,1.65478 v 1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 338.66667 190.49998"
height="720"
width="1280"
sodipodi:docname="splash-drawable-1280x720.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1395"
inkscape:window-height="752"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="607.75648"
inkscape:cy="142.69518"
inkscape:window-x="82"
inkscape:window-y="43"
inkscape:window-maximized="0"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:snap-bbox="false"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:4.02417;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="338.66666"
height="190.49998"
x="0"
y="0" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 160.88815,80.928545 -5.87627,5.87626 3.26367,3.26397 5.87656,-5.87626 z m 16.89037,0 -3.26397,3.26397 5.87627,5.87626 3.26396,-3.26397 z m -11.7543,3.18787 v 1.58402 l 1.65478,1.70808 h 1.65389 1.65478 l 1.65478,-1.70808 v -1.58402 h -3.30956 z m -7.82387,7.82387 v 3.30986 3.30926 h 1.58372 l 1.70808,-1.65478 v -1.65448 -1.65479 l -1.70808,-1.65507 z m 20.68224,0 -1.70837,1.65507 v 1.65479 1.65448 l 1.70837,1.65478 h 1.58373 v -3.30926 -3.30986 z m -20.60704,8.490935 -3.26367,3.26397 5.87627,5.87626 3.26396,-3.26367 z m 22.11527,0 -5.87627,5.87656 3.26397,3.26367 5.87626,-5.87626 z m -12.71182,2.66056 -1.65478,1.70807 v 1.58343 h 3.30867 3.30956 v -1.58343 l -1.65478,-1.70807 h -1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 423.33334 253.99997"
height="960"
width="1600"
sodipodi:docname="splash-drawable-1600x960.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1395"
inkscape:window-height="752"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="815.59131"
inkscape:cy="374.6268"
inkscape:window-x="82"
inkscape:window-y="43"
inkscape:window-maximized="0"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:snap-bbox="false"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:5.19518;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="423.33331"
height="253.99998"
x="0"
y="0" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 203.22148,112.67854 -5.87627,5.87626 3.26367,3.26397 5.87656,-5.87626 z m 16.89037,0 -3.26397,3.26397 5.87627,5.87626 3.26396,-3.26397 z m -11.7543,3.18787 v 1.58402 l 1.65478,1.70808 h 1.65389 1.65478 l 1.65478,-1.70808 v -1.58402 h -3.30956 z m -7.82387,7.82387 v 3.30986 3.30926 h 1.58372 l 1.70808,-1.65478 v -1.65448 -1.65479 l -1.70808,-1.65507 z m 20.68224,0 -1.70837,1.65507 v 1.65479 1.65448 l 1.70837,1.65478 h 1.58373 v -3.30926 -3.30986 z m -20.60704,8.49094 -3.26367,3.26397 5.87627,5.87626 3.26396,-3.26367 z m 22.11527,0 -5.87627,5.87656 3.26397,3.26367 5.87626,-5.87626 z m -12.71182,2.66056 -1.65478,1.70807 v 1.58343 h 3.30867 3.30956 v -1.58343 l -1.65478,-1.70807 h -1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 508.00001 338.66663"
height="1280"
width="1920"
sodipodi:docname="splash-drawable-1920x1280.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1395"
inkscape:window-height="752"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="815.59131"
inkscape:cy="374.6268"
inkscape:window-x="82"
inkscape:window-y="43"
inkscape:window-maximized="0"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:snap-bbox="false"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:6.57144;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="507.99997"
height="338.66666"
x="0"
y="0" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 245.55481,155.01187 -5.87627,5.87626 3.26367,3.26397 5.87656,-5.87626 z m 16.89037,0 -3.26397,3.26397 5.87627,5.87626 3.26396,-3.26397 z m -11.7543,3.18787 v 1.58402 l 1.65478,1.70808 h 1.65389 1.65478 l 1.65478,-1.70808 v -1.58402 h -3.30956 z m -7.82387,7.82387 v 3.30986 3.30926 h 1.58372 l 1.70808,-1.65478 v -1.65448 -1.65479 l -1.70808,-1.65507 z m 20.68224,0 -1.70837,1.65507 v 1.65479 1.65448 l 1.70837,1.65478 h 1.58373 v -3.30926 -3.30986 z m -20.60704,8.49094 -3.26367,3.26397 5.87627,5.87626 3.26396,-3.26367 z m 22.11527,0 -5.87627,5.87656 3.26397,3.26367 5.87626,-5.87626 z m -12.71182,2.66056 -1.65478,1.70807 v 1.58343 h 3.30867 3.30956 v -1.58343 l -1.65478,-1.70807 h -1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 84.666664 127"
height="127mm"
width="84.666664mm"
sodipodi:docname="splash-drawable-320x480.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="172.32875"
inkscape:cy="147.39271"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:1.64286;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="127"
height="84.666664"
x="3.5527137e-15"
y="-84.666664"
transform="rotate(90)" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 56.611754,54.885867 -5.87626,-5.87627 -3.26397,3.26367 5.87626,5.87656 z m 0,16.89037 -3.26397,-3.26397 -5.87626,5.87627 3.26397,3.26396 z m -3.18787,-11.7543 h -1.58402 l -1.70808,1.65478 v 1.65389 1.65478 l 1.70808,1.65478 h 1.58402 v -3.30956 z m -7.82387,-7.82387 h -3.30986 -3.30926 v 1.58372 l 1.65478,1.70808 h 1.65448 1.65479 l 1.65507,-1.70808 z m 0,20.68224 -1.65507,-1.70837 h -1.65479 -1.65448 l -1.65478,1.70837 v 1.58373 h 3.30926 3.30986 z m -8.49093,-20.60704 -3.26397,-3.26367 -5.87626,5.87627 3.26367,3.26396 z m 0,22.11527 -5.87656,-5.87627 -3.26367,3.26397 5.87626,5.87626 z m -2.66056,-12.71182 -1.70807,-1.65478 h -1.58343 v 3.30867 3.30956 h 1.58343 l 1.70807,-1.65478 v -1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 127 84.666663"
height="84.666664mm"
width="127mm"
sodipodi:docname="splash-drawable.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="252.3288"
inkscape:cy="67.392707"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:1.64286;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="127"
height="84.666664"
x="0"
y="0" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 55.011803,27.842929 -5.87627,5.87626 3.26367,3.26397 5.87656,-5.87626 z m 16.89037,0 -3.26397,3.26397 5.87627,5.87626 3.26396,-3.26397 z m -11.7543,3.18787 v 1.58402 l 1.65478,1.70808 h 1.65389 1.65478 l 1.65478,-1.70808 v -1.58402 h -3.30956 z m -7.82387,7.82387 v 3.30986 3.30926 h 1.58372 l 1.70808,-1.65478 v -1.65448 -1.65479 l -1.70808,-1.65507 z m 20.68224,0 -1.70837,1.65507 v 1.65479 1.65448 l 1.70837,1.65478 h 1.58373 v -3.30926 -3.30986 z m -20.60704,8.49093 -3.26367,3.26397 5.87627,5.87626 3.26396,-3.26367 z m 22.11527,0 -5.87627,5.87656 3.26397,3.26367 5.87626,-5.87626 z m -12.71182,2.66056 -1.65478,1.70807 v 1.58343 h 3.30867 3.30956 v -1.58343 l -1.65478,-1.70807 h -1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 127 211.66665"
height="800"
width="480"
sodipodi:docname="splash-drawable-480x800.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1395"
inkscape:window-height="752"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="-757.48806"
inkscape:cy="227.39271"
inkscape:window-x="91"
inkscape:window-y="43"
inkscape:window-maximized="0"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:snap-bbox="false"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:2.59759;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="211.66666"
height="126.99999"
x="0"
y="-126.99999"
transform="rotate(90)" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 77.821444,97.38815 -5.87626,-5.87627 -3.26397,3.26367 5.87626,5.87656 z m 0,16.89037 -3.26397,-3.26397 -5.87626,5.87627 3.26397,3.26396 z m -3.18787,-11.7543 h -1.58402 l -1.70808,1.65478 v 1.65389 1.65478 l 1.70808,1.65478 h 1.58402 v -3.30956 z m -7.82387,-7.82387 h -3.30986 -3.30926 v 1.58372 l 1.65478,1.70808 h 1.65448 1.65479 l 1.65507,-1.70808 z m 0,20.68224 -1.65507,-1.70837 h -1.65479 -1.65448 l -1.65478,1.70837 v 1.58373 h 3.30926 3.30986 z m -8.49093,-20.60704 -3.26397,-3.26367 -5.87626,5.87627 3.26367,3.26396 z m 0,22.11527 -5.87656,-5.87627 -3.26367,3.26397 5.87626,5.87626 z m -2.66056,-12.71182 -1.70807,-1.65478 h -1.58343 v 3.30867 3.30956 h 1.58343 l 1.70807,-1.65478 v -1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 190.5 338.66663"
height="1280"
width="720"
sodipodi:docname="splash-drawable-720x1280.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1395"
inkscape:window-height="752"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="-522.06036"
inkscape:cy="422.6952"
inkscape:window-x="91"
inkscape:window-y="43"
inkscape:window-maximized="0"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:snap-bbox="false"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:4.02417;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="338.66666"
height="190.49998"
x="0"
y="-190.49998"
transform="rotate(90)" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 109.57145,160.88815 -5.87626,-5.87627 -3.26397,3.26367 5.87626,5.87656 z m 0,16.89038 -3.26397,-3.26397 -5.87626,5.87627 3.26397,3.26396 z m -3.18787,-11.75431 h -1.58402 l -1.70808,1.65478 v 1.65389 1.65478 l 1.70808,1.65478 h 1.58402 v -3.30956 z m -7.823868,-7.82387 h -3.30986 -3.30926 v 1.58372 l 1.65478,1.70808 h 1.65448 1.65479 l 1.65507,-1.70808 z m 0,20.68225 -1.65507,-1.70837 h -1.65479 -1.65448 l -1.65478,1.70837 v 1.58373 h 3.30926 3.30986 z m -8.49093,-20.60705 -3.26397,-3.26367 -5.87626,5.87627 3.26367,3.26396 z m 0,22.11528 -5.87656,-5.87627 -3.26367,3.26397 5.87626,5.87626 z m -2.66056,-12.71183 -1.70807,-1.65478 h -1.58343 v 3.30867 3.30956 h 1.58343 l 1.70807,-1.65478 v -1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 211.66667 126.99999"
height="480"
width="800"
sodipodi:docname="splash-drawable-land-hdpi.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1395"
inkscape:window-height="752"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="252.3288"
inkscape:cy="67.392707"
inkscape:window-x="82"
inkscape:window-y="43"
inkscape:window-maximized="0"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:snap-bbox="false"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:2.59759;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="211.66666"
height="126.99999"
x="0"
y="0" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 97.38815,49.178548 -5.87627,5.87626 3.26367,3.26397 5.87656,-5.87626 z m 16.89037,0 -3.26397,3.26397 5.87627,5.87626 3.26396,-3.26397 z m -11.7543,3.18787 v 1.58402 l 1.65478,1.70808 h 1.65389 1.65478 l 1.65478,-1.70808 v -1.58402 h -3.30956 z m -7.82387,7.82387 v 3.30986 3.30926 h 1.58372 l 1.70808,-1.65478 v -1.65448 -1.65479 l -1.70808,-1.65507 z m 20.68224,0 -1.70837,1.65507 v 1.65479 1.65448 l 1.70837,1.65478 h 1.58373 v -3.30926 -3.30986 z m -20.60704,8.49093 -3.26367,3.26397 5.87627,5.87626 3.26396,-3.26367 z m 22.11527,0 -5.87627,5.87656 3.26397,3.26367 5.87626,-5.87626 z m -12.71182,2.66056 -1.65478,1.70807 v 1.58343 h 3.30867 3.30956 v -1.58343 l -1.65478,-1.70807 h -1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 254 423.33328"
height="1600"
width="960"
sodipodi:docname="splash-drawable-960x1600.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1395"
inkscape:window-height="752"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="-354.22555"
inkscape:cy="694.62678"
inkscape:window-x="91"
inkscape:window-y="43"
inkscape:window-maximized="0"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:snap-bbox="false"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:5.19518;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="423.33331"
height="253.99998"
x="-423.33331"
y="0"
transform="rotate(-90)" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 112.67854,220.11183 5.87626,5.87627 3.26397,-3.26367 -5.87626,-5.87656 z m 0,-16.89037 3.26397,3.26397 5.87626,-5.87627 -3.26397,-3.26396 z m 3.18787,11.7543 h 1.58402 l 1.70808,-1.65478 v -1.65388 -1.65478 l -1.70808,-1.65478 h -1.58402 v 3.30956 z m 7.82387,7.82387 h 3.30986 3.30926 v -1.58372 l -1.65477,-1.70808 h -1.65449 -1.65478 l -1.65508,1.70808 z m 0,-20.68224 1.65507,1.70837 h 1.65479 1.65448 l 1.65478,-1.70837 v -1.58373 h -3.30926 -3.30986 z m 8.49094,20.60704 3.26397,3.26367 5.87626,-5.87627 -3.26367,-3.26396 z m 0,-22.11527 5.87656,5.87627 3.26367,-3.26397 -5.87626,-5.87626 z m 2.66056,12.71182 1.70807,1.65478 h 1.58343 v -3.30867 -3.30956 h -1.58343 l -1.70807,1.65478 v 1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

68
build/android/splash.svg Normal file
View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 127 84.666663"
height="84.666664mm"
width="127mm"
sodipodi:docname="splash.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.3583125"
inkscape:cx="252.3288"
inkscape:cy="67.392707"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:1.64286;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="127"
height="84.666664"
x="0"
y="0" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.609615;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 55.011803,27.842929 -5.87627,5.87626 3.26367,3.26397 5.87656,-5.87626 z m 16.89037,0 -3.26397,3.26397 5.87627,5.87626 3.26396,-3.26397 z m -11.7543,3.18787 v 1.58402 l 1.65478,1.70808 h 1.65389 1.65478 l 1.65478,-1.70808 v -1.58402 h -3.30956 z m -7.82387,7.82387 v 3.30986 3.30926 h 1.58372 l 1.70808,-1.65478 v -1.65448 -1.65479 l -1.70808,-1.65507 z m 20.68224,0 -1.70837,1.65507 v 1.65479 1.65448 l 1.70837,1.65478 h 1.58373 v -3.30926 -3.30986 z m -20.60704,8.49093 -3.26367,3.26397 5.87627,5.87626 3.26396,-3.26367 z m 22.11527,0 -5.87627,5.87656 3.26397,3.26367 5.87626,-5.87626 z m -12.71182,2.66056 -1.65478,1.70807 v 1.58343 h 3.30867 3.30956 v -1.58343 l -1.65478,-1.70807 h -1.65478 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

68
build/ios/AppIcon.svg Normal file
View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 75.361905 75.361907"
height="75.361908mm"
width="75.361908mm"
sodipodi:docname="ic_launcher.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="1.0134608"
inkscape:cx="298.30195"
inkscape:cy="201.14212"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#2d122d;fill-opacity:1;stroke-width:1.19397;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="75.361908"
height="75.361908"
x="0"
y="0" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:1.064;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 22.941029,12.684805 -10.256227,10.256222 5.696296,5.69681 10.256741,-10.256222 z m 29.479854,0 -5.69681,5.69681 10.256224,10.256222 5.69681,-5.69681 z M 31.90534,18.248807 v 2.764689 l 2.888197,2.981213 h 2.886644 2.888197 l 2.888197,-2.981213 V 18.248807 H 37.680181 Z M 18.249839,31.904304 v 5.776908 5.775875 h 2.764175 l 2.981215,-2.888194 v -2.887681 -2.888195 l -2.981215,-2.888713 z m 36.09806,0 -2.98173,2.888713 v 2.888195 2.887681 l 2.98173,2.888194 h 2.764171 v -5.775875 -5.776908 z m -35.966801,14.819768 -5.696296,5.69681 10.256227,10.256222 5.69681,-5.696294 z m 38.599199,0 -10.256224,10.256738 5.69681,5.696294 10.256224,-10.256222 z m -22.18676,4.643644 -2.888197,2.981214 v 2.763655 h 5.774841 5.776394 V 54.34893 l -2.888197,-2.981214 h -2.888197 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

33
build/ios/build.bash Executable file
View File

@ -0,0 +1,33 @@
#!/bin/bash
TARGET='/home/mal/Code/Angular/metasocket/ios/App/App/Assets.xcassets'
RESOURCES='/home/mal/Code/Angular/metasocket/build/ios'
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-20x20@1x.png -w 20 -h 20 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-20x20@2x.png -w 40 -h 40 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-20x20@2x-1.png -w 40 -h 40 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-20x20@3x.png -w 60 -h 60 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-29x29@1x.png -w 29 -h 29 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-29x29@2x.png -w 58 -h 58 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-29x29@2x-1.png -w 58 -h 58 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-29x29@3x.png -w 87 -h 87 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-40x40@1x.png -w 40 -h 40 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-40x40@2x.png -w 80 -h 80 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-40x40@2x-1.png -w 80 -h 80 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-40x40@3x.png -w 120 -h 120 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-60x60@2x.png -w 120 -h 120 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-60x60@3x.png -w 180 -h 180 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-76x76@1x.png -w 76 -h 76 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-76x76@2x.png -w 152 -h 152 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png -w 167 -h 167 --export-overwrite
inkscape ${RESOURCES}/AppIcon.svg -o ${TARGET}/AppIcon.appiconset/AppIcon-512@2x.png -w 1024 -h 1024 --export-overwrite
inkscape ${RESOURCES}/splash.svg -o ${TARGET}/Splash.imageset/splash-2732x2732.png -w 2732 -h 2732 --export-overwrite
inkscape ${RESOURCES}/splash.svg -o ${TARGET}/Splash.imageset/splash-2732x2732-1.png -w 2732 -h 2732 --export-overwrite
inkscape ${RESOURCES}/splash.svg -o ${TARGET}/Splash.imageset/splash-2732x2732-2.png -w 2732 -h 2732 --export-overwrite

68
build/ios/splash.svg Normal file
View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 722.84165 722.84167"
height="722.84167mm"
width="722.84167mm"
sodipodi:docname="splash.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="0.2533652"
inkscape:cx="980.92709"
inkscape:cy="1270.3397"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<rect
style="fill:#241b24;fill-opacity:1;stroke-width:11.4521;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
id="rect868"
width="722.84167"
height="722.84167"
x="0"
y="0" />
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:1.064;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="m 346.68091,336.42468 -10.25623,10.25623 5.6963,5.69681 10.25674,-10.25623 z m 29.47985,0 -5.69681,5.69681 10.25623,10.25623 5.69681,-5.69681 z m -20.51554,5.56401 v 2.76469 l 2.8882,2.98121 h 2.88664 2.8882 l 2.88819,-2.98121 v -2.76469 h -5.77639 z m -13.6555,13.65549 v 5.77691 5.77588 h 2.76417 l 2.98122,-2.8882 v -2.88768 -2.88819 l -2.98122,-2.88872 z m 36.09806,0 -2.98173,2.88872 v 2.88819 2.88768 l 2.98173,2.8882 h 2.76417 v -5.77588 -5.77691 z m -35.9668,14.81977 -5.6963,5.69681 10.25623,10.25622 5.69681,-5.69629 z m 38.5992,0 -10.25623,10.25674 5.69681,5.69629 10.25623,-10.25622 z m -22.18676,4.64365 -2.8882,2.98121 v 2.76365 h 5.77484 5.77639 v -2.76365 l -2.88819,-2.98121 h -2.8882 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

101
config.xml Normal file
View File

@ -0,0 +1,101 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.ionic.starter" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>METAsocket</name>
<description>WowApp's awesome instant messenger</description>
<author email="hi@ionicframework.com" href="http://ionicframework.com/">Ionic Framework Team</author>
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<preference name="ScrollEnabled" value="false" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="300" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
<application android:networkSecurityConfig="@xml/network_security_config" />
</edit-config>
<resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
<allow-intent href="market:*" />
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
<icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
<icon height="20" src="resources/ios/icon/icon-20.png" width="20" />
<icon height="40" src="resources/ios/icon/icon-20@2x.png" width="40" />
<icon height="60" src="resources/ios/icon/icon-20@3x.png" width="60" />
<icon height="48" src="resources/ios/icon/icon-24@2x.png" width="48" />
<icon height="55" src="resources/ios/icon/icon-27.5@2x.png" width="55" />
<icon height="29" src="resources/ios/icon/icon-29.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-29@2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-29@3x.png" width="87" />
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
<icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
<icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
<icon height="88" src="resources/ios/icon/icon-44@2x.png" width="88" />
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
<icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
<icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
<icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
<icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
<icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
<icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
<icon height="172" src="resources/ios/icon/icon-86@2x.png" width="172" />
<icon height="196" src="resources/ios/icon/icon-98@2x.png" width="196" />
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
<splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
<splash height="1125" src="resources/ios/splash/Default-Landscape-2436h.png" width="2436" />
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
<splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
<splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
<splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
<splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
<splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
<splash height="2436" src="resources/ios/splash/Default-2436h.png" width="1125" />
<splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
</platform>
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^4.0.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
</widget>

View File

@ -1,5 +1,7 @@
{
"name": "metasocket-cordova",
"integrations": {},
"integrations": {
"cordova": {}
},
"type": "angular"
}

552
package-lock.json generated
View File

@ -1566,6 +1566,53 @@
"to-fast-properties": "^2.0.0"
}
},
"@capacitor/core": {
"version": "2.4.6",
"resolved": "https://registry.npmjs.org/@capacitor/core/-/core-2.4.6.tgz",
"integrity": "sha512-3KLSMorCELA5RNRXwHOGlRGuxXaxCEYHC29wOUxObicI2mf14hbMJWylt4QBzNmSqh3/ha7u4/CAZMoJUQR/QA==",
"requires": {
"tslib": "^1.9.0"
},
"dependencies": {
"tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
}
}
},
"@ionic-native/background-mode": {
"version": "5.31.1",
"resolved": "https://registry.npmjs.org/@ionic-native/background-mode/-/background-mode-5.31.1.tgz",
"integrity": "sha512-m5pCR2/QPblE5u9eqRC04qUyHkB0FzgD0a3/G6Q1Xx00BmuBeA/95BB2Htyrt3Ly/pp3W+ynTwljFMeDayi6bw==",
"requires": {
"@types/cordova": "^0.0.34"
}
},
"@ionic-native/core": {
"version": "5.31.1",
"resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.31.1.tgz",
"integrity": "sha512-dbJHezSuY8OqyFwyQiS+5QscA/BONhWitXgniljEblC5kQeLOCe+8p30JYHXj9xDciYzfqFP8ICmyaGOqUHJYw==",
"requires": {
"@types/cordova": "^0.0.34"
}
},
"@ionic-native/foreground-service": {
"version": "5.31.1",
"resolved": "https://registry.npmjs.org/@ionic-native/foreground-service/-/foreground-service-5.31.1.tgz",
"integrity": "sha512-ln+2b9VgynZaemcAq+8v0BQ6Qxnx4veebVnAGsZ5fGzwqGIW9qMAbzncWJo9k7CK/jWDjZiqviIbKTxw4uPptQ==",
"requires": {
"@types/cordova": "^0.0.34"
}
},
"@ionic-native/local-notifications": {
"version": "5.31.1",
"resolved": "https://registry.npmjs.org/@ionic-native/local-notifications/-/local-notifications-5.31.1.tgz",
"integrity": "sha512-OOd4EUnnfpDbvuJIwh3UzJ/6fFMTmf8f43mAfU0URkUS/LVJpl9aJzDCOLIB+0RXo+ZeRqW17q44qgUArgz1VQ==",
"requires": {
"@types/cordova": "^0.0.34"
}
},
"@ionic/angular": {
"version": "5.5.5",
"resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-5.5.5.tgz",
@ -1646,6 +1693,25 @@
"schema-utils": "^2.7.0"
}
},
"@netflix/nerror": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz",
"integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"extsprintf": "^1.4.0",
"lodash": "^4.17.15"
},
"dependencies": {
"extsprintf": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz",
"integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=",
"dev": true
}
}
},
"@ngtools/webpack": {
"version": "11.1.4",
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-11.1.4.tgz",
@ -1826,6 +1892,11 @@
"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
"dev": true
},
"@types/cordova": {
"version": "0.0.34",
"resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz",
"integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ="
},
"@types/glob": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
@ -2215,6 +2286,29 @@
"integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
"dev": true
},
"android-versions": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.6.0.tgz",
"integrity": "sha512-ojC2Ig7b/KJ6iNtR8e4bacmOsJyEkoERk3CKMIsnH7kJz5z6551NMbrVaRb7KXYavu1d74Uhml/bfcmqT3nAcg==",
"dev": true,
"requires": {
"semver": "^5.7.1"
},
"dependencies": {
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
}
}
},
"ansi": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
"integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=",
"dev": true
},
"ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@ -2495,6 +2589,12 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
"at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
"dev": true
},
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
@ -2679,6 +2779,12 @@
"tweetnacl": "^0.14.3"
}
},
"big-integer": {
"version": "1.6.48",
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz",
"integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==",
"dev": true
},
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
@ -2790,6 +2896,15 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true
},
"bplist-parser": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
"integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
"dev": true,
"requires": {
"big-integer": "^1.6.44"
}
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@ -3836,6 +3951,296 @@
}
}
},
"cordova-android": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-9.0.0.tgz",
"integrity": "sha512-2ZEgApK4LPMYW0zh/mLAH3CabzCaKE0yxQTzA2wTf0Eo2HHTJnRtDCf9spGf3nPOkubyXS6+pvzz5QzNHpVTqQ==",
"dev": true,
"requires": {
"android-versions": "^1.5.0",
"cordova-common": "^4.0.1",
"execa": "^4.0.2",
"fs-extra": "^9.0.1",
"nopt": "^4.0.3",
"properties-parser": "^0.3.1",
"which": "^2.0.2"
},
"dependencies": {
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
"requires": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
"which": "^2.0.1"
}
},
"execa": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
"integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
"dev": true,
"requires": {
"cross-spawn": "^7.0.0",
"get-stream": "^5.0.0",
"human-signals": "^1.1.1",
"is-stream": "^2.0.0",
"merge-stream": "^2.0.0",
"npm-run-path": "^4.0.0",
"onetime": "^5.1.0",
"signal-exit": "^3.0.2",
"strip-final-newline": "^2.0.0"
}
},
"fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dev": true,
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
}
},
"get-stream": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dev": true,
"requires": {
"pump": "^3.0.0"
}
},
"is-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
"integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
"dev": true
},
"jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
}
},
"nopt": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
"dev": true,
"requires": {
"abbrev": "1",
"osenv": "^0.1.4"
}
},
"npm-run-path": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
"dev": true,
"requires": {
"path-key": "^3.0.0"
}
},
"path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true
},
"shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"requires": {
"shebang-regex": "^3.0.0"
}
},
"shebang-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true
},
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
}
}
},
"cordova-common": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-4.0.2.tgz",
"integrity": "sha512-od7aNShyuBajzPY83mUEO8tERwwWdFklXETHiXP5Ft87CWeo/tSuwNPFztyTy8XYc74yXdogXKPTJeUHuVzB8Q==",
"dev": true,
"requires": {
"@netflix/nerror": "^1.1.3",
"ansi": "^0.3.1",
"bplist-parser": "^0.2.0",
"cross-spawn": "^7.0.1",
"elementtree": "^0.1.7",
"endent": "^1.4.1",
"fast-glob": "^3.2.2",
"fs-extra": "^9.0.0",
"glob": "^7.1.6",
"plist": "^3.0.1",
"q": "^1.5.1",
"read-chunk": "^3.2.0",
"strip-bom": "^4.0.0",
"underscore": "^1.9.2"
},
"dependencies": {
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
"requires": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
"which": "^2.0.1"
}
},
"fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dev": true,
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
}
},
"jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
}
},
"path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true
},
"shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"requires": {
"shebang-regex": "^3.0.0"
}
},
"shebang-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true
},
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
}
}
},
"cordova-plugin-background-mode": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/cordova-plugin-background-mode/-/cordova-plugin-background-mode-0.7.3.tgz",
"integrity": "sha512-LsU1v7EgTUROaks+tcQ8TnMzVUcU/TwjDVwj2O/4e4aI2q2ldLGsiZorqKqfqvwh2HoIssmY73OwJk91hQi62w==",
"dev": true
},
"cordova-plugin-badge": {
"version": "0.8.8",
"resolved": "https://registry.npmjs.org/cordova-plugin-badge/-/cordova-plugin-badge-0.8.8.tgz",
"integrity": "sha512-RhIBtd5xhD/iLnxjt35jvOae28oNW/wtMZBOmQR3Rf0y4wirvA1bpAZEhBoFqL+rZGhsd6ddOdQXdex1T0DRyQ==",
"dev": true
},
"cordova-plugin-device": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.0.3.tgz",
"integrity": "sha512-Jb3V72btxf3XHpkPQsGdyc8N6tVBYn1vsxSFj43fIz9vonJDUThYPCJJHqk6PX6N4dJw6I4FjxkpfCR4LDYMlw==",
"dev": true
},
"cordova-plugin-foreground-service": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/cordova-plugin-foreground-service/-/cordova-plugin-foreground-service-1.1.3.tgz",
"integrity": "sha512-/C2Z8w9JIfAaLeXP290msQP9jcHR+CAJYbp6/x+mS21VtvS2Ug0upKsgjEzzSzRnt08Mr8kuwCV7juUd6eCWcw==",
"dev": true
},
"cordova-plugin-ionic-keyboard": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.2.0.tgz",
"integrity": "sha512-yDUG+9ieKVRitq5mGlNxjaZh/MgEhFFIgTIPhqSbUaQ8UuZbawy5mhJAVClqY97q8/rcQtL6dCDa7x2sEtCLcA==",
"dev": true
},
"cordova-plugin-ionic-webview": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/cordova-plugin-ionic-webview/-/cordova-plugin-ionic-webview-4.2.1.tgz",
"integrity": "sha512-7KrmqLaOGq1RP8N2z1ezN1kqkWFzTwwMvQ3/qAkd+exxFZuOe3DIN4eaU1gdNphsxdirI8Ajnr9q4So5vQbWqw==",
"dev": true
},
"cordova-plugin-local-notification": {
"version": "0.9.0-beta.2",
"resolved": "https://registry.npmjs.org/cordova-plugin-local-notification/-/cordova-plugin-local-notification-0.9.0-beta.2.tgz",
"integrity": "sha512-63n77K1pt8dnbWnNR8QWETi9Glezi1bvNHvHWmGNIOv0xCb0phZnm+Ku49BQ+omwe8Z5voMvrA4I03SYPpv38w==",
"dev": true
},
"cordova-plugin-splashscreen": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-5.0.2.tgz",
"integrity": "sha1-dH509W4gHNWFvGLRS8oZ9oZ/8e0=",
"dev": true
},
"cordova-plugin-statusbar": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.2.tgz",
"integrity": "sha1-/B+9wNjXAzp+jh8ff/FnrJvU+vY=",
"dev": true
},
"cordova-plugin-whitelist": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.3.tgz",
"integrity": "sha1-tehezbv+Wu3tQKG/TuI3LmfZb7Q=",
"dev": true
},
"core-js": {
"version": "3.8.2",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.2.tgz",
@ -4490,6 +4895,12 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
"dedent": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
"integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
"dev": true
},
"deep-equal": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
@ -4876,6 +5287,23 @@
"integrity": "sha512-GEQw+6dNWjueXGkGfjgm7dAMtXfEqrfDG3uWcZdeaD4cZ3dKYdPRQVruVXQRXtPLtOr5GNVVlNLRMChOZ611pQ==",
"dev": true
},
"elementtree": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz",
"integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=",
"dev": true,
"requires": {
"sax": "1.1.4"
},
"dependencies": {
"sax": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz",
"integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk=",
"dev": true
}
}
},
"elliptic": {
"version": "6.5.4",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
@ -4948,6 +5376,17 @@
"once": "^1.4.0"
}
},
"endent": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/endent/-/endent-1.4.1.tgz",
"integrity": "sha512-buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==",
"dev": true,
"requires": {
"dedent": "^0.7.0",
"fast-json-parse": "^1.0.3",
"objectorarray": "^1.0.4"
}
},
"engine.io": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz",
@ -5550,6 +5989,12 @@
"picomatch": "^2.2.1"
}
},
"fast-json-parse": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz",
"integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==",
"dev": true
},
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@ -6531,6 +6976,12 @@
"debug": "4"
}
},
"human-signals": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
"dev": true
},
"humanize-ms": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
@ -8894,6 +9345,12 @@
"has": "^1.0.3"
}
},
"objectorarray": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.4.tgz",
"integrity": "sha512-91k8bjcldstRz1bG6zJo8lWD7c6QXcB4nTDUqiEvIL1xAsLoZlOOZZG+nd6YPz+V7zY1580J4Xxh1vZtyv4i/w==",
"dev": true
},
"obuf": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
@ -9042,12 +9499,28 @@
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
"dev": true
},
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
"osenv": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
"dev": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
}
},
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
@ -9379,6 +9852,25 @@
"find-up": "^4.0.0"
}
},
"plist": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
"integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
"dev": true,
"requires": {
"base64-js": "^1.2.3",
"xmlbuilder": "^9.0.7",
"xmldom": "0.1.x"
},
"dependencies": {
"xmlbuilder": {
"version": "9.0.7",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
"dev": true
}
}
},
"pnp-webpack-plugin": {
"version": "1.6.4",
"resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz",
@ -10804,6 +11296,15 @@
}
}
},
"properties-parser": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz",
"integrity": "sha1-ExbpU5/7/ZOEXjabIRAiq9R4dxo=",
"dev": true,
"requires": {
"string.prototype.codepointat": "^0.2.0"
}
},
"protractor": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz",
@ -11335,6 +11836,16 @@
}
}
},
"read-chunk": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz",
"integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==",
"dev": true,
"requires": {
"pify": "^4.0.1",
"with-open-file": "^0.1.6"
}
},
"read-package-json-fast": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.2.2.tgz",
@ -12906,6 +13417,12 @@
"strip-ansi": "^6.0.0"
}
},
"string.prototype.codepointat": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==",
"dev": true
},
"string.prototype.trimend": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
@ -12952,12 +13469,24 @@
"ansi-regex": "^5.0.0"
}
},
"strip-bom": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
"integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
"dev": true
},
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
"strip-final-newline": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true
},
"style-loader": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz",
@ -13534,6 +14063,12 @@
"integrity": "sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q==",
"dev": true
},
"underscore": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz",
"integrity": "sha512-21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==",
"dev": true
},
"unicode-canonical-property-names-ecmascript": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
@ -15053,6 +15588,17 @@
"integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
"dev": true
},
"with-open-file": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz",
"integrity": "sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==",
"dev": true,
"requires": {
"p-finally": "^1.0.0",
"p-try": "^2.1.0",
"pify": "^4.0.1"
}
},
"worker-farm": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
@ -15175,6 +15721,12 @@
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
"dev": true
},
"xmldom": {
"version": "0.1.31",
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
"integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==",
"dev": true
},
"xmlhttprequest-ssl": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",

View File

@ -19,6 +19,11 @@
"@angular/platform-browser": "~11.2.0",
"@angular/platform-browser-dynamic": "~11.2.0",
"@angular/router": "~11.2.0",
"@capacitor/core": "^2.4.6",
"@ionic-native/background-mode": "^5.31.1",
"@ionic-native/core": "^5.31.1",
"@ionic-native/foreground-service": "^5.31.1",
"@ionic-native/local-notifications": "^5.31.1",
"@ionic/angular": "^5.5.2",
"rxjs": "~6.6.0",
"tslib": "^2.0.0",
@ -35,6 +40,17 @@
"@types/jasminewd2": "~2.0.3",
"@types/node": "^12.11.1",
"codelyzer": "^6.0.0",
"cordova-android": "^9.0.0",
"cordova-plugin-background-mode": "^0.7.3",
"cordova-plugin-badge": "^0.8.8",
"cordova-plugin-device": "^2.0.3",
"cordova-plugin-foreground-service": "^1.1.3",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.2.1",
"cordova-plugin-local-notification": "^0.9.0-beta.2",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.3",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~5.2.0",
@ -48,5 +64,23 @@
"tslint": "~6.1.0",
"typescript": "~4.0.2"
},
"description": "An Ionic project"
"description": "An Ionic project",
"cordova": {
"plugins": {
"cordova-plugin-local-notification": {},
"cordova-plugin-whitelist": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-plugin-ionic-keyboard": {},
"cordova-plugin-background-mode": {},
"cordova-plugin-foreground-service": {}
},
"platforms": [
"android"
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
resources/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

52
src/app/api.service.ts Normal file
View File

@ -0,0 +1,52 @@
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs';
import {HttpClient} from '@angular/common/http';
import {Token} from './token';
import {Host} from './host';
import {ChatMessage} from './chat.message';
import {ChatTokenResponse} from './chat.token';
@Injectable({
providedIn: 'root'
})
export class ApiService {
public static userToken: string;
constructor(private client: HttpClient) {
}
storeData(key: string, value: string): void
{
sessionStorage.setItem(key, value);
}
getFromStorage(key: string): string {
return sessionStorage.getItem(key);
}
getAuthToken(username: string, password: string): Observable<Token> {
return this.client.post<Token>(Host.URL + '/token', {username, password});
}
getChatToken(authToken: string): Observable<ChatTokenResponse> {
return this.client.get<ChatTokenResponse>(
Host.URL + '/session/chat',
{headers: {Authorization: 'Bearer ' + authToken}}
);
}
getChatHistory(token: string, offset: number, limit: number): Observable<ChatMessage[]> {
return this.client.get<ChatMessage[]>(
Host.URL + '/session/chat/history?limit=' + limit + '&offset=' + offset,
{headers: {Authorization: 'Bearer ' + token}}
);
}
deleteAuthToken(token: string): Observable<string>
{
return this.client.delete<string>(
Host.URL + '/token/' + token,
{headers: {Authorization: 'Bearer ' + token}}
);
}
}

View File

@ -2,15 +2,6 @@ import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{
path: 'home',
loadChildren: () => import('./home/home.module').then( m => m.HomePageModule)
},
{
path: '',
redirectTo: 'home',
pathMatch: 'full'
},
];
@NgModule({

View File

@ -1,3 +1,4 @@
<ion-app>
<ion-router-outlet></ion-router-outlet>
<app-chat></app-chat>
<app-login *ngIf="getToken() === null"></app-login>
</ion-app>

View File

@ -1,10 +1,23 @@
import { Component } from '@angular/core';
import { ApiService } from './api.service';
@Component({
selector: 'app-root',
templateUrl: 'app.component.html',
styleUrls: ['app.component.scss'],
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
constructor() {}
public static token: string = null;
title = 'METAsocket';
public constructor(private apiService: ApiService)
{
AppComponent.token = this.apiService.getFromStorage('token');
}
public getToken(): string
{
return AppComponent.token;
}
}

View File

@ -4,14 +4,25 @@ import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { FormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import {ChatComponent} from './chat/chat.component';
import {LoginComponent} from './login/login.component';
import {TopbarComponent} from './topbar/topbar.component';
import {LocalNotifications} from '@ionic-native/local-notifications/ngx';
import {BackgroundMode} from '@ionic-native/background-mode/ngx';
import {ForegroundService} from '@ionic-native/foreground-service/ngx';
@NgModule({
declarations: [AppComponent],
declarations: [AppComponent, ChatComponent, LoginComponent, TopbarComponent],
entryComponents: [],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule, FormsModule, HttpClientModule],
providers: [
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }, LocalNotifications, BackgroundMode, ForegroundService
],
bootstrap: [AppComponent],
})
export class AppModule {}

7
src/app/chat.message.ts Normal file
View File

@ -0,0 +1,7 @@
export interface ChatMessage
{
userId: number;
username: string;
message: string;
datetime: string;
}

5
src/app/chat.token.ts Normal file
View File

@ -0,0 +1,5 @@
export interface ChatTokenResponse
{
userId: number;
token: string;
}

View File

@ -0,0 +1,17 @@
<div id="chat">
<app-topbar></app-topbar>
<div #chatPostArea id="chat-post-area" (scroll)="onScroll()">
<div *ngFor="let message of messages" class="chat-post" [class.chat-own-post]="userId === message.userId">
<img class="chat-avatar" src="{{url}}/user/{{message.userId}}/avatar?token={{userToken}}">
<div class="chat-message-area">
<div class="chat-username">{{message.username}}</div>
<div class="chat-post-message">{{message.message}}</div>
<div class="chat-datetime">{{message.datetime}}</div>
</div>
</div>
</div>
<div id="chat-type-area">
<textarea [(ngModel)]="chatText" id="chat-textarea" (keydown)="onTextInput($event)" autofocus></textarea>
</div>
</div>

View File

View File

@ -0,0 +1,24 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { ChatComponent } from './chat.component';
describe('ChatComponent', () => {
let component: ChatComponent;
let fixture: ComponentFixture<ChatComponent>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ ChatComponent ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(ChatComponent);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,162 @@
import {Plugins, AppState} from '@capacitor/core';
import {AfterViewChecked, AfterViewInit, Component, ElementRef, OnInit, ViewChild} from '@angular/core';
import {ChatMessage} from '../chat.message';
import {Host} from '../host';
import {ApiService} from '../api.service';
import {WebsocketListener} from '../websocket.listener';
import {WebsocketService} from '../websocket.service';
import {LocalNotifications} from '@ionic-native/local-notifications/ngx';
import {BackgroundMode} from '@ionic-native/background-mode/ngx';
import {ForegroundService} from '@ionic-native/foreground-service/ngx';
const {App} = Plugins;
@Component({
selector: 'app-chat',
templateUrl: './chat.component.html',
styleUrls: ['./chat.component.scss'],
})
export class ChatComponent implements OnInit, AfterViewInit, AfterViewChecked, WebsocketListener {
messages: ChatMessage[] = [];
userToken: string;
userId: number;
url: string;
@ViewChild('chatPostArea') chatPostArea: ElementRef;
chatText: string;
private oldScrollHeight = 0;
private messageOffset = 0;
private messageLimit = 10;
private hasBeenReloaded = false;
private hasFocus = true;
public constructor(
private apiService: ApiService,
private websocketService: WebsocketService,
private localNotifications: LocalNotifications,
private backgroundMode: BackgroundMode,
private foregroundService: ForegroundService
) {
this.userToken = this.apiService.getFromStorage('token');
this.userId = Number(this.apiService.getFromStorage('userId'));
this.url = Host.URL;
this.websocketService.setListener(this);
this.websocketService.initializeSocket(this.apiService.getFromStorage('chatToken'));
this.backgroundMode.disableBatteryOptimizations();
this.backgroundMode.disableWebViewOptimizations();
}
ngAfterViewInit(): void {
this.chatPostArea.nativeElement.scroll(0, this.chatPostArea.nativeElement.scrollHeight);
}
ngAfterViewChecked(): void {
if (this.oldScrollHeight !== this.chatPostArea.nativeElement.scrollHeight) {
const scrollTop = this.chatPostArea.nativeElement.scrollTop;
const clientHeight = this.chatPostArea.nativeElement.clientHeight;
if (this.hasBeenReloaded) {
this.chatPostArea.nativeElement.scroll(0, this.chatPostArea.nativeElement.scrollHeight - this.oldScrollHeight);
this.hasBeenReloaded = false;
} else if (scrollTop + clientHeight > this.oldScrollHeight - 10) {
this.chatPostArea.nativeElement.scroll(0, this.oldScrollHeight);
}
this.oldScrollHeight = this.chatPostArea.nativeElement.scrollHeight;
}
}
ngOnInit(): void {
if (this.userToken === null) {
return;
}
this.localNotifications.requestPermission();
this.foregroundService.start('METAsocket', 'The chat for WowApp', 'ic_stat_notification_icon_enabled');
this.apiService.getChatHistory(this.userToken, this.messageOffset, this.messageLimit).subscribe(
(response) => {
this.messages = response;
this.messageOffset += this.messageLimit;
}
);
App.addListener('appStateChange', (state: AppState) => {
this.hasFocus = state.isActive;
});
setInterval(
() => {
this.websocketService.sendKeepAliveMessage();
}, 1000 * 60 // every minute
);
}
onScroll(): void {
if (this.chatPostArea.nativeElement.scrollTop === 0) {
this.apiService.getChatHistory(this.userToken, this.messageOffset, this.messageLimit).subscribe(
(response) => {
this.messages = response.concat(this.messages);
this.messageOffset += this.messageLimit;
this.hasBeenReloaded = true;
}
);
}
}
onTextInput(event: Event): void {
if (!(event instanceof KeyboardEvent)) {
return;
}
switch (event.key) {
case 'Enter':
event.preventDefault();
if (this.chatText.trim() === '') {
return;
}
this.websocketService.sendChatMessage(this.chatText);
this.chatText = '';
return;
default:
return;
}
}
onChatMessage(message: ChatMessage): void {
this.messages.push(message);
this.messageOffset++;
if (message.userId === this.userId) {
return;
}
this.triggerNotification(message);
}
triggerNotification(message: ChatMessage): void
{
this.localNotifications.schedule(
{
title: message.username,
text: message.message,
id: 1,
priority: 2,
lockscreen: true,
autoClear: true,
icon: Host.URL + '/user/' + message.userId + '/avatar?token=' + this.userToken,
smallIcon: 'ic_stat_notification_icon_enabled',
led: {color: '#ff00ff', on: 500, off: 500},
trigger: { at: new Date(new Date().getTime() + 1000) },
sound: 'file://assets/audio/murloc.wav',
vibrate: true
}
);
}
}

5
src/app/host.ts Normal file
View File

@ -0,0 +1,5 @@
export class Host
{
public static readonly URL: string = 'https://sabolli.de/wow/api/v1';
public static readonly WEBSOCKET: string = 'wss://sabolli.de/metasocket';
}

View File

@ -0,0 +1,20 @@
<div id="login">
<div id="login-form">
<img id="metasocket-banner" src="assets/graphics/metasocket-banner.svg">
<p *ngIf="error !== null" class="error-message">{{error}}</p>
<form>
<label>
Username
<input name="username" [(ngModel)] = "username">
</label>
<label>
Password
<input type="password" name="password" [(ngModel)] = "password">
</label>
<input type="submit" (click)="login($event)" value="Anmelden">
</form>
</div>
</div>

View File

View File

@ -0,0 +1,24 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { LoginComponent } from './login.component';
describe('LoginComponent', () => {
let component: LoginComponent;
let fixture: ComponentFixture<LoginComponent>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ LoginComponent ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(LoginComponent);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,71 @@
import { Component, OnInit } from '@angular/core';
import { ApiService } from '../api.service';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {
username = '';
password = '';
error: string = null;
constructor(private apiService: ApiService) { }
ngOnInit(): void {}
login(event): void
{
event.target.disabled = true;
event.target.style.visibility = 'hidden';
this.apiService.getAuthToken(this.username, this.password).toPromise()
.then(
(response) => {
this.apiService.storeData('token', response.token);
this.apiService.getChatToken(response.token).toPromise()
.then(
(chatTokenResponse) => {
this.apiService.storeData('chatToken', chatTokenResponse.token);
this.apiService.storeData('userId', chatTokenResponse.userId.toString());
window.location.reload();
}
).catch(
(error) => {
this.apiService.storeData('token', null);
this.error = error.name + ': ' + error.message;
event.target.disabled = false;
event.target.style.visibility = 'visible';
}
);
}
).catch (
(error) => {
this.apiService.storeData('token', null);
switch (error.status) {
case 401:
this.error = 'Login fehlgeschlagen: Die Zugangsdaten sind falsch!';
break;
case 0:
this.error = 'Verbindungsfehler: Konnte keine Verbindung zum Server herstellen!';
break;
default:
this.error = 'Fehler: Etwas unfassbar schlimmes ist passiert!';
break;
}
console.log(error);
event.target.disabled = false;
event.target.style.visibility = 'visible';
}
);
}
}

View File

@ -0,0 +1,4 @@
export interface SocketKeepaliveMessage
{
type: number;
}

View File

@ -0,0 +1,6 @@
export interface SocketReceivedMessage {
type: number;
userId: number;
message: string;
datetime: string;
}

View File

@ -0,0 +1,5 @@
export interface SocketRegistrationMessage {
type: number;
token: string;
}

View File

@ -0,0 +1,4 @@
export interface SocketSendMessage {
type: number;
message: string;
}

3
src/app/token.ts Normal file
View File

@ -0,0 +1,3 @@
export interface Token {
token: string;
}

View File

@ -0,0 +1,4 @@
<div id="topbar">
<img src="assets/graphics/metasocket-banner.svg" id="metasocket-logo">
<button id="logout-button" (click)="logout()">X</button>
</div>

View File

View File

@ -0,0 +1,24 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { TopbarComponent } from './topbar.component';
describe('TopbarComponent', () => {
let component: TopbarComponent;
let fixture: ComponentFixture<TopbarComponent>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ TopbarComponent ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(TopbarComponent);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,31 @@
import {Component, Input, OnInit} from '@angular/core';
import {ApiService} from '../api.service';
import {AppComponent} from '../app.component';
import {ForegroundService} from '@ionic-native/foreground-service/ngx';
@Component({
selector: 'app-topbar',
templateUrl: './topbar.component.html',
styleUrls: ['./topbar.component.scss']
})
export class TopbarComponent implements OnInit {
@Input() token: string;
constructor(private apiService: ApiService, private foregroundService: ForegroundService) {
}
ngOnInit(): void {
}
logout(): void {
this.apiService.deleteAuthToken(this.apiService.getFromStorage('token')).toPromise()
.then()
.catch(
(error) => {console.log(error); }
);
this.apiService.storeData('token', null);
this.foregroundService.stop();
AppComponent.token = null;
}
}

View File

@ -0,0 +1,6 @@
import {ChatMessage} from './chat.message';
export interface WebsocketListener
{
onChatMessage(message: ChatMessage): void;
}

View File

@ -0,0 +1,104 @@
import {Injectable} from '@angular/core';
import {Host} from './host';
import {ChatMessage} from './chat.message';
import {SocketRegistrationMessage} from './socket.registration.message';
import {SocketReceivedMessage} from './socket.received.message';
import {WebsocketListener} from './websocket.listener';
import {SocketSendMessage} from './socket.send.message';
import {SocketKeepaliveMessage} from './socket.keepalive.message';
@Injectable({
providedIn: 'root'
})
export class WebsocketService {
private socket: WebSocket = new WebSocket(Host.WEBSOCKET);
private userList: Map<number, string> = new Map<number, string>();
private listener: WebsocketListener;
private chatToken: string;
initializeSocket(chatToken: string): void {
this.chatToken = chatToken;
this.socket = new WebSocket(Host.WEBSOCKET);
this.socket.addEventListener('open', () => {
this.authorize();
});
this.socket.addEventListener('message', (transmission: MessageEvent) => {
this.handleIncomingTransmission(transmission);
});
this.socket.addEventListener(
'close',
() => {
this.initializeSocket(this.chatToken);
this.authorize();
}
);
}
setListener(listener: WebsocketListener): void {
this.listener = listener;
}
sendChatMessage(message: string): void {
const socketMessage: SocketSendMessage = {
type: Response.CHAT_MESSAGE,
message
};
this.socket.send(JSON.stringify(socketMessage));
}
sendKeepAliveMessage(): void {
const socketMessage: SocketKeepaliveMessage = {
type: Response.KEEP_ALIVE
};
this.socket.send(JSON.stringify(socketMessage));
}
private authorize(): void {
const message: SocketRegistrationMessage = {type: Response.REGISTRATION_MESSAGE, token: this.chatToken};
this.socket.send(JSON.stringify(message));
}
private handleIncomingTransmission(transmission: MessageEvent): void {
const response = JSON.parse(transmission.data);
switch (response.type) {
case Response.CHAT_MESSAGE:
const messageReceived: SocketReceivedMessage = response;
const message: ChatMessage = {
userId: messageReceived.userId,
username: this.userList.get(messageReceived.userId),
datetime: messageReceived.datetime,
message: messageReceived.message
};
this.listener.onChatMessage(message);
break;
case Response.REGISTRATION_MESSAGE:
this.userList.set(response.userId, response.username);
break;
case Response.USERLIST:
response.users.forEach(
(user) => {
this.userList.set(user.userId, user.username);
}
);
break;
default:
throw new Error('Unknown message type: ' + response.type);
}
}
}
enum Response {
CHAT_MESSAGE = 1,
REGISTRATION_MESSAGE,
USERLIST,
KEEP_ALIVE
}

0
src/assets/.gitkeep Normal file
View File

BIN
src/assets/audio/murloc.ogg Normal file

Binary file not shown.

BIN
src/assets/audio/murloc.wav Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 140.56724 49.992298"
height="49.992298mm"
width="140.56725mm"
sodipodi:docname="metasocket-banner.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="1.0134608"
inkscape:cx="245.55533"
inkscape:cy="153.99997"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:1.064;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="M 10.256227,0 0,10.256222 5.696296,15.953032 15.953037,5.69681 Z m 29.479854,0 -5.69681,5.69681 10.256224,10.256222 5.69681,-5.69681 z M 19.220538,5.564002 v 2.764689 l 2.888197,2.981213 h 2.886644 2.888197 L 30.771773,8.328691 V 5.564002 H 24.995379 Z M 5.565037,19.219499 v 5.776908 5.775875 h 2.764175 l 2.981215,-2.888194 V 24.996407 22.108212 L 8.329212,19.219499 Z m 36.09806,0 -2.98173,2.888713 v 2.888195 2.887681 l 2.98173,2.888194 h 2.764171 V 24.996407 19.219499 Z M 5.696296,34.039267 0,39.736077 l 10.256227,10.256222 5.69681,-5.696294 z m 38.599199,0 -10.256224,10.256738 5.69681,5.696294 10.256224,-10.256222 z m -22.18676,4.643644 -2.888197,2.981214 v 2.763655 h 5.774841 5.776394 v -2.763655 l -2.888197,-2.981214 h -2.888197 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:25.7854px;line-height:1.25;font-family:sans-serif;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.644638"
x="57.13802"
y="24.238512"
id="text905"><tspan
sodipodi:role="line"
id="tspan903"
x="57.13802"
y="24.238512"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#ffffff;fill-opacity:1;stroke-width:0.644638">META</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:25.7854px;line-height:1.25;font-family:sans-serif;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.644638"
x="57.809711"
y="43.792461"
id="text909"><tspan
sodipodi:role="line"
id="tspan907"
x="57.809711"
y="43.792461"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.644638">socket</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
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"
id="svg9367"
version="1.1"
viewBox="0 0 49.992304 49.992298"
height="49.992298mm"
width="49.992306mm"
sodipodi:docname="metasocket-icon.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1829"
inkscape:window-height="1016"
id="namedview1452"
showgrid="false"
inkscape:zoom="1.0134608"
inkscape:cx="251.15981"
inkscape:cy="153.99997"
inkscape:window-x="91"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg9367"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs9361" />
<metadata
id="metadata9364">
<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>
<path
id="rect882"
style="fill:#ffffff;fill-opacity:1;stroke-width:1.064;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.858824"
d="M 10.256227,0 0,10.256222 5.696296,15.953032 15.953037,5.69681 Z m 29.479854,0 -5.69681,5.69681 10.256224,10.256222 5.69681,-5.69681 z M 19.220538,5.564002 v 2.764689 l 2.888197,2.981213 h 2.886644 2.888197 L 30.771773,8.328691 V 5.564002 H 24.995379 Z M 5.565037,19.219499 v 5.776908 5.775875 h 2.764175 l 2.981215,-2.888194 V 24.996407 22.108212 L 8.329212,19.219499 Z m 36.09806,0 -2.98173,2.888713 v 2.888195 2.887681 l 2.98173,2.888194 h 2.764171 V 24.996407 19.219499 Z M 5.696296,34.039267 0,39.736077 l 10.256227,10.256222 5.69681,-5.696294 z m 38.599199,0 -10.256224,10.256738 5.69681,5.696294 10.256224,-10.256222 z m -22.18676,4.643644 -2.888197,2.981214 v 2.763655 h 5.774841 5.776394 v -2.763655 l -2.888197,-2.981214 h -2.888197 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 930 B

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,26 +1,175 @@
/*
* App Global CSS
* ----------------------------------------------------------------------------
* Put style rules here that you want to apply globally. These styles are for
* the entire app and not just one component. Additionally, this file can be
* used as an entry point to import other CSS/Sass files to be included in the
* output CSS.
* For more information on global stylesheets, visit the documentation:
* https://ionicframework.com/docs/layout/global-stylesheets
*/
* {
box-sizing: border-box;
font-family: sans-serif;
outline: none;
}
/* Core CSS required for Ionic components to work properly */
@import "~@ionic/angular/css/core.css";
#chat {
background: rgb(27, 47, 114) url("assets/graphics/bg_responsive.jpg") repeat;
margin: 0;
font-size: 16px;
font-family: sans-serif;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
color: white;
}
/* Basic CSS for apps built with Ionic */
@import "~@ionic/angular/css/normalize.css";
@import "~@ionic/angular/css/structure.css";
@import "~@ionic/angular/css/typography.css";
@import '~@ionic/angular/css/display.css';
#chat-post-area {
position: fixed;
top: 40px;
left: 0;
right: 0;
bottom: 50px;
overflow-x: hidden;
box-sizing: border-box;
padding-bottom: 20px;
}
#chat-type-area {
position: fixed;
height: 50px;
left: 0;
right: 0;
bottom: 0;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.9);
}
#chat-textarea {
width: 100%;
height: 100%;
background-color: #333333;
font-family: sans-serif;
font-size: 16px;
color: white;
border: 2px grey solid;
box-sizing: border-box;
padding: 5px;
resize: none;
outline: none;
}
.chat-post {
background-color: rgba(37, 26, 37, 0.9);
border-radius: 0 20px 20px 0;
margin-right: 20px;
margin-left: 0;
margin-top: 10px;
margin-bottom: 10px;
padding: 20px;
overflow: hidden;
}
.chat-own-post {
border-radius: 20px 0 0 20px;
margin-left: 20px;
margin-right: 0;
padding: 20px 0 20px 20px;
background-color: rgba(26, 37, 26, 0.9);
}
.chat-avatar {
width: 64px;
height: 64px;
border-radius: 32px;
margin-right: 20px;
float: left;
}
.chat-own-post > .chat-avatar {
margin-left: 20px;
float: right;
}
.chat-username {
font-weight: bold;
}
.chat-post-message {
margin-top: 10px;
overflow: hidden;
}
.chat-datetime {
font-style: italic;
color: grey;
margin-top: 10px;
}
#login {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgb(37, 26, 37);
display: flex;
align-items: center;
}
#login-form {
max-width: 500px;
margin: auto;
text-align: center;
padding: 20px;
}
#login-form label {
display: block;
color: white;
font-weight: bold;
margin-bottom: 20px;
}
#login-form input {
display: block;
background-color: transparent;
border: solid 1px white;
color: white;
border-radius: 5px;
font-size: 18px;
width: 100%;
padding: 5px;
}
#login-form input[type=submit] {
margin-top: 50px;
}
.error-message {
background-color: #550000;
border: solid 1px red;
color: white;
padding: 5px;
margin-bottom: 30px;
}
#metasocket-banner {
width: 100%;
margin-bottom: 50px;
}
#metasocket-logo {
height: 100%;
}
#topbar {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 40px;
background-color: #888888;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.9);
padding: 5px;
display: inline-flex;
justify-content: space-between;
}
#logout-button {
width: 70px;
text-align: center;
}
/* Optional CSS utils that can be commented out */
@import "~@ionic/angular/css/padding.css";
@import "~@ionic/angular/css/float-elements.css";
@import "~@ionic/angular/css/text-alignment.css";
@import "~@ionic/angular/css/text-transformation.css";
@import "~@ionic/angular/css/flex-utils.css";