first commit
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 163 KiB |
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:opacity="opaque">
|
||||
|
||||
<item android:drawable="@color/colorSplashScreenBackground" />
|
||||
|
||||
<item>
|
||||
<bitmap
|
||||
android:src="@drawable/logo_src"
|
||||
android:width="180dp"
|
||||
android:height="180dp"
|
||||
android:gravity="center"/>
|
||||
</item>
|
||||
|
||||
</layer-list>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/brand_primary"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground_padded"/>
|
||||
</adaptive-icon>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Inset wrapper для иконки лаунчера.
|
||||
Добавляет 16% отступ (safe zone) чтобы лого не обрезалось
|
||||
круглой/квадратной маской adaptive icon.
|
||||
-->
|
||||
<inset xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:drawable="@mipmap/ic_launcher_foreground"
|
||||
android:inset="16%" />
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/brand_primary"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground_padded"/>
|
||||
</adaptive-icon>
|
||||
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 92 KiB |
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Splash screen (dark mode) -->
|
||||
<color name="colorSplashScreenBackground">#3B3E7F</color>
|
||||
</resources>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- Splash Screen theme for dark mode -->
|
||||
<style name="Theme.App.Starting" parent="Theme.SplashScreen">
|
||||
<item name="windowSplashScreenBackground">@color/background_dark</item>
|
||||
<item name="windowSplashScreenAnimatedIcon">@drawable/logo_splash</item>
|
||||
<item name="windowSplashScreenAnimationDuration">800</item>
|
||||
<item name="splashScreenIconSize">96dp</item>
|
||||
<item name="postSplashScreenTheme">@style/Theme.Lаstochka</item>
|
||||
<item name="android:statusBarColor">@color/background_dark</item>
|
||||
<item name="android:navigationBarColor">@color/background_dark</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
51
lastochka-android-compose/app/src/main/res/values/colors.xml
Normal file
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Lastochka brand colors -->
|
||||
<color name="brand_primary">#5B5EF4</color>
|
||||
<color name="brand_primary_dark">#4338CA</color>
|
||||
<color name="brand_secondary">#7B61FF</color>
|
||||
<color name="brand_secondary_dark">#5C45D6</color>
|
||||
<color name="brand_accent">#FFD93D</color>
|
||||
|
||||
<!-- Light theme -->
|
||||
<color name="surface">#FFFFFF</color>
|
||||
<color name="surface_variant">#F5F5F5</color>
|
||||
<color name="background">#EFEFF3</color>
|
||||
<color name="on_surface">#1A1A1A</color>
|
||||
<color name="on_surface_variant">#666666</color>
|
||||
<color name="outline">#E0E0E0</color>
|
||||
|
||||
<!-- Message bubbles (light) -->
|
||||
<color name="bubble_own">#EEF2FF</color>
|
||||
<color name="bubble_peer">#FFFFFF</color>
|
||||
<color name="bubble_own_text">#1A1A1A</color>
|
||||
<color name="bubble_peer_text">#1A1A1A</color>
|
||||
|
||||
<!-- Dark theme -->
|
||||
<color name="surface_dark">#17212B</color>
|
||||
<color name="surface_variant_dark">#1E2C3A</color>
|
||||
<color name="background_dark">#0E1621</color>
|
||||
<color name="on_surface_dark">#F5F5F5</color>
|
||||
<color name="on_surface_variant_dark">#9E9E9E</color>
|
||||
<color name="outline_dark">#2B3A4A</color>
|
||||
|
||||
<!-- Message bubbles (dark) -->
|
||||
<color name="bubble_own_dark">#2B5278</color>
|
||||
<color name="bubble_peer_dark">#182533</color>
|
||||
<color name="bubble_own_text_dark">#E8E8E8</color>
|
||||
<color name="bubble_peer_text_dark">#E8E8E8</color>
|
||||
|
||||
<!-- Status -->
|
||||
<color name="online">#40C040</color>
|
||||
<color name="read_receipt">#5B5EF4</color>
|
||||
<color name="sent_receipt">#9E9E9E</color>
|
||||
|
||||
<!-- Selection -->
|
||||
<color name="selection_overlay">#2F3F51B5</color>
|
||||
|
||||
<!-- Splash screen -->
|
||||
<color name="colorSplashScreenBackground">#5B5EF4</color>
|
||||
|
||||
<!-- Launcher -->
|
||||
<color name="launcherBackground">#5B5EF4</color>
|
||||
</resources>
|
||||
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Ласточка</string>
|
||||
<string name="app_name_full">Ласточка Мессенджер</string>
|
||||
|
||||
<!-- Login -->
|
||||
<string name="login_title">Вход в Ласточку</string>
|
||||
<string name="login_username">Имя пользователя или телефон</string>
|
||||
<string name="login_password">Пароль</string>
|
||||
<string name="login_button">Войти</string>
|
||||
<string name="login_no_account">Нет аккаунта? Зарегистрироваться</string>
|
||||
<string name="login_error">Неверное имя или пароль</string>
|
||||
<string name="login_host">Сервер</string>
|
||||
|
||||
<!-- Registration -->
|
||||
<string name="register_title">Регистрация</string>
|
||||
<string name="register_name">Ваше имя</string>
|
||||
<string name="register_name_optional">(необязательно)</string>
|
||||
<string name="register_username">Логин</string>
|
||||
<string name="register_email">Email</string>
|
||||
<string name="register_phone">Телефон</string>
|
||||
<string name="register_password">Пароль</string>
|
||||
<string name="register_password_confirm">Подтверждение пароля</string>
|
||||
<string name="register_button">Зарегистрироваться</string>
|
||||
<string name="register_have_account">Уже есть аккаунт? Войти</string>
|
||||
<string name="register_error">Ошибка регистрации</string>
|
||||
<string name="register_password_mismatch">Пароли не совпадают</string>
|
||||
<string name="register_username_taken">Этот логин уже занят</string>
|
||||
<string name="register_email_taken">Этот email уже зарегистрирован</string>
|
||||
<string name="register_phone_taken">Этот номер уже зарегистрирован</string>
|
||||
<string name="register_username_short">Логин должен быть не менее 3 символов</string>
|
||||
<string name="register_username_invalid">Логин может содержать только буквы, цифры и подчёркивание</string>
|
||||
<string name="register_email_invalid">Введите корректный email</string>
|
||||
<string name="register_phone_invalid">Введите корректный номер телефона</string>
|
||||
<string name="register_password_short">Пароль должен быть не менее 6 символов</string>
|
||||
<string name="register_username_available">Логин доступен</string>
|
||||
<string name="register_email_available">Email доступен</string>
|
||||
<string name="register_phone_available">Номер доступен</string>
|
||||
<string name="register_terms">Регистрируясь, вы принимаете условия использования и политику конфиденциальности</string>
|
||||
|
||||
<!-- Chat list -->
|
||||
<string name="chats_title">Чаты</string>
|
||||
<string name="chats_empty">Нет чатов</string>
|
||||
<string name="chats_empty_hint">Нажмите + чтобы начать диалог</string>
|
||||
<string name="chat_new">Новый чат</string>
|
||||
|
||||
<!-- Chat -->
|
||||
<string name="chat_typing">печатает…</string>
|
||||
<string name="chat_online">в сети</string>
|
||||
<string name="chat_offline">не в сети</string>
|
||||
<string name="chat_last_seen">был(а) %s</string>
|
||||
<string name="chat_message_hint">Сообщение…</string>
|
||||
<string name="chat_send">Отправить</string>
|
||||
<string name="chat_edit">Редактировать</string>
|
||||
<string name="chat_delete">Удалить</string>
|
||||
<string name="chat_forward">Переслать</string>
|
||||
<string name="chat_reply">Ответить</string>
|
||||
<string name="chat_copy">Копировать</string>
|
||||
<string name="chat_edited">(ред.)</string>
|
||||
|
||||
<!-- Profile -->
|
||||
<string name="profile_title">Профиль</string>
|
||||
<string name="profile_logout">Выйти</string>
|
||||
<string name="profile_name">Имя</string>
|
||||
<string name="profile_username">Имя пользователя</string>
|
||||
|
||||
<!-- Common -->
|
||||
<string name="today">Сегодня</string>
|
||||
<string name="yesterday">Вчера</string>
|
||||
<string name="you">Вы</string>
|
||||
<string name="just_now">только что</string>
|
||||
<string name="muted">Без звука</string>
|
||||
<string name="pinned">Закреплено</string>
|
||||
|
||||
<!-- Errors -->
|
||||
<string name="error_network">Нет подключения к интернету</string>
|
||||
<string name="error_server">Ошибка сервера</string>
|
||||
<string name="error_unknown">Неизвестная ошибка</string>
|
||||
</resources>
|
||||
25
lastochka-android-compose/app/src/main/res/values/themes.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<!-- Splash Screen theme (Android 12+) -->
|
||||
<style name="Theme.App.Starting" parent="Theme.SplashScreen">
|
||||
<item name="windowSplashScreenBackground">@color/brand_primary</item>
|
||||
<item name="windowSplashScreenAnimatedIcon">@drawable/logo_splash</item>
|
||||
<item name="windowSplashScreenAnimationDuration">800</item>
|
||||
<item name="splashScreenIconSize">96dp</item>
|
||||
<item name="postSplashScreenTheme">@style/Theme.Lаstochka</item>
|
||||
<item name="android:statusBarColor">@color/brand_primary</item>
|
||||
<item name="android:navigationBarColor">@color/brand_primary</item>
|
||||
</style>
|
||||
|
||||
<!-- Main app theme (will be overridden by Compose) -->
|
||||
<style name="Theme.Lаstochka" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||
<item name="colorPrimary">@color/brand_primary</item>
|
||||
<item name="colorPrimaryDark">@color/brand_primary_dark</item>
|
||||
<item name="colorAccent">@color/brand_secondary</item>
|
||||
<item name="android:windowBackground">@color/background</item>
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||
<item name="android:windowLightStatusBar" tools:targetApi="m">true</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<paths>
|
||||
<cache-path name="camera_images" path="." />
|
||||
<external-cache-path name="external_camera_images" path="." />
|
||||
</paths>
|
||||