Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions frontend/androidApp/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@
<application
android:name="dev.plexus.android.PlexusApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.App.Starting">

Expand All @@ -24,6 +26,14 @@
</intent-filter>
</activity>

<!-- FCM default notification icon -->
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_notification" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/ic_launcher_background" />

<!-- FCM Service -->
<service
android:name="dev.plexus.android.fcm.FcmService"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import android.content.Intent
import androidx.core.app.NotificationCompat
import androidx.core.content.getSystemService
import dev.plexus.app.MainActivity
import dev.plexus.app.R

/**
* 通知表示ユーティリティ
Expand Down Expand Up @@ -50,7 +51,7 @@ object NotificationDisplayer {
.Builder(context, channelId)
.setContentTitle(title)
.setContentText(message)
.setSmallIcon(android.R.drawable.ic_dialog_info)
.setSmallIcon(R.drawable.ic_notification)
.setAutoCancel(true)
.setContentIntent(pendingIntent)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 0 additions & 9 deletions frontend/androidApp/src/main/res/drawable/ic_notification.xml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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/ic_launcher_background" />
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
</adaptive-icon>
Original file line number Diff line number Diff line change
@@ -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/ic_launcher_background" />
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
</adaptive-icon>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions frontend/androidApp/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#222D32</color>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ data class PlexusShapes(

@Immutable
data class PlexusExtendedColors(
val success: Color = Color(0xFF4CAF50), // 接続成功、正常状態(緑)
val success: Color = Teal400, // 接続成功、正常状態
)

internal val LocalPlexusDimens = staticCompositionLocalOf { PlexusDimens() }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,18 @@ val Zinc800 = Color(0xFF27272A)
val Zinc900 = Color(0xFF18181B)
val Zinc950 = Color(0xFF09090B)

// Cyan Palette(ブランドカラー)
val Cyan50 = Color(0xFFECFEFF)
val Cyan100 = Color(0xFFCFFAFE)
val Cyan200 = Color(0xFFA5F3FC)
val Cyan300 = Color(0xFF67E8F9)
val Cyan400 = Color(0xFF22D3EE)
val Cyan500 = Color(0xFF06B6D4)
val Cyan600 = Color(0xFF0891B2)
val Cyan700 = Color(0xFF0E7490)
val Cyan800 = Color(0xFF155E75)
val Cyan900 = Color(0xFF164E63)
val Cyan950 = Color(0xFF083344)
// Teal Palette(ブランドカラー)
val Teal50 = Color(0xFFF0FDFA)
val Teal100 = Color(0xFFCCFBF1)
val Teal200 = Color(0xFF99F6E4)
val Teal300 = Color(0xFF5EEAD4)
val Teal400 = Color(0xFF2DD4BF)
val Teal500 = Color(0xFF14B8A6)
val Teal600 = Color(0xFF0D9488)
val Teal700 = Color(0xFF0F766E)
val Teal800 = Color(0xFF115E59)
val Teal900 = Color(0xFF134E4A)
val Teal950 = Color(0xFF042F2E)

// === Error Colors ===
// Light Theme
Expand All @@ -49,16 +49,16 @@ private val OnErrorContainerRedDark = ErrorContainerRed

private val LightColorScheme =
lightColorScheme(
// === Primary: Cyan ===
primary = Cyan600,
// === Primary: Teal ===
primary = Teal600,
onPrimary = Color.White,
primaryContainer = Cyan100,
onPrimaryContainer = Cyan950,
// === Secondary: Cyan ===
secondary = Cyan500,
primaryContainer = Teal100,
onPrimaryContainer = Teal950,
// === Secondary: Teal ===
secondary = Teal500,
onSecondary = Color.White,
secondaryContainer = Cyan300,
onSecondaryContainer = Cyan950,
secondaryContainer = Teal300,
Comment on lines +53 to +60
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

onPrimary/onSecondary の白文字がコントラスト不足

Line 54 と Line 59 の Color.White は、Teal600 / Teal500 背景だと AA(4.5:1) を満たしにくい。小さいテキストやボタンラベルで可読性が落ちる。

修正案(コントラスト改善)
         primary = Teal600,
-        onPrimary = Color.White,
+        onPrimary = Zinc950,
         primaryContainer = Teal100,
         onPrimaryContainer = Teal950,
         // === Secondary: Teal ===
         secondary = Teal500,
-        onSecondary = Color.White,
+        onSecondary = Zinc950,
         secondaryContainer = Teal300,
         onSecondaryContainer = Teal950,
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@frontend/shared/src/commonMain/kotlin/dev/plexus/shared/core/ui/theme/Theme.kt`
around lines 53 - 60, The onPrimary and onSecondary contrast is too low against
Teal600/Teal500; replace the hardcoded Color.White for onPrimary and onSecondary
in Theme.kt with a high-contrast color (e.g., Color.Black or a vetted dark
color) or compute content color via a contrast-aware utility so the text against
Teal600/Teal500 meets WCAG AA; update the onPrimary and onSecondary assignments
(symbols: onPrimary, onSecondary, Teal600, Teal500) accordingly.

onSecondaryContainer = Teal950,
// === Tertiary: Zinc ===
tertiary = Zinc700,
onTertiary = Zinc50,
Expand Down Expand Up @@ -87,18 +87,19 @@ private val LightColorScheme =
outlineVariant = Zinc200,
)

// Pattern A: primary = Teal300 (#5EEAD4)
private val DarkColorScheme =
darkColorScheme(
// === Primary: Cyan ===
primary = Cyan500,
onPrimary = Cyan50,
primaryContainer = Cyan700,
onPrimaryContainer = Cyan50,
// === Secondary: Cyan ===
secondary = Cyan400,
onSecondary = Cyan950,
secondaryContainer = Cyan600,
onSecondaryContainer = Cyan100,
// === Primary: Teal ===
primary = Teal300,
onPrimary = Teal950,
primaryContainer = Teal700,
onPrimaryContainer = Teal50,
// === Secondary: Teal ===
secondary = Teal400,
onSecondary = Teal950,
secondaryContainer = Teal600,
onSecondaryContainer = Teal100,
// === Tertiary: Zinc ===
tertiary = Zinc300,
onTertiary = Zinc900,
Expand Down
Loading