diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(suggestions)/indexes.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(suggestions)/indexes.svelte index 365e8f05f..9b1face53 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(suggestions)/indexes.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(suggestions)/indexes.svelte @@ -1,5 +1,5 @@ - - - {#await loadIndexSuggestions()} - {#each Array(3) as _, index} - {@const firstItem = index === 0} - - {@render fieldSkeleton({ label: 'Key', showLabel: firstItem })} - {@render fieldSkeleton({ label: 'Type', showLabel: firstItem })} - {@render fieldSkeleton({ label: 'Order', showLabel: firstItem })} - +{#if !$isSmallViewport} + { + await applySuggestedIndexes(); + }}> + + {#await loadIndexSuggestions()} + {#each Array(3) as _, index} + {@const firstItem = index === 0} + + {@render fieldSkeleton({ label: 'Key', showLabel: firstItem })} + {@render fieldSkeleton({ label: 'Type', showLabel: firstItem })} + {@render fieldSkeleton({ label: 'Order', showLabel: firstItem })} + -
- -
-
- {/each} +
+ +
+
+ {/each} - - - - {:then suggestedIndexes} - {#each suggestedIndexes as index, count} - {@const firstItem = count === 0} - - + {@render addIndexButton()} + {/await} + - + + + + - - - - -
- -
-
- {/each} - - {#if indexes.length < MAX_INDEXES} - - - {/if} - {/await} -
- - - - - - - - - -
+ +
+{/if} -{#snippet fieldSkeleton({ label, showLabel })} +{#if $isSmallViewport} + await applySuggestedIndexes() + }}> + {#if modalError} + + {modalError} + + {/if} + + {#await loadIndexSuggestions()} + + {#each Array(3) as _} + {@render fieldSkeleton({ + label: undefined, + showLabel: false, + isDesktop: false + })} + {/each} + + {:then suggestedIndexes} + + {#each suggestedIndexes as index, count} + + {@render indexEditForm({ index, count, isDesktop: false })} + + {/each} + + {@render addIndexButton()} + + {/await} + +{/if} + +{#snippet fieldSkeleton({ label, showLabel, isDesktop = true })} {#if showLabel} {label} {/if} - + {/snippet} + +{#snippet indexEditForm({ index, count, isDesktop = true })} + {@const firstItem = count === 0} + {#if isDesktop} + + + + + + + + {@render removeIndexButton({ count, isDesktop: true })} + + {:else} + + + + + + + + + + + {@render removeIndexButton({ count, isDesktop: false })} + + {/if} +{/snippet} + +{#snippet addIndexButton()} + {#if indexes.length < MAX_INDEXES} + + + + {/if} +{/snippet} + +{#snippet removeIndexButton({ count, isDesktop = true })} + {#if isDesktop} +
+ +
+ {:else if indexes.length > 1} + + + + {/if} +{/snippet}