Android builds fixed

- new icon
- fixed android icons
- fixed android status & navigation bar
- added "Splash" page
This commit is contained in:
olcxja 2026-05-08 18:06:52 +02:00
commit 6ff37cb3be
85 changed files with 415 additions and 161 deletions

View file

@ -9,7 +9,7 @@ android {
apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
dependencies { dependencies {
implementation project(':capacitor-status-bar')
} }

View file

@ -1,5 +1,14 @@
package olcxja.miarven; package olcxja.miarven;
import android.graphics.Color;
import android.os.Bundle;
import com.getcapacitor.BridgeActivity; import com.getcapacitor.BridgeActivity;
public class MainActivity extends BridgeActivity {} public class MainActivity extends BridgeActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 124 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 122 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 B

After

Width:  |  Height:  |  Size: 619 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 1 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 906 B

After

Width:  |  Height:  |  Size: 965 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 317 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 582 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 350 B

After

Width:  |  Height:  |  Size: 382 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 733 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 697 B

After

Width:  |  Height:  |  Size: 785 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Before After
Before After

View file

@ -1,3 +1,6 @@
// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN // DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN
include ':capacitor-android' include ':capacitor-android'
project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor') project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor')
include ':capacitor-status-bar'
project(':capacitor-status-bar').projectDir = new File('../node_modules/@capacitor/status-bar/android')

View file

@ -0,0 +1,9 @@
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="bg_grad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#b870ff" />
<stop offset="100%" stop-color="#a64aff" />
</linearGradient>
</defs>
<rect width="512" height="512" fill="url(#bg_grad)" />
</svg>

After

Width:  |  Height:  |  Size: 372 B

View file

@ -1,16 +1,26 @@
<svg viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"> <svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<defs> <defs>
<filter id="glow" x="-10%" y="-10%" width="140%" height="140%"> <linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
<feGaussianBlur stdDeviation="1.4" result="blur" /> <stop offset="0%" style="stop-color:#b870ff;stop-opacity:1" />
<feComposite in="SourceGraphic" in2="blur" operator="over" /> <stop offset="100%" style="stop-color:#a64aff;stop-opacity:1" />
</filter> </linearGradient>
</defs> </defs>
<text x="50%" y="32" text-anchor="middle"
style="font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 56px; fill: #a64aff; filter: blur(5em); opacity: 0.6;"> <g transform="translate(112, 112) scale(1.55)">
o
</text> <text x="256" y="305"
<text x="50%" y="32" text-anchor="middle" fill="#F0F0F5"
style="font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 56px; fill: #a64aff; filter: url(#glow);"> font-family="Nunito"
o font-size="280"
</text> font-weight="900"
</svg> text-anchor="middle"
letter-spacing="-5">MN</text>
<g opacity="0.6">
<circle cx="190" cy="400" r="15" fill="#F0F0F5" />
<circle cx="256" cy="400" r="15" fill="white" />
<circle cx="322" cy="400" r="15" fill="#F0F0F5" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 674 B

After

Width:  |  Height:  |  Size: 814 B

Before After
Before After

29
assets/icon-only.svg Normal file
View file

@ -0,0 +1,29 @@
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#b870ff;stop-opacity:1" />
<stop offset="100%" style="stop-color:#a64aff;stop-opacity:1" />
</linearGradient>
<linearGradient id="bg_grad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#b870ff" />
<stop offset="100%" stop-color="#a64aff" />
</linearGradient>
</defs>
<rect width="1024" height="1024" fill="url(#bg_grad)" rx="190" />
<g transform="translate(112, 112) scale(1.55)">
<text x="256" y="305"
fill="#F0F0F5"
font-family="Nunito"
font-size="280"
font-weight="900"
text-anchor="middle"
letter-spacing="-5">MN</text>
<g opacity="0.6">
<circle cx="190" cy="400" r="15" fill="#F0F0F5" />
<circle cx="256" cy="400" r="15" fill="white" />
<circle cx="322" cy="400" r="15" fill="#F0F0F5" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -1,16 +1,29 @@
<svg viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"> <svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<defs> <defs>
<filter id="glow" x="-10%" y="-10%" width="140%" height="140%"> <linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
<feGaussianBlur stdDeviation="1.4" result="blur" /> <stop offset="0%" style="stop-color:#b870ff;stop-opacity:1" />
<feComposite in="SourceGraphic" in2="blur" operator="over" /> <stop offset="100%" style="stop-color:#a64aff;stop-opacity:1" />
</filter> </linearGradient>
</defs> <linearGradient id="bg_grad" x1="0%" y1="0%" x2="100%" y2="100%">
<text x="50%" y="32" text-anchor="middle" <stop offset="0%" stop-color="#b870ff" />
style="font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 56px; fill: #a64aff; filter: blur(5em); opacity: 0.6;"> <stop offset="100%" stop-color="#a64aff" />
o </linearGradient>
</text> </defs>
<text x="50%" y="32" text-anchor="middle" <rect width="1024" height="1024" fill="url(#bg_grad)" rx="190" />
style="font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 56px; fill: #a64aff; filter: url(#glow);"> <g transform="translate(112, 112) scale(1.55)">
o
</text> <text x="256" y="305"
</svg> fill="#F0F0F5"
font-family="Nunito"
font-size="280"
font-weight="900"
text-anchor="middle"
letter-spacing="-5">MN</text>
<g opacity="0.6">
<circle cx="190" cy="400" r="15" fill="#F0F0F5" />
<circle cx="256" cy="400" r="15" fill="white" />
<circle cx="322" cy="400" r="15" fill="#F0F0F5" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 674 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Before After
Before After

View file

@ -1,16 +1,29 @@
<svg viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"> <svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<defs> <defs>
<filter id="glow" x="-10%" y="-10%" width="140%" height="140%"> <linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
<feGaussianBlur stdDeviation="1.4" result="blur" /> <stop offset="0%" style="stop-color:#b870ff;stop-opacity:1" />
<feComposite in="SourceGraphic" in2="blur" operator="over" /> <stop offset="100%" style="stop-color:#a64aff;stop-opacity:1" />
</filter> </linearGradient>
<linearGradient id="bg_grad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#b870ff" />
<stop offset="100%" stop-color="#a64aff" />
</linearGradient>
</defs> </defs>
<text x="50%" y="32" text-anchor="middle" <rect width="1024" height="1024" fill="url(#bg_grad)" rx="190" />
style="font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 56px; fill: #a64aff; filter: blur(5em); opacity: 0.6;"> <g transform="translate(112, 112) scale(1.55)">
o
</text> <text x="256" y="305"
<text x="50%" y="32" text-anchor="middle" fill="#F0F0F5"
style="font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 56px; fill: #a64aff; filter: url(#glow);"> font-family="Nunito"
o font-size="280"
</text> font-weight="900"
</svg> text-anchor="middle"
letter-spacing="-5">MN</text>
<g opacity="0.6">
<circle cx="190" cy="400" r="15" fill="#F0F0F5" />
<circle cx="256" cy="400" r="15" fill="white" />
<circle cx="322" cy="400" r="15" fill="#F0F0F5" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 674 B

After

Width:  |  Height:  |  Size: 1 KiB

Before After
Before After

View file

@ -1,5 +1,13 @@
{ {
"appId": "olcxja.miarven", "appId": "olcxja.miarven",
"appName": "Miarven", "appName": "Miarven",
"webDir": "webroot" "webDir": "webroot",
"plugins": {
"SystemBars": {
"insetsHandling": "css",
"style": "DARK",
"hidden": false,
"animation": "FADE"
}
}
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

15
node_modules/.package-lock.json generated vendored
View file

@ -516,14 +516,23 @@
} }
}, },
"node_modules/@capacitor/core": { "node_modules/@capacitor/core": {
"version": "8.3.1", "version": "8.3.2",
"resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.3.1.tgz", "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.3.2.tgz",
"integrity": "sha512-UF8ItlHguU1Z6GXfPTeT2gakf+ctNI8pAS1kwSBQlsJMlfD4OPoto/SmKnOxKCQvnF4WRcdWeg6C0zREUNaAQg==", "integrity": "sha512-6Y0ksciqhkH4Bm2K5RxSFnuyRkeX3+vy+aLprRR5gzJnv85YYd52eIH4hjVhFAv/mFbPz5E4256yZ5ti0dh7Uw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.1.0" "tslib": "^2.1.0"
} }
}, },
"node_modules/@capacitor/status-bar": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@capacitor/status-bar/-/status-bar-8.0.2.tgz",
"integrity": "sha512-WXs8YB8B9eEaPZz+bcdY6t2nForF1FLoj/JU0Dl9RRgQnddnS98FEEyDooQhaY7wivr000j4+SC1FyeJkrFO7A==",
"license": "MIT",
"peerDependencies": {
"@capacitor/core": ">=8.0.0"
}
},
"node_modules/@cspotcode/source-map-support": { "node_modules/@cspotcode/source-map-support": {
"version": "0.8.1", "version": "0.8.1",
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",

View file

@ -1,3 +1,3 @@
#Sun May 03 16:46:47 CEST 2026 #Fri May 08 14:50:17 CEST 2026
com.getcapacitor.android.capacitor-android-main-6\:/layout/capacitor_bridge_layout_main.xml=/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/build/intermediates/packaged_res/debug/packageDebugResources/layout/capacitor_bridge_layout_main.xml com.getcapacitor.android.capacitor-android-main-6\:/layout/capacitor_bridge_layout_main.xml=/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/build/intermediates/packaged_res/debug/packageDebugResources/layout/capacitor_bridge_layout_main.xml
com.getcapacitor.android.capacitor-android-main-6\:/layout/no_webview.xml=/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/build/intermediates/packaged_res/debug/packageDebugResources/layout/no_webview.xml com.getcapacitor.android.capacitor-android-main-6\:/layout/no_webview.xml=/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/build/intermediates/packaged_res/debug/packageDebugResources/layout/no_webview.xml

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<merger version="3" xmlns:ns1="http://schemas.android.com/tools"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!&lt;dir>navigation"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/res"><file name="no_webview" path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/res/layout/no_webview.xml" qualifiers="" type="layout"/><file name="capacitor_bridge_layout_main" path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/res/layout/capacitor_bridge_layout_main.xml" qualifiers="" type="layout"/><file path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/res/values/strings.xml" qualifiers=""><string name="no_webview_text">This app requires a WebView to work</string></file><file path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/res/values/colors.xml" qualifiers=""><color name="colorPrimary" ns1:ignore="UnusedResources">#3F51B5</color><color name="colorPrimaryDark" ns1:ignore="UnusedResources">#303F9F</color><color name="colorAccent" ns1:ignore="UnusedResources">#FF4081</color></file><file path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/res/values/styles.xml" qualifiers=""><style name="AppTheme.NoActionBar" parent="Theme.AppCompat.NoActionBar"> <merger version="3" xmlns:ns1="http://schemas.android.com/tools"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!&lt;dir>navigation"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/res"><file name="no_webview" path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/res/layout/no_webview.xml" qualifiers="" type="layout"/><file name="capacitor_bridge_layout_main" path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/res/layout/capacitor_bridge_layout_main.xml" qualifiers="" type="layout"/><file path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/res/values/strings.xml" qualifiers=""><string name="no_webview_text">This app requires a WebView to work</string></file><file path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/res/values/colors.xml" qualifiers=""><color name="colorPrimary" ns1:ignore="UnusedResources">#3F51B5</color><color name="colorPrimaryDark" ns1:ignore="UnusedResources">#303F9F</color><color name="colorAccent" ns1:ignore="UnusedResources">#FF4081</color></file><file path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/res/values/styles.xml" qualifiers=""><style name="AppTheme.NoActionBar" parent="Theme.AppCompat.NoActionBar">
<item name="windowActionBar">false</item> <item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item> <item name="windowNoTitle">true</item>
</style></file></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!&lt;dir>navigation"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!&lt;dir>navigation"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/build/generated/res/resValues/debug"/></dataSet><mergedItems/></merger> </style></file></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!&lt;dir>navigation"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!&lt;dir>navigation"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/build/generated/res/resValues/debug"/></dataSet><mergedItems/></merger>

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/assets"><file name="native-bridge.js" path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/assets/native-bridge.js"/></source></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/debug/assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/build/intermediates/shader_assets/debug/compileDebugShaders/out"/></dataSet></merger> <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/assets"><file name="native-bridge.js" path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/assets/native-bridge.js"/></source></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/debug/assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/build/intermediates/shader_assets/debug/compileDebugShaders/out"/></dataSet></merger>

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/debug/jniLibs"/></dataSet></merger> <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/debug/jniLibs"/></dataSet></merger>

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/debug/shaders"/></dataSet></merger> <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/debug/shaders"/></dataSet></merger>

View file

@ -1,16 +1,16 @@
-- Merging decision tree log --- -- Merging decision tree log ---
manifest manifest
ADDED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml:2:1-3:12 ADDED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml:2:1-3:12
INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml:2:1-3:12 INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml:2:1-3:12
package package
INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml
xmlns:android xmlns:android
ADDED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml:2:11-69 ADDED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml:2:11-69
uses-sdk uses-sdk
INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml reason: use-sdk injection requested INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml reason: use-sdk injection requested
INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml
INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml
android:targetSdkVersion android:targetSdkVersion
INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml
android:minSdkVersion android:minSdkVersion
INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/test/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml INJECTED from /mnt/53f2216a-7b07-4701-84a7-17840ebdf186/backup/project/html/LarpixClient/node_modules/@capacitor/android/capacitor/src/main/AndroidManifest.xml

View file

@ -1,6 +1,6 @@
{ {
"name": "@capacitor/core", "name": "@capacitor/core",
"version": "8.3.1", "version": "8.3.2",
"description": "Capacitor: Cross-platform apps with JavaScript and the web", "description": "Capacitor: Cross-platform apps with JavaScript and the web",
"homepage": "https://capacitorjs.com", "homepage": "https://capacitorjs.com",
"author": "Ionic Team <hi@ionic.io> (https://ionic.io)", "author": "Ionic Team <hi@ionic.io> (https://ionic.io)",

18
package-lock.json generated
View file

@ -12,7 +12,8 @@
"@capacitor-community/electron": "^5.0.1", "@capacitor-community/electron": "^5.0.1",
"@capacitor/android": "^8.3.1", "@capacitor/android": "^8.3.1",
"@capacitor/cli": "^8.3.1", "@capacitor/cli": "^8.3.1",
"@capacitor/core": "^8.3.1" "@capacitor/core": "^8.3.2",
"@capacitor/status-bar": "^8.0.2"
}, },
"devDependencies": { "devDependencies": {
"@capacitor/assets": "^3.0.5" "@capacitor/assets": "^3.0.5"
@ -530,14 +531,23 @@
} }
}, },
"node_modules/@capacitor/core": { "node_modules/@capacitor/core": {
"version": "8.3.1", "version": "8.3.2",
"resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.3.1.tgz", "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.3.2.tgz",
"integrity": "sha512-UF8ItlHguU1Z6GXfPTeT2gakf+ctNI8pAS1kwSBQlsJMlfD4OPoto/SmKnOxKCQvnF4WRcdWeg6C0zREUNaAQg==", "integrity": "sha512-6Y0ksciqhkH4Bm2K5RxSFnuyRkeX3+vy+aLprRR5gzJnv85YYd52eIH4hjVhFAv/mFbPz5E4256yZ5ti0dh7Uw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.1.0" "tslib": "^2.1.0"
} }
}, },
"node_modules/@capacitor/status-bar": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@capacitor/status-bar/-/status-bar-8.0.2.tgz",
"integrity": "sha512-WXs8YB8B9eEaPZz+bcdY6t2nForF1FLoj/JU0Dl9RRgQnddnS98FEEyDooQhaY7wivr000j4+SC1FyeJkrFO7A==",
"license": "MIT",
"peerDependencies": {
"@capacitor/core": ">=8.0.0"
}
},
"node_modules/@cspotcode/source-map-support": { "node_modules/@cspotcode/source-map-support": {
"version": "0.8.1", "version": "0.8.1",
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",

View file

@ -13,7 +13,8 @@
"@capacitor-community/electron": "^5.0.1", "@capacitor-community/electron": "^5.0.1",
"@capacitor/android": "^8.3.1", "@capacitor/android": "^8.3.1",
"@capacitor/cli": "^8.3.1", "@capacitor/cli": "^8.3.1",
"@capacitor/core": "^8.3.1" "@capacitor/core": "^8.3.2",
"@capacitor/status-bar": "^8.0.2"
}, },
"devDependencies": { "devDependencies": {
"@capacitor/assets": "^3.0.5" "@capacitor/assets": "^3.0.5"

View file

@ -1,6 +1,9 @@
#update plugins #update plugins
npx cap sync npx cap sync
#update assets #update assets
npx capacitor-assets generate #npx capacitor-assets generate
#for some reason icon is broken without this
npx capacitor-assets generate --pwa
npx capacitor-assets generate --android
#update webroot #update webroot
npx cap copy npx cap copy

29
webroot/favicon.svg Normal file
View file

@ -0,0 +1,29 @@
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#b870ff;stop-opacity:1" />
<stop offset="100%" style="stop-color:#a64aff;stop-opacity:1" />
</linearGradient>
<linearGradient id="bg_grad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#b870ff" />
<stop offset="100%" stop-color="#a64aff" />
</linearGradient>
</defs>
<rect width="1024" height="1024" fill="url(#bg_grad)" rx="190" />
<g transform="translate(112, 112) scale(1.55)">
<text x="256" y="305"
fill="#F0F0F5"
font-family="Nunito"
font-size="280"
font-weight="900"
text-anchor="middle"
letter-spacing="-5">MN</text>
<g opacity="0.6">
<circle cx="190" cy="400" r="15" fill="#F0F0F5" />
<circle cx="256" cy="400" r="15" fill="white" />
<circle cx="322" cy="400" r="15" fill="#F0F0F5" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -1,109 +1,139 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="pl"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>Larpix Client</title> <title>Larpix Client</title>
<link rel="stylesheet" href="style.css"> <link rel="stylesheet" href="style.css">
<link rel="icon" type="image/svg+xml" href="favicon.svg"> <link rel="icon" type="image/svg+xml" href="favicon.svg">
</head> </head>
<body> <body>
<sidebar> <sidebar>
<sidebarelement id="sidebar-home"> <sidebarelement id="sidebar-home">
<indicator class="active"> <indicator class="active">
</indicator> </indicator>
<button class="icon-button" aria-label="Homepage"> <button class="icon-button" aria-label="Homepage">
<svg viewBox="-1 -1 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg viewBox="-1 -1 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path <path
d="M1 6V15H6V11C6 9.89543 6.89543 9 8 9C9.10457 9 10 9.89543 10 11V15H15V6L8 0L1 6Z" d="M1 6V15H6V11C6 9.89543 6.89543 9 8 9C9.10457 9 10 9.89543 10 11V15H15V6L8 0L1 6Z"
stroke="currentColor" stroke="currentColor"
stroke-width="1.28" stroke-width="1.28"
stroke-linejoin="round" stroke-linejoin="round"
stroke-linecap="round" stroke-linecap="round"
transform="translate(0 0.5)" transform="translate(0 0.5)"
/> />
</svg> </svg>
</button> </button>
</sidebarelement> </sidebarelement>
<hr> <hr>
<sidebarelement id="sidebar-add"> <sidebarelement id="sidebar-add">
<indicator> <indicator>
</indicator> </indicator>
<button class="icon-button" aria-label="Add space"> <button class="icon-button" aria-label="Add space">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
<line x1="12" y1="5" x2="12" y2="19"></line> stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<line x1="5" y1="12" x2="19" y2="12"></line> <line x1="12" y1="5" x2="12" y2="19"></line>
</svg> <line x1="5" y1="12" x2="19" y2="12"></line>
</button> </svg>
</sidebarelement> </button>
<hr> </sidebarelement>
</sidebar> <hr>
</sidebar>
<sidebar class="second" id="roomsbar">
<div class="sidebar-section-header">
<button class="collapse-text-button" id="collapse-dms">
<span>Direct messages</span>
<svg class="chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="6 9 12 15 18 9"></polyline>
</svg>
</button>
<button class="add-action-button" aria-label="New Direct Message" id="add-dm-btn">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<line x1="12" y1="5" x2="12" y2="19"></line>
<line x1="5" y1="12" x2="19" y2="12"></line>
</svg>
</button>
</div>
<div class="sidebar-section-header"> <sidebar class="second" id="roomsbar">
<button class="collapse-text-button" id="collapse-groups"> <roomtopbar>
<span>Groups</span> Home
<svg class="chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> </roomtopbar>
<polyline points="6 9 12 15 18 9"></polyline> <div class="sidebar-section-header">
</svg> <button class="collapse-text-button" id="collapse-dms">
</button> <span>Direct messages</span>
<button class="add-action-button" aria-label="New Group" id="add-group-btn"> <svg class="chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<line x1="12" y1="5" x2="12" y2="19"></line> <polyline points="6 9 12 15 18 9"></polyline>
<line x1="5" y1="12" x2="19" y2="12"></line> </svg>
</svg> </button>
</button> <button class="add-action-button" aria-label="Add Direct Message" id="add-dm-btn">
</div> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
</sidebar> stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<line x1="12" y1="5" x2="12" y2="19"></line>
<line x1="5" y1="12" x2="19" y2="12"></line>
</svg>
</button>
</div>
<div class="sidebar-section-header">
<button class="collapse-text-button" id="collapse-groups">
<span>Groups</span>
<svg class="chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="6 9 12 15 18 9"></polyline>
</svg>
</button>
<button class="add-action-button" aria-label="Add Group" id="add-group-btn">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<line x1="12" y1="5" x2="12" y2="19"></line>
<line x1="5" y1="12" x2="19" y2="12"></line>
</svg>
</button>
</div>
</sidebar>
<roomcontent>
<roomtopbar>
Splash
</roomtopbar>
<roomcontent2>
<div style="display: flex;justify-content: center;align-items: center;height:100%;flex-direction: column;">
<img src="favicon.svg" style="width: 6rem">
<herotitle>Welcome to Miarven</herotitle>
<p>First Larpix client. <span class="aqua">v<span class="clientver aqua">1.0</span></span></p>
</div>
</roomcontent2>
</roomcontent>
<sidebar class="second hidden" id="roomdetailsbar" style="display: none;">
</sidebar>
<roomcontent>
</roomcontent>
<sidebar class="second" id="roomdetailsbar">
</sidebar>
</body> </body>
</html> </html>
<script src="main.js"></script> <script src="main.js"></script>
<script> <script>
async function start() async function start() {
{ try {
showAction("Authenticating...", "startauth");
let res = await Auth(username, password);
clearAction("startauth"); showAction("Authenticating...", "startauth");
if (res == "Login successful") let res = await Auth(username, password);
{ clearAction("startauth");
await refreshDms(); if (res == "Login successful") {
} await refreshDms();
else } else {
{ showNotification("Failed to auth. Redirecting to login...", "error", 3500);
await delay(2000);
window.location.href = "login/";
}
} catch (e) {
clearAction("startauth");
showNotification("Failed to auth. Redirecting to login...", "error", 3500); showNotification("Failed to auth. Redirecting to login...", "error", 3500);
await delay(2000); await delay(2000);
window.location.href = "login/"; window.location.href = "login/";
} }
} }
async function refreshDms() async function refreshDms() {
{ try {
showAction("Refreshing dms...", "dmrefresh"); showAction("Refreshing dms...", "dmrefresh");
let res = await fetchEncrypted("user/dm/list", ""); let res = await fetchEncrypted("user/dm/list", "");
console.log(res); console.log(res);
clearAction("dmrefresh"); clearAction("dmrefresh");
}
catch (e) {
clearAction("dmrefresh");
showNotification("Failed to refresh dms", "error", 3500);
}
} }
start(); start();
</script> </script>

View file

@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>Larpix - Authentication</title> <title>Larpix - Authentication</title>
<link rel="stylesheet" href="../style.css"> <link rel="stylesheet" href="../style.css">
<link rel="icon" type="image/svg+xml" href="../favicon.svg"> <link rel="icon" type="image/svg+xml" href="../favicon.svg">
@ -249,7 +249,7 @@
<p>Prove you are a human.</p> <p>Prove you are a human.</p>
</div> </div>
<div class="captcha-img"> <div class="captcha-img">
<img src="https://miro.medium.com/0*obnHri9w__4Cmhbj.jpg" alt="Captcha" id="captcha-image"> <img src="" alt="Captcha" id="captcha-image">
</div> </div>
<form id="form-captcha"> <form id="form-captcha">
<div class="input-group"> <div class="input-group">
@ -342,7 +342,7 @@
} catch (error) { } catch (error) {
console.log(error); console.log(error);
showNotification("Something went wrong...", "error", 3500); showNotification("Something went wrong... (probably wrong password)", "error", 3500);
container.className = 'auth-container'; container.className = 'auth-container';
} }
}); });

View file

@ -6,6 +6,9 @@ var params = new URLSearchParams(window.location.search);
const collapseDmsBtn = document.getElementById("collapse-dms"); const collapseDmsBtn = document.getElementById("collapse-dms");
const collapseGroupsBtn = document.getElementById("collapse-groups"); const collapseGroupsBtn = document.getElementById("collapse-groups");
const addDmBtn = document.getElementById("add-dm-btn");
const addGroupBtn = document.getElementById("add-group-btn");
const sidebarHome = document.getElementById("sidebar-home"); const sidebarHome = document.getElementById("sidebar-home");
const sidebarHomeButton = sidebarHome.children.item(1); const sidebarHomeButton = sidebarHome.children.item(1);
const sidebarHomeIndicator = sidebarHome.children.item(0); const sidebarHomeIndicator = sidebarHome.children.item(0);
@ -14,6 +17,15 @@ const sidebarAdd = document.getElementById("sidebar-add");
const sidebarAddButton = sidebarAdd.children.item(1); const sidebarAddButton = sidebarAdd.children.item(1);
const sidebarAddIndicator = sidebarAdd.children.item(0); const sidebarAddIndicator = sidebarAdd.children.item(0);
const roomDetailsBar = document.getElementById("roomdetailsbar");
const roomContent = document.getElementsByTagName("roomcontent")[0];
const roomsBar = document.getElementById("roomsbar");
const sideBar = document.getElementsByTagName("sidebar")[0];
const roomContentMain = document.getElementsByTagName("roomcontent2")[0];
const roomContentBar = roomContent.children[0];
function delay(time) { function delay(time) {
@ -256,6 +268,7 @@ async function getServerInfo(host){
} }
async function Auth(username, password) { async function Auth(username, password) {
let passwordHash = await hashSHA3_512(password); let passwordHash = await hashSHA3_512(password);
let response = await fetch(`${url}/auth?u=${username}`, { let response = await fetch(`${url}/auth?u=${username}`, {
@ -268,11 +281,13 @@ async function Auth(username, password) {
let data = await response.text(); let data = await response.text();
return data; return data;
} }
async function fetchEncrypted(request, body) async function fetchEncrypted(request, body)
{ {
let nonce = await getNonce(username, passwordHash); let nonce = await getNonce(username, passwordHash);
let response = await fetch(`${url}/encryptedrequest?u=${username}`, { let response = await fetch(`${url}/encryptedrequest?u=${username}`, {
@ -413,6 +428,22 @@ collapseGroupsBtn.addEventListener("click", () => {
collapseGroupsBtn.classList.toggle("collapsed"); collapseGroupsBtn.classList.toggle("collapsed");
}); });
addDmBtn.addEventListener("click", () => {
roomContentMain.innerHTML =
`
<div style="display: flex;justify-content: center;align-items: center;height:100%;flex-direction: column;">
<svg xmlns="http://www.w3.org/2000/svg" width="3rem" viewBox="0 -960 960 960" fill="var(--text-color)"><path d="M120-160v-600q0-33 23.5-56.5T200-840h480q33 0 56.5 23.5T760-760v203q-10-2-20-2.5t-20-.5q-10 0-20 .5t-20 2.5v-203H200v400h283q-2 10-2.5 20t-.5 20q0 10 .5 20t2.5 20H240L120-160Zm160-440h320v-80H280v80Zm0 160h200v-80H280v80Zm400 280v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM200-360v-400 400Z"/></svg>
<herotitle>Add Chat</herotitle>
<p>Add a private, encrypted chat by entering a username</p>
</div>
`
});
addGroupBtn.addEventListener("click", () => {
});
sidebarHomeButton.addEventListener("mouseenter", () => { sidebarHomeButton.addEventListener("mouseenter", () => {
sidebarHomeIndicator.classList.add("hover"); sidebarHomeIndicator.classList.add("hover");
}); });

View file

@ -27,10 +27,14 @@
font-size: 80%; font-size: 80%;
padding: 0 0.5rem; padding: 0 0.5rem;
} }
.aqua {
color: rgb(0 139 200);
}
html { html {
font-size: max(16px, calc(100vw / 120)); font-size: max(16px, calc(100vw / 120));
} }
body { body {
padding-top: env(safe-area-inset-top);
background-color: var(--main-bg-color); background-color: var(--main-bg-color);
display: flex; display: flex;
height: 100dvh; height: 100dvh;
@ -128,9 +132,18 @@ roomcontent {
flex-direction: column; flex-direction: column;
height: 100dvh; height: 100dvh;
width: calc(100vw - (var(--icon-button-height) + (var(--button-margin) * 2) + var(--border-width)) - 22rem); width: calc(100vw - (var(--icon-button-height) + (var(--button-margin) * 2) + var(--border-width)) - 17rem);
border-right: var(--border-width) solid var(--light-border-color); border-right: var(--border-width) solid var(--light-border-color);
} }
roomcontent2 {
display: flex;
flex-direction: column;
height: calc(100dvh - (var(--button-height) * 1.5));
width: 100%;
}
sidebar { sidebar {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -140,7 +153,9 @@ sidebar {
border-right: var(--border-width) solid var(--light-border-color); border-right: var(--border-width) solid var(--light-border-color);
} }
sidebar.second { sidebar.second {
width: 20rem; width: 17rem;
min-width: 17rem;
max-width: 17rem;
} }
.sidebar-section-header { .sidebar-section-header {
display: flex; display: flex;
@ -199,6 +214,7 @@ hr {
#notification-container { #notification-container {
padding-top: env(safe-area-inset-top);
position: fixed; position: fixed;
top: 1.5rem; top: 1.5rem;
left: 50%; left: 50%;
@ -250,4 +266,35 @@ hr {
.notification.success { .notification.success {
border-color: var(--big-green); border-color: var(--big-green);
}
roomtopbar {
height: calc(var(--button-height) * 1.5);
display: flex;
flex-direction: row;
width: 100%;
border-bottom: var(--border-width) solid var(--light-border-color);
line-height: calc(var(--button-height) * 1.5);
font-weight: bold;
padding-left: calc(var(--button-margin) * 3);
font-size: 1.5rem;
}
sidebar.second#roomdetailsbar {
height: calc(var(--button-height) * 1.5);
display: flex;
flex-direction: row;
border-bottom: var(--border-width) solid var(--light-border-color);
}
fullcontainer {
width: 100%;
height: 100%;
}
herotitle {
font-weight: bold;
font-size: 1.6rem;
} }