From ce18aa060e169af6ac7f832a79a4bc902037fda4 Mon Sep 17 00:00:00 2001 From: jzongyun Date: Tue, 14 Jan 2025 16:33:59 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Feat:=20=EC=8A=A4=EB=A7=88=ED=8A=B8?= =?UTF-8?q?=EC=9B=8C=EC=B9=98=20=EA=B0=9C=EB=B0=9C=20=ED=99=98=EA=B2=BD=20?= =?UTF-8?q?=EC=84=B8=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AccentColor.colorset/Contents.json | 11 +++++++++ .../AppIcon.appiconset/Contents.json | 13 ++++++++++ .../Assets.xcassets/Contents.json | 6 +++++ .../ContentView.swift | 24 +++++++++++++++++++ .../HalfFifty_WatchApp.swift | 17 +++++++++++++ .../Preview Assets.xcassets/Contents.json | 6 +++++ 6 files changed, 77 insertions(+) create mode 100644 HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/Contents.json create mode 100644 HalfFifty_FE/HalfFifty_Watch Watch App/ContentView.swift create mode 100644 HalfFifty_FE/HalfFifty_Watch Watch App/HalfFifty_WatchApp.swift create mode 100644 HalfFifty_FE/HalfFifty_Watch Watch App/Preview Content/Preview Assets.xcassets/Contents.json diff --git a/HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/AccentColor.colorset/Contents.json b/HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/AppIcon.appiconset/Contents.json b/HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..49c81cd --- /dev/null +++ b/HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "watchos", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/Contents.json b/HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/HalfFifty_FE/HalfFifty_Watch Watch App/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/HalfFifty_FE/HalfFifty_Watch Watch App/ContentView.swift b/HalfFifty_FE/HalfFifty_Watch Watch App/ContentView.swift new file mode 100644 index 0000000..7e753de --- /dev/null +++ b/HalfFifty_FE/HalfFifty_Watch Watch App/ContentView.swift @@ -0,0 +1,24 @@ +// +// ContentView.swift +// HalfFifty_Watch Watch App +// +// Created by 임정윤 on 1/14/25. +// + +import SwiftUI + +struct ContentView: View { + var body: some View { + VStack { + Image(systemName: "globe") + .imageScale(.large) + .foregroundStyle(.tint) + Text("Hello, world!") + } + .padding() + } +} + +#Preview { + ContentView() +} diff --git a/HalfFifty_FE/HalfFifty_Watch Watch App/HalfFifty_WatchApp.swift b/HalfFifty_FE/HalfFifty_Watch Watch App/HalfFifty_WatchApp.swift new file mode 100644 index 0000000..107c3f5 --- /dev/null +++ b/HalfFifty_FE/HalfFifty_Watch Watch App/HalfFifty_WatchApp.swift @@ -0,0 +1,17 @@ +// +// HalfFifty_WatchApp.swift +// HalfFifty_Watch Watch App +// +// Created by 임정윤 on 1/14/25. +// + +import SwiftUI + +@main +struct HalfFifty_Watch_Watch_AppApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + } +} diff --git a/HalfFifty_FE/HalfFifty_Watch Watch App/Preview Content/Preview Assets.xcassets/Contents.json b/HalfFifty_FE/HalfFifty_Watch Watch App/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/HalfFifty_FE/HalfFifty_Watch Watch App/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} From f35ba957dd78d4aba0139044c1ec3fa1b2963dcc Mon Sep 17 00:00:00 2001 From: jzongyun Date: Tue, 14 Jan 2025 16:34:43 +0900 Subject: [PATCH 2/2] =?UTF-8?q?Style:=20=EC=8A=A4=EB=A7=88=ED=8A=B8?= =?UTF-8?q?=EC=9B=8C=EC=B9=98=20=EB=A9=94=EC=9D=B8=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=ED=8D=BC=EB=B8=94=EB=A6=AC=EC=8B=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HalfFifty_FE.xcodeproj/project.pbxproj | 170 +++++++++++++++++- .../UserInterfaceState.xcuserstate | Bin 0 -> 36132 bytes .../xcschemes/xcschememanagement.plist | 19 ++ .../ContentView.swift | 57 +++++- 4 files changed, 238 insertions(+), 8 deletions(-) create mode 100644 HalfFifty_FE/HalfFifty_FE.xcodeproj/project.xcworkspace/xcuserdata/jeong-yun-lim.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 HalfFifty_FE/HalfFifty_FE.xcodeproj/xcuserdata/jeong-yun-lim.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/HalfFifty_FE/HalfFifty_FE.xcodeproj/project.pbxproj b/HalfFifty_FE/HalfFifty_FE.xcodeproj/project.pbxproj index f12cf50..7a8f5e0 100644 --- a/HalfFifty_FE/HalfFifty_FE.xcodeproj/project.pbxproj +++ b/HalfFifty_FE/HalfFifty_FE.xcodeproj/project.pbxproj @@ -6,8 +6,37 @@ objectVersion = 77; objects = { +/* Begin PBXBuildFile section */ + C9270D712D36472E00BDFD97 /* HalfFifty_Watch Watch App.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = C9270D642D36472D00BDFD97 /* HalfFifty_Watch Watch App.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + C9270D6F2D36472E00BDFD97 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A5EAB71C2D2B6D2900FE064E /* Project object */; + proxyType = 1; + remoteGlobalIDString = C9270D632D36472C00BDFD97; + remoteInfo = "HalfFifty_Watch Watch App"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + C9270D752D36472E00BDFD97 /* Embed Watch Content */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "$(CONTENTS_FOLDER_PATH)/Watch"; + dstSubfolderSpec = 16; + files = ( + C9270D712D36472E00BDFD97 /* HalfFifty_Watch Watch App.app in Embed Watch Content */, + ); + name = "Embed Watch Content"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ A5EAB7242D2B6D2900FE064E /* HalfFifty_FE.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HalfFifty_FE.app; sourceTree = BUILT_PRODUCTS_DIR; }; + C9270D642D36472D00BDFD97 /* HalfFifty_Watch Watch App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "HalfFifty_Watch Watch App.app"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ @@ -16,6 +45,11 @@ path = HalfFifty_FE; sourceTree = ""; }; + C9270D652D36472D00BDFD97 /* HalfFifty_Watch Watch App */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = "HalfFifty_Watch Watch App"; + sourceTree = ""; + }; /* End PBXFileSystemSynchronizedRootGroup section */ /* Begin PBXFrameworksBuildPhase section */ @@ -26,6 +60,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C9270D612D36472C00BDFD97 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -33,6 +74,7 @@ isa = PBXGroup; children = ( A5EAB7262D2B6D2900FE064E /* HalfFifty_FE */, + C9270D652D36472D00BDFD97 /* HalfFifty_Watch Watch App */, A5EAB7252D2B6D2900FE064E /* Products */, ); sourceTree = ""; @@ -41,6 +83,7 @@ isa = PBXGroup; children = ( A5EAB7242D2B6D2900FE064E /* HalfFifty_FE.app */, + C9270D642D36472D00BDFD97 /* HalfFifty_Watch Watch App.app */, ); name = Products; sourceTree = ""; @@ -55,10 +98,12 @@ A5EAB7202D2B6D2900FE064E /* Sources */, A5EAB7212D2B6D2900FE064E /* Frameworks */, A5EAB7222D2B6D2900FE064E /* Resources */, + C9270D752D36472E00BDFD97 /* Embed Watch Content */, ); buildRules = ( ); dependencies = ( + C9270D702D36472E00BDFD97 /* PBXTargetDependency */, ); fileSystemSynchronizedGroups = ( A5EAB7262D2B6D2900FE064E /* HalfFifty_FE */, @@ -70,6 +115,28 @@ productReference = A5EAB7242D2B6D2900FE064E /* HalfFifty_FE.app */; productType = "com.apple.product-type.application"; }; + C9270D632D36472C00BDFD97 /* HalfFifty_Watch Watch App */ = { + isa = PBXNativeTarget; + buildConfigurationList = C9270D722D36472E00BDFD97 /* Build configuration list for PBXNativeTarget "HalfFifty_Watch Watch App" */; + buildPhases = ( + C9270D602D36472C00BDFD97 /* Sources */, + C9270D612D36472C00BDFD97 /* Frameworks */, + C9270D622D36472C00BDFD97 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + C9270D652D36472D00BDFD97 /* HalfFifty_Watch Watch App */, + ); + name = "HalfFifty_Watch Watch App"; + packageProductDependencies = ( + ); + productName = "HalfFifty_Watch Watch App"; + productReference = C9270D642D36472D00BDFD97 /* HalfFifty_Watch Watch App.app */; + productType = "com.apple.product-type.application"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -77,12 +144,15 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1610; + LastSwiftUpdateCheck = 1620; LastUpgradeCheck = 1610; TargetAttributes = { A5EAB7232D2B6D2900FE064E = { CreatedOnToolsVersion = 16.1; }; + C9270D632D36472C00BDFD97 = { + CreatedOnToolsVersion = 16.2; + }; }; }; buildConfigurationList = A5EAB71F2D2B6D2900FE064E /* Build configuration list for PBXProject "HalfFifty_FE" */; @@ -100,6 +170,7 @@ projectRoot = ""; targets = ( A5EAB7232D2B6D2900FE064E /* HalfFifty_FE */, + C9270D632D36472C00BDFD97 /* HalfFifty_Watch Watch App */, ); }; /* End PBXProject section */ @@ -112,6 +183,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C9270D622D36472C00BDFD97 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -122,8 +200,23 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C9270D602D36472C00BDFD97 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + C9270D702D36472E00BDFD97 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C9270D632D36472C00BDFD97 /* HalfFifty_Watch Watch App */; + targetProxy = C9270D6F2D36472E00BDFD97 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ A5EAB7302D2B6D2A00FE064E /* Debug */ = { isa = XCBuildConfiguration; @@ -252,7 +345,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"HalfFifty_FE/Preview Content\""; - DEVELOPMENT_TEAM = 78678N7NGX; + DEVELOPMENT_TEAM = ""; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSCameraUsageDescription = "앱에서 카메라를 사용하기 위해 권한이 필요합니다."; @@ -261,6 +354,7 @@ INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_WKCompanionAppBundleIdentifier = "halffifty.HalfFifty-FE"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -282,7 +376,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"HalfFifty_FE/Preview Content\""; - DEVELOPMENT_TEAM = 78678N7NGX; + DEVELOPMENT_TEAM = ""; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSCameraUsageDescription = "앱에서 카메라를 사용하기 위해 권한이 필요합니다."; @@ -291,6 +385,7 @@ INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_WKCompanionAppBundleIdentifier = "halffifty.HalfFifty-FE"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -304,6 +399,66 @@ }; name = Release; }; + C9270D732D36472E00BDFD97 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"HalfFifty_Watch Watch App/Preview Content\""; + DEVELOPMENT_TEAM = ""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = HalfFifty_Watch; + INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + INFOPLIST_KEY_WKCompanionAppBundleIdentifier = "com.minji.HalfFifty-FE"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.minji.HalfFifty-FE.watchkitapp"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 11.2; + }; + name = Debug; + }; + C9270D742D36472E00BDFD97 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"HalfFifty_Watch Watch App/Preview Content\""; + DEVELOPMENT_TEAM = ""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = HalfFifty_Watch; + INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + INFOPLIST_KEY_WKCompanionAppBundleIdentifier = "com.minji.HalfFifty-FE"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.minji.HalfFifty-FE.watchkitapp"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 11.2; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -325,6 +480,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + C9270D722D36472E00BDFD97 /* Build configuration list for PBXNativeTarget "HalfFifty_Watch Watch App" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C9270D732D36472E00BDFD97 /* Debug */, + C9270D742D36472E00BDFD97 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = A5EAB71C2D2B6D2900FE064E /* Project object */; diff --git a/HalfFifty_FE/HalfFifty_FE.xcodeproj/project.xcworkspace/xcuserdata/jeong-yun-lim.xcuserdatad/UserInterfaceState.xcuserstate b/HalfFifty_FE/HalfFifty_FE.xcodeproj/project.xcworkspace/xcuserdata/jeong-yun-lim.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..6da44dfc09de6f573a84c64ad06b76bd94ef48c7 GIT binary patch literal 36132 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 I-?K*lKLs|qQ~&?~ literal 0 HcmV?d00001 diff --git a/HalfFifty_FE/HalfFifty_FE.xcodeproj/xcuserdata/jeong-yun-lim.xcuserdatad/xcschemes/xcschememanagement.plist b/HalfFifty_FE/HalfFifty_FE.xcodeproj/xcuserdata/jeong-yun-lim.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..35d6fa9 --- /dev/null +++ b/HalfFifty_FE/HalfFifty_FE.xcodeproj/xcuserdata/jeong-yun-lim.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,19 @@ + + + + + SchemeUserState + + HalfFifty_FE.xcscheme_^#shared#^_ + + orderHint + 0 + + HalfFifty_Watch Watch App.xcscheme_^#shared#^_ + + orderHint + 1 + + + + diff --git a/HalfFifty_FE/HalfFifty_Watch Watch App/ContentView.swift b/HalfFifty_FE/HalfFifty_Watch Watch App/ContentView.swift index 7e753de..82c8216 100644 --- a/HalfFifty_FE/HalfFifty_Watch Watch App/ContentView.swift +++ b/HalfFifty_FE/HalfFifty_Watch Watch App/ContentView.swift @@ -9,11 +9,58 @@ import SwiftUI struct ContentView: View { var body: some View { - VStack { - Image(systemName: "globe") - .imageScale(.large) - .foregroundStyle(.tint) - Text("Hello, world!") + VStack(spacing: 15) { + HStack { + Spacer() + Text("手다쟁이") + .font(.title2) + .fontWeight(.semibold) + .foregroundColor(.blue) + } + + VStack(spacing: 5) { + Button(action: { + print("음성변환 버튼 클릭됨") + }) { + HStack(spacing: 8) { + ZStack { + Circle() + .fill(Color.white) + .frame(width: 32, height: 32) + Image(systemName: "mic.fill") + .foregroundColor(Color(red: 0.2549019607843137, green: 0.4117647058823529, blue: 0.8823529411764706)) + } + Text("음성변환") + .font(.headline) + .foregroundColor(.primary) + Spacer() + } + .padding() + .background(RoundedRectangle(cornerRadius: 10).fill(Color.gray).opacity(0.5)) + } + .buttonStyle(PlainButtonStyle()) + + Button(action: { + print("키워드 관리 버튼 클릭됨") + }) { + HStack(spacing: 8) { + ZStack { + Circle() + .fill(Color(red: 0.2549019607843137, green: 0.4117647058823529, blue: 0.8823529411764706)) + .frame(width: 32, height: 32) + Image(systemName: "tag.fill") + .foregroundColor(.white) + } + Text("키워드 관리") + .font(.headline) + .foregroundColor(.primary) + Spacer() + } + .padding() + .background(RoundedRectangle(cornerRadius: 10).fill(Color.gray).opacity(0.5)) + } + .buttonStyle(PlainButtonStyle()) + } } .padding() }