diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml
index 6137d8f..a85946f 100644
--- a/.github/workflows/android.yml
+++ b/.github/workflows/android.yml
@@ -5,8 +5,6 @@ on:
branches:
- main
pull_request:
- branches:
- - main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
@@ -17,6 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+
- name: set up JDK 17
uses: actions/setup-java@v4
with:
@@ -24,15 +23,19 @@ jobs:
distribution: 'temurin'
cache: gradle
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
+ - name: Setup gradle
+ uses: gradle/gradle-build-action@v2
+ with:
+ gradle-home-cache-cleanup: true
+
- name: Build with Gradle
- run: ./gradlew android:assembleDebug
+ run: ./gradlew composeApp:assembleDebug
build-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+
- name: set up JDK 17
uses: actions/setup-java@v4
with:
@@ -42,13 +45,15 @@ jobs:
- name: Grant execute permission for gradlew
run: chmod +x gradlew
+
- name: Build with Gradle
- run: ./gradlew android:assembleRelease
+ run: ./gradlew composeApp:assembleRelease
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+
- name: set up JDK 17
uses: actions/setup-java@v4
with:
@@ -58,5 +63,6 @@ jobs:
- name: Grant execute permission for gradlew
run: chmod +x gradlew
+
- name: Build with Gradle
- run: ./gradlew android:check
\ No newline at end of file
+ run: ./gradlew composeApp:testDebugUnitTest
\ No newline at end of file
diff --git a/.github/workflows/desktop-web.yml b/.github/workflows/desktop-web.yml
index 125df65..9bcc134 100644
--- a/.github/workflows/desktop-web.yml
+++ b/.github/workflows/desktop-web.yml
@@ -5,8 +5,6 @@ on:
branches:
- main
pull_request:
- branches:
- - main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
@@ -27,11 +25,13 @@ jobs:
distribution: 'temurin'
cache: gradle
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
+ - name: Setup gradle
+ uses: gradle/gradle-build-action@v2
+ with:
+ gradle-home-cache-cleanup: true
- name: Build with Gradle
- run: ./gradlew desktop:assemble
+ run: ./gradlew composeApp:desktopJar
Build-Web:
runs-on: ubuntu-latest
@@ -56,4 +56,4 @@ jobs:
node-version: '10.x'
- name: Build with Gradle
- run: ./gradlew jsApp:assemble
\ No newline at end of file
+ run: ./gradlew composeApp:jsJar
\ No newline at end of file
diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml
index 8e7ba4f..cf80215 100644
--- a/.github/workflows/ios.yml
+++ b/.github/workflows/ios.yml
@@ -4,9 +4,7 @@ on:
push:
branches:
- main
- pull_request:
- branches:
- - main
+ pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
@@ -16,9 +14,41 @@ jobs:
build:
runs-on: macos-latest
steps:
+ - name: Check Xcode version
+ run: /usr/bin/xcodebuild -version
+
- name: Checkout Repo
uses: actions/checkout@v4
+ - name: Install the Apple certificate and provisioning profile
+ env:
+ BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_DEV_CERT }}
+ P12_PASSWORD: ${{ secrets.IOS_CERT_PASSWORD }}
+ BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.IOS_PROVISIONING_PROFILE }}
+ KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
+ run: |
+ # create variables
+ CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
+ PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision
+ KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
+
+ # import certificate and provisioning profile from secrets
+ echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
+ echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH
+
+ # create temporary keychain
+ security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
+ security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
+ security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
+
+ # import certificate to keychain
+ security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
+ security list-keychain -d user -s $KEYCHAIN_PATH
+
+ # apply provisioning profile
+ mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
+ cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
+
- name: set up JDK 17
uses: actions/setup-java@v4
with:
@@ -26,20 +56,17 @@ jobs:
distribution: 'temurin'
cache: gradle
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
-
- - shell: bash
- run: ./gradlew generateDummyFramework
-
- - name: Set up cocoapods
- uses: maxim-lobanov/setup-cocoapods@v1
- with:
- version: latest
+ - name: Setup gradle
+ uses: gradle/gradle-build-action@v2
+ with:
+ gradle-home-cache-cleanup: true
- - name: Install cocoapods
- shell: bash
- run: ./gradlew podInstall
+ - name: Build with Xcode
+ run: xcodebuild -project iosApp/iosApp.xcodeproj -scheme iosApp -configuration Debug -destination generic/platform=iOS -archivePath $RUNNER_TEMP/Tidy.xcarchive
- - name: Build with Gradle
- run: ./gradlew iosSimulatorArm64Binaries
+ - name: Upload Artifacts
+ if: $GITHUB_REF == 'main'
+ uses: actions/upload-artifact@v3
+ with:
+ name: iOS Archive
+ path: $RUNNER_TEMP/Tidy/**/*.xcarchive
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 04e773a..e501606 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -8,11 +8,8 @@
diff --git a/android/build.gradle.kts b/android/build.gradle.kts
deleted file mode 100644
index b9e377c..0000000
--- a/android/build.gradle.kts
+++ /dev/null
@@ -1,41 +0,0 @@
-plugins {
- alias(libs.plugins.compose)
- alias(libs.plugins.android.application)
- alias(libs.plugins.kotlin.android)
-}
-
-group = "com.greenmiststudios"
-version = "1.0-SNAPSHOT"
-
-repositories {
- mavenCentral()
-}
-
-android {
- namespace = "com.greenmiststudios.tidy"
- compileSdk = 34
- defaultConfig {
- applicationId = "com.greenmiststudios.tidy"
- minSdk = 24
- targetSdk = 34
- versionCode = 1
- versionName = version.toString()
- }
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
- }
- kotlinOptions {
- jvmTarget = JavaVersion.VERSION_11.toString()
- }
- buildTypes {
- getByName("release") {
- isMinifyEnabled = false
- }
- }
-}
-
-dependencies {
- implementation(project(":common"))
- implementation(libs.androidx.activity.compose)
-}
diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml
deleted file mode 100644
index 7798eef..0000000
--- a/android/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/src/main/java/com/greenmiststudios/tidy/Application.kt b/android/src/main/java/com/greenmiststudios/tidy/Application.kt
deleted file mode 100644
index d24c69b..0000000
--- a/android/src/main/java/com/greenmiststudios/tidy/Application.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.greenmiststudios.tidy
-
-import android.app.Application
-import com.greenmiststudios.common.di.appModule
-import com.greenmiststudios.common.di.startTidyKoin
-import org.koin.android.ext.koin.androidContext
-import org.koin.android.ext.koin.androidLogger
-import org.koin.core.context.startKoin
-
-class TidyApplication : Application() {
- override fun onCreate() {
- super.onCreate()
-
- startTidyKoin {
- // Log Koin into Android logger
- androidLogger()
- // Reference Android context
- androidContext(this@TidyApplication)
- }
- }
-}
\ No newline at end of file
diff --git a/android/src/main/java/com/greenmiststudios/tidy/MainActivity.kt b/android/src/main/java/com/greenmiststudios/tidy/MainActivity.kt
deleted file mode 100644
index debe526..0000000
--- a/android/src/main/java/com/greenmiststudios/tidy/MainActivity.kt
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.greenmiststudios.tidy
-
-import android.os.Bundle
-import androidx.activity.compose.setContent
-import androidx.appcompat.app.AppCompatActivity
-import androidx.compose.foundation.isSystemInDarkTheme
-import android.app.Activity
-import android.os.Build
-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.runtime.SideEffect
-import androidx.compose.ui.graphics.toArgb
-import androidx.compose.ui.platform.LocalContext
-import androidx.compose.ui.platform.LocalView
-import androidx.core.view.WindowCompat
-import com.greenmiststudios.common.UIShow
-
-class MainActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContent {
- CustomMaterialTheme {
- UIShow()
- }
- }
- }
-}
-
-@Composable
-fun CustomMaterialTheme(
- darkTheme: Boolean = isSystemInDarkTheme(),
- 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)
- }
-
- darkTheme -> darkColorScheme()
- else -> lightColorScheme()
- }
- val view = LocalView.current
- if (!view.isInEditMode) {
- SideEffect {
- val activity = view.context as Activity
- activity.window.statusBarColor = colorScheme.primary.toArgb()
- WindowCompat.getInsetsController(activity.window, view).isAppearanceLightStatusBars =
- darkTheme
- }
- }
-
- MaterialTheme(
- colorScheme = colorScheme,
- typography = MaterialTheme.typography,
- content = content
- )
-}
diff --git a/common/src/commonMain/kotlin/com/greenmiststudios/common/components/screens/EditListScreen.kt b/common/src/commonMain/kotlin/com/greenmiststudios/common/components/screens/EditListScreen.kt
index 1023a43..d0ba847 100644
--- a/common/src/commonMain/kotlin/com/greenmiststudios/common/components/screens/EditListScreen.kt
+++ b/common/src/commonMain/kotlin/com/greenmiststudios/common/components/screens/EditListScreen.kt
@@ -8,9 +8,6 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
-import androidx.compose.foundation.text.KeyboardActions
-import androidx.compose.foundation.text.KeyboardOptions
-import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.material.icons.filled.Delete
@@ -18,16 +15,18 @@ import androidx.compose.material.icons.rounded.Add
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.Add
-import androidx.compose.material.icons.filled.ArrowBack
-import androidx.compose.material.icons.filled.Delete
-import androidx.compose.material.icons.rounded.Add
import androidx.compose.material3.Checkbox
import androidx.compose.material3.CircularProgressIndicator
+import androidx.compose.material3.DismissDirection.EndToStart
+import androidx.compose.material3.DismissValue.Default
+import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
+import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.SwipeToDismiss
import androidx.compose.material3.Text
import androidx.compose.material3.TextField
+import androidx.compose.material3.rememberDismissState
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -38,6 +37,7 @@ import androidx.compose.ui.unit.dp
import cafe.adriel.voyager.navigator.LocalNavigator
import com.greenmiststudios.common.components.ActionButton
import com.greenmiststudios.common.components.TopAppBarWithContent
+import com.greenmiststudios.common.data.TidyListItem
import com.greenmiststudios.common.presenters.EditListPresenter
import com.greenmiststudios.common.screens.Screen
import com.greenmiststudios.common.screens.bindPresenter
@@ -47,6 +47,7 @@ import com.greenmiststudios.common.viewmodels.EditListViewEvent.DeleteList
import com.greenmiststudios.common.viewmodels.EditListViewEvent.UpdateItemCompletion
import com.greenmiststudios.common.viewmodels.EditListViewEvent.UpdateList
import com.greenmiststudios.common.viewmodels.EditListViewModel
+import kotlin.reflect.KProperty
public data class EditListScreen(override val params: Config) : Screen {
public sealed interface Config {
@@ -101,10 +102,7 @@ public fun EditListScreen(viewModel: EditListViewModel, onEvent: (EditListViewEv
return@TopAppBarWithContent
}
}
-
- require(viewModel is EditListViewModel.Loaded)
}
-
}
}
}
@@ -140,24 +138,46 @@ private fun CreateListScreen(
LazyColumn {
items(viewModel.items.size) {
val item = viewModel.items[it]
- Row {
- Checkbox(
- checked = item.completed,
- onCheckedChange = { checked ->
- onEvent(UpdateItemCompletion(item.id, checked))
- }
- )
- TextField(
- placeholder = { Text("Item") },
- value = item.text,
- onValueChange = { text -> onEvent(EditListViewEvent.UpdateItemText(item.id, text)) },
- )
- }
+ ListItem(item, onEvent)
}
}
}
}
+@Composable
+@OptIn(ExperimentalMaterial3Api::class)
+private fun ListItem(
+ item: TidyListItem,
+ onEvent: (EditListViewEvent) -> Unit
+) {
+ val dismissState = rememberDismissState(
+ initialValue = Default,
+ confirmValueChange = {
+ println("$it - ${item.text}")
+ true
+ }
+ )
+ SwipeToDismiss(state = dismissState, background = {
+ Row {
+ Checkbox(
+ checked = item.completed,
+ onCheckedChange = { checked ->
+ onEvent(UpdateItemCompletion(item.id, checked))
+ }
+ )
+ TextField(
+ placeholder = { Text("Item") },
+ value = item.text,
+ onValueChange = { text -> onEvent(EditListViewEvent.UpdateItemText(item.id, text)) },
+ )
+ }
+ }, dismissContent = {
+ IconButton({ }) {
+ Icon(rememberVectorPainter(Icons.Default.Delete), contentDescription = "Delete")
+ }
+ }, directions = setOf(EndToStart))
+}
+
@Composable
private fun EditListContentScreen(
viewModel: EditListViewModel.Loaded.Edit,
diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts
index 74e488a..cea317f 100644
--- a/composeApp/build.gradle.kts
+++ b/composeApp/build.gradle.kts
@@ -2,8 +2,6 @@ import org.jetbrains.compose.ExperimentalComposeLibrary
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
-// import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
-
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.application)
@@ -11,16 +9,6 @@ plugins {
}
kotlin {
- // @OptIn(ExperimentalWasmDsl::class)
- // wasmJs {
- // moduleName = "composeApp"
- // browser {
- // commonWebpackConfig {
- // outputFileName = "composeApp.js"
- // }
- // }
- // binaries.executable()
- // }
js(IR) {
browser {
useCommonJs()
diff --git a/composeApp/src/androidMain/kotlin/com/greenmiststudios/tidy/MainActivity.kt b/composeApp/src/androidMain/kotlin/com/greenmiststudios/tidy/MainActivity.kt
index 96ac543..01751a0 100644
--- a/composeApp/src/androidMain/kotlin/com/greenmiststudios/tidy/MainActivity.kt
+++ b/composeApp/src/androidMain/kotlin/com/greenmiststudios/tidy/MainActivity.kt
@@ -4,7 +4,6 @@ import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.runtime.Composable
-import androidx.compose.ui.tooling.preview.Preview
import com.greenmiststudios.common.UIShow
class MainActivity : ComponentActivity() {
@@ -15,10 +14,4 @@ class MainActivity : ComponentActivity() {
UIShow()
}
}
-}
-
-@Preview
-@Composable
-fun AppAndroidPreview() {
- UIShow()
}
\ No newline at end of file
diff --git a/composeApp/src/iosMain/kotlin/MainViewController.kt b/composeApp/src/iosMain/kotlin/MainViewController.kt
index 5a72e70..645f84e 100644
--- a/composeApp/src/iosMain/kotlin/MainViewController.kt
+++ b/composeApp/src/iosMain/kotlin/MainViewController.kt
@@ -1,10 +1,7 @@
import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.Surface
import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.lightColorScheme
-import androidx.compose.ui.Modifier
import androidx.compose.ui.window.ComposeUIViewController
import com.greenmiststudios.common.UIShow
import com.greenmiststudios.common.di.startTidyKoin
@@ -17,11 +14,7 @@ public fun MainViewController(): UIViewController {
MaterialTheme(
colorScheme = if (isSystemInDarkTheme()) darkColorScheme() else lightColorScheme()
) {
- Surface(
- modifier = Modifier.fillMaxSize(),
- ) {
- UIShow()
- }
+ UIShow()
}
}
}
diff --git a/desktop/build.gradle.kts b/desktop/build.gradle.kts
deleted file mode 100644
index 1af08b8..0000000
--- a/desktop/build.gradle.kts
+++ /dev/null
@@ -1,40 +0,0 @@
-import org.jetbrains.compose.compose
-import org.jetbrains.compose.desktop.application.dsl.TargetFormat
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
-plugins {
- kotlin("multiplatform")
- id("org.jetbrains.compose")
-}
-
-group = "com.greenmiststudios"
-version = "1.0-SNAPSHOT"
-
-kotlin {
- jvm {
- compilations.all {
- kotlinOptions.jvmTarget = "17"
- }
- withJava()
- }
- sourceSets {
- val jvmMain by getting {
- dependencies {
- implementation(project(":common"))
- implementation(compose.desktop.currentOs)
- }
- }
- val jvmTest by getting
- }
-}
-
-compose.desktop {
- application {
- mainClass = "MainKt"
- nativeDistributions {
- targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
- packageName = "common"
- packageVersion = "1.0.0"
- }
- }
-}
diff --git a/desktop/src/jvmMain/kotlin/Main.kt b/desktop/src/jvmMain/kotlin/Main.kt
deleted file mode 100644
index ab73c1c..0000000
--- a/desktop/src/jvmMain/kotlin/Main.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-import androidx.compose.ui.window.Window
-import androidx.compose.ui.window.application
-import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.darkColorScheme
-import androidx.compose.material3.lightColorScheme
-import com.greenmiststudios.common.UIShow
-import com.greenmiststudios.common.di.appModule
-import com.greenmiststudios.common.di.startTidyKoin
-
-fun main() = application {
- startTidyKoin {
- modules(appModule())
- }
-
- Window(onCloseRequest = ::exitApplication) {
- MaterialTheme(colorScheme = if (isSystemInDarkTheme()) darkColorScheme() else lightColorScheme()) {
- UIShow()
- }
- }
-}
diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj
index f81be17..8bf8615 100644
--- a/iosApp/iosApp.xcodeproj/project.pbxproj
+++ b/iosApp/iosApp.xcodeproj/project.pbxproj
@@ -11,7 +11,6 @@
058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */; };
2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2152FB032600AC8F00CF470E /* iOSApp.swift */; };
7555FF83242A565900829871 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7555FF82242A565900829871 /* ContentView.swift */; };
- E146E9358C3B1EC2CBF5929C /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E146EBBC6040B527C4DC419F /* ContentView.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -173,7 +172,6 @@
files = (
2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */,
7555FF83242A565900829871 /* ContentView.swift in Sources */,
- E146E9358C3B1EC2CBF5929C /* ContentView.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -232,7 +230,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 14.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
@@ -288,7 +286,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 14.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.2;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
@@ -303,9 +301,11 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ CODE_SIGN_STYLE = Manual;
DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\"";
- DEVELOPMENT_TEAM = "${TEAM_ID}";
+ DEVELOPMENT_TEAM = "";
+ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = EY47F36LGH;
ENABLE_PREVIEWS = YES;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../composeApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)";
INFOPLIST_FILE = iosApp/Info.plist;
@@ -323,6 +323,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}";
PRODUCT_NAME = "${APP_NAME}";
PROVISIONING_PROFILE_SPECIFIER = "";
+ "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Tidy Profile";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
@@ -333,9 +334,11 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ CODE_SIGN_STYLE = Manual;
DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\"";
- DEVELOPMENT_TEAM = "${TEAM_ID}";
+ DEVELOPMENT_TEAM = "";
+ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = EY47F36LGH;
ENABLE_PREVIEWS = YES;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../composeApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)";
INFOPLIST_FILE = iosApp/Info.plist;
@@ -353,6 +356,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}";
PRODUCT_NAME = "${APP_NAME}";
PROVISIONING_PROFILE_SPECIFIER = "";
+ "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Tidy Profile";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
diff --git a/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/gpowell.xcuserdatad/UserInterfaceState.xcuserstate b/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/gpowell.xcuserdatad/UserInterfaceState.xcuserstate
index db5d4b2..35ddb81 100644
Binary files a/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/gpowell.xcuserdatad/UserInterfaceState.xcuserstate and b/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/gpowell.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/gpowell.xcuserdatad/xcschemes/xcschememanagement.plist b/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/gpowell.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..ee3458d
--- /dev/null
+++ b/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/gpowell.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/iosApp/iosApp.xcodeproj/xcuserdata/gpowell.xcuserdatad/xcschemes/iosApp.xcscheme b/iosApp/iosApp.xcodeproj/xcuserdata/gpowell.xcuserdatad/xcschemes/iosApp.xcscheme
new file mode 100644
index 0000000..8c32e2d
--- /dev/null
+++ b/iosApp/iosApp.xcodeproj/xcuserdata/gpowell.xcuserdatad/xcschemes/iosApp.xcscheme
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/iosApp/iosApp.xcodeproj/xcuserdata/gpowell.xcuserdatad/xcschemes/xcschememanagement.plist b/iosApp/iosApp.xcodeproj/xcuserdata/gpowell.xcuserdatad/xcschemes/xcschememanagement.plist
index b827841..69f0cb6 100644
--- a/iosApp/iosApp.xcodeproj/xcuserdata/gpowell.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/iosApp/iosApp.xcodeproj/xcuserdata/gpowell.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -15,7 +15,7 @@
7555FF7A242A565900829871
primary
-
+
diff --git a/jsApp/build.gradle.kts b/jsApp/build.gradle.kts
deleted file mode 100644
index d802fff..0000000
--- a/jsApp/build.gradle.kts
+++ /dev/null
@@ -1,33 +0,0 @@
-import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
-
-plugins {
- kotlin("multiplatform")
- id("org.jetbrains.compose")
-}
-
-kotlin {
- js(IR) {
- browser {
- useCommonJs()
- binaries.executable()
- }
- }
- sourceSets {
- val jsMain by getting {
- dependencies {
- implementation(project(":common"))
- }
- }
- }
-}
-
-compose.experimental {
- web.application {}
-}
-
-afterEvaluate {
- rootProject.extensions.configure {
- versions.webpackDevServer.version = "4.0.0"
- versions.webpackCli.version = "4.10.0"
- }
-}
diff --git a/jsApp/src/jsMain/kotlin/main.js.kt b/jsApp/src/jsMain/kotlin/main.js.kt
deleted file mode 100644
index 68bb6a9..0000000
--- a/jsApp/src/jsMain/kotlin/main.js.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-import androidx.compose.ui.window.Window
-import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.darkColorScheme
-import androidx.compose.material3.lightColorScheme
-import com.greenmiststudios.common.UIShow
-import org.jetbrains.skiko.wasm.onWasmReady
-
-fun main() {
- onWasmReady {
- Window("tidy") {
- MaterialTheme(colorScheme = if (isSystemInDarkTheme()) darkColorScheme() else lightColorScheme()) {
- UIShow()
- }
- }
- }
-}
\ No newline at end of file
diff --git a/jsApp/src/jsMain/resources/index.html b/jsApp/src/jsMain/resources/index.html
deleted file mode 100644
index 0774db1..0000000
--- a/jsApp/src/jsMain/resources/index.html
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
- compose multiplatform web
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/jsApp/src/jsMain/resources/styles.css b/jsApp/src/jsMain/resources/styles.css
deleted file mode 100644
index d02bf98..0000000
--- a/jsApp/src/jsMain/resources/styles.css
+++ /dev/null
@@ -1,14 +0,0 @@
-#root {
- width: 100%;
- height: 100vh;
-}
-
-#root > .compose-web-column > div {
- position: relative;
-}
-
-canvas {
- width: 90%;
- height: 90%;
- display: block;
-}
\ No newline at end of file
diff --git a/settings.gradle.kts b/settings.gradle.kts
index c6312e9..b060b38 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -20,10 +20,5 @@ dependencyResolutionManagement {
}
}
-
-include(":android")
-include(":desktop")
-include(":jsApp")
-
include(":common")
include(":composeApp")
\ No newline at end of file