Skip to main content

nativemind_vpn 1.2.1 copy "nativemind_vpn: ^1.2.1" to clipboard
nativemind_vpn: ^1.2.1 copied to clipboard

VPN client widgets made by hand: Gleb Sosnin's connect button, stat tiles, location card, server and app lists, search sheet and tab bar, Wishyut's settings widgets, the VPN editions (Pink / Orange / [...]

nativemind_vpn #

VPN client widgets made by hand by Gleb Sosnin and Wishyut (VPNclient-app, 2025, without AI), carried over with their code as it was (PROVENANCE.md), plus the VPN editions as data, country flags and app marks. Part of the NativeMind framework; depends only on nativemind_core and nativemind_icons_fugue (no copilot, no flutter_llama — fine for every edition, GOST included).

Install #

dependencies:
  nativemind_vpn: ^1.2.0
import 'package:nativemind_vpn/nativemind_vpn.dart';

final edition = NmVpnEditions.configs.current();            // --dart-define=NM_EDITION=net.vpnclient.orange

MaterialApp(
  theme: nmLightTheme, darkTheme: nmDarkTheme,              // Gleb Sosnin's color schemes
  localizationsDelegates: const [NmVpnL10n.delegate, NmNetwork.delegate],
  home: Scaffold(
    body: Column(children: [
      NmStatBar(download: vpn.down, upload: vpn.up, ping: vpn.ping),
      NmMainBtn(status: vpn.status, timeText: vpn.time, onToggle: vpn.toggle, gradient: edition.main),
      NmLocationWidget(selectedServer: server.toHandmadeMap(context, isActive: true)),
    ]),
    bottomNavigationBar: NmNavBar(onItemTapped: openTab, gradient: edition.main, slots: const [2, 3, 4]),
  ),
);
  • Rows of Gleb's lists are Map<String, dynamic>; build them from the models with toHandmadeMap() (NmServersList(servers: …), NmAppsList(apps: [nmAllAppsHandmadeMap(context), …])).
  • The widgets get data and callbacks; state, storage and the VPN core stay in the app.
  • Strings are Wishyut's JSON files (assets/lang/, en / ru / th / zh) read at run time by NmLocalizationService; in widget tests load them first: setUpAll(() => NmVpnL10n.load(const Locale('en'))).
  • The 0.x AI widgets moved from nativemind_widgets/network.dart are deprecated in favour of the handmade ones (NmConnectButton → NmMainBtn, …): doc/migration-1.0.md, also for 1.1 / 1.2.

Handmade authors #

55 % of lib/ is their code (1 550 of 2 806 lines; the rest are adapters by Claude Code and the 0.x library code); every handmade class, function and method carries its author line. 55 values were replaced by Figma values (figma-fix blocks keep both).

Author Role In this package
Gleb Sosnin front-end developer → team lead → deputy CTO of the RU branch; UI and architecture of VPNclient-app NmMainBtn, NmStatBar, NmLocationWidget, NmServersList / NmServerListItem, NmAppsList / NmAppListItem, NmSearchDialog, NmNavBar, design tokens, tab icons, CustomIcons font
Wishyut front-end developer and team lead of the TH branch; localization and the settings screen NmActionButton, NmResetSettingsDialog, NmSettingInfoCard, NmSupportServiceCard, NmSnackbarUtils, NmUrlLauncherUtils, NmCustomString, the string files
Alexander Kuptsov UI/UX + design, Figma «VPN Client» Pro / Ad / Simple / Mini the figma-fix values, edition gradients (Blue, Pink, Green, Orange)

«Without AI» for Gleb Sosnin and Wishyut is confirmed by the CTO, Anton Dodonov. The dark theme was completed from the light Figma tokens (NativeMind DS) with fixed by lines.

License #

NativeMindNONC (see LICENSE), as the whole NativeMind framework. App marks in assets/svg/apps/ are trademarks of their owners (see NOTICE).

0
likes
130
points
170
downloads

Documentation

API reference

Publisher

verified publisherframework.nativemind.net

Weekly Downloads

VPN client widgets made by hand: Gleb Sosnin's connect button, stat tiles, location card, server and app lists, search sheet and tab bar, Wishyut's settings widgets, the VPN editions (Pink / Orange / Green / Blue / Red / Blue-GOST) as data, country flags and app marks.

Homepage
Repository (GitLab)

Topics

#widget #vpn #design-system

License

unknown (license)

Dependencies

flutter, flutter_localizations, flutter_svg, intl, nativemind_core, nativemind_icons_fugue, url_launcher

More

Packages that depend on nativemind_vpn