diff --git a/.gitignore b/.gitignore
index ec4979cd0..c83f0cb42 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,8 @@ node_modules
!.env.example
test-results/
playwright-report/
+vite.config.js.timestamp-*
+vite.config.ts.timestamp-*
.DS_STORE
.cache
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 000000000..f23974574
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,32 @@
+FROM node:20-alpine as build
+
+WORKDIR /app
+
+ADD ./build.js /app/build.js
+ADD ./tsconfig.json /app/tsconfig.json
+ADD ./svelte.config.js /app/svelte.config.js
+ADD ./vite.config.ts /app/vite.config.ts
+ADD ./package.json /app/package.json
+ADD ./package-lock.json /app/package-lock.json
+ADD ./src /app/src
+ADD ./static /app/static
+
+ARG VITE_CONSOLE_MODE
+ARG VITE_APPWRITE_ENDPOINT
+ARG VITE_APPWRITE_GROWTH_ENDPOINT
+ARG VITE_STRIPE_PUBLIC_KEY
+
+ENV VITE_APPWRITE_ENDPOINT=$VITE_APPWRITE_ENDPOINT
+ENV VITE_APPWRITE_GROWTH_ENDPOINT=$VITE_APPWRITE_GROWTH_ENDPOINT
+ENV VITE_CONSOLE_MODE=$VITE_CONSOLE_MODE
+ENV VITE_STRIPE_PUBLIC_KEY=$VITE_STRIPE_PUBLIC_KEY
+
+RUN npm ci
+RUN npm run build
+
+FROM nginx:1.25-alpine
+
+EXPOSE 3000
+
+COPY docker/nginx.conf /etc/nginx/conf.d/default.conf
+COPY --from=build /app/build /usr/share/nginx/html/console
\ No newline at end of file
diff --git a/compose.yml b/compose.yml
new file mode 100644
index 000000000..47a30e94c
--- /dev/null
+++ b/compose.yml
@@ -0,0 +1,16 @@
+services:
+ console:
+ build:
+ context: .
+ args:
+ VITE_CONSOLE_MODE: ${VITE_CONSOLE_MODE}
+ VITE_APPWRITE_ENDPOINT: ${VITE_APPWRITE_ENDPOINT}
+ VITE_APPWRITE_GROWTH_ENDPOINT: ${VITE_APPWRITE_GROWTH_ENDPOINT}
+ VITE_STRIPE_PUBLIC_KEY: ${VITE_STRIPE_PUBLIC_KEY}
+ environment:
+ - VITE_CONSOLE_MODE
+ - VITE_APPWRITE_ENDPOINT
+ - VITE_APPWRITE_GROWTH_ENDPOINT
+ - VITE_STRIPE_PUBLIC_KEY
+ ports:
+ - '3000:3000'
diff --git a/docker/nginx.conf b/docker/nginx.conf
new file mode 100644
index 000000000..18c7249c8
--- /dev/null
+++ b/docker/nginx.conf
@@ -0,0 +1,16 @@
+server {
+ listen 3000;
+ listen [::]:3000;
+ server_name localhost;
+
+ location /console {
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ try_files $uri /console/index.html;
+ }
+
+ location / {
+ absolute_redirect off;
+ return 301 /console;
+ }
+}
\ No newline at end of file
diff --git a/playwright.config.ts b/playwright.config.ts
index 00bf89667..37738bc99 100644
--- a/playwright.config.ts
+++ b/playwright.config.ts
@@ -4,6 +4,9 @@ const config: PlaywrightTestConfig = {
timeout: 120000,
reportSlowTests: null,
reporter: [['html', { open: 'never' }]],
+ use: {
+ baseURL: 'http://localhost:4173/console'
+ },
webServer: {
timeout: 120000,
env: {
diff --git a/src/service-worker.ts b/src/_service-worker.ts
similarity index 100%
rename from src/service-worker.ts
rename to src/_service-worker.ts
diff --git a/src/app.html b/src/app.html
index 1be8a9cf9..f0dd566b3 100644
--- a/src/app.html
+++ b/src/app.html
@@ -4,42 +4,42 @@
-
+
@@ -127,8 +127,8 @@
as="font"
type="font/woff2"
crossorigin />
-
-
+
+
diff --git a/src/lib/commandCenter/panels/createAttribute.svelte b/src/lib/commandCenter/panels/createAttribute.svelte
index 9e4f02eff..9613d303b 100644
--- a/src/lib/commandCenter/panels/createAttribute.svelte
+++ b/src/lib/commandCenter/panels/createAttribute.svelte
@@ -1,6 +1,6 @@
{#if ($orgMissingPaymentMethod.billingPlan === BillingPlan.PRO || $orgMissingPaymentMethod.billingPlan === BillingPlan.SCALE) && !$orgMissingPaymentMethod.paymentMethodId && !$orgMissingPaymentMethod.backupPaymentMethodId && !hideBillingHeaderRoutes.includes($page.url.pathname)}
@@ -16,9 +17,7 @@
your projects.
This billing address is linked to the following organizations:
+This billing address is linked to the following organizations:
${linkedOrgs .map( (org) => - `${org.name}` + `${org.name}` ) .join('')}This payment method is linked to the following organizations:
+This payment method is linked to the following organizations:
${linkedOrgs .map( (org) => - `${org.name}` + `${org.name}` ) .join('')}There are no users that match your search.
There are no teams that match your search.
Manage organization configuration in your project settingsproject settings
When enabled, all execution responses will be accessible in the Executions tab
diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/updateName.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/settings/updateName.svelte similarity index 100% rename from src/routes/console/project-[project]/functions/function-[function]/settings/updateName.svelte rename to src/routes/(console)/project-[project]/functions/function-[function]/settings/updateName.svelte diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/updatePermissions.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/settings/updatePermissions.svelte similarity index 100% rename from src/routes/console/project-[project]/functions/function-[function]/settings/updatePermissions.svelte rename to src/routes/(console)/project-[project]/functions/function-[function]/settings/updatePermissions.svelte diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/updateRuntime.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/settings/updateRuntime.svelte similarity index 100% rename from src/routes/console/project-[project]/functions/function-[function]/settings/updateRuntime.svelte rename to src/routes/(console)/project-[project]/functions/function-[function]/settings/updateRuntime.svelte diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/updateSchedule.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/settings/updateSchedule.svelte similarity index 100% rename from src/routes/console/project-[project]/functions/function-[function]/settings/updateSchedule.svelte rename to src/routes/(console)/project-[project]/functions/function-[function]/settings/updateSchedule.svelte diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/updateScopes.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/settings/updateScopes.svelte similarity index 97% rename from src/routes/console/project-[project]/functions/function-[function]/settings/updateScopes.svelte rename to src/routes/(console)/project-[project]/functions/function-[function]/settings/updateScopes.svelte index 4e1d49500..38a06d447 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/settings/updateScopes.svelte +++ b/src/routes/(console)/project-[project]/functions/function-[function]/settings/updateScopes.svelte @@ -11,7 +11,7 @@ import { func } from '../store'; import { isValueOfStringEnum } from '$lib/helpers/types'; import { Runtime } from '@appwrite.io/console'; - import Scopes from '$routes/console/project-[project]/overview/keys/scopes.svelte'; + import Scopes from '$routes/(console)/project-[project]/overview/keys/scopes.svelte'; import { symmetricDifference } from '$lib/helpers/array'; const functionId = $page.params.function; diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/updateTimeout.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/settings/updateTimeout.svelte similarity index 100% rename from src/routes/console/project-[project]/functions/function-[function]/settings/updateTimeout.svelte rename to src/routes/(console)/project-[project]/functions/function-[function]/settings/updateTimeout.svelte diff --git a/src/routes/console/project-[project]/functions/function-[function]/store.ts b/src/routes/(console)/project-[project]/functions/function-[function]/store.ts similarity index 100% rename from src/routes/console/project-[project]/functions/function-[function]/store.ts rename to src/routes/(console)/project-[project]/functions/function-[function]/store.ts diff --git a/src/routes/console/project-[project]/functions/function-[function]/table.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/table.svelte similarity index 97% rename from src/routes/console/project-[project]/functions/function-[function]/table.svelte rename to src/routes/(console)/project-[project]/functions/function-[function]/table.svelte index 941c09242..f4a7eb73d 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/table.svelte +++ b/src/routes/(console)/project-[project]/functions/function-[function]/table.svelte @@ -27,6 +27,7 @@ import { Dependencies } from '$lib/constants'; import Cancel from './cancel.svelte'; import { sdk } from '$lib/stores/sdk'; + import { base } from '$app/paths'; export let columns: Column[]; export let data: PageData; @@ -144,7 +145,7 @@ {/if}There are no topics that match your search.
You can customize the email service by providing your own SMTP server. View your email templates here