diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 000000000..3c1848749 --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,9 @@ +# This configuration file was automatically generated by Gitpod. +# Please adjust to your needs (see https://www.gitpod.io/docs/introduction/learn-gitpod/gitpod-yaml) +# and commit this file to your remote git repository to share the goodness with others. + +# Learn more from ready-to-use templates: https://www.gitpod.io/docs/introduction/getting-started/quickstart + +tasks: + - init: npm install && npm run build + command: npm run dev diff --git a/package-lock.json b/package-lock.json index 1830cd1b8..f6ed893db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,8 @@ "name": "@appwrite/console", "dependencies": { "@analytics/google-analytics": "^1.0.5", - "@appwrite.io/console": "github:PineappleIOnic/sdk-for-console#feat-migrations", + "@analytics/google-tag-manager": "^0.5.3", + "@appwrite.io/console": "npm:christy-console@^0.4.0", "@appwrite.io/pink": "^0.0.6-rc.14", "@popperjs/core": "^2.11.6", "@sentry/svelte": "^7.44.2", @@ -20,6 +21,7 @@ "nanoid": "^4.0.2", "pretty-bytes": "^6.1.0", "prismjs": "^1.29.0", + "svelte-confetti": "^1.2.2", "tippy.js": "^6.3.7", "web-vitals": "^3.1.1" }, @@ -124,6 +126,11 @@ "resolved": "https://registry.npmjs.org/@analytics/google-analytics/-/google-analytics-1.0.7.tgz", "integrity": "sha512-KZ69NaMIi5kOcouzqI8cu7tZgQl7ziGiRahfU6zniUf32G8bv7wQDh73JFz1NwO6gBPloUc+5BzEoWzScM5Rgw==" }, + "node_modules/@analytics/google-tag-manager": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@analytics/google-tag-manager/-/google-tag-manager-0.5.5.tgz", + "integrity": "sha512-bYTzseT3DRwMhkWr0+zJH6BHdk5FDZv1TqU5dHseh60zf/sl3LlWUbb8Lgl41LAOmA2Qy1frJXr3mIO1Tak8Yg==" + }, "node_modules/@analytics/localstorage-utils": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/@analytics/localstorage-utils/-/localstorage-utils-0.1.10.tgz", @@ -158,9 +165,10 @@ "integrity": "sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==" }, "node_modules/@appwrite.io/console": { - "version": "0.1.0", - "resolved": "git+ssh://git@github.com/PineappleIOnic/sdk-for-console.git#87ca5652bdc887fd61e4fd7b51dfed6f3163dd03", - "license": "BSD-3-Clause", + "name": "christy-console", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/christy-console/-/christy-console-0.4.0.tgz", + "integrity": "sha512-PypVyV0eg79uju7pLe8zLEXQpD3wTDyGEpfzbEt/uYlt7RMSZUris9kL75wiw8pULYzmUGC33lgMwELcIXgK/Q==", "dependencies": { "cross-fetch": "3.1.5", "isomorphic-form-data": "2.0.0" @@ -813,246 +821,6 @@ "dev": true, "peer": true }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.11.tgz", - "integrity": "sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz", - "integrity": "sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.11.tgz", - "integrity": "sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz", - "integrity": "sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz", - "integrity": "sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz", - "integrity": "sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz", - "integrity": "sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz", - "integrity": "sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz", - "integrity": "sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz", - "integrity": "sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz", - "integrity": "sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz", - "integrity": "sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz", - "integrity": "sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz", - "integrity": "sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz", - "integrity": "sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@esbuild/linux-x64": { "version": "0.18.11", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", @@ -1069,102 +837,6 @@ "node": ">=12" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz", - "integrity": "sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz", - "integrity": "sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz", - "integrity": "sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz", - "integrity": "sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz", - "integrity": "sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz", - "integrity": "sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -4458,20 +4130,6 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -8174,6 +7832,11 @@ "svelte": "^3.55.0 || ^4.0.0-next.0 || ^4.0.0" } }, + "node_modules/svelte-confetti": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/svelte-confetti/-/svelte-confetti-1.2.4.tgz", + "integrity": "sha512-2ut7fEjfHIQ5foXuBaVwalUdl7JlyhgEkFbepGYpOx2dOGC2vjj4kkepcYr/Fl3+CyqfnVmXre1owM+3rpfJEg==" + }, "node_modules/svelte-hmr": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.2.tgz", diff --git a/package.json b/package.json index 83f5967ca..d3626c725 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,9 @@ }, "dependencies": { "@analytics/google-analytics": "^1.0.5", - "@appwrite.io/console": "^0.1.1", + "@appwrite.io/console": "npm:christy-console@^0.4.0", "@appwrite.io/pink": "^0.0.6-rc.14", + "@analytics/google-tag-manager": "^0.5.3", "@popperjs/core": "^2.11.6", "@sentry/svelte": "^7.44.2", "@sentry/tracing": "^7.44.2", @@ -32,6 +33,7 @@ "nanoid": "^4.0.2", "pretty-bytes": "^6.1.0", "prismjs": "^1.29.0", + "svelte-confetti": "^1.2.2", "tippy.js": "^6.3.7", "web-vitals": "^3.1.1" }, diff --git a/src/app.html b/src/app.html index 994a0b038..3a25d1151 100644 --- a/src/app.html +++ b/src/app.html @@ -43,6 +43,8 @@ + + %sveltekit.head% diff --git a/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index 664d86d46..b5b2f4ca9 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -1,8 +1,9 @@ import { page } from '$app/stores'; import { user } from '$lib/stores/user'; -import { ENV, MODE, VARS } from '$lib/system'; +import { ENV, MODE, VARS, isCloud } from '$lib/system'; import googleAnalytics from '@analytics/google-analytics'; import { AppwriteException } from '@appwrite.io/console'; +import googleTagManager from '@analytics/google-tag-manager'; import Analytics from 'analytics'; import { get } from 'svelte/store'; @@ -11,7 +12,14 @@ const analytics = Analytics({ plugins: [ googleAnalytics({ measurementIds: [VARS.GOOGLE_ANALYTICS || 'G-R4YJ9JN8L4'] - }) + }), + ...(isCloud + ? [ + googleTagManager({ + containerId: [VARS.GOOGLE_TAG || 'GTM-P3T9TBV'] + }) + ] + : []) ] }); @@ -134,6 +142,7 @@ export enum Submit { ProjectUpdateName = 'submit_project_update_name', ProjectUpdateTeam = 'submit_project_update_team', ProjectService = 'submit_project_service', + ProjectUpdateSMTP = 'submit_project_update_smtp', MemberCreate = 'submit_member_create', MemberDelete = 'submit_member_delete', MembershipUpdateStatus = 'submit_membership_update_status', @@ -145,6 +154,7 @@ export enum Submit { AuthStatusUpdate = 'submit_auth_status_update', AuthPasswordHistoryUpdate = 'submit_auth_password_history_limit_update', AuthPasswordDictionaryUpdate = 'submit_auth_password_dictionary_update', + AuthPersonalDataCheckUpdate = 'submit_auth_personal_data_check_update', SessionsLengthUpdate = 'submit_sessions_length_update', SessionsLimitUpdate = 'submit_sessions_limit_update', SessionDelete = 'submit_session_delete', @@ -212,5 +222,16 @@ export enum Submit { BucketUpdateExtensions = 'submit_bucket_update_extensions', FileCreate = 'submit_file_create', FileDelete = 'submit_file_delete', - FileUpdatePermissions = 'submit_file_update_permissions' + FileUpdatePermissions = 'submit_file_update_permissions', + EmailChangeLocale = 'submit_email_change_locale', + EmailResetTemplate = 'submit_email_reset_template', + EmailUpdateInviteTemplate = 'submit_email_update_invite_template', + EmailUpdateMagicUrlTemplate = 'submit_email_update_magic_url_template', + EmailUpdateRecoveryTemplate = 'submit_email_update_recovery_template', + EmailUpdateVerificationTemplate = 'submit_email_update_verification_template', + SmsChangeLocale = 'submit_sms_change_locale', + SmsResetTemplate = 'submit_sms_reset_template', + SmsUpdateInviteTemplate = 'submit_sms_update_invite_template', + SmsUpdateLoginTemplate = 'submit_sms_update_login_template', + SmsUpdateVerificationTemplate = 'submit_sms_update_verification_template' } diff --git a/src/lib/commandCenter/searchers/files.ts b/src/lib/commandCenter/searchers/files.ts index 3ae581882..a07ed3b32 100644 --- a/src/lib/commandCenter/searchers/files.ts +++ b/src/lib/commandCenter/searchers/files.ts @@ -12,7 +12,7 @@ export const fileSearcher = (async (query: string) => { const { files } = await sdk.forProject.storage.listFiles( $bucket.$id, - [Query.orderDesc('$createdAt')], + [Query.orderDesc('')], query || undefined ); diff --git a/src/lib/commandCenter/searchers/projects.ts b/src/lib/commandCenter/searchers/projects.ts index 79b6d7318..c89c2e88f 100644 --- a/src/lib/commandCenter/searchers/projects.ts +++ b/src/lib/commandCenter/searchers/projects.ts @@ -8,7 +8,7 @@ import type { Searcher } from '../commands'; export const projectsSearcher = (async (query: string) => { const { projects } = await sdk.forConsole.projects.list([ Query.equal('teamId', get(organization).$id), - Query.orderDesc('$createdAt') + Query.orderDesc('') ]); return projects diff --git a/src/lib/components/alert.svelte b/src/lib/components/alert.svelte index 080207530..6954b29d1 100644 --- a/src/lib/components/alert.svelte +++ b/src/lib/components/alert.svelte @@ -6,17 +6,20 @@ export let type: 'info' | 'success' | 'warning' | 'error' = 'info'; export let standalone = false; export let buttons: Buttons[] = []; + export let isAction = false; + export let isStandalone = false; const dispatch = createEventDispatcher();
+ class:is-info={type === 'info'}>
{#if dismissible}
{/if} + {#if buttons?.length && isAction} +
+ {#each buttons as button} + + {/each} +
+ {/if}
diff --git a/src/lib/components/cardGrid.svelte b/src/lib/components/cardGrid.svelte index e7870a977..7616831e3 100644 --- a/src/lib/components/cardGrid.svelte +++ b/src/lib/components/cardGrid.svelte @@ -19,3 +19,10 @@ {/if} + + diff --git a/src/lib/components/clickableListItem.svelte b/src/lib/components/clickableListItem.svelte index 00308d47a..78a4dbe08 100644 --- a/src/lib/components/clickableListItem.svelte +++ b/src/lib/components/clickableListItem.svelte @@ -4,11 +4,15 @@
  • -
    - -
    -
    -

    -
    + {#if $$slots.default} +
    + +
    + {/if} + {#if $$slots.desc} +
    +

    +
    + {/if}
  • diff --git a/src/lib/components/collapsibleItem.svelte b/src/lib/components/collapsibleItem.svelte index 8cad4569e..d1da733c0 100644 --- a/src/lib/components/collapsibleItem.svelte +++ b/src/lib/components/collapsibleItem.svelte @@ -1,11 +1,13 @@
  • - +
    diff --git a/src/lib/components/drop.svelte b/src/lib/components/drop.svelte index ca65fb4e3..d89577556 100644 --- a/src/lib/components/drop.svelte +++ b/src/lib/components/drop.svelte @@ -14,7 +14,9 @@ export let fullWidth = false; export let fixed = false; - const dispatch = createEventDispatcher(); + const dispatch = createEventDispatcher<{ + blur: undefined; + }>(); let element: HTMLDivElement; let tooltip: HTMLDivElement; diff --git a/src/lib/components/id.svelte b/src/lib/components/id.svelte index 1b618f3d2..46f3910f8 100644 --- a/src/lib/components/id.svelte +++ b/src/lib/components/id.svelte @@ -3,6 +3,7 @@ export let value: string; export let event: string = null; + export let centered = true; function truncateText(node: HTMLElement) { const MAX_TRIES = 100; @@ -49,6 +50,7 @@
    - + dispatch('create', ['any'])}> diff --git a/src/lib/components/permissions/permissions.svelte b/src/lib/components/permissions/permissions.svelte index e50feb9a6..9b9a4dbb8 100644 --- a/src/lib/components/permissions/permissions.svelte +++ b/src/lib/components/permissions/permissions.svelte @@ -12,7 +12,6 @@ {#if [...$groups]?.length} - - - Role - {#if withCreate} - Create - {/if} - Read - Update - Delete - - - - {#each [...$groups].sort(sortRoles) as [role, permission] (role)} - - - - +
    +
    + + Role + {#if withCreate} + Create + {/if} + Read + Update + Delete + + + + {#each [...$groups].sort(sortRoles) as [role, permission] (role)} + + + + - {#if withCreate} - + {#if withCreate} + + togglePermission(role, 'create')} /> + + {/if} + togglePermission(role, 'create')} /> + aria-label="Read" + checked={permission.read} + on:change={() => togglePermission(role, 'read')} /> + + + togglePermission(role, 'update')} /> + + + togglePermission(role, 'delete')} /> - {/if} - - togglePermission(role, 'read')} /> - - - togglePermission(role, 'update')} /> - - - togglePermission(role, 'delete')} /> - - -
    - -
    -
    -
    - {/each} -
    -
    + +
    + +
    +
    + + {/each} + + +
    {/if} + + diff --git a/src/lib/elements/forms/formItem.svelte b/src/lib/elements/forms/formItem.svelte index d1301d5d6..3e08ea271 100644 --- a/src/lib/elements/forms/formItem.svelte +++ b/src/lib/elements/forms/formItem.svelte @@ -1,3 +1,7 @@ -
  • + + +
  • diff --git a/src/lib/elements/forms/inputFile.svelte b/src/lib/elements/forms/inputFile.svelte index 0c73f3dc2..e85d755e2 100644 --- a/src/lib/elements/forms/inputFile.svelte +++ b/src/lib/elements/forms/inputFile.svelte @@ -1,11 +1,12 @@ `.${n}`).join(',')} type="file" @@ -123,7 +152,7 @@ {fileSize.value + fileSize.unit}