html2apk 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -712,7 +712,7 @@ h2 {
712
712
 
713
713
  .file-editor-panel {
714
714
  display: grid;
715
- grid-template-rows: auto minmax(280px, 1fr) minmax(180px, 240px);
715
+ grid-template-rows: auto minmax(0, 1fr);
716
716
  overflow: hidden;
717
717
  }
718
718
 
@@ -745,58 +745,96 @@ h2 {
745
745
  font-weight: 800;
746
746
  }
747
747
 
748
- #fileEditorInput {
749
- width: 100%;
748
+ .code-editor-shell {
749
+ position: relative;
750
750
  min-height: 0;
751
- resize: none;
751
+ overflow: hidden;
752
+ background: #0c1117;
753
+ }
754
+
755
+ #fileEditorInput,
756
+ .file-editor-highlight {
757
+ width: 100%;
752
758
  border: 0;
753
- border-bottom: 1px solid var(--line);
754
759
  outline: none;
755
- padding: 16px;
756
- background: var(--bg);
757
- color: var(--text);
758
- font: 13px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace;
760
+ padding: 16px 18px;
761
+ font: 13px/1.55 "Cascadia Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
759
762
  tab-size: 2;
763
+ white-space: pre-wrap;
764
+ overflow-wrap: anywhere;
760
765
  }
761
766
 
762
- .syntax-preview-wrap {
767
+ #fileEditorInput {
768
+ position: relative;
769
+ z-index: 2;
770
+ height: 100%;
763
771
  min-height: 0;
764
- display: grid;
765
- grid-template-rows: auto minmax(0, 1fr);
766
- background: color-mix(in srgb, var(--panel-soft) 55%, var(--panel));
772
+ resize: none;
773
+ background: transparent;
774
+ color: transparent;
775
+ -webkit-text-fill-color: transparent;
776
+ caret-color: #d6e4f7;
767
777
  }
768
778
 
769
- .syntax-preview-wrap > strong {
770
- padding: 10px 14px 0;
771
- color: var(--muted);
772
- font-size: 12px;
779
+ #fileEditorInput::selection {
780
+ background: rgba(88, 166, 255, 0.34);
773
781
  }
774
782
 
775
- .syntax-preview {
783
+ .file-editor-highlight {
784
+ position: absolute;
785
+ inset: 0;
786
+ z-index: 1;
776
787
  margin: 0;
777
- padding: 12px 14px 16px;
778
- overflow: auto;
779
- color: var(--text);
780
- font: 12px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace;
788
+ min-height: 100%;
789
+ overflow: hidden;
790
+ color: #d6e4f7;
791
+ pointer-events: none;
792
+ }
793
+
794
+ .file-editor-highlight code {
795
+ display: block;
796
+ min-height: 100%;
797
+ }
798
+
799
+ #fileEditorInput:disabled {
800
+ cursor: not-allowed;
801
+ }
802
+
803
+ #fileEditorInput:disabled + .file-editor-highlight,
804
+ .code-editor-shell:has(#fileEditorInput:disabled) .file-editor-highlight {
805
+ opacity: .58;
806
+ }
807
+
808
+ #fileEditorInput::placeholder {
809
+ color: #64748b;
810
+ -webkit-text-fill-color: #64748b;
781
811
  }
782
812
 
783
813
  .syntax-token-tag,
784
814
  .syntax-token-keyword {
785
- color: var(--blue);
815
+ color: #79c0ff;
786
816
  font-weight: 800;
787
817
  }
788
818
 
789
819
  .syntax-token-string {
790
- color: var(--green);
820
+ color: #a5d6a7;
791
821
  }
792
822
 
793
823
  .syntax-token-comment {
794
- color: var(--muted);
824
+ color: #8b949e;
795
825
  font-style: italic;
796
826
  }
797
827
 
798
828
  .syntax-token-number {
799
- color: var(--amber);
829
+ color: #f2cc60;
830
+ }
831
+
832
+ .syntax-token-function {
833
+ color: #d2a8ff;
834
+ }
835
+
836
+ .syntax-token-operator {
837
+ color: #ffab70;
800
838
  }
801
839
 
802
840
  .preference-row {
@@ -1053,6 +1091,110 @@ h2 {
1053
1091
  margin-bottom: 18px;
1054
1092
  }
1055
1093
 
1094
+ .code-browser {
1095
+ display: grid;
1096
+ grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
1097
+ gap: 16px;
1098
+ align-items: start;
1099
+ }
1100
+
1101
+ .code-categories {
1102
+ position: sticky;
1103
+ top: 0;
1104
+ display: grid;
1105
+ gap: 8px;
1106
+ max-height: calc(100vh - 160px - var(--visible-log-height));
1107
+ overflow: auto;
1108
+ padding-right: 2px;
1109
+ }
1110
+
1111
+ .code-category-button {
1112
+ width: 100%;
1113
+ min-height: 58px;
1114
+ border: 1px solid var(--line);
1115
+ border-radius: 8px;
1116
+ background: var(--panel);
1117
+ color: var(--text);
1118
+ padding: 10px 12px;
1119
+ display: grid;
1120
+ grid-template-columns: minmax(0, 1fr) auto;
1121
+ gap: 4px 10px;
1122
+ align-items: center;
1123
+ text-align: left;
1124
+ box-shadow: 0 14px 34px rgba(49, 86, 130, 0.08);
1125
+ transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
1126
+ }
1127
+
1128
+ .code-category-button:hover {
1129
+ border-color: color-mix(in srgb, var(--blue) 42%, var(--line));
1130
+ background: color-mix(in srgb, var(--blue-soft) 56%, var(--panel));
1131
+ transform: translateY(-1px);
1132
+ }
1133
+
1134
+ .code-category-button.active {
1135
+ border-color: var(--blue);
1136
+ background: var(--blue-soft);
1137
+ color: var(--blue);
1138
+ box-shadow: inset 4px 0 0 var(--blue), 0 14px 34px rgba(18, 111, 255, 0.12);
1139
+ }
1140
+
1141
+ .code-category-button strong {
1142
+ min-width: 0;
1143
+ overflow: hidden;
1144
+ text-overflow: ellipsis;
1145
+ white-space: nowrap;
1146
+ font-size: 14px;
1147
+ }
1148
+
1149
+ .code-category-button small {
1150
+ grid-column: 1 / -1;
1151
+ color: var(--muted);
1152
+ line-height: 1.35;
1153
+ }
1154
+
1155
+ .code-category-count {
1156
+ min-width: 28px;
1157
+ min-height: 24px;
1158
+ border-radius: 999px;
1159
+ display: inline-flex;
1160
+ align-items: center;
1161
+ justify-content: center;
1162
+ background: var(--panel-soft);
1163
+ color: var(--muted);
1164
+ font-size: 12px;
1165
+ font-weight: 900;
1166
+ }
1167
+
1168
+ .code-category-button.active .code-category-count {
1169
+ background: var(--panel);
1170
+ color: var(--blue);
1171
+ }
1172
+
1173
+ .code-results {
1174
+ min-width: 0;
1175
+ display: grid;
1176
+ gap: 14px;
1177
+ }
1178
+
1179
+ .code-summary {
1180
+ border: 1px solid var(--line);
1181
+ border-radius: 8px;
1182
+ background: color-mix(in srgb, var(--panel) 82%, var(--panel-soft));
1183
+ padding: 14px 16px;
1184
+ }
1185
+
1186
+ .code-summary strong {
1187
+ display: block;
1188
+ color: var(--text);
1189
+ margin-bottom: 4px;
1190
+ }
1191
+
1192
+ .code-summary p {
1193
+ margin: 0;
1194
+ color: var(--muted);
1195
+ line-height: 1.45;
1196
+ }
1197
+
1056
1198
  .code-grid {
1057
1199
  grid-template-columns: repeat(2, minmax(0, 1fr));
1058
1200
  }
@@ -1073,11 +1215,14 @@ h2 {
1073
1215
  }
1074
1216
 
1075
1217
  .code-card-top code {
1218
+ display: block;
1076
1219
  overflow-wrap: anywhere;
1077
1220
  color: #d6e4f7;
1078
1221
  background: #0c1117;
1079
1222
  border-radius: 7px;
1080
1223
  padding: 10px;
1224
+ font: 12px/1.55 "Cascadia Mono", Consolas, "Courier New", monospace;
1225
+ white-space: pre-wrap;
1081
1226
  }
1082
1227
 
1083
1228
  .code-card-top span {
@@ -1155,7 +1300,7 @@ h2 {
1155
1300
  display: block;
1156
1301
  padding: 12px;
1157
1302
  color: #d6e4f7;
1158
- font: 12px/1.55 Consolas, "Courier New", monospace;
1303
+ font: 12px/1.55 "Cascadia Mono", Consolas, "Courier New", monospace;
1159
1304
  white-space: pre;
1160
1305
  }
1161
1306
 
@@ -1517,6 +1662,20 @@ body.logs-visible .bottom-log-bar {
1517
1662
  grid-template-columns: 1fr;
1518
1663
  }
1519
1664
 
1665
+ .code-browser {
1666
+ grid-template-columns: 1fr;
1667
+ }
1668
+
1669
+ .code-categories {
1670
+ position: static;
1671
+ grid-auto-flow: column;
1672
+ grid-auto-columns: minmax(180px, 220px);
1673
+ overflow-x: auto;
1674
+ overflow-y: hidden;
1675
+ max-height: none;
1676
+ padding: 0 0 4px;
1677
+ }
1678
+
1520
1679
  .icon-field,
1521
1680
  .keystore-field,
1522
1681
  .onesignal-field,
@@ -18,13 +18,29 @@
18
18
  <uses-permission android:name="android.permission.VIBRATE" />
19
19
  <uses-permission android:name="android.permission.CAMERA" />
20
20
  <uses-permission android:name="android.permission.RECORD_AUDIO" />
21
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
22
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
23
+ <uses-permission android:name="android.permission.USE_BIOMETRIC" />
24
+ <uses-permission android:name="android.permission.USE_FINGERPRINT" />
25
+ <uses-permission android:name="android.permission.SET_WALLPAPER" />
21
26
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
27
+ <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
28
+ <uses-feature android:name="android.hardware.camera" android:required="false" />
22
29
  <uses-feature android:name="android.hardware.camera.flash" android:required="false" />
23
30
  <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
24
31
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
25
32
  </config-file>
26
33
 
27
34
  <config-file target="AndroidManifest.xml" parent="/manifest/application">
35
+ <provider
36
+ android:name="androidx.core.content.FileProvider"
37
+ android:authorities="${applicationId}.html2apk.fileprovider"
38
+ android:exported="false"
39
+ android:grantUriPermissions="true">
40
+ <meta-data
41
+ android:name="android.support.FILE_PROVIDER_PATHS"
42
+ android:resource="@xml/html2apk_file_paths" />
43
+ </provider>
28
44
  <service android:name="dev.html2apk.bridge.FloatingIconService" android:exported="false" />
29
45
  <receiver android:name="dev.html2apk.bridge.NotificationReceiver" android:exported="false" />
30
46
  <receiver android:name="dev.html2apk.bridge.NotificationClickReceiver" android:exported="false" />
@@ -42,6 +58,7 @@
42
58
  <source-file src="src/android/NotificationClickReceiver.java" target-dir="app/src/main/java/dev/html2apk/bridge" />
43
59
  <source-file src="src/android/BootReceiver.java" target-dir="app/src/main/java/dev/html2apk/bridge" />
44
60
  <source-file src="src/android/NotificationStore.java" target-dir="app/src/main/java/dev/html2apk/bridge" />
61
+ <resource-file src="src/android/xml/html2apk_file_paths.xml" target="res/xml/html2apk_file_paths.xml" />
45
62
  <framework src="androidx.core:core:1.12.0" />
46
63
  </platform>
47
64
  </plugin>