Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement primal legend avatar customization across the app #239

Merged
merged 39 commits into from
Dec 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
5255a82
Implement LegendaryCustomization data class
markocic Nov 29, 2024
50b633f
Implement UniversalAvatarThumbnail
markocic Nov 29, 2024
fcc4b9b
Use UniversalAvatarThumbnail on UserProfileListItem
markocic Nov 29, 2024
4191eb3
Use UniversalAvatarThumbnail on MultipleUserPicker
markocic Nov 29, 2024
060c1f3
Implement legendary customization to muted list
markocic Nov 29, 2024
e988fd1
Implement legendary customization to login screen
markocic Nov 29, 2024
3a1498b
Use UniversalAvatarThumbnail on PremiumPurchase and BecomeLegendAmoun…
markocic Nov 29, 2024
b815f2d
Use UniversalAvatarThumbnail on GenericReactionsLazyColumn
markocic Nov 29, 2024
482d042
Use UniversalAvatarThumbnail on ExploreZaps
markocic Nov 29, 2024
98a851c
Add zap sender legendary customization to EventZap
markocic Nov 29, 2024
1fc13b8
Use UniversalAvatarThumbnail on ReactionsZapsLazyColumn
markocic Nov 29, 2024
8ec1796
Use UniversalAvatarThumbnail on ArticleTopZapsSection
markocic Nov 29, 2024
e382872
Refactor ActiveAccount to store PrimalLegendProfile instead of destru…
markocic Nov 29, 2024
873a21b
Use UniversalAvatarThumbnail on EventZapItem, DvmFeedListItem and Pro…
markocic Nov 29, 2024
366d80b
Implement no ring option on UniversalAvatarThumbnail
markocic Nov 29, 2024
cd4b5b0
Use UniversalAvatarThumbnail on PrimalTopAppBar
markocic Nov 29, 2024
90af9a4
Use UniversalAvatarThumbnail on TransactionListItem
markocic Nov 29, 2024
0783a5b
Use UniversalAvatarThumbnail on NoteEditor, TransationEditor and Expl…
markocic Nov 29, 2024
b054832
Use UniversalAvatarThumbnail and add custom badge to ChangePrimalName…
markocic Nov 29, 2024
fd4e6d8
UseUniversalAvatarThumbnail on ZappersAvatarThumbnailRow
markocic Nov 29, 2024
3af2c48
Use Universal AvatarThumbnail on AvatarThumbnailsRow
markocic Nov 29, 2024
dba44d3
Auto-format code
markocic Nov 29, 2024
a0ecca9
Use UniversalAvatarThumbnail on ExploreHomeTopBar and FeedNoteCard
markocic Nov 29, 2024
91b27c2
Use UniversalAvatarThumbnail on FeedArticleListItem, PrimalDrawer, Pr…
markocic Nov 29, 2024
361ad47
Use UniversalAvatarThumbnail on LegendaryProfileCustomization
markocic Nov 29, 2024
7499fb5
Mark AvatarThumbnail and AvatarThumbnailCustomBorder as deprecated
markocic Nov 29, 2024
23622d8
Auto-format code
markocic Nov 29, 2024
0391512
Merge branch 'main' into feature/legendary-integration
markocic Nov 29, 2024
71801b3
Fix some detekt issues
markocic Nov 29, 2024
db0d73c
Update detekt baseline
markocic Nov 29, 2024
ae54ef7
Auto-format code
markocic Nov 29, 2024
71d98e8
Use UniversalAvatarThumbnail on NoteEditorScreen and TransactionDetai…
markocic Nov 30, 2024
4ba85a7
Adjust borderSize based on avatarSize and draw border on the outside
markocic Dec 2, 2024
232d68f
Merge branch 'main' into feature/legendary-integration
AleksandarIlic Dec 3, 2024
c5e1699
Remove deprecated AvatarThumbnails
AleksandarIlic Dec 3, 2024
c7c4aa4
Change borderSize argument to borderSizeOverride
AleksandarIlic Dec 3, 2024
6d6f2b9
Remove hasGlow argument;
AleksandarIlic Dec 3, 2024
d943b65
Format code & fix detekt
AleksandarIlic Dec 3, 2024
d1027be
Fix missing badge style in Explore People
AleksandarIlic Dec 3, 2024
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
5 changes: 2 additions & 3 deletions app/detekt-baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@
<ID>LongMethod:NoteDropdownMenu.kt$@Composable fun NoteDropdownMenuIcon( modifier: Modifier, noteId: String, noteContent: String, noteRawData: String, authorId: String, isBookmarked: Boolean, enabled: Boolean = true, onBookmarkClick: (() -&gt; Unit)? = null, onMuteUserClick: (() -&gt; Unit)? = null, onReportContentClick: (() -&gt; Unit)? = null, )</ID>
<ID>LongMethod:NoteEditorScreen.kt$@OptIn(ExperimentalMaterial3Api::class) @Composable private fun NoteEditorBox( state: NoteEditorContract.UiState, eventPublisher: (UiEvent) -&gt; Unit, modifier: Modifier = Modifier, contentPadding: PaddingValues, )</ID>
<ID>LongMethod:NoteFeedLazyColumn.kt$@ExperimentalMaterial3Api @ExperimentalFoundationApi @Composable fun NoteFeedLazyColumn( modifier: Modifier = Modifier, pagingItems: LazyPagingItems&lt;FeedPostUi&gt;, listState: LazyListState, showPaywall: Boolean, noteCallbacks: NoteCallbacks, onGoToWallet: () -&gt; Unit, showTopZaps: Boolean = false, shouldShowLoadingState: Boolean = true, shouldShowNoContentState: Boolean = true, showReplyTo: Boolean = true, noContentVerticalArrangement: Arrangement.Vertical = Arrangement.Center, noContentPaddingValues: PaddingValues = PaddingValues(all = 0.dp), noContentText: String = stringResource(id = R.string.feed_no_content), contentPadding: PaddingValues = PaddingValues(all = 0.dp), header: @Composable (LazyItemScope.() -&gt; Unit)? = null, stickyHeader: @Composable (LazyItemScope.() -&gt; Unit)? = null, onUiError: ((UiError) -&gt; Unit)? = null, )</ID>
<ID>LongMethod:NoteHeader.kt$@Composable fun FeedNoteHeader( modifier: Modifier = Modifier, authorDisplayName: String, singleLine: Boolean = false, postTimestamp: Instant? = null, authorAvatarSize: Dp = 42.dp, authorAvatarVisible: Boolean = true, authorAvatarCdnImage: CdnImage? = null, authorInternetIdentifier: String? = null, authorLegendAvatarGlow: Boolean = false, authorLegendCustomBadge: Boolean = false, authorLegendaryStyle: LegendaryStyle? = null, replyToAuthor: String? = null, label: String? = authorInternetIdentifier, labelStyle: TextStyle? = null, onAuthorAvatarClick: (() -&gt; Unit)? = null, )</ID>
<ID>LongMethod:NoteVideoLinkPreview.kt$@Composable fun NoteVideoLinkPreview( url: String, title: String?, thumbnailUrl: String?, thumbnailImageSize: DpSize, type: NoteAttachmentType, onClick: (() -&gt; Unit)? = null, )</ID>
<ID>LongMethod:NotificationListItem.kt$@Composable private fun NotificationType.toSuffixText(usersZappedCount: Int = 0, totalSatsZapped: String? = null): String</ID>
<ID>LongMethod:NotificationsScreen.kt$@ExperimentalMaterial3Api @Composable private fun NotificationsList( state: NotificationsContract.UiState, noteState: NoteContract.UiState, listState: LazyListState, seenPagingItems: LazyPagingItems&lt;NotificationUi&gt;, paddingValues: PaddingValues, noteCallbacks: NoteCallbacks, onGoToWallet: () -&gt; Unit, onPostLikeClick: (FeedPostUi) -&gt; Unit, onRepostClick: (FeedPostUi) -&gt; Unit, onZapClick: (FeedPostUi, ULong?, String?) -&gt; Unit, onPostQuoteClick: (FeedPostUi) -&gt; Unit, onBookmarkClick: (FeedPostUi) -&gt; Unit, )</ID>
Expand All @@ -76,11 +75,11 @@
<ID>LongMethod:PremiumOrderHistoryScreen.kt$@OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) @Composable private fun PremiumOrderHistoryScreen( state: PremiumOrderHistoryContract.UiState, eventPublisher: (PremiumOrderHistoryContract.UiEvent) -&gt; Unit, onExtendSubscription: (primalName: String) -&gt; Unit, onClose: () -&gt; Unit, )</ID>
<ID>LongMethod:PremiumPurchaseStage.kt$@ExperimentalMaterial3Api @Composable fun PremiumPurchaseStage( state: PremiumBuyingContract.UiState, onBack: () -&gt; Unit, onLearnMoreClick: () -&gt; Unit, eventPublisher: (PremiumBuyingContract.UiEvent) -&gt; Unit, )</ID>
<ID>LongMethod:PrimalAppNavigation.kt$@OptIn(ExperimentalSharedTransitionApi::class) @Composable fun SharedTransitionScope.PrimalAppNavigation()</ID>
<ID>LongMethod:PrimalDrawer.kt$@Composable private fun DrawerHeader( userAccount: UserAccount?, customBadge: Boolean, avatarGlow: Boolean, legendaryStyle: LegendaryStyle?, onQrCodeClick: () -&gt; Unit, )</ID>
<ID>LongMethod:PrimalDrawer.kt$@Composable private fun DrawerHeader( userAccount: UserAccount?, legendaryCustomization: LegendaryCustomization?, onQrCodeClick: () -&gt; Unit, )</ID>
<ID>LongMethod:PrimalDrawerScaffold.kt$@OptIn(ExperimentalMaterial3Api::class) @Composable fun PrimalDrawerScaffold( modifier: Modifier = Modifier, drawerState: DrawerState, activeDestination: PrimalTopLevelDestination, onPrimaryDestinationChanged: (PrimalTopLevelDestination) -&gt; Unit, onDrawerDestinationClick: (DrawerScreenDestination) -&gt; Unit, onDrawerQrCodeClick: () -&gt; Unit, badges: Badges = Badges(), onActiveDestinationClick: () -&gt; Unit = {}, topAppBarState: TopAppBarState = remember { TopAppBarState( initialHeightOffsetLimit = -Float.MAX_VALUE, initialHeightOffset = 0f, initialContentOffset = 0f, ) }, topAppBar: @Composable (TopAppBarScrollBehavior?) -&gt; Unit = {}, content: @Composable (PaddingValues) -&gt; Unit = {}, floatingNewDataHost: @Composable () -&gt; Unit = {}, floatingActionButton: @Composable () -&gt; Unit = {}, snackbarHost: @Composable () -&gt; Unit = {}, focusModeEnabled: Boolean = true, )</ID>
<ID>LongMethod:PrimalNavigationBar.kt$@Composable fun PrimalNavigationBarLightningBolt( modifier: Modifier = Modifier, activeDestination: PrimalTopLevelDestination, onTopLevelDestinationChanged: (PrimalTopLevelDestination) -&gt; Unit, onActiveDestinationClick: (() -&gt; Unit)? = null, badges: Badges = Badges(), )</ID>
<ID>LongMethod:PrimalOutlinedTextField.kt$@Composable fun PrimalOutlinedTextField( header: String?, value: String, onValueChange: (String) -&gt; Unit, forceFocus: Boolean = false, isRequired: Boolean = false, prefix: String? = null, isMultiline: Boolean = false, fontSize: TextUnit = 16.sp, textAlign: TextAlign = TextAlign.Start, isError: Boolean = false, )</ID>
<ID>LongMethod:PrimalTopAppBar.kt$@OptIn(ExperimentalFoundationApi::class) @ExperimentalMaterial3Api @Composable fun PrimalTopAppBar( modifier: Modifier = Modifier, title: String = "", subtitle: String? = null, titleTrailingIcon: ImageVector? = null, textColor: Color = LocalContentColor.current, navigationIcon: ImageVector? = null, navigationIconTintColor: Color = LocalContentColor.current, navigationIconContentDescription: String? = null, onNavigationIconClick: (() -&gt; Unit)? = null, autoCloseKeyboardOnNavigationIconClick: Boolean = true, avatarCdnImage: CdnImage? = null, avatarLegendaryStyle: LegendaryStyle? = null, actions: (@Composable RowScope.() -&gt; Unit)? = null, showDivider: Boolean = true, scrollBehavior: TopAppBarScrollBehavior? = null, onTitleClick: (() -&gt; Unit)? = null, onTitleLongClick: (() -&gt; Unit)? = null, colors: TopAppBarColors = TopAppBarDefaults.centerAlignedTopAppBarColors( containerColor = AppTheme.colorScheme.surface, scrolledContainerColor = AppTheme.colorScheme.surface, ), footer: @Composable () -&gt; Unit = {}, )</ID>
<ID>LongMethod:PrimalTopAppBar.kt$@OptIn(ExperimentalFoundationApi::class) @ExperimentalMaterial3Api @Composable fun PrimalTopAppBar( modifier: Modifier = Modifier, title: String = "", subtitle: String? = null, titleTrailingIcon: ImageVector? = null, textColor: Color = LocalContentColor.current, navigationIcon: ImageVector? = null, navigationIconTintColor: Color = LocalContentColor.current, navigationIconContentDescription: String? = null, onNavigationIconClick: (() -&gt; Unit)? = null, autoCloseKeyboardOnNavigationIconClick: Boolean = true, avatarCdnImage: CdnImage? = null, legendaryCustomization: LegendaryCustomization? = null, actions: (@Composable RowScope.() -&gt; Unit)? = null, showDivider: Boolean = true, scrollBehavior: TopAppBarScrollBehavior? = null, onTitleClick: (() -&gt; Unit)? = null, onTitleLongClick: (() -&gt; Unit)? = null, colors: TopAppBarColors = TopAppBarDefaults.centerAlignedTopAppBarColors( containerColor = AppTheme.colorScheme.surface, scrolledContainerColor = AppTheme.colorScheme.surface, ), footer: @Composable () -&gt; Unit = {}, )</ID>
<ID>LongMethod:ReactionsScreen.kt$@OptIn(ExperimentalMaterial3Api::class) @Composable private fun ReactionsScreen( state: ReactionsContract.UiState, onClose: () -&gt; Unit, onProfileClick: (profileId: String) -&gt; Unit, )</ID>
<ID>LongMethod:ReadsScreen.kt$@OptIn(ExperimentalMaterial3Api::class) @Composable private fun ReadsScreen( state: ReadsScreenContract.UiState, onTopLevelDestinationChanged: (PrimalTopLevelDestination) -&gt; Unit, onDrawerScreenClick: (DrawerScreenDestination) -&gt; Unit, onDrawerQrCodeClick: () -&gt; Unit, onSearchClick: () -&gt; Unit, onArticleClick: (naddr: String) -&gt; Unit, onGetPremiumClick: () -&gt; Unit, eventPublisher: (ReadsScreenContract.UiEvent) -&gt; Unit, )</ID>
<ID>LongMethod:ReceivePaymentScreen.kt$@Composable private fun ReceivePaymentViewer( paddingValues: PaddingValues, state: UiState, onBuyPremium: () -&gt; Unit, onCopyClick: () -&gt; Unit, onEditClick: () -&gt; Unit, )</ID>
Expand Down
Loading
Loading