fix(web): restore original content on all statically generated pages#908
Conversation
Restore word-for-word content from backup/web-nuxt2-vuetify2 branch while keeping Vuetify 4 component syntax. Fixes: - Blog page titles restored to original wording - Missing images added back (VImg with /img/blog/ paths) - Missing VAlert warning/info boxes restored - Code blocks with syntax highlighting restored (including tabbed JS/Go) - Internal links restored as NuxtLink components - Bold text, code tags, and formatting preserved - Meta tags (og:title, og:description, og:image, twitter:card) restored - BackButton and VDivider footer restored on all pages - Blog index listing titles and descriptions corrected - Privacy policy and terms pages: BackButton + styled email link Pages fixed (11 total): - 7 blog posts + blog index - Homepage, privacy policy, terms and conditions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
| Duplication | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
Greptile SummaryThis PR restores word-for-word content lost during the Nuxt 4 / Vuetify 4 migration across 11 pages — including images, alert boxes, tabbed code blocks, internal
Confidence Score: 3/5Several copy-paste errors introduced incorrect meta descriptions and a shared tab state bug that affects user-facing behavior on the encryption post. Three pages carry wrong og:description content clearly copied from different articles, affecting SEO and social sharing immediately on merge. The E2E encryption post single selectedTab ref controls three independent language-tab groups at once. The blog index also has tool-name typos. blog/index.vue, grant-send-and-read-sms-permissions-on-android.vue, how-to-send-sms-messages-from-excel.vue, and end-to-end-encryption-to-sms-messages.vue all need a closer look before merging. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[blog/index.vue] --> B[grant-sms-permissions.vue
wrong og:description
wrong card description
read-time prop]
A --> C[end-to-end-encryption.vue
shared selectedTab ref
across 3 VTabs groups]
A --> D[how-to-send-sms-from-excel.vue
wrong og:description
duplicate Step 3]
A --> E[send-bulk-sms-from-csv.vue
duplicate Step 3]
A --> F[forward-sms-to-webhook.vue - clean]
A --> G[send-sms-with-python.vue - clean]
A --> H[zapier-google-sheets.vue - clean]
|
|
|
||
| useHead({ | ||
| title: "End-to-End Encryption to SMS Messages - httpSMS", | ||
| title: |
There was a problem hiding this comment.
Single
selectedTab ref shared across all three VTabs sections
The single selectedTab ref is bound to three independent VTabs/VTabsWindow groups (encrypt, send, receive). Switching to "Go" in the Encrypt section will simultaneously flip the language tab in the Send and Receive sections too, and vice versa. Each tab group should have its own reactive ref (e.g. encryptTab, sendTab, receiveTab).
| "Forward a text message (SMS) from an Android phone into your webhook", | ||
| description: | ||
| "Program your android phone to forward messages received on your phone to your server and trigger powerful automations.", | ||
| "Program your android phone to forward messages received on your phone to your server and trigger powerful automations with tools like zapper and IFTTFT.", |
There was a problem hiding this comment.
Typos in the
forward-incoming-sms card description
"zapper" should be "Zapier" and "IFTTFT" should be "IFTTT". Both are tool names and need to be spelled correctly.
| "Program your android phone to forward messages received on your phone to your server and trigger powerful automations with tools like zapper and IFTTFT.", | |
| "Program your android phone to forward messages received on your phone to your server and trigger powerful automations with tools like Zapier and IFTTT.", |
| <h1 class="text-h3 text-md-h2 mt-1"> | ||
| How to grant SMS permissions on Android 15+ | ||
| </h1> | ||
| <BlogInfo date="February 18, 2025" read-time="5 min read" /> |
There was a problem hiding this comment.
read-time kebab-case prop doesn't match the readTime camelCase used on every other blog page
All other blog posts in this PR use readTime="…". If BlogInfo only accepts readTime, the read-time value will be silently ignored on this page and the read time will not be displayed.
| <BlogInfo date="February 18, 2025" read-time="5 min read" /> | |
| <BlogInfo date="February 18, 2025" readTime="5 min read" /> |
|
|
||
| <h2 class="text-headline-medium mb-4">Send your SMS messages</h2> | ||
| <p class="text-body-large mb-6"> | ||
| <h3 class="text-h4 mt-12">Step 3: Send the SMS Messages</h3> |
There was a problem hiding this comment.
There are two sections labeled "Step 3" in this article ("Step 3: Edit your Excel file" and "Step 3: Send the SMS Messages"). The second one should be "Step 4".
| <h3 class="text-h4 mt-12">Step 3: Send the SMS Messages</h3> | |
| <h3 class="text-h4 mt-12">Step 4: Send the SMS Messages</h3> |
|
|
||
| <h2 class="text-headline-medium mb-4">Send your SMS messages</h2> | ||
| <p class="text-body-large mb-6"> | ||
| <h3 class="text-h4 mt-12">Step 3: Send the SMS Messages</h3> |
There was a problem hiding this comment.
Both "Step 3: Edit your CSV file" and "Step 3: Send the SMS Messages" exist in the same article. The send step should be "Step 4" to maintain a coherent numbered guide.
| <h3 class="text-h4 mt-12">Step 3: Send the SMS Messages</h3> | |
| <h3 class="text-h4 mt-12">Step 4: Send the SMS Messages</h3> |
Replace Vuetify 2 typography classes with Material Design 3 equivalents: - text-h3/text-md-h2 → text-display-small/text-display-medium (responsive via useDisplay) - text-h4 → text-headline-large - text-subtitle-1 → text-body-large Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix shared selectedTab ref in e2e encryption page (split into encryptTab, sendTab, receiveTab so tab groups are independent) - Fix wrong og:description on grant-sms-permissions page (was copied from encryption article) - Fix wrong og:description on excel page (was copied from python article) - Fix read-time prop to readTime (camelCase) on grant-sms page - Fix duplicate 'Step 3' headings in excel and CSV pages (second is now Step 4) - Fix typos in blog index: 'zapper' → 'Zapier', 'IFTTFT' → 'IFTTT' - Fix wrong description for SMS permissions article in blog index Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
Restores word-for-word content from the original Nuxt 2/Vuetify 2 version on all statically generated pages, while keeping Vuetify 4 component syntax.
Problem
During the Nuxt 4 + Vuetify 4 migration, blog posts and static pages had their content altered:
Fix
Compared each page against \�ackup/web-nuxt2-vuetify2\ branch and restored all original content using Vuetify 4 syntax:
Pages Fixed (11 total)
What was restored
Testing