diff --git a/apps/expo/app/auth/login/index.tsx b/apps/expo/app/auth/login/index.tsx
deleted file mode 100644
index c6eb880f..00000000
--- a/apps/expo/app/auth/login/index.tsx
+++ /dev/null
@@ -1,6 +0,0 @@
-import { LoginScreen } from "@frontend/core";
-import React from "react";
-
-export default function Login() {
- return ;
-}
diff --git a/apps/next/app/auth/login/page.tsx b/apps/next/app/auth/login/page.tsx
deleted file mode 100644
index 47dd7df6..00000000
--- a/apps/next/app/auth/login/page.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-"use client";
-
-import { LoginScreen } from "@frontend/core";
-
-export default function LoginPage() {
- return ;
-}
diff --git a/packages/create-universal-app/bin/generate.js b/packages/create-universal-app/bin/generate.js
index 8b1b6d06..903ef6ae 100755
--- a/packages/create-universal-app/bin/generate.js
+++ b/packages/create-universal-app/bin/generate.js
@@ -4,7 +4,7 @@ import fs from "fs-extra";
import ora from "ora";
import path from "path";
-const repoURL = "https://github.com/theodo-group/universal-app.git";
+const REPO_URL = "https://github.com/theodo-group/universal-app.git";
const projectName = process.argv[2];
if (!projectName) {
@@ -37,8 +37,10 @@ const runAsyncProcess = async (spawnFunction) => {
return;
}
+ const userAnswers = await getUserInput();
+
const cloning = ora(`Cloning repository to "${projectDir}"...`).start();
- await runAsyncProcess(() => spawn("git", ["clone", "--depth", "1", repoURL, projectDir]));
+ await runAsyncProcess(() => spawn("git", ["clone", "--depth", "1", REPO_URL, projectDir]));
cloning.stop();
//remove git history and init a new one
@@ -51,6 +53,10 @@ const runAsyncProcess = async (spawnFunction) => {
const packagesDir = path.join(projectDir, "packages");
const createUniversalAppDir = path.join(packagesDir, "create-universal-app");
await fs.remove(createUniversalAppDir);
+ if (!userAnswers.authUI) {
+ const authDir = path.join(packagesDir, "frontend/core/src/features/auth");
+ await fs.remove(authDir);
+ }
cleanRepo.stop();
console.log("Project generated successfully!");
diff --git a/packages/create-universal-app/package.json b/packages/create-universal-app/package.json
index 529d9691..780320b8 100644
--- a/packages/create-universal-app/package.json
+++ b/packages/create-universal-app/package.json
@@ -1,12 +1,13 @@
{
"name": "create-universal-enabler-app",
- "version": "0.0.6",
+ "version": "0.0.7",
"type": "module",
"description": "A generator for creating Universal Apps with the Theodo Group's Universal App Enabler",
"packageManager": "yarn@3.4.1",
"bin": "./bin/generate.js",
"dependencies": {
"fs-extra": "^11.2.0",
+ "inquirer": "^9.2.16",
"ora": "^8.0.1"
}
}
diff --git a/packages/create-universal-app/utils/getUserInput.js b/packages/create-universal-app/utils/getUserInput.js
new file mode 100644
index 00000000..2c83ec0f
--- /dev/null
+++ b/packages/create-universal-app/utils/getUserInput.js
@@ -0,0 +1,23 @@
+import inquirer from "inquirer";
+
+export const getUserInput = async () => {
+ const ui = new inquirer.ui.BottomBar();
+ // const platformQuestion = {
+ // type: "checkbox",
+ // name: "platforms",
+ // message: "Select your desired platforms:",
+ // choices: ["Mobile", "Web", "TV"],
+ // };
+ const authUIQuestion = {
+ type: "confirm",
+ name: "authUI",
+ message: "Would you like the project to include a pre-made authentication UI?",
+ default: false,
+ };
+
+ const questions = [authUIQuestion];
+
+ ui.log.write("Answer some questions on the setup of your project:");
+ const answers = await inquirer.prompt(questions);
+ return answers;
+};
diff --git a/packages/frontend/core/src/features/home/screen.tsx b/packages/frontend/core/src/features/home/screen.tsx
index d1a31161..cef07cea 100644
--- a/packages/frontend/core/src/features/home/screen.tsx
+++ b/packages/frontend/core/src/features/home/screen.tsx
@@ -64,9 +64,6 @@ export const HomeScreen: React.FC = ({ data }) => {
Regular Link
-
- Login
-
= 2.1.2 < 3"
+ checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6
+ languageName: node
+ linkType: hard
+
"iconv-lite@npm:^0.6.2":
version: 0.6.3
resolution: "iconv-lite@npm:0.6.3"
@@ -8582,6 +8635,29 @@ __metadata:
languageName: node
linkType: hard
+"inquirer@npm:^9.2.16":
+ version: 9.2.16
+ resolution: "inquirer@npm:9.2.16"
+ dependencies:
+ "@ljharb/through": ^2.3.13
+ ansi-escapes: ^4.3.2
+ chalk: ^5.3.0
+ cli-cursor: ^3.1.0
+ cli-width: ^4.1.0
+ external-editor: ^3.1.0
+ figures: ^3.2.0
+ lodash: ^4.17.21
+ mute-stream: 1.0.0
+ ora: ^5.4.1
+ run-async: ^3.0.0
+ rxjs: ^7.8.1
+ string-width: ^4.2.3
+ strip-ansi: ^6.0.1
+ wrap-ansi: ^6.2.0
+ checksum: 3727d7ec5eaa5142c63c067004daed563656eefd04a42a57fcb1a4956625596cf0bb2e6e525e6202fff1dace8a0419a28e5f3b848af29e71ce739d09f9cf8bf6
+ languageName: node
+ linkType: hard
+
"internal-ip@npm:4.3.0":
version: 4.3.0
resolution: "internal-ip@npm:4.3.0"
@@ -10500,6 +10576,13 @@ __metadata:
languageName: node
linkType: hard
+"mute-stream@npm:1.0.0":
+ version: 1.0.0
+ resolution: "mute-stream@npm:1.0.0"
+ checksum: 36fc968b0e9c9c63029d4f9dc63911950a3bdf55c9a87f58d3a266289b67180201cade911e7699f8b2fa596b34c9db43dad37649e3f7fdd13c3bb9edb0017ee7
+ languageName: node
+ linkType: hard
+
"mv@npm:~2":
version: 2.1.1
resolution: "mv@npm:2.1.1"
@@ -12684,6 +12767,13 @@ __metadata:
languageName: node
linkType: hard
+"run-async@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "run-async@npm:3.0.0"
+ checksum: 280c03d5a88603f48103fc6fd69f07fb0c392a1e0d319c34ec96a2516030e07ba06f79231a563c78698b882649c2fc1fda601bc84705f57d50efcd1fa506cfc0
+ languageName: node
+ linkType: hard
+
"run-parallel@npm:^1.1.9":
version: 1.2.0
resolution: "run-parallel@npm:1.2.0"
@@ -12746,7 +12836,7 @@ __metadata:
languageName: node
linkType: hard
-"safer-buffer@npm:>= 2.1.2 < 3.0.0":
+"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0":
version: 2.1.2
resolution: "safer-buffer@npm:2.1.2"
checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0