create-jilatax 0.0.7 → 0.0.9

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.
package/dist/bin.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  //#region src/bin.ts
3
- require("./cli-D56yqirN.cjs").runCreateCli().then((exitCode) => {
3
+ require("./cli-6qr3BMqu.cjs").runCreateCli().then((exitCode) => {
4
4
  process.exitCode = exitCode;
5
5
  });
6
6
  //#endregion
package/dist/bin.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { n as runCreateCli } from "./cli-yS2KRczW.js";
2
+ import { n as runCreateCli } from "./cli-CrpTfN81.js";
3
3
  //#region src/bin.ts
4
4
  runCreateCli().then((exitCode) => {
5
5
  process.exitCode = exitCode;
@@ -30,18 +30,14 @@ node_path = __toESM(node_path, 1);
30
30
  let node_url = require("node:url");
31
31
  let jilatax = require("jilatax");
32
32
  //#region src/generator.ts
33
- const JILATAX_CLI_VERSION = "^0.0.8";
33
+ const JILATAX_CLI_VERSION = "^0.0.9";
34
34
  const JILATAX_VERSION = "^0.0.6";
35
35
  const LYNX_QRCODE_PLUGIN_VERSION = "^0.4.4";
36
36
  const LYNX_REACT_VERSION = "^0.116.2";
37
37
  const LYNX_TYPES_VERSION = "^3.7.0";
38
38
  const REACT_PLUGIN_VERSION = "^0.12.7";
39
39
  const RSPEEDY_VERSION = "^0.13.3";
40
- const TEXT_TEMPLATE_FILES = /* @__PURE__ */ new Set([
41
- "README.md.tmpl",
42
- "android/settings.gradle.kts.tmpl",
43
- "src/App.tsx.tmpl"
44
- ]);
40
+ const TEXT_TEMPLATE_FILES = /* @__PURE__ */ new Set(["README.md.tmpl", "android/settings.gradle.kts.tmpl"]);
45
41
  async function createProject(options) {
46
42
  const projectDirectory = node_path.default.resolve(options.targetDirectory);
47
43
  const projectName = normalizeProjectName(node_path.default.basename(projectDirectory));
@@ -188,7 +184,7 @@ function createInitialConfig(displayName, projectName, packageId) {
188
184
  android: {
189
185
  adaptiveIcon: {
190
186
  backgroundColor: "#E8FFF2",
191
- foregroundImage: "./assets/splash-icon.png"
187
+ foregroundImage: "./assets/icon.png"
192
188
  },
193
189
  package: packageId,
194
190
  predictiveBackGestureEnabled: false,
@@ -6,18 +6,14 @@ import path from "node:path";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import { parseAppConfig, syncAndroidProjectConfig } from "jilatax";
8
8
  //#region src/generator.ts
9
- const JILATAX_CLI_VERSION = "^0.0.8";
9
+ const JILATAX_CLI_VERSION = "^0.0.9";
10
10
  const JILATAX_VERSION = "^0.0.6";
11
11
  const LYNX_QRCODE_PLUGIN_VERSION = "^0.4.4";
12
12
  const LYNX_REACT_VERSION = "^0.116.2";
13
13
  const LYNX_TYPES_VERSION = "^3.7.0";
14
14
  const REACT_PLUGIN_VERSION = "^0.12.7";
15
15
  const RSPEEDY_VERSION = "^0.13.3";
16
- const TEXT_TEMPLATE_FILES = /* @__PURE__ */ new Set([
17
- "README.md.tmpl",
18
- "android/settings.gradle.kts.tmpl",
19
- "src/App.tsx.tmpl"
20
- ]);
16
+ const TEXT_TEMPLATE_FILES = /* @__PURE__ */ new Set(["README.md.tmpl", "android/settings.gradle.kts.tmpl"]);
21
17
  async function createProject(options) {
22
18
  const projectDirectory = path.resolve(options.targetDirectory);
23
19
  const projectName = normalizeProjectName(path.basename(projectDirectory));
@@ -164,7 +160,7 @@ function createInitialConfig(displayName, projectName, packageId) {
164
160
  android: {
165
161
  adaptiveIcon: {
166
162
  backgroundColor: "#E8FFF2",
167
- foregroundImage: "./assets/splash-icon.png"
163
+ foregroundImage: "./assets/icon.png"
168
164
  },
169
165
  package: packageId,
170
166
  predictiveBackGestureEnabled: false,
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cli = require("./cli-D56yqirN.cjs");
2
+ const require_cli = require("./cli-6qr3BMqu.cjs");
3
3
  exports.createHelpText = require_cli.createHelpText;
4
4
  exports.createProject = require_cli.createProject;
5
5
  exports.defaultPackageId = require_cli.defaultPackageId;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as normalizeDisplayName, i as defaultPackageId, n as runCreateCli, o as normalizeProjectName, r as createProject, s as validatePackageId, t as createHelpText } from "./cli-yS2KRczW.js";
1
+ import { a as normalizeDisplayName, i as defaultPackageId, n as runCreateCli, o as normalizeProjectName, r as createProject, s as validatePackageId, t as createHelpText } from "./cli-CrpTfN81.js";
2
2
  export { createHelpText, createProject, defaultPackageId, normalizeDisplayName, normalizeProjectName, runCreateCli, validatePackageId };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-jilatax",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "packageManager": "bun@1.3.4",
5
5
  "description": "Create an Android-first Jilatax application for Lynx and Rspeedy.",
6
6
  "type": "module",
Binary file
Binary file
@@ -0,0 +1,18 @@
1
+ import { useState } from '@lynx-js/react';
2
+
3
+ import { BottomBar } from '../components/navigation/BottomBar.js';
4
+ import { AboutScreen } from '../screens/AboutScreen.js';
5
+ import { HomeScreen } from '../screens/HomeScreen.js';
6
+ import '../styles/global.css';
7
+ import type { AppTab } from './navigation.js';
8
+
9
+ export function App() {
10
+ const [activeTab, setActiveTab] = useState<AppTab>('home');
11
+
12
+ return (
13
+ <view className="app-shell">
14
+ {activeTab === 'home' ? <HomeScreen /> : <AboutScreen />}
15
+ <BottomBar activeTab={activeTab} onSelect={setActiveTab} />
16
+ </view>
17
+ );
18
+ }
@@ -0,0 +1 @@
1
+ export type AppTab = 'home' | 'about';
@@ -0,0 +1,36 @@
1
+ import type { AppTab } from '../../app/navigation.js';
2
+
3
+ interface BottomBarProps {
4
+ activeTab: AppTab;
5
+ onSelect: (tab: AppTab) => void;
6
+ }
7
+
8
+ const tabs: ReadonlyArray<{ id: AppTab; label: string }> = [
9
+ { id: 'home', label: 'Home' },
10
+ { id: 'about', label: 'About' },
11
+ ];
12
+
13
+ export function BottomBar({ activeTab, onSelect }: BottomBarProps) {
14
+ return (
15
+ <view className="bottom-bar-wrap">
16
+ <view className="bottom-bar">
17
+ {tabs.map((tab) => {
18
+ const isActive = activeTab === tab.id;
19
+
20
+ return (
21
+ <view
22
+ className={`bottom-bar__button${isActive ? ' bottom-bar__button--active' : ''}`}
23
+ bindtap={() => onSelect(tab.id)}
24
+ key={tab.id}
25
+ >
26
+ <view className={`bottom-bar__mark${isActive ? ' bottom-bar__mark--active' : ''}`} />
27
+ <text className={`bottom-bar__label${isActive ? ' bottom-bar__label--active' : ''}`}>
28
+ {tab.label}
29
+ </text>
30
+ </view>
31
+ );
32
+ })}
33
+ </view>
34
+ </view>
35
+ );
36
+ }
@@ -0,0 +1,19 @@
1
+ import jilataxIcon from '../../../assets/jilatax-icon.png';
2
+
3
+ interface BrandProps {
4
+ compact?: boolean;
5
+ }
6
+
7
+ export function Brand({ compact = false }: BrandProps) {
8
+ return (
9
+ <view className={`brand${compact ? ' brand--compact' : ''}`}>
10
+ <view className={`brand__icon-wrap${compact ? ' brand__icon-wrap--compact' : ''}`}>
11
+ <image className="brand__icon" mode="aspectFit" src={jilataxIcon} />
12
+ </view>
13
+ <view className="brand__copy">
14
+ <text className="brand__name">JILATAX</text>
15
+ <text className="brand__caption">LYNX TO ANDROID</text>
16
+ </view>
17
+ </view>
18
+ );
19
+ }
@@ -1,6 +1,6 @@
1
1
  import { root } from '@lynx-js/react';
2
2
 
3
- import { App } from './App.js';
3
+ import { App } from './app/App.js';
4
4
 
5
5
  root.render(<App />);
6
6
 
@@ -0,0 +1,37 @@
1
+ import { Brand } from '../components/ui/Brand.js';
2
+
3
+ const principles = [
4
+ { number: '01', title: 'Simple by default', detail: 'A small structure that stays easy to evolve.' },
5
+ { number: '02', title: 'Native in the end', detail: 'A direct path from Lynx UI to Android.' },
6
+ { number: '03', title: 'Built with intent', detail: 'Clear hierarchy, spacing, and interaction.' },
7
+ ] as const;
8
+
9
+ export function AboutScreen() {
10
+ return (
11
+ <scroll-view className="screen" scroll-orientation="vertical">
12
+ <view className="screen__content">
13
+ <Brand compact />
14
+
15
+ <view className="about-heading">
16
+ <text className="about-heading__label">THE FOUNDATION</text>
17
+ <text className="about-heading__title">Small core.{`\n`}Native result.</text>
18
+ <text className="about-heading__description">
19
+ JILATAX keeps the route from idea to Android direct and understandable.
20
+ </text>
21
+ </view>
22
+
23
+ <view className="principles">
24
+ {principles.map((principle) => (
25
+ <view className="principle" key={principle.number}>
26
+ <text className="principle__number">{principle.number}</text>
27
+ <view className="principle__copy">
28
+ <text className="principle__title">{principle.title}</text>
29
+ <text className="principle__detail">{principle.detail}</text>
30
+ </view>
31
+ </view>
32
+ ))}
33
+ </view>
34
+ </view>
35
+ </scroll-view>
36
+ );
37
+ }
@@ -0,0 +1,45 @@
1
+ import { Brand } from '../components/ui/Brand.js';
2
+
3
+ export function HomeScreen() {
4
+ return (
5
+ <scroll-view className="screen" scroll-orientation="vertical">
6
+ <view className="screen__content">
7
+ <Brand />
8
+
9
+ <view className="hero">
10
+ <view className="eyebrow">
11
+ <view className="eyebrow__dot" />
12
+ <text className="eyebrow__text">ANDROID READY</text>
13
+ </view>
14
+ <text className="hero__title">Build clean.{`\n`}Ship native.</text>
15
+ <text className="hero__description">
16
+ A focused foundation for fast Lynx experiences on Android.
17
+ </text>
18
+ </view>
19
+
20
+ <view className="workspace-card">
21
+ <view className="workspace-card__glow" />
22
+ <view className="workspace-card__top">
23
+ <text className="workspace-card__label">YOUR WORKSPACE</text>
24
+ <view className="workspace-card__status">
25
+ <view className="workspace-card__status-dot" />
26
+ <text className="workspace-card__status-text">LIVE</text>
27
+ </view>
28
+ </view>
29
+ <text className="workspace-card__title">Ready for what comes next.</text>
30
+ <text className="workspace-card__description">
31
+ One clear interface, powered by Lynx and prepared for Android.
32
+ </text>
33
+ <view className="workspace-card__footer">
34
+ <view className="tech-pill">
35
+ <text className="tech-pill__text">LYNX</text>
36
+ </view>
37
+ <view className="tech-pill tech-pill--accent">
38
+ <text className="tech-pill__text tech-pill__text--accent">JILATAX</text>
39
+ </view>
40
+ </view>
41
+ </view>
42
+ </view>
43
+ </scroll-view>
44
+ );
45
+ }
@@ -0,0 +1,401 @@
1
+ :root {
2
+ background-color: #f3f7f5;
3
+ color: #10241d;
4
+ font-family: system-ui, sans-serif;
5
+ }
6
+
7
+ .app-shell {
8
+ background-color: #f3f7f5;
9
+ height: 100vh;
10
+ overflow: hidden;
11
+ position: relative;
12
+ width: 100%;
13
+ }
14
+
15
+ .screen {
16
+ height: 100%;
17
+ width: 100%;
18
+ }
19
+
20
+ .screen__content {
21
+ display: flex;
22
+ flex-direction: column;
23
+ padding: 48px 22px 124px;
24
+ }
25
+
26
+ .brand {
27
+ align-items: center;
28
+ display: flex;
29
+ flex-direction: row;
30
+ }
31
+
32
+ .brand--compact {
33
+ margin-bottom: 38px;
34
+ }
35
+
36
+ .brand__icon-wrap {
37
+ align-items: center;
38
+ background-color: #e3eee9;
39
+ border-radius: 18px;
40
+ display: flex;
41
+ height: 58px;
42
+ justify-content: center;
43
+ overflow: hidden;
44
+ width: 58px;
45
+ }
46
+
47
+ .brand__icon-wrap--compact {
48
+ border-radius: 15px;
49
+ height: 48px;
50
+ width: 48px;
51
+ }
52
+
53
+ .brand__icon {
54
+ height: 82%;
55
+ width: 82%;
56
+ }
57
+
58
+ .brand__copy {
59
+ display: flex;
60
+ flex-direction: column;
61
+ margin-left: 13px;
62
+ }
63
+
64
+ .brand__name {
65
+ color: #10241d;
66
+ font-size: 18px;
67
+ font-weight: 800;
68
+ letter-spacing: 2px;
69
+ line-height: 22px;
70
+ }
71
+
72
+ .brand__caption {
73
+ color: #688078;
74
+ font-size: 9px;
75
+ font-weight: 700;
76
+ letter-spacing: 1.5px;
77
+ line-height: 14px;
78
+ margin-top: 2px;
79
+ }
80
+
81
+ .hero {
82
+ display: flex;
83
+ flex-direction: column;
84
+ margin-top: 50px;
85
+ }
86
+
87
+ .eyebrow {
88
+ align-items: center;
89
+ display: flex;
90
+ flex-direction: row;
91
+ }
92
+
93
+ .eyebrow__dot {
94
+ background-color: #0abf78;
95
+ border-radius: 999px;
96
+ height: 7px;
97
+ margin-right: 8px;
98
+ width: 7px;
99
+ }
100
+
101
+ .eyebrow__text,
102
+ .about-heading__label {
103
+ color: #008f5a;
104
+ font-size: 11px;
105
+ font-weight: 800;
106
+ letter-spacing: 1.8px;
107
+ line-height: 16px;
108
+ }
109
+
110
+ .hero__title,
111
+ .about-heading__title {
112
+ color: #10241d;
113
+ font-size: 42px;
114
+ font-weight: 800;
115
+ letter-spacing: -1.5px;
116
+ line-height: 46px;
117
+ margin-top: 14px;
118
+ }
119
+
120
+ .hero__description,
121
+ .about-heading__description {
122
+ color: #5c726a;
123
+ font-size: 16px;
124
+ line-height: 24px;
125
+ margin-top: 16px;
126
+ }
127
+
128
+ .workspace-card {
129
+ background-color: #10241d;
130
+ border-radius: 26px;
131
+ display: flex;
132
+ flex-direction: column;
133
+ margin-top: 38px;
134
+ overflow: hidden;
135
+ padding: 24px;
136
+ position: relative;
137
+ }
138
+
139
+ .workspace-card__glow {
140
+ background: linear-gradient(135deg, #c7ff36, #00b879);
141
+ border-radius: 999px;
142
+ height: 150px;
143
+ opacity: 0.14;
144
+ position: absolute;
145
+ right: -64px;
146
+ top: -76px;
147
+ width: 150px;
148
+ }
149
+
150
+ .workspace-card__top {
151
+ align-items: center;
152
+ display: flex;
153
+ flex-direction: row;
154
+ justify-content: space-between;
155
+ }
156
+
157
+ .workspace-card__label {
158
+ color: #a8bbb4;
159
+ font-size: 10px;
160
+ font-weight: 800;
161
+ letter-spacing: 1.6px;
162
+ }
163
+
164
+ .workspace-card__status {
165
+ align-items: center;
166
+ background-color: #1b382e;
167
+ border-radius: 999px;
168
+ display: flex;
169
+ flex-direction: row;
170
+ padding: 6px 10px;
171
+ }
172
+
173
+ .workspace-card__status-dot {
174
+ background-color: #b7ff33;
175
+ border-radius: 999px;
176
+ height: 6px;
177
+ margin-right: 6px;
178
+ width: 6px;
179
+ }
180
+
181
+ .workspace-card__status-text {
182
+ color: #d9ff9c;
183
+ font-size: 9px;
184
+ font-weight: 800;
185
+ letter-spacing: 1px;
186
+ }
187
+
188
+ .workspace-card__title {
189
+ color: #f5fff9;
190
+ font-size: 24px;
191
+ font-weight: 750;
192
+ line-height: 30px;
193
+ margin-top: 28px;
194
+ max-width: 250px;
195
+ }
196
+
197
+ .workspace-card__description {
198
+ color: #a8bbb4;
199
+ font-size: 14px;
200
+ line-height: 21px;
201
+ margin-top: 10px;
202
+ }
203
+
204
+ .workspace-card__footer {
205
+ display: flex;
206
+ flex-direction: row;
207
+ margin-top: 24px;
208
+ }
209
+
210
+ .tech-pill {
211
+ border-color: #395248;
212
+ border-radius: 999px;
213
+ border-style: solid;
214
+ border-width: 1px;
215
+ padding: 7px 11px;
216
+ }
217
+
218
+ .tech-pill--accent {
219
+ border-color: #377b5f;
220
+ margin-left: 8px;
221
+ }
222
+
223
+ .tech-pill__text {
224
+ color: #9eb1aa;
225
+ font-size: 9px;
226
+ font-weight: 800;
227
+ letter-spacing: 1.1px;
228
+ }
229
+
230
+ .tech-pill__text--accent {
231
+ color: #8ee3b7;
232
+ }
233
+
234
+ .about-heading {
235
+ display: flex;
236
+ flex-direction: column;
237
+ }
238
+
239
+ .principles {
240
+ display: flex;
241
+ flex-direction: column;
242
+ margin-top: 34px;
243
+ }
244
+
245
+ .principle {
246
+ align-items: flex-start;
247
+ background-color: #ffffff;
248
+ border-color: #dfe9e5;
249
+ border-radius: 20px;
250
+ border-style: solid;
251
+ border-width: 1px;
252
+ display: flex;
253
+ flex-direction: row;
254
+ margin-bottom: 12px;
255
+ padding: 18px;
256
+ }
257
+
258
+ .principle__number {
259
+ color: #00a969;
260
+ font-size: 11px;
261
+ font-weight: 800;
262
+ letter-spacing: 1px;
263
+ line-height: 18px;
264
+ width: 36px;
265
+ }
266
+
267
+ .principle__copy {
268
+ display: flex;
269
+ flex: 1;
270
+ flex-direction: column;
271
+ }
272
+
273
+ .principle__title {
274
+ color: #10241d;
275
+ font-size: 15px;
276
+ font-weight: 750;
277
+ line-height: 20px;
278
+ }
279
+
280
+ .principle__detail {
281
+ color: #647970;
282
+ font-size: 13px;
283
+ line-height: 19px;
284
+ margin-top: 4px;
285
+ }
286
+
287
+ .bottom-bar-wrap {
288
+ bottom: 22px;
289
+ left: 0;
290
+ padding: 0 22px;
291
+ position: absolute;
292
+ width: 100%;
293
+ }
294
+
295
+ .bottom-bar {
296
+ background-color: #ffffff;
297
+ border-color: #dfe9e5;
298
+ border-radius: 22px;
299
+ border-style: solid;
300
+ border-width: 1px;
301
+ display: flex;
302
+ flex-direction: row;
303
+ padding: 7px;
304
+ width: 100%;
305
+ }
306
+
307
+ .bottom-bar__button {
308
+ align-items: center;
309
+ border-radius: 16px;
310
+ display: flex;
311
+ flex: 1;
312
+ flex-direction: row;
313
+ height: 54px;
314
+ justify-content: center;
315
+ }
316
+
317
+ .bottom-bar__button--active {
318
+ background-color: #e8f7ef;
319
+ }
320
+
321
+ .bottom-bar__mark {
322
+ border-color: #879990;
323
+ border-radius: 999px;
324
+ border-style: solid;
325
+ border-width: 2px;
326
+ height: 10px;
327
+ margin-right: 8px;
328
+ width: 10px;
329
+ }
330
+
331
+ .bottom-bar__mark--active {
332
+ background-color: #00aa6b;
333
+ border-color: #00aa6b;
334
+ }
335
+
336
+ .bottom-bar__label {
337
+ color: #72847c;
338
+ font-size: 13px;
339
+ font-weight: 650;
340
+ }
341
+
342
+ .bottom-bar__label--active {
343
+ color: #08774f;
344
+ font-weight: 800;
345
+ }
346
+
347
+ @media (prefers-color-scheme: dark) {
348
+ :root,
349
+ .app-shell {
350
+ background-color: #071510;
351
+ color: #f3fff8;
352
+ }
353
+
354
+ .brand__icon-wrap {
355
+ background-color: #102b21;
356
+ }
357
+
358
+ .brand__name,
359
+ .hero__title,
360
+ .about-heading__title,
361
+ .principle__title {
362
+ color: #f3fff8;
363
+ }
364
+
365
+ .brand__caption,
366
+ .hero__description,
367
+ .about-heading__description,
368
+ .principle__detail {
369
+ color: #8ca198;
370
+ }
371
+
372
+ .eyebrow__text,
373
+ .about-heading__label {
374
+ color: #5ce7a6;
375
+ }
376
+
377
+ .workspace-card {
378
+ background-color: #0e251c;
379
+ border-color: #1a392d;
380
+ border-style: solid;
381
+ border-width: 1px;
382
+ }
383
+
384
+ .principle,
385
+ .bottom-bar {
386
+ background-color: #0d2119;
387
+ border-color: #1b382d;
388
+ }
389
+
390
+ .bottom-bar__button--active {
391
+ background-color: #15392b;
392
+ }
393
+
394
+ .bottom-bar__label {
395
+ color: #82978e;
396
+ }
397
+
398
+ .bottom-bar__label--active {
399
+ color: #79efb5;
400
+ }
401
+ }
@@ -1,95 +0,0 @@
1
- :root {
2
- background-color: #0f172a;
3
- color: #f8fafc;
4
- font-family: system-ui, sans-serif;
5
- }
6
-
7
- .page {
8
- align-items: center;
9
- background-color: #0f172a;
10
- display: flex;
11
- height: 100vh;
12
- justify-content: center;
13
- overflow: hidden;
14
- padding: 24px;
15
- position: relative;
16
- width: 100%;
17
- }
18
-
19
- .orb {
20
- border-radius: 999px;
21
- opacity: 0.34;
22
- position: absolute;
23
- }
24
-
25
- .orb--top {
26
- background-color: #38bdf8;
27
- height: 240px;
28
- right: -100px;
29
- top: -110px;
30
- width: 240px;
31
- }
32
-
33
- .orb--bottom {
34
- background-color: #8b5cf6;
35
- bottom: -130px;
36
- height: 280px;
37
- left: -120px;
38
- width: 280px;
39
- }
40
-
41
- .card {
42
- background-color: #1e293b;
43
- border-color: #334155;
44
- border-radius: 24px;
45
- border-style: solid;
46
- border-width: 1px;
47
- display: flex;
48
- flex-direction: column;
49
- padding: 30px 26px;
50
- position: relative;
51
- width: 100%;
52
- }
53
-
54
- .label {
55
- color: #38bdf8;
56
- font-size: 13px;
57
- font-weight: 700;
58
- letter-spacing: 2px;
59
- }
60
-
61
- .title {
62
- color: #f8fafc;
63
- font-size: 32px;
64
- font-weight: 800;
65
- line-height: 40px;
66
- margin-top: 14px;
67
- }
68
-
69
- .description {
70
- color: #cbd5e1;
71
- font-size: 16px;
72
- line-height: 24px;
73
- margin-top: 14px;
74
- }
75
-
76
- .status {
77
- align-items: center;
78
- display: flex;
79
- flex-direction: row;
80
- margin-top: 24px;
81
- }
82
-
83
- .status__dot {
84
- background-color: #22c55e;
85
- border-radius: 999px;
86
- height: 10px;
87
- margin-right: 10px;
88
- width: 10px;
89
- }
90
-
91
- .status__text {
92
- color: #e2e8f0;
93
- font-size: 14px;
94
- font-weight: 600;
95
- }
@@ -1,23 +0,0 @@
1
- import './App.css';
2
-
3
- const applicationName = {{displayNameJson}};
4
-
5
- export function App() {
6
- return (
7
- <view className="page">
8
- <view className="orb orb--top" />
9
- <view className="orb orb--bottom" />
10
- <view className="card">
11
- <text className="label">JILATAX · ANDROID</text>
12
- <text className="title">{applicationName}</text>
13
- <text className="description">
14
- Your Lynx app is ready. Edit src/App.tsx and save to see changes.
15
- </text>
16
- <view className="status">
17
- <view className="status__dot" />
18
- <text className="status__text">Rspeedy development ready</text>
19
- </view>
20
- </view>
21
- </view>
22
- );
23
- }