diff --git a/App.xaml b/App.xaml
new file mode 100644
index 0000000..a44b2c0
--- /dev/null
+++ b/App.xaml
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/App.xaml.cs b/App.xaml.cs
new file mode 100644
index 0000000..fbb830b
--- /dev/null
+++ b/App.xaml.cs
@@ -0,0 +1,74 @@
+using Microsoft.UI.Windowing;
+using Microsoft.UI.Xaml.Media;
+using Microsoft.UI.Xaml.Navigation;
+using System;
+using Windows.Graphics;
+using WinRT.Interop;
+
+namespace TornadoAce_GSShop
+{
+ ///
+ /// Provides application-specific behavior to supplement the default Application class.
+ ///
+ public partial class App : Application
+ {
+ private Window? window;
+
+ ///
+ /// Initializes the singleton application object. This is the first line of authored code
+ /// executed, and as such is the logical equivalent of main() or WinMain().
+ ///
+ public App()
+ {
+ this.InitializeComponent();
+ }
+
+ ///
+ /// Invoked when the application is launched normally by the end user. Other entry points
+ /// will be used such as when the application is launched to open a specific file.
+ ///
+ /// Details about the launch request and process.
+ protected override void OnLaunched(LaunchActivatedEventArgs e)
+ {
+ window ??= new Window
+ {
+ Title = "TornadoAce GS Shop"
+ };
+ window.SystemBackdrop = new MicaBackdrop();
+
+ if (window.Content is not Frame rootFrame)
+ {
+ rootFrame = new Frame();
+ rootFrame.NavigationFailed += OnNavigationFailed;
+ window.Content = rootFrame;
+ }
+
+ _ = rootFrame.Navigate(typeof(MainPage), e.Arguments);
+ ConfigureWindow(window);
+ window.Activate();
+ }
+
+ private static void ConfigureWindow(Window targetWindow)
+ {
+ var windowHandle = WindowNative.GetWindowHandle(targetWindow);
+ if (windowHandle == IntPtr.Zero)
+ {
+ return;
+ }
+
+ var windowId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(windowHandle);
+ var appWindow = AppWindow.GetFromWindowId(windowId);
+ appWindow.Resize(new SizeInt32(1440, 900));
+ }
+
+ ///
+ /// Invoked when Navigation to a certain page fails
+ ///
+ /// The Frame which failed navigation
+ /// Details about the navigation failure
+ void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
+ {
+ throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
+ }
+ }
+}
diff --git a/Assets/LockScreenLogo.scale-200.png b/Assets/LockScreenLogo.scale-200.png
new file mode 100644
index 0000000..7440f0d
Binary files /dev/null and b/Assets/LockScreenLogo.scale-200.png differ
diff --git a/Assets/SplashScreen.scale-200.png b/Assets/SplashScreen.scale-200.png
new file mode 100644
index 0000000..32f486a
Binary files /dev/null and b/Assets/SplashScreen.scale-200.png differ
diff --git a/Assets/Square150x150Logo.scale-200.png b/Assets/Square150x150Logo.scale-200.png
new file mode 100644
index 0000000..53ee377
Binary files /dev/null and b/Assets/Square150x150Logo.scale-200.png differ
diff --git a/Assets/Square44x44Logo.scale-200.png b/Assets/Square44x44Logo.scale-200.png
new file mode 100644
index 0000000..f713bba
Binary files /dev/null and b/Assets/Square44x44Logo.scale-200.png differ
diff --git a/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
new file mode 100644
index 0000000..dc9f5be
Binary files /dev/null and b/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ
diff --git a/Assets/StoreLogo.png b/Assets/StoreLogo.png
new file mode 100644
index 0000000..a4586f2
Binary files /dev/null and b/Assets/StoreLogo.png differ
diff --git a/Assets/Wide310x150Logo.scale-200.png b/Assets/Wide310x150Logo.scale-200.png
new file mode 100644
index 0000000..8b4a5d0
Binary files /dev/null and b/Assets/Wide310x150Logo.scale-200.png differ
diff --git a/Imports.cs b/Imports.cs
new file mode 100644
index 0000000..6c71a2e
--- /dev/null
+++ b/Imports.cs
@@ -0,0 +1,4 @@
+global using TornadoAce_GSShop.Views;
+
+global using Microsoft.UI.Xaml;
+global using Microsoft.UI.Xaml.Controls;
diff --git a/Package.appxmanifest b/Package.appxmanifest
new file mode 100644
index 0000000..d2a1269
--- /dev/null
+++ b/Package.appxmanifest
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+ TornadoAce_GSShop
+ User Name
+ Assets\StoreLogo.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Properties/launchSettings.json b/Properties/launchSettings.json
new file mode 100644
index 0000000..246cbc0
--- /dev/null
+++ b/Properties/launchSettings.json
@@ -0,0 +1,10 @@
+{
+ "profiles": {
+ "TornadoAce_GSShop (Package)": {
+ "commandName": "MsixPackage"
+ },
+ "TornadoAce_GSShop (Unpackaged)": {
+ "commandName": "Project"
+ }
+ }
+}
diff --git a/TornadoAce_GSShop.csproj b/TornadoAce_GSShop.csproj
new file mode 100644
index 0000000..49f6b73
--- /dev/null
+++ b/TornadoAce_GSShop.csproj
@@ -0,0 +1,76 @@
+
+
+
+ net8.0-windows10.0.19041.0
+ 10.0.17763.0
+ WinExe
+
+
+ true
+ false
+ true
+
+
+ enable
+ latest
+ enable
+ TornadoAce_GSShop
+
+
+ true
+ x64
+ app.manifest
+ win-x64
+
+
+
+ win-x64
+
+
+
+ win-$(Platform).pubxml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ False
+
+
diff --git a/TornadoAce_GSShop.slnx b/TornadoAce_GSShop.slnx
new file mode 100644
index 0000000..94ab741
--- /dev/null
+++ b/TornadoAce_GSShop.slnx
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/Views/MainPage.xaml b/Views/MainPage.xaml
new file mode 100644
index 0000000..1a11166
--- /dev/null
+++ b/Views/MainPage.xaml
@@ -0,0 +1,525 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Views/MainPage.xaml.cs b/Views/MainPage.xaml.cs
new file mode 100644
index 0000000..d2ae787
--- /dev/null
+++ b/Views/MainPage.xaml.cs
@@ -0,0 +1,360 @@
+namespace TornadoAce_GSShop.Views
+{
+ public partial class MainPage : Page
+ {
+ private WebView2? previewWebView;
+
+ public MainPage()
+ {
+ this.InitializeComponent();
+ }
+
+ private void Page_Loaded(object sender, RoutedEventArgs e)
+ {
+ UpdatedTextBlock.Text = DateTime.Now.ToString("yyyy.MM.dd HH:mm");
+
+ previewWebView ??= new WebView2
+ {
+ Margin = new Thickness(1)
+ };
+
+ if (PreviewHost.Children.Count == 1)
+ {
+ PreviewHost.Children.Add(previewWebView);
+ }
+
+ previewWebView.NavigateToString(BuildPreviewHtml());
+ }
+
+ private static string BuildPreviewHtml() =>
+ """
+
+
+
+
+
+
+
+
+
+
+
+
GS
+
+
GS Shop Studio
+
Live commerce workspace
+
+
+
+
WebView2
+
Preview
+
Ready
+
+
+
+
+
+
Today at a glance
+
빠르게 확인하고 바로 운영하는 쇼핑 콘솔
+
상품 노출, 주문 흐름, 라이브 배너 상태가 한 화면 안에서 정리되는 샘플 미리보기입니다.
+
+
+
+
36방송 상품
+
1.2K오늘 주문
+
98%미리보기 정상
+
+
+
+
+
+
+
+
+ """;
+ }
+}
diff --git a/app.manifest b/app.manifest
new file mode 100644
index 0000000..9e730e7
--- /dev/null
+++ b/app.manifest
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PerMonitorV2
+
+
+