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}
-
-
-
-
-
- ($showIndexesSuggestions = false)}
- >Cancel
-
-
- Create
-
-
-
-
+
+
+{/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}
+
+
+
+ Add Index
+
+
+ {/if}
+{/snippet}
+
+{#snippet removeIndexButton({ count, isDesktop = true })}
+ {#if isDesktop}
+
+ removeIndex(count)}
+ disabled={indexes.length <= 1}>
+
+
+
+ {:else if indexes.length > 1}
+
+ removeIndex(count)}>Remove index
+
+ {/if}
+{/snippet}