Move codebase to swiftui, testing app layouts etc

This commit is contained in:
Thomas G 2023-03-13 20:56:06 +11:00
parent ca6de1f4e6
commit f03258083a
47 changed files with 284 additions and 226 deletions

View File

@ -7,13 +7,13 @@
objects = {
/* Begin PBXBuildFile section */
E95B7B4C28E549FA00929213 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E95B7B4B28E549FA00929213 /* AppDelegate.swift */; };
E95B7B4E28E549FA00929213 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E95B7B4D28E549FA00929213 /* ViewController.swift */; };
E95B7B5028E549FB00929213 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E95B7B4F28E549FB00929213 /* Assets.xcassets */; };
E95B7B5328E549FB00929213 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E95B7B5128E549FB00929213 /* Main.storyboard */; };
E95B7B5E28E549FB00929213 /* ARCHBLOXTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E95B7B5D28E549FB00929213 /* ARCHBLOXTests.swift */; };
E95B7B6828E549FB00929213 /* ARCHBLOXUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E95B7B6728E549FB00929213 /* ARCHBLOXUITests.swift */; };
E95B7B6A28E549FB00929213 /* ARCHBLOXUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E95B7B6928E549FB00929213 /* ARCHBLOXUITestsLaunchTests.swift */; };
E9D10F1229BF215800172363 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9D10F1129BF215800172363 /* MainView.swift */; };
E9D10F1629BF229900172363 /* ARCHBLOX.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9D10F1529BF229900172363 /* ARCHBLOX.swift */; };
E9D10F1829BF281000172363 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9D10F1729BF281000172363 /* HomeView.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -35,16 +35,18 @@
/* Begin PBXFileReference section */
E95B7B4828E549FA00929213 /* ARCHBLOX.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ARCHBLOX.app; sourceTree = BUILT_PRODUCTS_DIR; };
E95B7B4B28E549FA00929213 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
E95B7B4D28E549FA00929213 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
E95B7B4F28E549FB00929213 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
E95B7B5228E549FB00929213 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
E95B7B5428E549FB00929213 /* ARCHBLOX.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ARCHBLOX.entitlements; sourceTree = "<group>"; };
E95B7B5928E549FB00929213 /* ARCHBLOXTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ARCHBLOXTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
E95B7B5D28E549FB00929213 /* ARCHBLOXTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARCHBLOXTests.swift; sourceTree = "<group>"; };
E95B7B6328E549FB00929213 /* ARCHBLOXUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ARCHBLOXUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
E95B7B6728E549FB00929213 /* ARCHBLOXUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARCHBLOXUITests.swift; sourceTree = "<group>"; };
E95B7B6928E549FB00929213 /* ARCHBLOXUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARCHBLOXUITestsLaunchTests.swift; sourceTree = "<group>"; };
E9D10F1129BF215800172363 /* MainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainView.swift; sourceTree = "<group>"; };
E9D10F1329BF225A00172363 /* LucidaGrande.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = LucidaGrande.ttf; sourceTree = "<group>"; };
E9D10F1429BF225A00172363 /* LucidaGrandeBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = LucidaGrandeBold.ttf; sourceTree = "<group>"; };
E9D10F1529BF229900172363 /* ARCHBLOX.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARCHBLOX.swift; sourceTree = "<group>"; };
E9D10F1729BF281000172363 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -95,11 +97,13 @@
E95B7B4A28E549FA00929213 /* ARCHBLOX */ = {
isa = PBXGroup;
children = (
E95B7B4B28E549FA00929213 /* AppDelegate.swift */,
E95B7B4D28E549FA00929213 /* ViewController.swift */,
E95B7B4F28E549FB00929213 /* Assets.xcassets */,
E95B7B5128E549FB00929213 /* Main.storyboard */,
E95B7B5428E549FB00929213 /* ARCHBLOX.entitlements */,
E9D10F1129BF215800172363 /* MainView.swift */,
E9D10F1329BF225A00172363 /* LucidaGrande.ttf */,
E9D10F1429BF225A00172363 /* LucidaGrandeBold.ttf */,
E9D10F1529BF229900172363 /* ARCHBLOX.swift */,
E9D10F1729BF281000172363 /* HomeView.swift */,
);
path = ARCHBLOX;
sourceTree = "<group>";
@ -185,7 +189,7 @@
attributes = {
BuildIndependentTargetsInParallel = 1;
LastSwiftUpdateCheck = 1400;
LastUpgradeCheck = 1400;
LastUpgradeCheck = 1420;
TargetAttributes = {
E95B7B4728E549FA00929213 = {
CreatedOnToolsVersion = 14.0.1;
@ -226,7 +230,6 @@
buildActionMask = 2147483647;
files = (
E95B7B5028E549FB00929213 /* Assets.xcassets in Resources */,
E95B7B5328E549FB00929213 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -251,8 +254,9 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E95B7B4E28E549FA00929213 /* ViewController.swift in Sources */,
E95B7B4C28E549FA00929213 /* AppDelegate.swift in Sources */,
E9D10F1829BF281000172363 /* HomeView.swift in Sources */,
E9D10F1229BF215800172363 /* MainView.swift in Sources */,
E9D10F1629BF229900172363 /* ARCHBLOX.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -288,17 +292,6 @@
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
E95B7B5128E549FB00929213 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
E95B7B5228E549FB00929213 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
E95B7B6B28E549FB00929213 /* Debug */ = {
isa = XCBuildConfiguration;
@ -333,6 +326,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@ -350,7 +344,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
@ -393,6 +387,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@ -404,7 +399,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = macosx;
@ -420,9 +415,11 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = ARCHBLOX/ARCHBLOX.entitlements;
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_CFBundleDisplayName = ARCHBLOX;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games";
@ -434,7 +431,7 @@
"$(inherited)",
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOX;
PRODUCT_NAME = "$(TARGET_NAME)";
@ -450,9 +447,11 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = ARCHBLOX/ARCHBLOX.entitlements;
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_CFBundleDisplayName = ARCHBLOX;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games";
@ -464,7 +463,7 @@
"$(inherited)",
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOX;
PRODUCT_NAME = "$(TARGET_NAME)";
@ -480,8 +479,9 @@
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
GENERATE_INFOPLIST_FILE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOXTests;
PRODUCT_NAME = "$(TARGET_NAME)";
@ -498,8 +498,9 @@
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
GENERATE_INFOPLIST_FILE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOXTests;
PRODUCT_NAME = "$(TARGET_NAME)";
@ -515,8 +516,9 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
GENERATE_INFOPLIST_FILE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOXUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
@ -532,8 +534,9 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
GENERATE_INFOPLIST_FILE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOXUITests;
PRODUCT_NAME = "$(TARGET_NAME)";

View File

@ -2,9 +2,7 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>

17
ARCHBLOX/ARCHBLOX.swift Normal file
View File

@ -0,0 +1,17 @@
//
// ARCHBLOX.swift
// ARCHBLOX
//
// Created by Thomas G on 13/3/2023.
//
import SwiftUI
@main
struct ARCHBLOX: App {
var body: some Scene {
WindowGroup {
MainView().edgesIgnoringSafeArea(.top).frame(minWidth: 400, maxWidth: .infinity, minHeight: 300, maxHeight: .infinity)
}.windowStyle(HiddenTitleBarWindowStyle())
}
}

View File

@ -1,30 +0,0 @@
//
// AppDelegate.swift
// ARCHBLOX
//
// Created by Thomas G on 29/9/2022.
//
import Cocoa
@main
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Insert code here to initialize your application
}
func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
return true
}
}

View File

@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "archblox_glossy128.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "archblox_glossy256.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "archblox_glossy512.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "ARCHBLOXarched.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,61 +1,61 @@
{
"images" : [
{
"filename" : "ARCHBLOX.png",
"filename" : "archblox_glossy16.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "16x16"
},
{
"filename" : "ARCHBLOX 2.png",
"filename" : "archblox_glossy32 1.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "16x16"
},
{
"filename" : "ARCHBLOX 3.png",
"filename" : "archblox_glossy32.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "32x32"
},
{
"filename" : "ARCHBLOX 8.png",
"filename" : "archblox_glossy64.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "32x32"
},
{
"filename" : "ARCHBLOX 7.png",
"filename" : "archblox_glossy128.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "128x128"
},
{
"filename" : "ARCHBLOX 5.png",
"filename" : "archblox_glossy256 1.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "128x128"
},
{
"filename" : "ARCHBLOX 6.png",
"filename" : "archblox_glossy256.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "256x256"
},
{
"filename" : "ARCHBLOX 4.png",
"filename" : "archblox_glossy512.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "256x256"
},
{
"filename" : "ARCHBLOX 1.png",
"filename" : "archblox_glossy512 1.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "512x512"
},
{
"filename" : "ARCHBLOX 9.png",
"filename" : "archblox_glossy1024.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "512x512"

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "arkot.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "background.jpg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "backgrounddark.jpg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "defaultrender.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "bg-rbx_header.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

View File

@ -1,124 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="21225" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21225"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Application-->
<scene sceneID="JPo-4y-FX3">
<objects>
<application id="hnw-xV-0zn" sceneMemberID="viewController">
<menu key="mainMenu" title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
<items>
<menuItem title="ARCHBLOX" id="1Xt-HY-uBw">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="ARCHBLOX" systemMenu="apple" id="uQy-DD-JDr">
<items>
<menuItem title="About ARCHBLOX" id="5kV-Vb-QxS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontStandardAboutPanel:" target="Ady-hI-5gd" id="Exp-CZ-Vem"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
<menuItem title="Hide ARCHBLOX" keyEquivalent="h" id="Olw-nP-bQN">
<connections>
<action selector="hide:" target="Ady-hI-5gd" id="PnN-Uc-m68"/>
</connections>
</menuItem>
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="hideOtherApplications:" target="Ady-hI-5gd" id="VT4-aY-XCT"/>
</connections>
</menuItem>
<menuItem title="Show All" id="Kd2-mp-pUS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="unhideAllApplications:" target="Ady-hI-5gd" id="Dhg-Le-xox"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
<menuItem title="Quit ARCHBLOX" keyEquivalent="q" id="4sb-4s-VLi">
<connections>
<action selector="terminate:" target="Ady-hI-5gd" id="Te7-pn-YzF"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Window" id="aUF-d1-5bR">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
<items>
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
<connections>
<action selector="performMiniaturize:" target="Ady-hI-5gd" id="VwT-WD-YPe"/>
</connections>
</menuItem>
<menuItem title="Zoom" id="R4o-n2-Eq4">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="performZoom:" target="Ady-hI-5gd" id="DIl-cC-cCs"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="arrangeInFront:" target="Ady-hI-5gd" id="DRN-fu-gQh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
<connections>
<outlet property="delegate" destination="Voe-Tx-rLC" id="PrD-fu-P6m"/>
</connections>
</application>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="ARCHBLOX" customModuleProvider="target"/>
<customObject id="YLy-65-1bz" customClass="NSFontManager"/>
<customObject id="Ady-hI-5gd" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="75" y="0.0"/>
</scene>
<!--Window Controller-->
<scene sceneID="R2V-B0-nI4">
<objects>
<windowController id="B8D-0N-5wS" sceneMemberID="viewController">
<window key="window" title="ARCHBLOX" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="IQv-IB-iLA">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="196" y="240" width="480" height="270"/>
<rect key="screenRect" x="0.0" y="0.0" width="1680" height="1027"/>
<connections>
<outlet property="delegate" destination="B8D-0N-5wS" id="98r-iN-zZc"/>
</connections>
</window>
<connections>
<segue destination="XfG-lQ-9wD" kind="relationship" relationship="window.shadowedContentViewController" id="cq2-FE-JQM"/>
</connections>
</windowController>
<customObject id="Oky-zY-oP4" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="75" y="250"/>
</scene>
<!--View Controller-->
<scene sceneID="hIz-AP-VOD">
<objects>
<viewController id="XfG-lQ-9wD" customClass="ViewController" customModule="ARCHBLOX" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" id="m2S-Jp-Qdl">
<rect key="frame" x="0.0" y="0.0" width="480" height="270"/>
<autoresizingMask key="autoresizingMask"/>
</view>
</viewController>
<customObject id="rPt-NT-nkU" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="75" y="655"/>
</scene>
</scenes>
</document>

40
ARCHBLOX/HomeView.swift Normal file
View File

@ -0,0 +1,40 @@
//
// MainView.swift
// ARCHBLOX
//
// Created by Thomas G on 13/3/2023.
//
import SwiftUI
struct HomeView: View {
var body: some View {
VStack{
HStack{
Image("ARCHBLOX").resizable().aspectRatio(contentMode: ContentMode.fit).accessibilityLabel("ARCHBLOX").padding().frame(minHeight: 80,maxHeight: 80);
Spacer();
Text("Thomas").font(.custom("Lucida Grande", size: 20)).padding();
Image("arkot").resizable().aspectRatio(contentMode: ContentMode.fit).accessibilityLabel("ARCHBLOX").padding().frame(minHeight: 51,maxHeight: 51);
Text("100.000M").font(.custom("Lucida Grande", size: 20)).padding();
Text("Log Out").font(.custom("Lucida Grande", size: 20)).padding();
}.fixedSize(horizontal: false, vertical: true).frame(minHeight: 51,maxHeight: 51).background(
Image("navbar")
.resizable()
.edgesIgnoringSafeArea(.all))
Spacer();
VStack{
Text("home content goes here").font(.custom("Lucida Grande", size: 30)).padding();
}
}.background(
Image("background")
.resizable()
.edgesIgnoringSafeArea(.all)
)
}
}
struct HomeView_Previews: PreviewProvider {
static var previews: some View {
HomeView()
}
}

BIN
ARCHBLOX/LucidaGrande.ttf Normal file

Binary file not shown.

Binary file not shown.

31
ARCHBLOX/MainView.swift Normal file
View File

@ -0,0 +1,31 @@
//
// MainView.swift
// ARCHBLOX
//
// Created by Thomas G on 13/3/2023.
//
import SwiftUI
struct MainView: View {
var body: some View {
VStack{
Image("ARCHBLOXarched").resizable().aspectRatio(contentMode: ContentMode.fit).accessibilityLabel("ARCHBLOX").padding();
Spacer();
HStack{
Text("Sign Up").font(.custom("Lucida Grande", size: 30)).padding();
Text("Log In").font(.custom("Lucida Grande", size: 30)).padding();
}
}.background(
Image("background")
.resizable()
.edgesIgnoringSafeArea(.all)
)
}
}
struct MainView_Previews: PreviewProvider {
static var previews: some View {
MainView()
}
}

View File

@ -1,26 +0,0 @@
//
// ViewController.swift
// ARCHBLOX
//
// Created by Thomas G on 29/9/2022.
//
import Cocoa
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}