Šepot — end-to-end encrypted messenger
Initial public release. Anonymous on-device identity (no phone number, e-mail, or password), Signal-protocol cryptography (X3DH + PQXDH, Double Ratchet, sealed sender) via libsignal, a metadata-minimizing relay, group chats, disappearing messages, encrypted local storage, optional Tor transport, and a UI localized into Czech, English, German, Russian, and Italian. Monorepo: Flutter client (app/), Rust relay + wire types (rust/), protobuf definitions (proto/), self-host deploy (deploy/). Licensed under AGPL-3.0 with an app-store distribution exception (§7).
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sepot/core/l10n/l10n.dart';
|
||||
import 'package:sepot/core/theme/app_theme.dart';
|
||||
|
||||
/// Logo Šepot — brand mark „Š s tečkami" (nokturno-ikona-B2).
|
||||
///
|
||||
/// Používá STEJNÝ obrázek jako launcher ikona
|
||||
/// (`assets/icon/icon-1024.png`), aby logo na ploše, na splash i uvnitř
|
||||
/// appky bylo jednotné.
|
||||
class SepotLogo extends StatelessWidget {
|
||||
final double size;
|
||||
final bool showText;
|
||||
|
||||
const SepotLogo({
|
||||
super.key,
|
||||
this.size = 80,
|
||||
this.showText = true,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.circular(size * 0.24),
|
||||
child: Image.asset(
|
||||
'assets/icon/icon-1024.png',
|
||||
width: size,
|
||||
height: size,
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
),
|
||||
if (showText) ...[
|
||||
const SizedBox(height: 16),
|
||||
Text(
|
||||
context.l10n.commonAppName,
|
||||
style: TextStyle(
|
||||
fontFamily: kFontSans,
|
||||
fontSize: size * 0.35,
|
||||
fontWeight: FontWeight.w700,
|
||||
color: SepotColors.textPrimary,
|
||||
letterSpacing: -0.5,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
Text(
|
||||
context.l10n.commonAppTagline,
|
||||
style: TextStyle(
|
||||
fontFamily: kFontSans,
|
||||
fontSize: size * 0.15,
|
||||
fontWeight: FontWeight.w400,
|
||||
color: SepotColors.textSecondary,
|
||||
),
|
||||
),
|
||||
],
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user