1
- package com.firebase.ui.auth.compose
1
+ package com.firebase.ui.auth.compose.ui.components
2
2
3
3
import androidx.compose.foundation.Image
4
4
import androidx.compose.material3.Icon
5
5
import androidx.compose.foundation.layout.Arrangement
6
6
import androidx.compose.foundation.layout.Column
7
+ import androidx.compose.foundation.layout.PaddingValues
7
8
import androidx.compose.foundation.layout.Row
8
9
import androidx.compose.foundation.layout.Spacer
9
10
import androidx.compose.foundation.layout.fillMaxSize
11
+ import androidx.compose.foundation.layout.fillMaxWidth
10
12
import androidx.compose.foundation.layout.width
11
13
import androidx.compose.foundation.shape.RoundedCornerShape
12
14
import androidx.compose.material.icons.Icons
@@ -19,12 +21,14 @@ import androidx.compose.ui.Alignment
19
21
import androidx.compose.ui.Modifier
20
22
import androidx.compose.ui.graphics.Color
21
23
import androidx.compose.ui.platform.LocalContext
24
+ import androidx.compose.ui.text.style.TextAlign
25
+ import androidx.compose.ui.text.style.TextOverflow
22
26
import androidx.compose.ui.tooling.preview.Preview
23
27
import androidx.compose.ui.unit.dp
24
28
import com.firebase.ui.auth.compose.configuration.AuthProvider
25
29
import com.firebase.ui.auth.compose.configuration.Provider
26
- import com.firebase.ui.auth.compose.configuration.stringprovider .AuthUIStringProvider
27
- import com.firebase.ui.auth.compose.configuration.stringprovider .DefaultAuthUIStringProvider
30
+ import com.firebase.ui.auth.compose.configuration.string_provider .AuthUIStringProvider
31
+ import com.firebase.ui.auth.compose.configuration.string_provider .DefaultAuthUIStringProvider
28
32
import com.firebase.ui.auth.compose.configuration.theme.AuthUIAsset
29
33
import com.firebase.ui.auth.compose.configuration.theme.AuthUITheme
30
34
@@ -63,10 +67,11 @@ fun AuthProviderButton(
63
67
stringProvider : AuthUIStringProvider ,
64
68
) {
65
69
val providerStyle = resolveProviderStyle(provider, style)
66
- val providerText = resolveProviderLabel(provider, stringProvider)
70
+ val providerLabel = resolveProviderLabel(provider, stringProvider)
67
71
68
72
Button (
69
73
modifier = modifier,
74
+ contentPadding = PaddingValues (horizontal = 12 .dp),
70
75
colors = ButtonDefaults .buttonColors(
71
76
containerColor = providerStyle.backgroundColor,
72
77
contentColor = providerStyle.contentColor,
@@ -79,27 +84,31 @@ fun AuthProviderButton(
79
84
enabled = enabled,
80
85
) {
81
86
Row (
82
- verticalAlignment = Alignment .CenterVertically
87
+ modifier = modifier,
88
+ verticalAlignment = Alignment .CenterVertically ,
89
+ horizontalArrangement = Arrangement .Start
83
90
) {
84
91
val providerIcon = providerStyle.icon
85
92
if (providerIcon != null ) {
86
93
val iconTint = providerStyle.iconTint
87
94
if (iconTint != null ) {
88
95
Icon (
89
96
painter = providerIcon.painter,
90
- contentDescription = providerText ,
97
+ contentDescription = providerLabel ,
91
98
tint = iconTint
92
99
)
93
100
} else {
94
101
Image (
95
102
painter = providerIcon.painter,
96
- contentDescription = providerText
103
+ contentDescription = providerLabel
97
104
)
98
105
}
99
- Spacer (modifier = Modifier .width(8 .dp))
106
+ Spacer (modifier = Modifier .width(12 .dp))
100
107
}
101
108
Text (
102
- text = providerText
109
+ text = providerLabel,
110
+ overflow = TextOverflow .Ellipsis ,
111
+ maxLines = 1 ,
103
112
)
104
113
}
105
114
}
0 commit comments