Files
3x-ui/frontend/src/pages/sub/app-icons
Sanaei e26cf1d3ed feat(sub): redesign the subscription page around usage, tabs and app imports
The info page was a long key/value table followed by every link and two
app dropdowns, and it rendered left-to-right even for Persian and Arabic.
It now leads with a usage ring, the remaining quota and a stats grid, and
splits the rest into Subscription / Apps / Configs tabs.

- Status tells expired, data-used-up and disabled apart instead of one
  "Inactive", replacing the hard-coded English expiry chip.
- The Apps tab keeps every Android and iOS app with its existing deep
  link, preselects the visitor's platform and adds Windows: Hiddify and
  Clash Verge Rev import directly, v2rayN copies the link.
- fa-IR and ar-EG render right-to-left; URLs, IDs and sizes stay LTR.
- The footer shows the support link and the client refresh interval, so
  subPageContext now carries subUpdates (also in ?format=info).
- Status, days-left and app deep-link logic lives in subPageModel.ts,
  with unit tests pinning the deep links the page already shipped.
2026-09-16 01:55:56 +02:00
..

Subscription page app icons

Line icons — Arcticons (CC BY-SA 4.0)

happ.svg, sing-box.svg, v2rayng.svg and v2raytun.svg come from Arcticons by Donnnno and the Arcticons contributors (as listed on svgicons.com), licensed under CC BY-SA 4.0.

Changes from the originals: the stroke colour is currentColor so the page can tint them to its theme, the stroke width is raised from 1 to 2 so they stay legible at tile size, and the style classes and ids were removed. These modified files are distributed under CC BY-SA 4.0 as well.

App icons

The remaining files are each app's own icon, downscaled to 96 px, used only to identify the app a button opens. They remain the trademarks of their owners.

File Source
shadowrocket.webp App Store listing id932747118
streisand.webp App Store listing id6450534064
v2box.webp App Store listing id6446814690
incy.webp App Store listing id6756943388