/
home
/
altere25
/
.trash
/
wp-to-sanity-migration.12
/
/home/altere25/.trash/wp-to-sanity-migration.12
mkdir
upload
Name
Size
Mode
Actions
acf-json\.gitkeep
0
0644
edit
dl
rm
assets\css\admin.css
12113
0644
edit
dl
rm
assets\js\admin.js
52894
0644
edit
dl
rm
includes\class-ad-admin.php
10358
0644
edit
dl
rm
includes\class-ad-ai-client.php
10724
0644
edit
dl
rm
includes\class-ad-auth.php
9189
0644
edit
dl
rm
includes\class-ad-cli.php
8671
0644
edit
dl
rm
includes\class-ad-extractor.php
17237
0644
edit
dl
rm
includes\class-ad-mcp.php
6429
0644
edit
dl
rm
includes\class-ad-plugin-core.php
10252
0644
edit
dl
rm
includes\class-ad-progress.php
8022
0644
edit
dl
rm
includes\class-ad-rest.php
43443
0644
edit
dl
rm
includes\class-ad-uninstall.php
1966
0644
edit
dl
rm
includes\class-ad-webhook.php
24172
0644
edit
dl
rm
languages\.gitkeep
0
0644
edit
dl
rm
templates\admin\wizard.php
29414
0644
edit
dl
rm
wp-to-sanity-migration\acf-json\.gitkeep
0
0644
edit
dl
rm
wp-to-sanity-migration\assets\
0
0644
edit
dl
rm
wp-to-sanity-migration\assets\css\admin.css
12113
0644
edit
dl
rm
wp-to-sanity-migration\assets\js\admin.js
52894
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-admin.php
10358
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-ai-client.php
10724
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-auth.php
9189
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-cli.php
8671
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-extractor.php
17237
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-mcp.php
6429
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-plugin-core.php
10252
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-progress.php
8022
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-rest.php
43443
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-uninstall.php
1966
0644
edit
dl
rm
wp-to-sanity-migration\includes\class-ad-webhook.php
24172
0644
edit
dl
rm
wp-to-sanity-migration\languages\.gitkeep
0
0644
edit
dl
rm
wp-to-sanity-migration\package.json
220
0644
edit
dl
rm
wp-to-sanity-migration\readme.txt
8174
0644
edit
dl
rm
wp-to-sanity-migration\templates\
0
0644
edit
dl
rm
wp-to-sanity-migration\templates\admin\wizard.php
29414
0644
edit
dl
rm
wp-to-sanity-migration\uninstall.php
365
0644
edit
dl
rm
wp-to-sanity-migration\wp-to-sanity-migration.php
4418
0644
edit
dl
rm
Edit:
/home/altere25/.trash/wp-to-sanity-migration.12/wp-to-sanity-migration\templates\admin\wizard.php
(29414B)
<?php /** * Altered Digital Migration — Unified Wizard * * Single 10-step wizard covering the entire customer journey: * 1. Account login 6. Connect Sanity * 2. Analyze site 7. Content settings * 3. AI progress 8. Migration * 4. Quote 9. Approve * 5. Payment 10. Next Steps (Claude / Schema / Log) * * Plus a Status Dashboard shown when approved=true or returning after * completion. JS determines which panel to show via GET /wizard-state on * page load. * * @package AlteredDigitalMigration */ if (!defined('ABSPATH')) { exit; } /** * @var array<string,mixed> $settings * @var array<string,mixed> $post_types * @var array<string,mixed> $taxonomies */ $selected_post_types = $settings['post_types'] ?? ['post', 'page']; $selected_taxonomies = $settings['taxonomies'] ?? ['category', 'post_tag']; $include_drafts = (bool) ($settings['include_drafts'] ?? false); $auto_sync = (bool) ($settings['auto_sync'] ?? false); $account_email = $settings['account_email'] ?? ''; $has_service = !empty($settings['service_url']) && !empty($settings['admin_token']); $tenant_id = $settings['tenant_id'] ?? ''; $service_url = $settings['service_url'] ?? ''; ?> <div class="wrap ad-wizard-wrap"> <h1><?php echo esc_html__('WP to Sanity Migration', 'wp-to-sanity-migration'); ?></h1> <!-- Step indicator (10 steps) --> <ol class="ad-wizard-steps ad-wizard-steps-10" id="ad-step-indicator"> <li data-step="1"><?php esc_html_e('1. Login', 'wp-to-sanity-migration'); ?></li> <li data-step="2"><?php esc_html_e('2. Analyze', 'wp-to-sanity-migration'); ?></li> <li data-step="3"><?php esc_html_e('3. AI', 'wp-to-sanity-migration'); ?></li> <li data-step="4"><?php esc_html_e('4. Quote', 'wp-to-sanity-migration'); ?></li> <li data-step="5"><?php esc_html_e('5. Pay', 'wp-to-sanity-migration'); ?></li> <li data-step="6"><?php esc_html_e('6. Sanity', 'wp-to-sanity-migration'); ?></li> <li data-step="7"><?php esc_html_e('7. Settings', 'wp-to-sanity-migration'); ?></li> <li data-step="8"><?php esc_html_e('8. Migrate', 'wp-to-sanity-migration'); ?></li> <li data-step="9"><?php esc_html_e('9. Approve', 'wp-to-sanity-migration'); ?></li> <li data-step="10"><?php esc_html_e('10. Next', 'wp-to-sanity-migration'); ?></li> </ol> <!-- =============================================================== --> <!-- Panel 1: Account Login --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="1"> <h2><?php esc_html_e('Sign in to your Altered Digital account', 'wp-to-sanity-migration'); ?></h2> <p class="description"><?php esc_html_e('Used to bill the migration, track progress, and sign off the final result.', 'wp-to-sanity-migration'); ?></p> <form id="ad-login-form"> <label><?php esc_html_e('Email', 'wp-to-sanity-migration'); ?> <input type="email" name="email" value="<?php echo esc_attr($account_email); ?>" required> </label> <label><?php esc_html_e('Password', 'wp-to-sanity-migration'); ?> <input type="password" name="password" required autocomplete="current-password"> </label> <button type="submit" class="button button-primary"><?php esc_html_e('Sign in', 'wp-to-sanity-migration'); ?></button> <a href="#" class="ad-wizard-link" id="ad-signup-toggle"><?php esc_html_e('Create an account', 'wp-to-sanity-migration'); ?></a> </form> <div class="ad-wizard-status" id="ad-login-status" hidden></div> </section> <!-- =============================================================== --> <!-- Panel 2: Analyze Site --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="2" hidden> <h2><?php esc_html_e('Analyze your WordPress site', 'wp-to-sanity-migration'); ?></h2> <p class="description"><?php esc_html_e('Scans post types, page builders, ACF fields, media, and taxonomies. ~30-90 seconds.', 'wp-to-sanity-migration'); ?></p> <button type="button" class="button button-primary" id="ad-analyze-trigger"><?php esc_html_e('Analyze my site', 'wp-to-sanity-migration'); ?></button> </section> <!-- =============================================================== --> <!-- Panel 3: AI Analysis Progress --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="3" hidden> <h2><?php esc_html_e('Analyzing…', 'wp-to-sanity-migration'); ?></h2> <div class="ad-progress-bar"><div class="ad-progress-fill" id="ad-analyze-fill"></div></div> <p id="ad-analyze-stage" class="description"><?php esc_html_e('Starting…', 'wp-to-sanity-migration'); ?></p> </section> <!-- =============================================================== --> <!-- Panel 4: Quote --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="4" hidden> <h2><?php esc_html_e('Your migration quote', 'wp-to-sanity-migration'); ?></h2> <div id="ad-quote-body"></div> </section> <!-- =============================================================== --> <!-- Panel 5: Payment --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="5" hidden> <h2><?php esc_html_e('Pay 50% to start', 'wp-to-sanity-migration'); ?></h2> <div id="ad-payment-body"></div> </section> <!-- =============================================================== --> <!-- Panel 6: Connect Sanity --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="6" hidden> <h2><?php esc_html_e('Connect your Sanity project', 'wp-to-sanity-migration'); ?></h2> <p class="description"><?php esc_html_e('Enter your Sanity project details. The Altered Digital Worker will provision a tenant and return a webhook URL + secret automatically.', 'wp-to-sanity-migration'); ?></p> <?php if (!$has_service): ?> <div class="notice notice-warning inline"> <p><?php esc_html_e('Service URL and Admin Token must be configured by your network admin before connecting Sanity. If you are self-hosting, set them in the network admin settings.', 'wp-to-sanity-migration'); ?></p> </div> <?php endif; ?> <form id="ad-connect-sanity-form" class="ad-form-grid"> <label><?php esc_html_e('Sanity Project ID', 'wp-to-sanity-migration'); ?> <input type="text" name="sanity_project_id" id="ad-sanity-project-id" required placeholder="abc123xy"> </label> <label><?php esc_html_e('Dataset', 'wp-to-sanity-migration'); ?> <input type="text" name="sanity_dataset" id="ad-sanity-dataset" value="production" required> </label> <label class="ad-form-full"><?php esc_html_e('Sanity API Token', 'wp-to-sanity-migration'); ?> <input type="password" name="sanity_api_token" id="ad-sanity-api-token" required placeholder="sk…" autocomplete="new-password"> <p class="description"><?php esc_html_e('Create a token in Sanity Manage → API → Tokens with write access to your dataset.', 'wp-to-sanity-migration'); ?></p> </label> <div class="ad-form-full"> <button type="submit" class="button button-primary" id="ad-connect-sanity-btn"><?php esc_html_e('Connect Sanity', 'wp-to-sanity-migration'); ?></button> </div> </form> <div class="ad-wizard-status" id="ad-connect-sanity-status" hidden></div> </section> <!-- =============================================================== --> <!-- Panel 7: Content Settings --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="7" hidden> <h2><?php esc_html_e('Content settings', 'wp-to-sanity-migration'); ?></h2> <p class="description"><?php esc_html_e('Choose which content types and taxonomies to include in the migration.', 'wp-to-sanity-migration'); ?></p> <div class="ad-settings-grid"> <fieldset class="ad-checkbox-group"> <legend><?php esc_html_e('Post Types', 'wp-to-sanity-migration'); ?></legend> <?php foreach ($post_types as $pt): ?> <?php $checked = in_array($pt->name, $selected_post_types, true); ?> <label><input type="checkbox" name="ad_content_post_types[]" value="<?php echo esc_attr($pt->name); ?>" <?php checked($checked); ?>> <?php echo esc_html($pt->label); ?></label> <?php endforeach; ?> </fieldset> <fieldset class="ad-checkbox-group"> <legend><?php esc_html_e('Taxonomies', 'wp-to-sanity-migration'); ?></legend> <?php foreach ($taxonomies as $tax): ?> <?php $checked = in_array($tax->name, $selected_taxonomies, true); ?> <label><input type="checkbox" name="ad_content_taxonomies[]" value="<?php echo esc_attr($tax->name); ?>" <?php checked($checked); ?>> <?php echo esc_html($tax->label); ?></label> <?php endforeach; ?> </fieldset> </div> <div class="ad-toggle-group"> <label><input type="checkbox" id="ad-include-drafts" <?php checked($include_drafts); ?>> <?php esc_html_e('Include draft posts', 'wp-to-sanity-migration'); ?></label> <label><input type="checkbox" id="ad-auto-sync" <?php checked($auto_sync); ?>> <?php esc_html_e('Auto-sync on publish/update', 'wp-to-sanity-migration'); ?></label> </div> <p> <button type="button" class="button button-primary" id="ad-save-settings-btn"><?php esc_html_e('Save & Continue', 'wp-to-sanity-migration'); ?></button> <span class="ad-save-status" id="ad-save-settings-status"></span> </p> </section> <!-- =============================================================== --> <!-- Panel 8: Migration --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="8" hidden> <h2><?php esc_html_e('Start full migration', 'wp-to-sanity-migration'); ?></h2> <p class="description"><?php esc_html_e('Queues all published content for migration to Sanity. Progress updates every 5 seconds.', 'wp-to-sanity-migration'); ?></p> <p> <button type="button" class="button button-primary button-large" id="ad-start-migration-btn"><?php esc_html_e('Start Full Migration', 'wp-to-sanity-migration'); ?></button> <span class="ad-migration-status" id="ad-migration-status"></span> </p> <div class="ad-progress-summary"> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-stat-total">—</span><span class="ad-stat-label"><?php esc_html_e('Total', 'wp-to-sanity-migration'); ?></span></div> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-stat-success">—</span><span class="ad-stat-label"><?php esc_html_e('Succeeded', 'wp-to-sanity-migration'); ?></span></div> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-stat-pending">—</span><span class="ad-stat-label"><?php esc_html_e('Pending', 'wp-to-sanity-migration'); ?></span></div> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-stat-failed">—</span><span class="ad-stat-label"><?php esc_html_e('Failed', 'wp-to-sanity-migration'); ?></span></div> </div> <div class="ad-progress-bar-wrap"> <div class="ad-progress-bar"><div class="ad-progress-fill" id="ad-progress-fill"></div></div> <span class="ad-progress-pct" id="ad-progress-pct">—%</span> </div> <h3><?php esc_html_e('Recent activity', 'wp-to-sanity-migration'); ?></h3> <table class="widefat striped" id="ad-progress-table"> <thead><tr> <th><?php esc_html_e('Post ID', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Action', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Status', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Sanity ID', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Updated', 'wp-to-sanity-migration'); ?></th> </tr></thead> <tbody><tr class="ad-empty-row"><td colspan="5"><span class="description"><?php esc_html_e('No migrations yet.', 'wp-to-sanity-migration'); ?></span></td></tr></tbody> </table> <p id="ad-continue-approval-wrap" hidden> <button type="button" class="button button-primary" id="ad-continue-approval-btn"><?php esc_html_e('Continue to Approval', 'wp-to-sanity-migration'); ?></button> </p> </section> <!-- =============================================================== --> <!-- Panel 9: Approve --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="9" hidden> <h2><?php esc_html_e('Review & approve', 'wp-to-sanity-migration'); ?></h2> <p class="description"><?php esc_html_e('Review the migration stats below. When satisfied, approve and pay the final 50% to complete the project.', 'wp-to-sanity-migration'); ?></p> <div class="ad-qa-checklist"> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-approve-total">—</span><span class="ad-stat-label"><?php esc_html_e('Total', 'wp-to-sanity-migration'); ?></span></div> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-approve-success">—</span><span class="ad-stat-label"><?php esc_html_e('Succeeded', 'wp-to-sanity-migration'); ?></span></div> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-approve-pending">—</span><span class="ad-stat-label"><?php esc_html_e('Pending', 'wp-to-sanity-migration'); ?></span></div> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-approve-failed">—</span><span class="ad-stat-label"><?php esc_html_e('Failed', 'wp-to-sanity-migration'); ?></span></div> </div> <p> <button type="button" class="button button-primary button-large" id="ad-approve-btn"><?php esc_html_e('Approve & Pay Final 50%', 'wp-to-sanity-migration'); ?></button> <span class="ad-approve-status" id="ad-approve-status"></span> </p> </section> <!-- =============================================================== --> <!-- Panel 9b: Payment Required (shown when approved but not paid_full) --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="9b" hidden> <h2><?php esc_html_e('Verifying payment', 'wp-to-sanity-migration'); ?></h2> <p class="description"><?php esc_html_e('Your content is held in a staging dataset. Once your final payment is confirmed, it will be promoted to your production Sanity dataset.', 'wp-to-sanity-migration'); ?></p> <p id="ad-payment-required-status"><?php esc_html_e('Verifying payment status…', 'wp-to-sanity-migration'); ?></p> <p> <button type="button" class="button button-primary button-large" id="ad-retry-promote-btn"><?php esc_html_e('Retry final payment', 'wp-to-sanity-migration'); ?></button> <button type="button" class="button" onclick="wpToSanity.showPanel(9)"><?php esc_html_e('Back to Approve', 'wp-to-sanity-migration'); ?></button> </p> </section> <!-- =============================================================== --> <!-- Panel 10: Next Steps (3 tabs) --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="10" hidden> <h2><?php esc_html_e('Next steps', 'wp-to-sanity-migration'); ?></h2> <div class="ad-tabs" id="ad-next-steps-tabs"> <button type="button" class="ad-tab active" data-tab="claude"><?php esc_html_e('Claude Connect', 'wp-to-sanity-migration'); ?></button> <button type="button" class="ad-tab" data-tab="schema"><?php esc_html_e('Schema Preview', 'wp-to-sanity-migration'); ?></button> <button type="button" class="ad-tab" data-tab="log"><?php esc_html_e('Migration Log', 'wp-to-sanity-migration'); ?></button> </div> <!-- Tab: Claude Connect --> <div class="ad-tab-content active" data-tab-content="claude" id="ad-tab-claude"> <p class="description"> <?php esc_html_e('Drive your migrated Sanity content through Claude Desktop chat — no GROQ, no Studio. Altered Digital generates the connection config for you.', 'wp-to-sanity-migration'); ?> </p> <?php if (empty($tenant_id) || empty($service_url)): ?> <div class="notice notice-warning inline"> <p><?php esc_html_e('Connect to the Altered Digital service first to enable Claude Connect.', 'wp-to-sanity-migration'); ?></p> </div> <?php else: ?> <div class="ad-card ad-cc-step" id="ad-cc-mint"> <h3><?php esc_html_e('1. Create a Sanity token', 'wp-to-sanity-migration'); ?></h3> <p> <?php printf( /* translators: 1: link to Sanity manage, 2: link label */ esc_html__('Open %1$sSanity Manage%2$s → API → Tokens and create a token with read + write access to your dataset. Copy the token value.', 'wp-to-sanity-migration'), '<a href="https://www.sanity.io/manage" target="_blank" rel="noopener">', '</a>' ); ?> </p> <label class="ad-cc-label" for="ad-cc-token-input"><?php esc_html_e('Paste your Sanity token:', 'wp-to-sanity-migration'); ?></label> <div class="ad-cc-token-row"> <input type="password" id="ad-cc-token-input" class="regular-text" autocomplete="off" placeholder="sk…"> <button type="button" class="button button-primary" id="ad-cc-mint-btn"><?php esc_html_e('Connect Claude', 'wp-to-sanity-migration'); ?></button> </div> <p class="description"><?php esc_html_e('This token is stored separately from your migration token. You can revoke it any time without affecting in-flight migrations.', 'wp-to-sanity-migration'); ?></p> </div> <div class="ad-card ad-cc-step ad-cc-hidden" id="ad-cc-config"> <h3><?php esc_html_e('2. Add to Claude Desktop', 'wp-to-sanity-migration'); ?></h3> <p><?php esc_html_e('Either click the deep-link (fastest) or paste this into your Claude Desktop config file:', 'wp-to-sanity-migration'); ?></p> <div class="ad-cc-actions"> <a class="button button-primary" id="ad-cc-deeplink" href="#" target="_blank" rel="noopener"><?php esc_html_e('Open in Claude Desktop', 'wp-to-sanity-migration'); ?></a> <button type="button" class="button" id="ad-cc-copy-btn"><?php esc_html_e('Copy config JSON', 'wp-to-sanity-migration'); ?></button> <span class="ad-cc-copy-msg" id="ad-cc-copy-msg"></span> </div> <pre class="ad-cc-snippet" id="ad-cc-snippet"></pre> <div class="ad-cc-revoke-row"> <button type="button" class="button button-link-delete" id="ad-cc-revoke-btn"><?php esc_html_e('Revoke Claude connection', 'wp-to-sanity-migration'); ?></button> <span class="ad-cc-revoke-msg" id="ad-cc-revoke-msg"></span> </div> </div> <div class="ad-card ad-cc-step ad-cc-hidden" id="ad-cc-prompts"> <h3><?php esc_html_e('3. Try these prompts in Claude', 'wp-to-sanity-migration'); ?></h3> <p><?php esc_html_e('Once Claude Desktop is connected, paste any of these to get started:', 'wp-to-sanity-migration'); ?></p> <ul class="ad-cc-prompt-list" id="ad-cc-prompt-list"></ul> </div> <div class="ad-card ad-cc-hidden" id="ad-cc-loading"> <p class="ad-cc-loading-text"><?php esc_html_e('Loading your Claude config…', 'wp-to-sanity-migration'); ?></p> </div> <div class="ad-card ad-cc-hidden" id="ad-cc-error"> <p class="ad-cc-error-text"></p> </div> <?php endif; ?> </div> <!-- Tab: Schema Preview --> <div class="ad-tab-content" data-tab-content="schema" id="ad-tab-schema" hidden> <p class="description"> <?php esc_html_e('Generate a Sanity Studio schema from your WordPress site analysis. The AI proposes document types, fields, and page builder object types you can edit freely.', 'wp-to-sanity-migration'); ?> </p> <div class="ad-schema-actions"> <button type="button" id="ad-schema-generate" class="button button-primary"><?php esc_html_e('Generate Schema', 'wp-to-sanity-migration'); ?></button> <span id="ad-schema-status" class="ad-schema-status"></span> </div> <div id="ad-schema-rationale" class="ad-schema-rationale ad-hidden"></div> <div id="ad-schema-files" class="ad-schema-files"></div> <template id="ad-schema-file-tmpl"> <div class="ad-schema-file"> <div class="ad-schema-file-head"> <strong class="ad-schema-filename"></strong> <div class="ad-schema-file-actions"> <button type="button" class="button ad-schema-copy">Copy</button> <button type="button" class="button ad-schema-download">Download</button> </div> </div> <pre class="ad-schema-code"><code></code></pre> </div> </template> </div> <!-- Tab: Migration Log --> <div class="ad-tab-content" data-tab-content="log" id="ad-tab-log" hidden> <div class="ad-log-controls"> <label> <?php esc_html_e('Status:', 'wp-to-sanity-migration'); ?> <select id="ad-log-status-filter"> <option value="all"><?php esc_html_e('All', 'wp-to-sanity-migration'); ?></option> <option value="pending"><?php esc_html_e('Pending', 'wp-to-sanity-migration'); ?></option> <option value="success"><?php esc_html_e('Success', 'wp-to-sanity-migration'); ?></option> <option value="failed"><?php esc_html_e('Failed', 'wp-to-sanity-migration'); ?></option> </select> </label> <button type="button" class="button" id="ad-log-refresh"><?php esc_html_e('Refresh', 'wp-to-sanity-migration'); ?></button> </div> <table class="widefat striped" id="ad-log-table"> <thead><tr> <th><?php esc_html_e('ID', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Post ID', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Action', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Status', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Sanity ID', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Date', 'wp-to-sanity-migration'); ?></th> </tr></thead> <tbody><tr class="ad-empty-row"><td colspan="6"><span class="description"><?php esc_html_e('Loading…', 'wp-to-sanity-migration'); ?></span></td></tr></tbody> </table> <div class="ad-log-pagination" id="ad-log-pagination"></div> </div> </section> <!-- =============================================================== --> <!-- Status Dashboard (shown when approved=true or returning) --> <!-- =============================================================== --> <section class="ad-wizard-panel" data-panel="dashboard" id="ad-status-dashboard" hidden> <h2><?php esc_html_e('Migration dashboard', 'wp-to-sanity-migration'); ?></h2> <p class="description"><?php esc_html_e('Your migration is complete. Jump to any step below or review your live stats.', 'wp-to-sanity-migration'); ?></p> <div class="notice notice-warning inline" id="ad-final-payment-notice" hidden> <p><?php esc_html_e('Your content is held in a staging dataset. The final 50% payment promotes it to your production Sanity dataset. Use the Approve step to complete payment.', 'wp-to-sanity-migration'); ?></p> <p><button type="button" class="button button-primary" onclick="wpToSanity.showPanel(9)"><?php esc_html_e('Complete final payment', 'wp-to-sanity-migration'); ?></button></p> </div> <div class="ad-progress-summary"> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-dash-total">—</span><span class="ad-stat-label"><?php esc_html_e('Total', 'wp-to-sanity-migration'); ?></span></div> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-dash-success">—</span><span class="ad-stat-label"><?php esc_html_e('Succeeded', 'wp-to-sanity-migration'); ?></span></div> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-dash-pending">—</span><span class="ad-stat-label"><?php esc_html_e('Pending', 'wp-to-sanity-migration'); ?></span></div> <div class="ad-stat-card"><span class="ad-stat-num" id="ad-dash-failed">—</span><span class="ad-stat-label"><?php esc_html_e('Failed', 'wp-to-sanity-migration'); ?></span></div> </div> <div class="ad-progress-bar-wrap"> <div class="ad-progress-bar"><div class="ad-progress-fill" id="ad-dash-progress-fill"></div></div> <span class="ad-progress-pct" id="ad-dash-progress-pct">—%</span> </div> <h3><?php esc_html_e('Recent activity', 'wp-to-sanity-migration'); ?></h3> <table class="widefat striped" id="ad-dash-progress-table"> <thead><tr> <th><?php esc_html_e('Post ID', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Action', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Status', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Sanity ID', 'wp-to-sanity-migration'); ?></th> <th><?php esc_html_e('Updated', 'wp-to-sanity-migration'); ?></th> </tr></thead> <tbody><tr class="ad-empty-row"><td colspan="5"><span class="description"><?php esc_html_e('Loading…', 'wp-to-sanity-migration'); ?></span></td></tr></tbody> </table> <div class="ad-action-grid"> <button type="button" class="button" onclick="wpToSanity.showPanel(10)"><span class="dashicons dashicons-rest-api"></span> <?php esc_html_e('Claude Connect', 'wp-to-sanity-migration'); ?></button> <button type="button" class="button" onclick="wpToSanity.showPanel(10)"><span class="dashicons dashicons-admin-appearance"></span> <?php esc_html_e('Schema Preview', 'wp-to-sanity-migration'); ?></button> <button type="button" class="button" onclick="wpToSanity.showPanel(10)"><span class="dashicons dashicons-list-view"></span> <?php esc_html_e('Migration Log', 'wp-to-sanity-migration'); ?></button> <button type="button" class="button" onclick="wpToSanity.showPanel(8)"><span class="dashicons dashicons-migrate"></span> <?php esc_html_e('Run Migration', 'wp-to-sanity-migration'); ?></button> <button type="button" class="button" onclick="wpToSanity.showPanel(7)"><span class="dashicons dashicons-admin-settings"></span> <?php esc_html_e('Content Settings', 'wp-to-sanity-migration'); ?></button> <button type="button" class="button" onclick="wpToSanity.showPanel(9)"><span class="dashicons dashicons-yes-alt"></span> <?php esc_html_e('Approve', 'wp-to-sanity-migration'); ?></button> </div> </section> </div>
Save
cmd:
run