feat: add Open Graph and Twitter Card meta tags#676
Closed
Ehsan-saradar wants to merge 27 commits into
Closed
Conversation
- add qbtc mainnet and testnet configs pointing to odindex.io endpoints - add qbtc logo asset - remove other chains (axelar, cosmos, neutron, nolus, osmosis, xion, bfhevm, crossfi) since this fork is dedicated to qbtc Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rewrite all non-asset paths to / so the Vue Router can handle deep links like /qbtc directly without Vercel returning 404. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Visiting / now 308-redirects to /qbtc so users land on the qbtc explorer directly instead of the chain list page. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
When Keplr lacks a chain in its modular registry, calling enable/getKey
throws "There is no modular chain info for {chainId}" and the connect
modal surfaces the error inline without ever opening a popup. Wire the
ping-connect-wallet keplr-config event to call experimentalSuggestChain
directly so Keplr prompts the user to add the chain, instead of routing
to a separate manual /wallet/keplr page. Falls back to the manual page
if Keplr is missing or the suggestion rejects.
Extracts the ChainInfo builder from modules/wallet/keplr.vue into a
shared libs/keplr.ts helper to avoid duplicating the payload shape.
ping-widget@0.3.8's <ping-connect-wallet> only emits keplr-config when
the user clicks the gear icon, not when CONNECT fails — so the prior
walletStore.suggestChain() patch alone didn't reach the inline error
path. Its built-in "Suggest a chain to Keplr" fallback link is also
gated by error.search('no chain info'), which doesn't match Keplr's
new "no modular chain info" message.
Watch chainStore.current and call experimentalSuggestChain proactively
once Keplr is available. The call is idempotent — Keplr no-ops if the
chain is already registered — so a one-time approval popup eliminates
the inline error for all subsequent visits.
fix: auto-suggest chain to Keplr on connect
Replaces the placeholder ping-dashboard-five.vercel.app logo with the official qBTC svg from vultisig/vultisig-windows.
chore: update qbtc logo to vultisig-hosted svg
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
chore: point mainnet qbtc logo to vultisig-hosted svg
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
docs: rewrite README for qbtc-explorer fork
- public/logo.svg → 256×256 qbtc logo (rendered from vultisig-hosted SVG; kept .svg extension so index.html reference is unchanged — browsers sniff the PNG content) - public/favicon.ico → multi-size ICO (16/32/48) of the qbtc logo - .gitattributes pins both files to merge=ours so upstream syncs from ping-pub do not silently revert qbtc branding Note: collaborators must run once per clone for merge=ours to take effect: git config merge.ours.driver true Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
chore: replace logo and favicon with qbtc branding
The default formatToken format string '0,0.[0]' rounds amounts to a single decimal place, so a 0.989925 QBTC balance rendered as "1 QBTC" and amounts under 0.05 collapsed to "0". Pass '0,0.[000000]' explicitly on the account page assets card and the chain home wallet card so sub-unit balances are displayed accurately. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix: show fractional token balances with 6-decimal precision
The coinDecimals lookup matched a denom_unit by symbol against the runtime-built denom_units list, but for chains where base equals symbol.toLowerCase() (e.g. QBTC) both entries share the same denom and .find() returns the base entry with exponent 0 — which then falls through `0 || 6` to 6. Suggested chains end up registered with 6 decimals while the chain actually uses 8, so balances render 100x off. Read the asset exponent directly instead. Applied to keplr.ts, the Keplr/Metamask suggest screens, and the Unisat suggest screen. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix: register correct coin decimals when suggesting chain to wallets
…stream fix: refresh wallet balances when connection state changes
Adds a self-contained `src/style-overrides.css` that hides the "Ecosystem" NavSectionTitle in the sidebar. The selector targets heading-style divs without the `pt-2` class, which uniquely matches the v-for-rendered NavSectionTitle (the hardcoded Tools / Sponsors / Links headings all use `pt-2`). Keeping fork-only overrides in a dedicated file minimizes the risk of merge conflicts with upstream — only the single import line in `main.ts` touches a shared file.
The `public/logo.svg` file in this fork is actually PNG bytes saved with a `.svg` extension. Browsers serve it as `image/svg+xml` (based on the extension/MIME type), so the loading screen and the supply page fallback rendered a broken image instead of the logo. Rename the file to `logo.png` and update the two references (`index.html` loading screen and the supply page fallback) accordingly.
- Make `#loading-bg` fill the viewport with `position: fixed; inset: 0` and default to `#171d30` (the dark site background) so the loading screen no longer flashes white before Vue mounts. - Constrain the logo to 120x120 (was rendering at its intrinsic 256x256) and re-center horizontally with `calc(50% - 60px)`.
style: hide "Ecosystem" sidebar heading
fix: serve loading-screen logo with correct .png extension
Enable rich link previews when sharing the explorer on social media (Twitter/X, Facebook, LinkedIn, Slack, Discord, Telegram, etc.). Image is served from /og-image.png and should be uploaded separately at 1200x630. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Opened against the wrong repo by mistake — this should target a fork, not upstream. Closing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
og:type,og:site_name,og:title,og:description,og:image+ dimensions/alt) so links shared on Facebook, LinkedIn, Slack, Discord, Telegram, WhatsApp render with a preview cardsummary_large_image) for rich previews on Twitter/X<title>and<meta name="description">from the upstream Ping Dashboard wording to qBTC-specific copyRequired follow-up
The image is referenced as
/og-image.pngbut the file is not included in this PR. Upload a1200x630PNG topublic/og-image.pngso the preview renders. Until then, the meta tags exist but crawlers will fail to fetch the image.Test plan
og:*andtwitter:*tags are present in<head>og-image.png, paste the preview URL into:og:urland absolute image URL — some crawlers (notably WhatsApp) do not resolve relative image paths reliably🤖 Generated with Claude Code