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

Introduce QuackTag component #691

Merged
merged 11 commits into from
May 17, 2023
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
3 changes: 3 additions & 0 deletions .github/workflows/android-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ jobs:
- name: Run test
run: ./gradlew test --stacktrace

- name: Verify components snapshot
run: ./gradlew :ui:verifyRoborazziDebug

- name: Run ui test on ui module via gmd
if: contains(github.event.pull_request.labels.*.name, 'ui')
run: ./gradlew :ui:pixel4api30aospatdDebugAndroidTest -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ internal val aideModifiers: Map<String, List<String>> = run {
aide["button"] = listOf("icons")
aide["_icons"] = emptyList()

aide["tag"] = listOf("trailingIcon")
aide["_trailingIcon"] = emptyList()

aide["text"] = listOf("span", "highlight")
aide["_span"] = emptyList()
aide["_highlight"] = emptyList()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,13 @@ internal val quackComponents: Map<String, String> = run {
aide["QuackSecondarySmallButton"] = "button"
aide["QuackSecondaryRoundSmallButton"] = "button"

aide["QuackOutlinedTag"] = "tag"
aide["QuackFilledTag"] = "tag"
aide["QuackGrayscaleFlatTag"] = "tag"
aide["QuackGrayscaleOutlinedTag"] = "tag"
aide["QuackTag"] = "tag"
aide["QuackBaseTag"] = "tag"

aide["QuackBody1"] = "text"
aide["QuackBody2"] = "text"
aide["QuackBody3"] = "text"
Expand Down
2 changes: 1 addition & 1 deletion bom/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.0.0-alpha02
2023.05.17
154 changes: 154 additions & 0 deletions catalog/src/main/kotlin/team/duckie/quackquack/catalog/CasaModels.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
// This file was automatically generated by casa-processor.
// Do not modify it manually.
// @formatter:off
@file:Suppress("NoConsecutiveBlankLines", "PackageDirectoryMismatch", "Wrapping",
"TrailingCommaOnCallSite", "ArgumentListWrapping", "RedundantVisibilityModifier",
"UnusedImport", "NoUnusedImports", "SpacingAroundParens", "Indentation", "NoUnitReturn",
"RedundantUnitReturnType", "ModifierParameter", "KDocUnresolvedReference", "NoTrailingSpaces",
"NoMultipleSpaces", "ktlint")
@file:OptIn(ExperimentalQuackQuackApi::class)

import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextOverflow
import kotlin.Boolean
import kotlin.Function0
import kotlin.String
import kotlin.Suppress
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toImmutableList
import team.duckie.quackquack.casa.material.CasaModel
import team.duckie.quackquack.ui.sugar.QuackBody1
import team.duckie.quackquack.ui.sugar.QuackBody2
import team.duckie.quackquack.ui.sugar.QuackBody3
import team.duckie.quackquack.ui.sugar.QuackFilledTag
import team.duckie.quackquack.ui.sugar.QuackGrayscaleFlatTag
import team.duckie.quackquack.ui.sugar.QuackGrayscaleOutlinedTag
import team.duckie.quackquack.ui.sugar.QuackHeadLine1
import team.duckie.quackquack.ui.sugar.QuackHeadLine2
import team.duckie.quackquack.ui.sugar.QuackLarge1
import team.duckie.quackquack.ui.sugar.QuackMediumButton
import team.duckie.quackquack.ui.sugar.QuackOutlinedTag
import team.duckie.quackquack.ui.sugar.QuackPrimaryFilledSmallButton
import team.duckie.quackquack.ui.sugar.QuackPrimaryLargeButton
import team.duckie.quackquack.ui.sugar.QuackPrimaryOutlinedRoundSmallButton
import team.duckie.quackquack.ui.sugar.QuackPrimaryOutlinedSmallButton
import team.duckie.quackquack.ui.sugar.QuackSecondaryLargeButton
import team.duckie.quackquack.ui.sugar.QuackSecondaryRoundSmallButton
import team.duckie.quackquack.ui.sugar.QuackSecondarySmallButton
import team.duckie.quackquack.ui.sugar.QuackSubtitle
import team.duckie.quackquack.ui.sugar.QuackSubtitle2
import team.duckie.quackquack.ui.sugar.QuackTitle1
import team.duckie.quackquack.ui.sugar.QuackTitle2
import team.duckie.quackquack.ui.util.ExperimentalQuackQuackApi

private val buttonQuackButtonCasaModel: CasaModel = CasaModel(
name = "QuackButton",
domain = "button",
kdocDefaultSection = "버튼을 그립니다.",
components = persistentListOf<Pair<String, @Composable () -> Unit>>(
"QuackPrimaryLargeButton" to { QuackPrimaryLargeButton(
text = "QuackButton is experimental",
onClick = {},
) },
"QuackSecondaryLargeButton" to { QuackSecondaryLargeButton(
text = "QuackButton is experimental",
onClick = {},
) },
"QuackMediumButton" to { QuackMediumButton(
text = "QuackButton is experimental",
onClick = {},
) },
"QuackPrimaryFilledSmallButton" to { QuackPrimaryFilledSmallButton(
text = "QuackButton is experimental",
onClick = {},
) },
"QuackPrimaryOutlinedSmallButton" to { QuackPrimaryOutlinedSmallButton(
text = "QuackButton is experimental",
onClick = {},
) },
"QuackPrimaryOutlinedRoundSmallButton" to { QuackPrimaryOutlinedRoundSmallButton(
text = "QuackButton is experimental",
onClick = {},
) },
"QuackSecondarySmallButton" to { QuackSecondarySmallButton(
text = "QuackButton is experimental",
onClick = {},
) },
"QuackSecondaryRoundSmallButton" to { QuackSecondaryRoundSmallButton(
text = "QuackButton is experimental",
onClick = {},
) },
).toImmutableList(),
)


private val tagQuackTagCasaModel: CasaModel = CasaModel(
name = "QuackTag",
domain = "tag",
kdocDefaultSection = "태그를 그립니다.",
components = persistentListOf<Pair<String, @Composable () -> Unit>>(
"QuackOutlinedTag" to { QuackOutlinedTag(
text = "QuackTagPreview",
onClick = {},
) },
"QuackFilledTag" to { QuackFilledTag(
text = "QuackTagPreview",
onClick = {},
) },
"QuackGrayscaleFlatTag" to { QuackGrayscaleFlatTag(
text = "QuackTagPreview",
onClick = {},
) },
"QuackGrayscaleOutlinedTag" to { QuackGrayscaleOutlinedTag(
text = "QuackTagPreview",
onClick = {},
) },
).toImmutableList(),
)

private val textQuackTextCasaModel: CasaModel = CasaModel(
name = "QuackText",
domain = "text",
kdocDefaultSection = "텍스트를 그립니다.",
components = persistentListOf<Pair<String, @Composable () -> Unit>>(
"QuackBody1" to { QuackBody1(
text = "QuackText",
) },
"QuackBody2" to { QuackBody2(
text = "QuackText",
) },
"QuackBody3" to { QuackBody3(
text = "QuackText",
) },
"QuackHeadLine1" to { QuackHeadLine1(
text = "QuackText",
) },
"QuackHeadLine2" to { QuackHeadLine2(
text = "QuackText",
) },
"QuackLarge1" to { QuackLarge1(
text = "QuackText",
) },
"QuackSubtitle" to { QuackSubtitle(
text = "QuackText",
) },
"QuackSubtitle2" to { QuackSubtitle2(
text = "QuackText",
) },
"QuackTitle1" to { QuackTitle1(
text = "QuackText",
) },
"QuackTitle2" to { QuackTitle2(
text = "QuackText",
) },
).toImmutableList(),
)

public val casaModels: ImmutableList<CasaModel> = persistentListOf(
buttonQuackButtonCasaModel,
tagQuackTagCasaModel,
textQuackTextCasaModel,
)

Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
* Please see full license: https://github.com/duckie-team/quack-quack-android/blob/master/LICENSE
*/

@file:OptIn(ExperimentalQuackQuackApi::class)
@file:Suppress("UnnecessaryOptInAnnotation")

package team.duckie.quackquack.catalog

import android.os.Bundle
Expand All @@ -18,43 +21,31 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import casaModels
import team.duckie.quackquack.casa.ui.CasaScreen
import team.duckie.quackquack.casa.ui.theme.CasaTheme
import team.duckie.quackquack.ui.util.ExperimentalQuackQuackApi

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
CasaTheme {
// CasaScreen(models = casaModels)
CasaScreen(models = casaModels)
}
/*Preview {
var showIcons by remember { mutableStateOf(true) }
var enabled by remember { mutableStateOf(true) }
QuackButton(
modifier = Modifier.then(Modifier).applyIf(showIcons) {
icons(
leadingIcon = QuackIcon.Heart,
trailingIcon = QuackIcon.Heart,
)
},
enabled = enabled,
style = QuackButtonStyle.Large,
text = "Hello, World!",
) {
toast("Hello, World!")
}
QuackButton(
style = QuackButtonStyle.Medium,
text = "enabled state: $enabled",
) {
enabled = !enabled
}
QuackButton(
style = QuackButtonStyle.Small,
text = "showIcons state: $showIcons",
) {
showIcons = !showIcons
}
// var showTrailingIcon by remember { mutableStateOf(true) }
var selected by remember { mutableStateOf(true) }
QuackTag(
modifier = Modifier
.then(Modifier)
.trailingIcon(QuackIcon.Heart) { toast("HI: $selected") },
text = "QuackTagPreview",
style = QuackTagStyle.Filled,
selected = selected,
) {
selected = !selected
}
}*/
}
}
Expand Down
Loading