# connect-components via Nuxt 3 ## Install dependencies ```bash npm i ``` ## Dev testing and builds with `.env` setup There's 3 version required for various types of development, testing builds in the Unraid webgui, and creating a prod build for the Unraid webgui. - `.env` for `npm run dev` local development - `.env.staging` for `npm run build:dev` which tests builds in the Unraid webgui - `.env.production` for `npm run build:webgui` which does a production build for the Unraid webgui For the URL values, you can use what you'd like. So if you're testing locally, you can use `http://localhost:5555` for the account app if you have a local version running. Alternatively you're free to use the staging or production URLs. For productions URLs you could ultimately not provide any value and the URL helpers will default to the production URLs. But for local dev and testing, it's usually easiest to keep the `.env` key value pairs so you don't forget about them. ### `.env` for `npm run dev` local development ```bash VITE_ACCOUNT=http://localhost:5555 VITE_CONNECT=https://connect.myunraid.net VITE_UNRAID_NET=https://preview.unraid.net VITE_OS_RELEASES="https://releases.unraid.net/os" VITE_CALLBACK_KEY="FIND_IN_1PASSWORD" VITE_ALLOW_CONSOLE_LOGS=true VITE_TAILWIND_BASE_FONT_SIZE=16 ``` ## `.env.staging` for `npm run build:dev` which tests builds in the Unraid webgui Please take a look at the `prebuild:dev` & `postbuild:dev` scripts in `package.json` to see how the `.env.staging` file is used. ```bash VITE_ACCOUNT=https://staging.account.unraid.net VITE_CONNECT=https://connect.myunraid.net VITE_UNRAID_NET=https://staging.unraid.net VITE_OS_RELEASES="https://releases.unraid.net/os" VITE_CALLBACK_KEY="FIND_IN_1PASSWORD" VITE_ALLOW_CONSOLE_LOGS=TRUE ``` Notice how `VITE_TAILWIND_BASE_FONT_SIZE` is not set in the `.env.staging` file. This is because the Unraid webgui uses the `font-size: 62.5%` "trick". ### `.env.production` for `npm run build:webgui` which does a production build for the Unraid webgui Please take a look at the `prebuild:webgui` & `postbuild:webgui` scripts in `package.json` to see how the `.env.production` file is used. ```bash VITE_ACCOUNT=https://account.unraid.net VITE_CONNECT=https://connect.myunraid.net VITE_UNRAID_NET=https://unraid.net VITE_OS_RELEASES="https://releases.unraid.net/os" VITE_CALLBACK_KEY="FIND_IN_1PASSWORD" ``` Both `VITE_ALLOW_CONSOLE_LOGS` and `VITE_TAILWIND_BASE_FONT_SIZE` should never be set here. ## Interfacing with `unraid-api` @todo [Apollo VueJS Guide on Colocating Fragments](https://v4.apollo.vuejs.org/guide-composable/fragments.html#colocating-fragments)