diff --git a/.github/ISSUE_TEMPLATE/issue_form.yml b/.github/ISSUE_TEMPLATE/issue_form.yml new file mode 100644 index 00000000..97a11875 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue_form.yml @@ -0,0 +1,52 @@ +name: '이슈 생성' +description: 'Repo에 이슈를 생성하며, 생성된 이슈는 Jira와 연동됩니다.' +labels: [feat] +title: '이슈 이름을 작성해주세요' +body: + - type: input + id: parentKey + attributes: + label: '🎟️ 상위 작업 (Ticket Number)' + description: '상위 작업의 Ticket Number를 기입해주세요' + placeholder: 'THIP2025-00' + validations: + required: true + + - type: dropdown + id: branchType + attributes: + label: '브랜치 타입' + options: + - feature + - bugfix + - hotfix + - refactor + validations: + required: true + + - type: input + id: branch + attributes: + label: '🌳 브랜치명 (Branch)' + description: '영어로 브랜치명을 작성해주세요' + validations: + required: true + + - type: input + id: description + attributes: + label: '📝 상세 내용(Description)' + description: '이슈에 대해서 간략히 설명해주세요' + validations: + required: true + + - type: textarea + id: tasks + attributes: + label: '✅ 체크리스트(Tasks)' + description: '해당 이슈에 대해 필요한 작업목록을 작성해주세요' + value: | + - [ ] Task1 + - [ ] Task2 + validations: + required: true diff --git a/.github/workflows/close-jira-issue.yml b/.github/workflows/close-jira-issue.yml new file mode 100644 index 00000000..6dc9049e --- /dev/null +++ b/.github/workflows/close-jira-issue.yml @@ -0,0 +1,41 @@ +name: Close Jira issue +on: + issues: + types: + - closed + +jobs: + close-issue: + name: Close Jira issue + runs-on: ubuntu-latest + + steps: + - name: Login to Jira + uses: atlassian/gajira-login@v3 + env: + JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }} + JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} + JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }} + + - name: Extract Jira issue key from GitHub issue title + id: extract-key + run: | + ISSUE_TITLE="${{ github.event.issue.title }}" + CLEANED_TITLE=$(echo "$ISSUE_TITLE" | tr -d '[]') + echo "🧼 Cleaned title: $CLEANED_TITLE" + + JIRA_KEY=$(echo "$CLEANED_TITLE" | grep -oE '[A-Z0-9]+-[0-9]+') + + if [ -z "$JIRA_KEY" ]; then + echo "❌ JIRA key could not be extracted. Exiting." + exit 1 + fi + + echo "✅ Extracted JIRA_KEY=$JIRA_KEY" + echo "JIRA_KEY=$JIRA_KEY" >> $GITHUB_ENV + + - name: Transition Jira issue to Done + uses: atlassian/gajira-transition@v3 + with: + issue: ${{ env.JIRA_KEY }} + transition: 완료 diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml new file mode 100644 index 00000000..d32be4c3 --- /dev/null +++ b/.github/workflows/create-jira-issue.yml @@ -0,0 +1,91 @@ +name: Create Jira issue +on: + issues: + types: + - opened +jobs: + create-issue: + name: Create Jira issue + runs-on: ubuntu-latest + steps: + - name: Login + uses: atlassian/gajira-login@v3 + env: + JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }} + JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} + JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }} + + - name: Checkout main code + uses: actions/checkout@v4 + with: + ref: main + + - name: Issue Parser + uses: stefanbuck/github-issue-praser@v3 + id: issue-parser + with: + template-path: .github/ISSUE_TEMPLATE/issue_form.yml + + - name: Log Issue Parser + run: | + echo '${{ steps.issue-parser.outputs.issueparser_parentKey }}' + echo '${{ steps.issue-parser.outputs.__ticket_number }}' + echo '${{ steps.issue-parser.outputs.jsonString }}' + + - name: Convert markdown to Jira Syntax + uses: peter-evans/jira2md@v1 + id: md2jira + with: + input-text: | + ### Github Issue Link + - ${{ github.event.issue.html_url }} + + ${{ github.event.issue.body }} + mode: md2jira + + - name: Create Issue + id: create + uses: atlassian/gajira-create@v3 + with: + project: THIP2025 + issuetype: Task + summary: '${{ github.event.issue.title }}' + description: '${{ steps.md2jira.outputs.output-text }}' + fields: | + { + "parent": { + "key": "${{ steps.issue-parser.outputs.issueparser_parentKey }}" + } + } + + - name: Log created issue + run: echo "Jira Issue ${{ steps.issue-parser.outputs.parentKey }}/${{ steps.create.outputs.issue }} was created" + + - name: Checkout develop code + uses: actions/checkout@v4 + with: + ref: develop + + - name: Create branch with Ticket number + run: | + ISSUE_NUMBER="${{ steps.create.outputs.issue }}" + BRANCH_TYPE="${{ steps.issue-parser.outputs.issueparser_branchType }}" + ISSUE_TITLE="${{ steps.issue-parser.outputs.issueparser_branch }}" + BRANCH_NAME="${BRANCH_TYPE}/${ISSUE_NUMBER}-$(echo ${ISSUE_TITLE} | sed 's/ /-/g')" + git checkout -b "${BRANCH_NAME}" + git push origin "${BRANCH_NAME}" + + - name: Update issue title + uses: actions-cool/issues-helper@v3 + with: + actions: 'update-issue' + token: ${{ secrets.GITHUB_TOKEN }} + title: '[${{ steps.create.outputs.issue }}] ${{ github.event.issue.title }}' + + - name: Add comment with Jira issue link + uses: actions-cool/issues-helper@v3 + with: + actions: 'create-comment' + token: ${{ secrets.GITHUB_TOKEN }} + issue-number: ${{ github.event.issue.number }} + body: 'Jira Issue Created: [${{ steps.create.outputs.issue }}](${{ secrets.JIRA_BASE_URL }}/browse/${{ steps.create.outputs.issue }})' diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml new file mode 100644 index 00000000..4a53bee8 --- /dev/null +++ b/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/appInsightsSettings.xml b/.idea/appInsightsSettings.xml new file mode 100644 index 00000000..371f2e29 --- /dev/null +++ b/.idea/appInsightsSettings.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..4bf0b1b4 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 00000000..b268ef36 --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 00000000..639c779c --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..7061a0d6 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,61 @@ + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 00000000..c224ad56 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 00000000..f8051a6f --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 4dbf444d..2aa690e7 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,7 +3,5 @@ - - + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 00000000..16660f1d --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/texthip/thip/MainActivity.kt b/app/src/main/java/com/texthip/thip/MainActivity.kt index eeef9c4d..100ee6c1 100644 --- a/app/src/main/java/com/texthip/thip/MainActivity.kt +++ b/app/src/main/java/com/texthip/thip/MainActivity.kt @@ -4,6 +4,7 @@ import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge +import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material3.Scaffold @@ -12,6 +13,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.texthip.thip.ui.theme.ThipTheme +import com.texthip.thip.ui.theme.ThipTheme.colors +import com.texthip.thip.ui.theme.ThipTheme.typography class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -32,10 +35,43 @@ class MainActivity : ComponentActivity() { @Composable fun Greeting(name: String, modifier: Modifier = Modifier) { - Text( - text = "Hello $name!", - modifier = modifier - ) + Column { + Text( + text = "Hello $name!", + modifier = modifier, + style = typography.bigtitle_b700_s22_h24, + color = colors.Purple, + ) + + Text( + text = "Hello $name!", + modifier = modifier, + style = typography.smalltitle_sb600_s16_h20, + color = colors.NeonGreen, + ) + + Text( + text = "Hello $name!", + modifier = modifier, + style = typography.menu_sb600_s12, + color = colors.Red, + ) + + Text( + text = "Hello $name!", + modifier = modifier, + style = typography.navi_m500_s10, + color = colors.DarkGrey, + ) + + Text( + text = "Hello $name!", + modifier = modifier, + style = typography.view_r400_s11_h20, + color = colors.Black, + ) + } + } @Preview(showBackground = true) diff --git a/app/src/main/java/com/texthip/thip/ui/theme/Color.kt b/app/src/main/java/com/texthip/thip/ui/theme/Color.kt index c48c8be3..d1a9f263 100644 --- a/app/src/main/java/com/texthip/thip/ui/theme/Color.kt +++ b/app/src/main/java/com/texthip/thip/ui/theme/Color.kt @@ -1,11 +1,80 @@ package com.texthip.thip.ui.theme +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.graphics.Color -val Purple80 = Color(0xFFD0BCFF) -val PurpleGrey80 = Color(0xFFCCC2DC) -val Pink80 = Color(0xFFEFB8C8) +val Purple = Color(0xFF6868FF) +val PurpleSub = Color(0xFFA1A1FF) +val PurpleDark = Color(0xFF414194) -val Purple40 = Color(0xFF6650a4) -val PurpleGrey40 = Color(0xFF625b71) -val Pink40 = Color(0xFF7D5260) \ No newline at end of file +val NeonGreen = Color(0xFFA7FFB4) +val NeonGreen50 = Color(0x80A7FFB4) + +val Red = Color(0xFFFF9496) + +val PureWhite = Color(0xFFFFFFFF) +val White = Color(0xFFFEFEFE) + +val Grey50 = Color(0x80C4C4C4) +val Grey = Color(0xFFDADADA) +val Grey01 = Color(0xFFADADAD) +val Grey02 = Color(0xFF888888) +val Grey03 = Color(0xFF525252) +val DarkGrey = Color(0xFF3D3D3D) +val DarkGrey50 = Color(0x803D3D3D) +val DarkGrey02 = Color(0xFF282828) + +val Black = Color(0xFF121212) +val Black50 = Color(0x80121212) +val Black10 = Color(0x1A121212) +val Black00 = Color(0x00121212) + +@Immutable +data class ThipColors( + val Purple: Color, + val PurpleSub: Color, + val PurpleDark: Color, + val NeonGreen: Color, + val NeonGreen50: Color, + val Red: Color, + val PureWhite: Color, + val White: Color, + val Grey50: Color, + val Grey: Color, + val Grey01: Color, + val Grey02: Color, + val Grey03: Color, + val DarkGrey: Color, + val DarkGrey50: Color, + val DarkGrey02: Color, + val Black: Color, + val Black50: Color, + val Black10: Color, + val Black00: Color, +) + +val defaultThipColors = ThipColors( + Purple = Purple, + PurpleSub = PurpleSub, + PurpleDark = PurpleDark, + NeonGreen = NeonGreen, + NeonGreen50 = NeonGreen50, + Red = Red, + PureWhite = PureWhite, + White = White, + Grey50 = Grey50, + Grey = Grey, + Grey01 = Grey01, + Grey02 = Grey02, + Grey03 = Grey03, + DarkGrey = DarkGrey, + DarkGrey50 = DarkGrey50, + DarkGrey02 = DarkGrey02, + Black = Black, + Black50 = Black50, + Black10 = Black10, + Black00 = Black00 +) + +val LocalThipColorsProvider = staticCompositionLocalOf { defaultThipColors } \ No newline at end of file diff --git a/app/src/main/java/com/texthip/thip/ui/theme/Theme.kt b/app/src/main/java/com/texthip/thip/ui/theme/Theme.kt index a4443aa6..69f646f4 100644 --- a/app/src/main/java/com/texthip/thip/ui/theme/Theme.kt +++ b/app/src/main/java/com/texthip/thip/ui/theme/Theme.kt @@ -1,58 +1,69 @@ package com.texthip.thip.ui.theme import android.app.Activity -import android.os.Build -import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.darkColorScheme -import androidx.compose.material3.dynamicDarkColorScheme -import androidx.compose.material3.dynamicLightColorScheme -import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable -import androidx.compose.ui.platform.LocalContext +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.ReadOnlyComposable +import androidx.compose.runtime.SideEffect +import androidx.compose.ui.platform.LocalView +import androidx.core.view.WindowCompat +import com.texthip.thip.ui.theme.ThipTheme.colors -private val DarkColorScheme = darkColorScheme( - primary = Purple80, - secondary = PurpleGrey80, - tertiary = Pink80 -) +object ThipTheme { + val colors: ThipColors + @Composable + @ReadOnlyComposable + get() = LocalThipColorsProvider.current -private val LightColorScheme = lightColorScheme( - primary = Purple40, - secondary = PurpleGrey40, - tertiary = Pink40 + val typography: ThipTypography + @Composable + @ReadOnlyComposable + get() = LocalThipTypographyProvider.current +} - /* Other default colors to override - background = Color(0xFFFFFBFE), - surface = Color(0xFFFFFBFE), - onPrimary = Color.White, - onSecondary = Color.White, - onTertiary = Color.White, - onBackground = Color(0xFF1C1B1F), - onSurface = Color(0xFF1C1B1F), - */ -) +@Composable +fun ProvideThipColorsAndTypography( + colors: ThipColors, + typography: ThipTypography, + content: @Composable () -> Unit +) { + CompositionLocalProvider( + LocalThipColorsProvider provides colors, + LocalThipTypographyProvider provides typography, + content = content + ) +} @Composable fun ThipTheme( - darkTheme: Boolean = isSystemInDarkTheme(), - // Dynamic color is available on Android 12+ - dynamicColor: Boolean = true, content: @Composable () -> Unit ) { - val colorScheme = when { - dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { - val context = LocalContext.current - if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + ProvideThipColorsAndTypography ( + colors = defaultThipColors, + typography = defaultThipTypography + ) { + val view = LocalView.current + if (!view.isInEditMode) { + SideEffect { + (view.context as Activity).window.run { + WindowCompat.getInsetsController(this, view).isAppearanceLightStatusBars = false + } + } } - - darkTheme -> DarkColorScheme - else -> LightColorScheme + MaterialTheme( + content = { + Box( + modifier = androidx.compose.ui.Modifier + .fillMaxSize() + .background(colors.Black) + ) { + content() + } + } + ) } - - MaterialTheme( - colorScheme = colorScheme, - typography = Typography, - content = content - ) -} \ No newline at end of file +} diff --git a/app/src/main/java/com/texthip/thip/ui/theme/Type.kt b/app/src/main/java/com/texthip/thip/ui/theme/Type.kt index 2132a25f..03bde03a 100644 --- a/app/src/main/java/com/texthip/thip/ui/theme/Type.kt +++ b/app/src/main/java/com/texthip/thip/ui/theme/Type.kt @@ -1,34 +1,249 @@ package com.texthip.thip.ui.theme -import androidx.compose.material3.Typography +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.FontFamily -import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.LineHeightStyle import androidx.compose.ui.unit.sp +import com.texthip.thip.R -// Set of Material typography styles to start with -val Typography = Typography( - bodyLarge = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Normal, - fontSize = 16.sp, +val thipFontBold = FontFamily(Font(R.font.bold)) +val thipFontSemiBold = FontFamily(Font(R.font.semibold)) +val thipFontMedium = FontFamily(Font(R.font.medium)) +val thipFontRegular = FontFamily(Font(R.font.regular)) + +@Immutable +data class ThipTypography( + val bigtitle_b700_s22_h24: TextStyle, + val bigtitle_b700_s22: TextStyle, + val title_b700_s20_h24: TextStyle, + val navipressed_b700_s10: TextStyle, + val smalltitle_sb600_s18_h24: TextStyle, + val smalltitle_sb600_s16_h24: TextStyle, + val smalltitle_sb600_s16_h20: TextStyle, + val smalltitle_sb600_s14_h20: TextStyle, + val menu_sb600_s14_h24: TextStyle, + val menu_sb600_s12_h20: TextStyle, + val menu_sb600_s12: TextStyle, + val smalltitle_m500_s18_h24: TextStyle, + val menu_m500_s16_h24: TextStyle, + val menu_m500_s14_h24: TextStyle, + val copy_m500_s14_h20: TextStyle, + val view_m500_s14: TextStyle, + val view_m500_s12_h20: TextStyle, + val info_m500_s12: TextStyle, + val navi_m500_s10: TextStyle, + val menu_r400_s14_h24: TextStyle, + val feedcopy_r400_s14_h20: TextStyle, + val copy_r400_s14: TextStyle, + val info_r400_s12_h24: TextStyle, + val copy_r400_s12_h20: TextStyle, + val info_r400_s12: TextStyle, + val view_r400_s11_h20: TextStyle, + val timedate_r400_s11: TextStyle, +) + +val defaultThipTypography = ThipTypography( + bigtitle_b700_s22_h24 = TextStyle( + fontFamily = thipFontBold, + fontSize = 22.sp, lineHeight = 24.sp, - letterSpacing = 0.5.sp - ) - /* Other default text styles to override - titleLarge = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Normal, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + bigtitle_b700_s22 = TextStyle( + fontFamily = thipFontBold, fontSize = 22.sp, - lineHeight = 28.sp, - letterSpacing = 0.sp ), - labelSmall = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Medium, + title_b700_s20_h24 = TextStyle( + fontFamily = thipFontBold, + fontSize = 20.sp, + lineHeight = 24.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + navipressed_b700_s10 = TextStyle( + fontFamily = thipFontBold, + fontSize = 10.sp, + ), + smalltitle_sb600_s18_h24 = TextStyle( + fontFamily = thipFontSemiBold, + fontSize = 18.sp, + lineHeight = 24.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + smalltitle_sb600_s16_h24 = TextStyle( + fontFamily = thipFontSemiBold, + fontSize = 16.sp, + lineHeight = 24.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + smalltitle_sb600_s16_h20 = TextStyle( + fontFamily = thipFontSemiBold, + fontSize = 16.sp, + lineHeight = 20.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + smalltitle_sb600_s14_h20 = TextStyle( + fontFamily = thipFontSemiBold, + fontSize = 14.sp, + lineHeight = 20.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + menu_sb600_s14_h24 = TextStyle( + fontFamily = thipFontSemiBold, + fontSize = 14.sp, + lineHeight = 24.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + menu_sb600_s12_h20 = TextStyle( + fontFamily = thipFontSemiBold, + fontSize = 12.sp, + lineHeight = 20.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + menu_sb600_s12 = TextStyle( + fontFamily = thipFontSemiBold, + fontSize = 12.sp, + ), + smalltitle_m500_s18_h24 = TextStyle( + fontFamily = thipFontMedium, + fontSize = 18.sp, + lineHeight = 24.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + menu_m500_s16_h24 = TextStyle( + fontFamily = thipFontMedium, + fontSize = 16.sp, + lineHeight = 24.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + menu_m500_s14_h24 = TextStyle( + fontFamily = thipFontMedium, + fontSize = 14.sp, + lineHeight = 24.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + copy_m500_s14_h20 = TextStyle( + fontFamily = thipFontMedium, + fontSize = 14.sp, + lineHeight = 20.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + view_m500_s14 = TextStyle( + fontFamily = thipFontMedium, + fontSize = 14.sp, + ), + view_m500_s12_h20 = TextStyle( + fontFamily = thipFontMedium, + fontSize = 12.sp, + lineHeight = 20.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + info_m500_s12 = TextStyle( + fontFamily = thipFontMedium, + fontSize = 12.sp, + ), + navi_m500_s10 = TextStyle( + fontFamily = thipFontMedium, + fontSize = 10.sp, + ), + menu_r400_s14_h24 = TextStyle( + fontFamily = thipFontRegular, + fontSize = 14.sp, + lineHeight = 24.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + feedcopy_r400_s14_h20 = TextStyle( + fontFamily = thipFontRegular, + fontSize = 14.sp, + lineHeight = 20.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + copy_r400_s14 = TextStyle( + fontFamily = thipFontRegular, + fontSize = 14.sp, + ), + info_r400_s12_h24 = TextStyle( + fontFamily = thipFontRegular, + fontSize = 12.sp, + lineHeight = 24.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + copy_r400_s12_h20 = TextStyle( + fontFamily = thipFontRegular, + fontSize = 12.sp, + lineHeight = 20.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + info_r400_s12 = TextStyle( + fontFamily = thipFontRegular, + fontSize = 12.sp, + ), + view_r400_s11_h20 = TextStyle( + fontFamily = thipFontRegular, + fontSize = 11.sp, + lineHeight = 20.sp, + lineHeightStyle = LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + ), + timedate_r400_s11 = TextStyle( + fontFamily = thipFontRegular, fontSize = 11.sp, - lineHeight = 16.sp, - letterSpacing = 0.5.sp - ) - */ -) \ No newline at end of file + ), +) + +val LocalThipTypographyProvider = staticCompositionLocalOf { defaultThipTypography } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_arrow_back.xml b/app/src/main/res/drawable/ic_arrow_back.xml new file mode 100644 index 00000000..55210141 --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_back.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_arrow_forward.xml b/app/src/main/res/drawable/ic_arrow_forward.xml new file mode 100644 index 00000000..6f8cfbbc --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_forward.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_booksearch.xml b/app/src/main/res/drawable/ic_booksearch.xml new file mode 100644 index 00000000..716e939d --- /dev/null +++ b/app/src/main/res/drawable/ic_booksearch.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_bye.xml b/app/src/main/res/drawable/ic_bye.xml new file mode 100644 index 00000000..6d011db8 --- /dev/null +++ b/app/src/main/res/drawable/ic_bye.xml @@ -0,0 +1,25 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/ic_calendar.xml b/app/src/main/res/drawable/ic_calendar.xml new file mode 100644 index 00000000..bb92d906 --- /dev/null +++ b/app/src/main/res/drawable/ic_calendar.xml @@ -0,0 +1,34 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_center.xml b/app/src/main/res/drawable/ic_center.xml new file mode 100644 index 00000000..e55e16d3 --- /dev/null +++ b/app/src/main/res/drawable/ic_center.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_check.xml b/app/src/main/res/drawable/ic_check.xml new file mode 100644 index 00000000..5be12b8e --- /dev/null +++ b/app/src/main/res/drawable/ic_check.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_chevron_left.xml b/app/src/main/res/drawable/ic_chevron_left.xml new file mode 100644 index 00000000..436e53d6 --- /dev/null +++ b/app/src/main/res/drawable/ic_chevron_left.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_chevron_right.xml b/app/src/main/res/drawable/ic_chevron_right.xml new file mode 100644 index 00000000..7294529a --- /dev/null +++ b/app/src/main/res/drawable/ic_chevron_right.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_comment.xml b/app/src/main/res/drawable/ic_comment.xml new file mode 100644 index 00000000..149a9f35 --- /dev/null +++ b/app/src/main/res/drawable/ic_comment.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml new file mode 100644 index 00000000..5aaba5b6 --- /dev/null +++ b/app/src/main/res/drawable/ic_delete.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_done.xml b/app/src/main/res/drawable/ic_done.xml new file mode 100644 index 00000000..757e5a80 --- /dev/null +++ b/app/src/main/res/drawable/ic_done.xml @@ -0,0 +1,20 @@ + + + + diff --git a/app/src/main/res/drawable/ic_downmore.xml b/app/src/main/res/drawable/ic_downmore.xml new file mode 100644 index 00000000..697e0f25 --- /dev/null +++ b/app/src/main/res/drawable/ic_downmore.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_dropdown_down.xml b/app/src/main/res/drawable/ic_dropdown_down.xml new file mode 100644 index 00000000..617f5785 --- /dev/null +++ b/app/src/main/res/drawable/ic_dropdown_down.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_dropdown_up.xml b/app/src/main/res/drawable/ic_dropdown_up.xml new file mode 100644 index 00000000..3d989b1a --- /dev/null +++ b/app/src/main/res/drawable/ic_dropdown_up.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_feed.xml b/app/src/main/res/drawable/ic_feed.xml new file mode 100644 index 00000000..ec92620b --- /dev/null +++ b/app/src/main/res/drawable/ic_feed.xml @@ -0,0 +1,16 @@ + + + + diff --git a/app/src/main/res/drawable/ic_google.png b/app/src/main/res/drawable/ic_google.png new file mode 100644 index 00000000..ddc4e4cc Binary files /dev/null and b/app/src/main/res/drawable/ic_google.png differ diff --git a/app/src/main/res/drawable/ic_group.xml b/app/src/main/res/drawable/ic_group.xml new file mode 100644 index 00000000..e484c1f9 --- /dev/null +++ b/app/src/main/res/drawable/ic_group.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/ic_guide.xml b/app/src/main/res/drawable/ic_guide.xml new file mode 100644 index 00000000..11c2e35b --- /dev/null +++ b/app/src/main/res/drawable/ic_guide.xml @@ -0,0 +1,30 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_heart.xml b/app/src/main/res/drawable/ic_heart.xml new file mode 100644 index 00000000..09411a02 --- /dev/null +++ b/app/src/main/res/drawable/ic_heart.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_kakaotalk.png b/app/src/main/res/drawable/ic_kakaotalk.png new file mode 100644 index 00000000..fe529cc0 Binary files /dev/null and b/app/src/main/res/drawable/ic_kakaotalk.png differ diff --git a/app/src/main/res/drawable/ic_lock.xml b/app/src/main/res/drawable/ic_lock.xml new file mode 100644 index 00000000..90dbf6af --- /dev/null +++ b/app/src/main/res/drawable/ic_lock.xml @@ -0,0 +1,20 @@ + + + + diff --git a/app/src/main/res/drawable/ic_logout.xml b/app/src/main/res/drawable/ic_logout.xml new file mode 100644 index 00000000..3c3a7aca --- /dev/null +++ b/app/src/main/res/drawable/ic_logout.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_makegroup.xml b/app/src/main/res/drawable/ic_makegroup.xml new file mode 100644 index 00000000..5d669371 --- /dev/null +++ b/app/src/main/res/drawable/ic_makegroup.xml @@ -0,0 +1,16 @@ + + + + diff --git a/app/src/main/res/drawable/ic_more.xml b/app/src/main/res/drawable/ic_more.xml new file mode 100644 index 00000000..b67768e7 --- /dev/null +++ b/app/src/main/res/drawable/ic_more.xml @@ -0,0 +1,31 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/ic_mypage.xml b/app/src/main/res/drawable/ic_mypage.xml new file mode 100644 index 00000000..7acdded8 --- /dev/null +++ b/app/src/main/res/drawable/ic_mypage.xml @@ -0,0 +1,16 @@ + + + + diff --git a/app/src/main/res/drawable/ic_notice.xml b/app/src/main/res/drawable/ic_notice.xml new file mode 100644 index 00000000..4cec80dd --- /dev/null +++ b/app/src/main/res/drawable/ic_notice.xml @@ -0,0 +1,19 @@ + + + + diff --git a/app/src/main/res/drawable/ic_notice_yes.xml b/app/src/main/res/drawable/ic_notice_yes.xml new file mode 100644 index 00000000..a447be6e --- /dev/null +++ b/app/src/main/res/drawable/ic_notice_yes.xml @@ -0,0 +1,22 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_pin.xml b/app/src/main/res/drawable/ic_pin.xml new file mode 100644 index 00000000..4bd530d9 --- /dev/null +++ b/app/src/main/res/drawable/ic_pin.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_play.xml b/app/src/main/res/drawable/ic_play.xml new file mode 100644 index 00000000..9f18fdae --- /dev/null +++ b/app/src/main/res/drawable/ic_play.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_plus.xml b/app/src/main/res/drawable/ic_plus.xml new file mode 100644 index 00000000..0e43d70c --- /dev/null +++ b/app/src/main/res/drawable/ic_plus.xml @@ -0,0 +1,18 @@ + + + + diff --git a/app/src/main/res/drawable/ic_plusfriend.xml b/app/src/main/res/drawable/ic_plusfriend.xml new file mode 100644 index 00000000..6464c2ce --- /dev/null +++ b/app/src/main/res/drawable/ic_plusfriend.xml @@ -0,0 +1,30 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_rankdash.xml b/app/src/main/res/drawable/ic_rankdash.xml new file mode 100644 index 00000000..647ec200 --- /dev/null +++ b/app/src/main/res/drawable/ic_rankdash.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_rankdown.xml b/app/src/main/res/drawable/ic_rankdown.xml new file mode 100644 index 00000000..5eb95cad --- /dev/null +++ b/app/src/main/res/drawable/ic_rankdown.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_rankup.xml b/app/src/main/res/drawable/ic_rankup.xml new file mode 100644 index 00000000..07895d9d --- /dev/null +++ b/app/src/main/res/drawable/ic_rankup.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_reply.xml b/app/src/main/res/drawable/ic_reply.xml new file mode 100644 index 00000000..6f9ca729 --- /dev/null +++ b/app/src/main/res/drawable/ic_reply.xml @@ -0,0 +1,20 @@ + + + + diff --git a/app/src/main/res/drawable/ic_reset.xml b/app/src/main/res/drawable/ic_reset.xml new file mode 100644 index 00000000..393b7ddf --- /dev/null +++ b/app/src/main/res/drawable/ic_reset.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_save.xml b/app/src/main/res/drawable/ic_save.xml new file mode 100644 index 00000000..2bbd9562 --- /dev/null +++ b/app/src/main/res/drawable/ic_save.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_search.xml b/app/src/main/res/drawable/ic_search.xml new file mode 100644 index 00000000..9f1791e6 --- /dev/null +++ b/app/src/main/res/drawable/ic_search.xml @@ -0,0 +1,20 @@ + + + + diff --git a/app/src/main/res/drawable/ic_send.xml b/app/src/main/res/drawable/ic_send.xml new file mode 100644 index 00000000..49bc02c1 --- /dev/null +++ b/app/src/main/res/drawable/ic_send.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_unlock.xml b/app/src/main/res/drawable/ic_unlock.xml new file mode 100644 index 00000000..b5e08b33 --- /dev/null +++ b/app/src/main/res/drawable/ic_unlock.xml @@ -0,0 +1,20 @@ + + + + diff --git a/app/src/main/res/drawable/ic_upmore.xml b/app/src/main/res/drawable/ic_upmore.xml new file mode 100644 index 00000000..bf68da80 --- /dev/null +++ b/app/src/main/res/drawable/ic_upmore.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_vote.xml b/app/src/main/res/drawable/ic_vote.xml new file mode 100644 index 00000000..fe626dc4 --- /dev/null +++ b/app/src/main/res/drawable/ic_vote.xml @@ -0,0 +1,20 @@ + + + + diff --git a/app/src/main/res/drawable/ic_write.xml b/app/src/main/res/drawable/ic_write.xml new file mode 100644 index 00000000..db9362d4 --- /dev/null +++ b/app/src/main/res/drawable/ic_write.xml @@ -0,0 +1,20 @@ + + + + diff --git a/app/src/main/res/drawable/ic_x.xml b/app/src/main/res/drawable/ic_x.xml new file mode 100644 index 00000000..2375a290 --- /dev/null +++ b/app/src/main/res/drawable/ic_x.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_x_circle.xml b/app/src/main/res/drawable/ic_x_circle.xml new file mode 100644 index 00000000..8c6e275a --- /dev/null +++ b/app/src/main/res/drawable/ic_x_circle.xml @@ -0,0 +1,17 @@ + + + + diff --git a/app/src/main/res/font/bold.ttf b/app/src/main/res/font/bold.ttf new file mode 100644 index 00000000..fb07fc65 Binary files /dev/null and b/app/src/main/res/font/bold.ttf differ diff --git a/app/src/main/res/font/medium.ttf b/app/src/main/res/font/medium.ttf new file mode 100644 index 00000000..1db67c68 Binary files /dev/null and b/app/src/main/res/font/medium.ttf differ diff --git a/app/src/main/res/font/regular.ttf b/app/src/main/res/font/regular.ttf new file mode 100644 index 00000000..01147e99 Binary files /dev/null and b/app/src/main/res/font/regular.ttf differ diff --git a/app/src/main/res/font/semibold.ttf b/app/src/main/res/font/semibold.ttf new file mode 100644 index 00000000..9f2690f0 Binary files /dev/null and b/app/src/main/res/font/semibold.ttf differ