Skip to content

Commit

Permalink
Feature/new design (eu-digital-green-certificates#34)
Browse files Browse the repository at this point in the history
* New Launch Screen.

* New cert viewer design.
  • Loading branch information
yspreen authored Apr 29, 2021
1 parent 1738204 commit 2aa6305
Show file tree
Hide file tree
Showing 87 changed files with 818 additions and 255 deletions.
12 changes: 8 additions & 4 deletions DGCAVerifier.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@
CE1F155C2639F9E700736D48 /* SwiftyJSON in Frameworks */ = {isa = PBXBuildFile; productRef = CE1F155B2639F9E700736D48 /* SwiftyJSON */; };
CE37B643263867D700DEE13D /* SecureBackground.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE37B642263867D700DEE13D /* SecureBackground.swift */; };
CE56B5052639F48E00FB31B1 /* SwiftDGC in Frameworks */ = {isa = PBXBuildFile; productRef = CE56B5042639F48E00FB31B1 /* SwiftDGC */; };
CE8096D9263B07BB00A65AD6 /* UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE8096D8263B07BB00A65AD6 /* UIColor.swift */; };
CE8912F52634C60E00CB92AF /* GatewayConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE8912F42634C60E00CB92AF /* GatewayConnection.swift */; };
CE8912FB2634C6B900CB92AF /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = CE8912FA2634C6B900CB92AF /* Alamofire */; };
CE891305263581D900CB92AF /* Home.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE891304263581D900CB92AF /* Home.swift */; };
CEA1555D262F63B30024B7AC /* EuDgcSchema.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA1555C262F63B30024B7AC /* EuDgcSchema.swift */; };
CEA15563262F6DAB0024B7AC /* ChildDismissedDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA15562262F6DAB0024B7AC /* ChildDismissedDelegate.swift */; };
CEA15563262F6DAB0024B7AC /* CertViewerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA15562262F6DAB0024B7AC /* CertViewerDelegate.swift */; };
CEA1556B262F784E0024B7AC /* SelfSizedTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA1556A262F784E0024B7AC /* SelfSizedTableView.swift */; };
CEA15570262F79DE0024B7AC /* InfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA1556F262F79DE0024B7AC /* InfoCell.swift */; };
CEA6D6EC261F8D2700715333 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA6D6EB261F8D2700715333 /* AppDelegate.swift */; };
Expand Down Expand Up @@ -59,10 +60,11 @@
CE13CF22262DDF810070C80E /* RoundedButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoundedButton.swift; sourceTree = "<group>"; };
CE1D1EF5263597A2004C8919 /* LocalData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalData.swift; sourceTree = "<group>"; };
CE37B642263867D700DEE13D /* SecureBackground.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecureBackground.swift; sourceTree = "<group>"; };
CE8096D8263B07BB00A65AD6 /* UIColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColor.swift; sourceTree = "<group>"; };
CE8912F42634C60E00CB92AF /* GatewayConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GatewayConnection.swift; sourceTree = "<group>"; };
CE891304263581D900CB92AF /* Home.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Home.swift; sourceTree = "<group>"; };
CEA1555C262F63B30024B7AC /* EuDgcSchema.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EuDgcSchema.swift; sourceTree = "<group>"; };
CEA15562262F6DAB0024B7AC /* ChildDismissedDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChildDismissedDelegate.swift; sourceTree = "<group>"; };
CEA15562262F6DAB0024B7AC /* CertViewerDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CertViewerDelegate.swift; sourceTree = "<group>"; };
CEA1556A262F784E0024B7AC /* SelfSizedTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfSizedTableView.swift; sourceTree = "<group>"; };
CEA1556F262F79DE0024B7AC /* InfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoCell.swift; sourceTree = "<group>"; };
CEA6D6E8261F8D2700715333 /* DGCAVerifier.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DGCAVerifier.app; sourceTree = BUILT_PRODUCTS_DIR; };
Expand Down Expand Up @@ -137,6 +139,7 @@
isa = PBXGroup;
children = (
CED2725F26398683003D47A9 /* UIFont.swift */,
CE8096D8263B07BB00A65AD6 /* UIColor.swift */,
);
path = Extensions;
sourceTree = "<group>";
Expand Down Expand Up @@ -193,7 +196,7 @@
CEA15561262F6DA10024B7AC /* Protocols */ = {
isa = PBXGroup;
children = (
CEA15562262F6DAB0024B7AC /* ChildDismissedDelegate.swift */,
CEA15562262F6DAB0024B7AC /* CertViewerDelegate.swift */,
);
path = Protocols;
sourceTree = "<group>";
Expand Down Expand Up @@ -401,14 +404,15 @@
CE8912F52634C60E00CB92AF /* GatewayConnection.swift in Sources */,
CE13CF0F262DD0D80070C80E /* FullFloatingPanelLayout.swift in Sources */,
CEA1556B262F784E0024B7AC /* SelfSizedTableView.swift in Sources */,
CE8096D9263B07BB00A65AD6 /* UIColor.swift in Sources */,
CE1D1EF6263597A2004C8919 /* LocalData.swift in Sources */,
CED2726026398683003D47A9 /* UIFont.swift in Sources */,
CEA1555D262F63B30024B7AC /* EuDgcSchema.swift in Sources */,
CEA6D6F0261F8D2700715333 /* Scan.swift in Sources */,
CE13CF23262DDF810070C80E /* RoundedButton.swift in Sources */,
CEA6D6EC261F8D2700715333 /* AppDelegate.swift in Sources */,
CE891305263581D900CB92AF /* Home.swift in Sources */,
CEA15563262F6DAB0024B7AC /* ChildDismissedDelegate.swift in Sources */,
CEA15563262F6DAB0024B7AC /* CertViewerDelegate.swift in Sources */,
CEA15570262F79DE0024B7AC /* InfoCell.swift in Sources */,
CEA6D6EE261F8D2700715333 /* SceneDelegate.swift in Sources */,
);
Expand Down
37 changes: 37 additions & 0 deletions DGCAVerifier/Extensions/UIColor.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//
/*-
* ---license-start
* eu-digital-green-certificates / dgca-verifier-app-ios
* ---
* Copyright (C) 2021 T-Systems International GmbH and all other contributors
* ---
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ---license-end
*/
//
// UIColor.swift
// DGCAVerifier
//
// Created by Yannick Spreen on 4/29/21.
//


import UIKit

extension UIColor {
static var red: UIColor! { UIColor(named: "red") }
static var green: UIColor! { UIColor(named: "green") }
static var blue: UIColor! { UIColor(named: "blue") }
static var black: UIColor! { UIColor(named: "black") }
static var disabledText: UIColor! { UIColor(named: "disabledText") }
}
32 changes: 32 additions & 0 deletions DGCAVerifier/Protocols/CertViewerDelegate.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*-
* ---license-start
* eu-digital-green-certificates / dgca-verifier-app-ios
* ---
* Copyright (C) 2021 T-Systems International GmbH and all other contributors
* ---
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ---license-end
*/
//
// ChildDismissedDelegate.swift
// DGCAVerifier
//
// Created by Yannick Spreen on 4/20/21.
//

import Foundation

protocol CertViewerDelegate {
func childDismissed()
func openSettings()
}
3 changes: 2 additions & 1 deletion DGCAVerifier/Protocols/ChildDismissedDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

import Foundation

protocol ChildDismissedDelegate {
protocol CertViewerDelegate {
func childDismissed()
func openSettings()
}
83 changes: 58 additions & 25 deletions DGCAVerifier/Storyboards/Base.lproj/LaunchScreen.storyboard
Original file line number Diff line number Diff line change
@@ -1,52 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina4_7" orientation="portrait" appearance="light" />
<device id="retina6_5" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS" />
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17703" />
<capability name="Safe area layout guides" minToolsVersion="9.0" />
<capability name="System colors in document resources" minToolsVersion="11.0" />
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0" />
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17703"/>
<capability name="Named colors" minToolsVersion="9.0"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="414" height="896" />
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES" />
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="hea_dgf_icons-2" translatesAutoresizingMaskIntoConstraints="NO" id="W44-ZU-RIp">
<rect key="frame" x="87.5" y="141.5" width="200" height="200" />
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="verifier_icon" translatesAutoresizingMaskIntoConstraints="NO" id="W44-ZU-RIp">
<rect key="frame" x="151" y="142.33333333333334" width="112" height="150.00000000000003"/>
<constraints>
<constraint firstAttribute="width" constant="200" id="nmQ-8g-dAp" />
<constraint firstAttribute="height" constant="200" id="rTl-re-1de" />
<constraint firstAttribute="width" constant="112" id="nmQ-8g-dAp"/>
<constraint firstAttribute="height" constant="150" id="rTl-re-1de"/>
</constraints>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BaC-Rv-DYO">
<rect key="frame" x="0.0" y="0.0" width="375" height="133.5" />
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace" />
<rect key="frame" x="0.0" y="0.0" width="414" height="134.33333333333334"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Verifier App" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JUh-sx-2bS">
<rect key="frame" x="126.66666666666669" y="300.33333333333331" width="161" height="36"/>
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="30"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VMM-1g-cY1">
<rect key="frame" x="0.0" y="746.66666666666663" width="414" height="149.33333333333337"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="main_eu_logo" translatesAutoresizingMaskIntoConstraints="NO" id="6yJ-bA-6ka">
<rect key="frame" x="117" y="778.66666666666663" width="180" height="51.333333333333371"/>
<constraints>
<constraint firstAttribute="width" constant="180" id="ECM-6l-gA1"/>
<constraint firstAttribute="width" secondItem="6yJ-bA-6ka" secondAttribute="height" multiplier="7:2" id="Ia6-NJ-8nn"/>
</constraints>
</imageView>
</subviews>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY" />
<color key="backgroundColor" red="0.99607843137254903" green="0.93333333333333335" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="displayP3" />
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
<color key="backgroundColor" name="blue"/>
<constraints>
<constraint firstItem="W44-ZU-RIp" firstAttribute="top" secondItem="BaC-Rv-DYO" secondAttribute="bottom" constant="8" id="A1q-lp-Ynh" />
<constraint firstAttribute="trailing" secondItem="BaC-Rv-DYO" secondAttribute="trailing" id="F7A-pY-8Mk" />
<constraint firstItem="BaC-Rv-DYO" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="JHZ-Yo-7a3" />
<constraint firstItem="BaC-Rv-DYO" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="JhQ-xG-reB" />
<constraint firstItem="BaC-Rv-DYO" firstAttribute="height" secondItem="Ze5-6b-2t3" secondAttribute="height" multiplier="0.2" id="g1x-Ss-QDG" />
<constraint firstItem="W44-ZU-RIp" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="qNG-sL-f4L" />
<constraint firstItem="JUh-sx-2bS" firstAttribute="top" secondItem="W44-ZU-RIp" secondAttribute="bottom" constant="8" id="8v4-cp-jMF"/>
<constraint firstItem="W44-ZU-RIp" firstAttribute="top" secondItem="BaC-Rv-DYO" secondAttribute="bottom" constant="8" id="A1q-lp-Ynh"/>
<constraint firstAttribute="trailing" secondItem="BaC-Rv-DYO" secondAttribute="trailing" id="F7A-pY-8Mk"/>
<constraint firstAttribute="bottom" secondItem="VMM-1g-cY1" secondAttribute="bottom" id="Ib9-QC-CnL"/>
<constraint firstItem="BaC-Rv-DYO" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="JHZ-Yo-7a3"/>
<constraint firstItem="BaC-Rv-DYO" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="JhQ-xG-reB"/>
<constraint firstAttribute="trailing" secondItem="VMM-1g-cY1" secondAttribute="trailing" id="Lb8-RL-qcG"/>
<constraint firstItem="6yJ-bA-6ka" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="Wsr-T6-WyF"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="6yJ-bA-6ka" secondAttribute="bottom" constant="32" id="fQA-mo-Dqn"/>
<constraint firstItem="BaC-Rv-DYO" firstAttribute="height" secondItem="Ze5-6b-2t3" secondAttribute="height" multiplier="0.15" id="g1x-Ss-QDG"/>
<constraint firstItem="JUh-sx-2bS" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="lwU-ms-YjN"/>
<constraint firstItem="6yJ-bA-6ka" firstAttribute="top" secondItem="VMM-1g-cY1" secondAttribute="top" constant="32" id="lzZ-XS-1VD"/>
<constraint firstItem="VMM-1g-cY1" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="mim-t1-gus"/>
<constraint firstItem="W44-ZU-RIp" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="qNG-sL-f4L"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder" />
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="52" y="374.66266866566718" />
<point key="canvasLocation" x="50.724637681159422" y="374.33035714285711"/>
</scene>
</scenes>
<resources>
<image name="hea_dgf_icons-2" width="201" height="201" />
<image name="main_eu_logo" width="162" height="42"/>
<image name="verifier_icon" width="112" height="112"/>
<namedColor name="blue">
<color red="0.0" green="0.26666666666666666" blue="0.58039215686274503" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
</resources>
</document>
Loading

0 comments on commit 2aa6305

Please sign in to comment.