Repository navigation
feat: Apple-style console theme site-wide, IP copy formats and full names - #210
Merged
Merged
Conversation
…ll names - Console theme v2 (flat_theme_enabled): Apple HIG / Liquid Glass language. Colour only where upstream sub2api has colour (upstream primary becomes Apple blue), upstream platform colours, glass chrome, tactile controls, layered near-black dark mode; Inter (OFL, @fontsource-variable/inter 5.3.0) replaces Geist Sans. Rolled out to every page after a light/dark/mobile page sweep with pixel contrast audits; theme off still renders upstream. - IP management: the copy button copies socks5://user:pass@host:port and a menu offers the other formats. - Distribution tables show full model/group/endpoint names; readable placeholders. - Usage popovers stay inside the viewport, batch-test errors show their text, charts read theme tokens (upstream colours when the theme is off), ops error messages are no longer cut in script. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
The site owner's follow-up to v0.2.8-codexrip.11: the console should read as "modern, minimal but refined — Apple-grade",
with colour only where official sub2api has colour. This ships the approved Apple-style console theme (v2) to every page,
plus the IP-management copy formats and two small fixes. Frontend and docs only: no backend code, no migrations, no API
changes. Net: 45 files, +6.3k / −1.3k lines (most of it
style.css).1. Console theme v2 (
flat_theme_enabled)(floating sidebar, top-bar capsule, menus/popovers/tooltips, sticky table header, bulk bar, pagination, dialog scrim);
white 20px cards with layered shadows; tactile controls (glass capsules, glossy blue primary, recessed fields, recessed
tracks with glossy thumbs); layered near-black dark mode (#0B0B0C / #161618 / #1F1F22);
prefers-reduced-transparencyand
prefers-reduced-motionrespected.#0A84FF / #64B4FF); KPI and quick-action tiles, status/semantic badges, charts, switches and the current item keep
colour; platform/type/plan badges use upstream's platform colours again (the neutral branches in
PlatformTypeBadge.vue,GroupBadge.vue,utils/platformColors.tsare removed). The top-bar balance, avatar,.codetags, bulk-bar rule, quick-action hover, green KPI figures, the /redeem balance card and the profile header tint follow
upstream's colour positions.
light and dark and fixed where needed (≈800 full-size frames, pixel contrast audit on each). Shared recipes for
tooltips/popovers (glass), announcement dialogs, ConfirmDialog buttons, menus (ProxySelector, column settings, group
pickers), plain tables (DataTable look), ops-style cards, nested panels in dark, empty textareas (3:1 line), white text
on light fills, the onboarding tour.
styles/onboarding.cssis back to upstream's file; the console tour look lives underhtml.flat-theme. Charts read thetheme's Apple series/semantic tokens with the theme on and upstream's original colours with it off (restores upstream
values the old skin had replaced, e.g.
#14b8a6).@fontsource-variable/inter5.3.0, SIL OFL 1.1, byte-identical to the packagefile) replaces Geist Sans; Geist Mono stays; Chinese keeps MiSans loaded at runtime from Xiaomi's service.
THIRD_PARTY_NOTICES.mdand.downstream/native-domains.mdupdated.flat-theme; scope check: 0 unscoped).2. IP management copy formats
socks5://user:pass@host:port(row protocol); a menu offershost:port:user:pass,user:pass@host:portandhost:port. New specProxiesView.copyFormats.spec.ts.3. Fixes found on the way
same bug); request id / upstream request id / User-Agent cells wrap instead of truncating.
[object Object]; it now shows the error text.Verification
eslinton the 36 changed.vue/.ts/.jsfiles (0 problems);vue-tsc --noEmit(0 errors);vitest on the specs that read the changed files —
localeKeyCompleteness,AppSidebar,StripePaymentInline.contrast,ProxiesView.copyFormats(18 tests) plus the specs of every touched component (15 files, 105 tests) — all passed;SUB2API_ARTIFACT_BUILD=1 vite build(ok; Inter + Geist Mono emitted, no Geist Sans reference).masking). Pixel text contrast ≥ 4.5:1 everywhere except transient states where an open menu's shadow darkens text
beneath it (it recovers when the menu closes) and one upstream disabled state; UI boundaries ≥ 3:1 except the white
knob of an off switch (its track carries a 3:1 outline).
🤖 Generated with Claude Code