| @@ -55,8 +55,9 @@ | ||
| 55 | 55 | <table class="form-table" style="margin-top: 0;"> |
| 56 | 56 | <tr> |
| 57 | 57 | <th scope="row" style="width: 200px;"> |
| 58 | 58 | <label for="google_index_service_account_json">Service Account JSON</label> |
| 59 | + <?php Metasync::render_tooltip_icon('google_index_service_account_json', 'Paste the private key file from a Google Cloud service account added to your Search Console property. This lets the plugin ask Google to crawl your pages. Treat it like a password. It is stored on your server and never shared.'); ?> | |
| 59 | 60 | </th> |
| 60 | 61 | <td> |
| 61 | 62 | <textarea name="google_index_service_account_json" |
| 62 | 63 | id="google_index_service_account_json" |
| @@ -78,15 +79,37 @@ | ||
| 78 | 79 | |
| 79 | 80 | <tr> |
| 80 | 81 | <th scope="row"> |
| 81 | 82 | <label for="google_index_service_account_file">Upload JSON File</label> |
| 83 | + <?php Metasync::render_tooltip_icon('google_index_service_account_file', 'Upload the service account JSON key file you downloaded from Google Cloud instead of pasting it. The file fills in the Service Account JSON box above. It is only stored once you save.'); ?> | |
| 82 | 84 | </th> |
| 83 | 85 | <td> |
| 84 | - <input type="file" | |
| 85 | - name="google_index_service_account_file" | |
| 86 | + <input type="file" | |
| 87 | + name="google_index_service_account_file" | |
| 86 | 88 | id="google_index_service_account_file" |
| 87 | - accept=".json" | |
| 89 | + accept=".json,application/json" | |
| 88 | 90 | class="regular-text" /> |
| 91 | + | |
| 92 | + <!-- | |
| 93 | + Selected-file row. Hidden until a file is chosen; the admin | |
| 94 | + JS fills in the name and reveals it. "Remove" clears the | |
| 95 | + input and restores the textarea to whatever it held before | |
| 96 | + the file was read, so a mis-click does not destroy a saved | |
| 97 | + (redacted) configuration the user never meant to replace. | |
| 98 | + --> | |
| 99 | + <p id="google-index-selected-file" style="display:none;margin:8px 0 0;"> | |
| 100 | + <span class="dashicons dashicons-media-code" style="margin-top:3px;font-size:15px;width:15px;height:15px;"></span> | |
| 101 | + <strong id="google-index-selected-file-name"></strong> | |
| 102 | + <button type="button" | |
| 103 | + id="google-index-remove-file" | |
| 104 | + class="button-link" | |
| 105 | + style="margin-left:8px;color:var(--dashboard-error, #b32d2e);text-decoration:none;" | |
| 106 | + aria-label="Remove the selected JSON file">× Remove</button> | |
| 107 | + </p> | |
| 108 | + | |
| 109 | + <!-- Inline validation feedback; replaces the old alert(). --> | |
| 110 | + <div id="google-index-file-messages" style="margin-top:8px;"></div> | |
| 111 | + | |
| 89 | 112 | <p class="description"> |
| 90 | 113 | Upload your service account JSON file. This will auto-populate the textarea above. |
| 91 | 114 | </p> |
| 92 | 115 | </td> |
| @@ -91,25 +114,25 @@ | ||
| 91 | 114 | </p> |
| 92 | 115 | </td> |
| 93 | 116 | </tr> |
| 94 | 117 | </table> |
| 95 | - | |
| 118 | + | |
| 96 | 119 | <!-- Action Buttons and Test Results --> |
| 97 | 120 | <?php if ($is_configured): ?> |
| 98 | 121 | <div style="margin-top: 20px; padding-top: 15px; border-top: 1px solid #ddd;"> |
| 99 | - <button type="button" | |
| 100 | - id="google-index-test-connection" | |
| 122 | + <button type="button" | |
| 123 | + id="google-index-test-connection" | |
| 101 | 124 | class="button button-secondary"> |
| 102 | 125 | <span class="dashicons dashicons-yes" style="margin-top:3px;font-size:15px;width:15px;height:15px;"></span> Test Connection |
| 103 | 126 | </button> |
| 104 | - | |
| 105 | - <button type="button" | |
| 127 | + | |
| 128 | + <button type="button" | |
| 106 | 129 | id="google-index-clear-config" |
| 107 | - class="button button-link-delete" | |
| 130 | + class="button button-link-delete" | |
| 108 | 131 | style="margin-left: 10px;"> |
| 109 | 132 | <span class="dashicons dashicons-trash" style="margin-top:3px;font-size:15px;width:15px;height:15px;"></span> Clear Configuration |
| 110 | 133 | </button> |
| 111 | - | |
| 134 | + | |
| 112 | 135 | <div id="google-index-test-results" style="margin-top: 15px;"></div> |
| 113 | 136 | </div> |
| 114 | 137 | <?php endif; ?> |
| 115 | 138 | |