Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
Fengshui-Seller-iOS
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Monika Agarwal
Fengshui-Seller-iOS
Commits
3bff6dba
Commit
3bff6dba
authored
Sep 03, 2018
by
Anand.suthar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement audio in chat
parent
1a3bb3d0
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
699 additions
and
113 deletions
+699
-113
Bhagyashree.xcodeproj/project.pbxproj
+5
-1
Bhagyashree.xcworkspace/xcuserdata/sunarcmac.xcuserdatad/UserInterfaceState.xcuserstate
+0
-0
Bhagyashree.xcworkspace/xcuserdata/sunarcmac.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+228
-20
Bhagyashree/AppConfiguration.swift
+2
-2
Bhagyashree/Info.plist
+1
-1
Bhagyashree/Sunarc/Controller/Appointment/CompletedServicesViewController.swift
+1
-0
Bhagyashree/Sunarc/Controller/Appointment/EditResultViewController.swift
+4
-1
Bhagyashree/Sunarc/Controller/Appointment/OnGoingServicesViewController.swift
+1
-0
Bhagyashree/Sunarc/Controller/Appointment/ProcessingViewController.swift
+1
-0
Bhagyashree/Sunarc/Controller/Home/HomePageViewController.swift
+10
-3
Bhagyashree/Sunarc/Controller/Home/OnlineEnquiryViewController.swift
+126
-10
Bhagyashree/Sunarc/Controller/Me/ChangePasswordViewController.swift
+26
-1
Bhagyashree/Sunarc/Controller/Me/IncomeHistoryViewController.swift
+0
-1
Bhagyashree/Sunarc/Controller/Me/SellerProfileViewController.swift
+1
-1
Bhagyashree/Sunarc/Controller/Other/LoginViewController.swift
+13
-12
Bhagyashree/Sunarc/Model/FireBaseChat/Chat.swift
+9
-0
Bhagyashree/Sunarc/Model/Me/Service.swift
+1
-0
Bhagyashree/Sunarc/Model/Me/ServiceExt.swift
+2
-2
Bhagyashree/Sunarc/Model/UploadAudio.swift
+62
-0
Bhagyashree/Sunarc/Model/User.swift
+19
-0
Bhagyashree/Sunarc/Model/UserExt.swift
+7
-1
Bhagyashree/Sunarc/Other/Audio.swift
+25
-15
Bhagyashree/Sunarc/Other/HTTP/API.swift
+3
-0
Bhagyashree/Sunarc/Other/HTTP/HTTP.swift
+30
-4
Bhagyashree/Sunarc/View/Fengshui.storyboard
+3
-3
Bhagyashree/Sunarc/View/Forms.storyboard
+0
-26
Bhagyashree/Sunarc/View/Home.storyboard
+99
-3
Bhagyashree/Sunarc/View/Me.storyboard
+20
-6
No files found.
Bhagyashree.xcodeproj/project.pbxproj
View file @
3bff6dba
...
...
@@ -87,6 +87,7 @@
B098116C212C524900BD7407
/* DrawTextField.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
B098116B212C524900BD7407
/* DrawTextField.swift */
;
};
B09A64BF20F7877E00222611
/* NavigationBarView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
B09A64BE20F7877E00222611
/* NavigationBarView.swift */
;
};
B0A0827920EF924100F78AEC
/* UserSettings.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
B0A0827820EF924100F78AEC
/* UserSettings.swift */
;
};
B0A1F215213AB9F600E17558
/* UploadAudio.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
B0A1F214213AB9F600E17558
/* UploadAudio.swift */
;
};
B0B57165212BFE3700593801
/* ScienceOfNamingContainerViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
B0B57164212BFE3700593801
/* ScienceOfNamingContainerViewController.swift */
;
};
B0B5716F212BFE4E00593801
/* IndividualNamingServiceViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
B0B5716E212BFE4D00593801
/* IndividualNamingServiceViewController.swift */
;
};
B0B57171212BFE6100593801
/* IndividualReNamingServiceViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
B0B57170212BFE6100593801
/* IndividualReNamingServiceViewController.swift */
;
};
...
...
@@ -619,6 +620,7 @@
B098116B212C524900BD7407
/* DrawTextField.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
DrawTextField.swift
;
sourceTree
=
"<group>"
;
};
B09A64BE20F7877E00222611
/* NavigationBarView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
NavigationBarView.swift
;
sourceTree
=
"<group>"
;
};
B0A0827820EF924100F78AEC
/* UserSettings.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
UserSettings.swift
;
sourceTree
=
"<group>"
;
};
B0A1F214213AB9F600E17558
/* UploadAudio.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
UploadAudio.swift
;
sourceTree
=
"<group>"
;
};
B0B57164212BFE3700593801
/* ScienceOfNamingContainerViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
ScienceOfNamingContainerViewController.swift
;
sourceTree
=
"<group>"
;
};
B0B5716E212BFE4D00593801
/* IndividualNamingServiceViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
IndividualNamingServiceViewController.swift
;
sourceTree
=
"<group>"
;
};
B0B57170212BFE6100593801
/* IndividualReNamingServiceViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
IndividualReNamingServiceViewController.swift
;
sourceTree
=
"<group>"
;
};
...
...
@@ -1005,14 +1007,15 @@
isa
=
PBXGroup
;
children
=
(
B0BD88CC212EE7AC00188279
/* Notifications */
,
B04824602128342100B088C0
/* UpdateOrder.swift */
,
B091CD672119A43F00E270BF
/* FireBaseChat */
,
B038371420F37F2F00B68870
/* Appointment */
,
B0F371E320EFB08D000F92D2
/* Home */
,
B08BEE7920F0933600E972D3
/* Me */
,
B04824602128342100B088C0
/* UpdateOrder.swift */
,
B01B217B20EF87E9002AC8D5
/* User.swift */
,
B01B217620EF878A002AC8D5
/* UserExt.swift */
,
B0A0827820EF924100F78AEC
/* UserSettings.swift */
,
B0A1F214213AB9F600E17558
/* UploadAudio.swift */
,
);
path
=
Model
;
sourceTree
=
"<group>"
;
...
...
@@ -2582,6 +2585,7 @@
EC04CFD32052CF2A00B425BB
/* PasswordToggleVisibilityView.swift in Sources */
,
EC04CE1A2052CDA300B425BB
/* SellerDashBoardController.swift in Sources */
,
B024388B20B53D5D007D12AE
/* HomePageViewController.swift in Sources */
,
B0A1F215213AB9F600E17558
/* UploadAudio.swift in Sources */
,
EC04CEDF2052CE6700B425BB
/* MyOrderTableViewCell.swift in Sources */
,
EC04CFBA2052CF2A00B425BB
/* CHILayer.swift in Sources */
,
EC04CDAD2052CD3500B425BB
/* SellerListViewCell.swift in Sources */
,
...
...
Bhagyashree.xcworkspace/xcuserdata/sunarcmac.xcuserdatad/UserInterfaceState.xcuserstate
View file @
3bff6dba
No preview for this file type
Bhagyashree.xcworkspace/xcuserdata/sunarcmac.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
View file @
3bff6dba
...
...
@@ -10,7 +10,7 @@
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Model/Appointment/EditResult.swift"
timestampString =
"55
6699185.727886
"
timestampString =
"55
7500375.461725
"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"74"
...
...
@@ -26,7 +26,7 @@
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Model/Appointment/EditResult.swift"
timestampString =
"55
6699185.7279789
"
timestampString =
"55
7500375.461798
"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"51"
...
...
@@ -106,12 +106,28 @@
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Model/UserExt.swift"
timestampString =
"557
228254.156836
"
timestampString =
"557
488994.463275
"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"236"
endingLineNumber =
"236"
landmarkName =
"callAPI(oldPassword:newPassword:success:failure:)"
startingLineNumber =
"242"
endingLineNumber =
"242"
landmarkName =
"changePassword(oldPassword:newPassword:success:failure:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Model/UserExt.swift"
timestampString =
"557488994.463385"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"244"
endingLineNumber =
"244"
landmarkName =
"changePassword(oldPassword:newPassword:success:failure:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
...
...
@@ -122,13 +138,13 @@
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Controller/Me/ChangePasswordViewController.swift"
timestampString =
"5572
28596.923306
9"
timestampString =
"5572
39644.457209
9"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"3
2
"
endingLineNumber =
"3
2
"
landmarkName =
"
unknown
"
landmarkType =
"
0
"
>
startingLineNumber =
"3
5
"
endingLineNumber =
"3
5
"
landmarkName =
"
confirm()
"
landmarkType =
"
7
"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
...
...
@@ -138,13 +154,45 @@
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Controller/Me/ChangePasswordViewController.swift"
timestampString =
"5572
28598.131186
"
timestampString =
"5572
39644.457275
"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"30"
endingLineNumber =
"30"
landmarkName =
"unknown"
landmarkType =
"0"
>
startingLineNumber =
"37"
endingLineNumber =
"37"
landmarkName =
"confirm()"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString =
"557657330.042726"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"182"
endingLineNumber =
"182"
landmarkName =
"connectWithoutRequestObject(api:parameters:method:contentType:indicator:success:failure:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString =
"557657330.0428081"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"92"
endingLineNumber =
"92"
landmarkName =
"connectWithRequestObject(api:parameters:method:contentType:indicator:success:failure:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
...
...
@@ -154,12 +202,172 @@
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Model/UserExt.swift"
timestampString =
"557
228607.042542
"
timestampString =
"557
488994.46451
"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"238"
endingLineNumber =
"238"
landmarkName =
"changePassword(oldPassword:newPassword:success:failure:)"
startingLineNumber =
"59"
endingLineNumber =
"59"
landmarkName =
"login(email:password:success:failure:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Model/UserExt.swift"
timestampString =
"557488994.464582"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"114"
endingLineNumber =
"114"
landmarkName =
"getMagentoToken(_:password:success:failur:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Model/Home/Income/IncomeExt.swift"
timestampString =
"557488392.706923"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"22"
endingLineNumber =
"22"
landmarkName =
"nextPage(success:failuer:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Controller/Me/IncomeHistoryViewController.swift"
timestampString =
"557488994.4646699"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"60"
endingLineNumber =
"60"
landmarkName =
"income(nextPage:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Controller/Appointment/EditResultViewController.swift"
timestampString =
"557492849.897043"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"253"
endingLineNumber =
"253"
landmarkName =
"recordedAudio(filePath:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString =
"557657330.04295"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"301"
endingLineNumber =
"301"
landmarkName =
"uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString =
"557657330.043007"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"288"
endingLineNumber =
"288"
landmarkName =
"uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString =
"557657330.043063"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"291"
endingLineNumber =
"291"
landmarkName =
"uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString =
"557657330.043118"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"297"
endingLineNumber =
"297"
landmarkName =
"uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString =
"557657330.043171"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"281"
endingLineNumber =
"281"
landmarkName =
"uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID =
"Xcode.Breakpoint.FileBreakpoint"
>
<BreakpointContent
shouldBeEnabled =
"Yes"
ignoreCount =
"0"
continueAfterRunningActions =
"No"
filePath =
"Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString =
"557657330.043225"
startingColumnNumber =
"9223372036854775807"
endingColumnNumber =
"9223372036854775807"
startingLineNumber =
"277"
endingLineNumber =
"277"
landmarkName =
"uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType =
"7"
>
</BreakpointContent>
</BreakpointProxy>
...
...
Bhagyashree/AppConfiguration.swift
View file @
3bff6dba
...
...
@@ -15,8 +15,8 @@ var DEFAULT_WEBSITE_ID = "1"
var
BASE_DOMAIN
=
"http://18.136.9.203"
// test
//
var BASE_DOMAIN = "http://54.251.144.17" // dev
//
var BASE_DOMAIN = "http://18.136.9.203" // test
var
BASE_DOMAIN
=
"http://54.251.144.17"
// dev
//var BASE_DOMAIN = "http://13.251.93.24"
var
HOST_NAME
=
BASE_DOMAIN
+
"/index.php/"
...
...
Bhagyashree/Info.plist
View file @
3bff6dba
...
...
@@ -17,7 +17,7 @@
<
k
e
y
>
CFBundleShortVersionString
<
/k
e
y
>
<
string
>
1.0
<
/string
>
<
k
e
y
>
CFBundleVersion
<
/k
e
y
>
<
string
>
9
<
/string
>
<
string
>
10
<
/string
>
<
k
e
y
>
Fabric
<
/k
e
y
>
<
d
i
c
t
>
<
k
e
y
>
APIKey
<
/k
e
y
>
...
...
Bhagyashree/Sunarc/Controller/Appointment/CompletedServicesViewController.swift
View file @
3bff6dba
...
...
@@ -18,6 +18,7 @@ class CompletedServicesViewController: BaseViewController {
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
service
.
isBooking
=
true
self
.
setupRefreshHeaderFooter
()
}
...
...
Bhagyashree/Sunarc/Controller/Appointment/EditResultViewController.swift
View file @
3bff6dba
...
...
@@ -130,7 +130,7 @@ extension EditResultViewController: UITableViewDelegate, UITableViewDataSource {
case
3
:
return
1
case
4
:
return
0
return
1
case
5
:
return
audioRecordings
.
count
default
:
...
...
@@ -249,6 +249,9 @@ extension EditResultViewController: EditResultProductCellDelegate {
extension
EditResultViewController
:
AudioRecordingCellDelegate
{
func
recordedAudio
(
filePath
:
String
)
{
print
(
filePath
)
let
audioRecording
=
AudioRecording
(
audioPath
:
filePath
)
self
.
audioRecordings
.
append
(
audioRecording
)
tblresult
.
reloadData
()
...
...
Bhagyashree/Sunarc/Controller/Appointment/OnGoingServicesViewController.swift
View file @
3bff6dba
...
...
@@ -24,6 +24,7 @@ class OnGoingServicesViewController: BaseViewController {
override
func
viewDidAppear
(
_
animated
:
Bool
)
{
super
.
viewDidAppear
(
animated
)
service
.
isBooking
=
true
if
service
.
services
.
count
==
0
{
tblOnGoingNotices
.
mj_header
.
beginRefreshing
()
}
...
...
Bhagyashree/Sunarc/Controller/Appointment/ProcessingViewController.swift
View file @
3bff6dba
...
...
@@ -18,6 +18,7 @@ class ProcessingViewController: BaseViewController {
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
service
.
isBooking
=
true
self
.
setupRefreshHeaderFooter
()
}
...
...
Bhagyashree/Sunarc/Controller/Home/HomePageViewController.swift
View file @
3bff6dba
...
...
@@ -152,11 +152,18 @@ extension HomePageViewController: UITableViewDelegate, UITableViewDataSource {
}
else
if
order
.
products
.
first
?
.
serviceType
==
.
FORM
{
if
let
form
=
Form
.
VC
(
with
:
order
.
incrementId
!
,
orderId
:
order
.
orderId
!
,
categoryType
:
order
.
products
.
first
!.
categoryType
){
self
.
navigationController
?
.
pushViewController
(
form
,
animated
:
true
)
if
order
.
status
==
.
COMPLETE
{
let
appointmentdetails
=
Utils
.
viewController
(
storyboardName
:
"Appointment"
,
ofType
:
ServiceDetailViewController
.
self
)
appointmentdetails
.
serviceStatus
=
.
tbc
appointmentdetails
.
incrementId
=
order
.
incrementId
appointmentdetails
.
orderId
=
order
.
orderId
self
.
navigationController
?
.
pushViewController
(
appointmentdetails
,
animated
:
true
)
}
else
{
if
let
form
=
Form
.
VC
(
with
:
order
.
incrementId
!
,
orderId
:
order
.
orderId
!
,
categoryType
:
order
.
products
.
first
!.
categoryType
){
self
.
navigationController
?
.
pushViewController
(
form
,
animated
:
true
)
}
}
}
else
{
self
.
view
.
showToast
(
"Unknown service"
,
position
:
.
bottom
,
popTime
:
2.0
,
dismissOnTap
:
false
)
}
...
...
Bhagyashree/Sunarc/Controller/Home/OnlineEnquiryViewController.swift
View file @
3bff6dba
...
...
@@ -99,6 +99,7 @@ extension OnlineEnquiryViewController {
ref
.
childByAutoId
()
.
setValue
([
"msg"
:
txtComment
.
text
,
"name"
:
"Seller"
,
"status"
:
"unread"
,
"chatType"
:
"Text"
,
"timestamp"
:
ServerValue
.
timestamp
()
])
...
...
@@ -132,6 +133,38 @@ extension OnlineEnquiryViewController {
@IBAction
func
back
()
{
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
}
@IBAction
func
startRecordAudio
()
{
Audio
.
startRecording
(
success
:
{
print
(
"recording started"
)
})
{
(
errorMessage
)
in
self
.
view
.
showToast
(
errorMessage
,
position
:
.
bottom
,
popTime
:
2.0
,
dismissOnTap
:
false
)
}
}
@IBAction
func
endRecordAudio
()
{
Audio
.
stopRecording
(
success
:
{
(
filePath
)
in
UploadAudio
.
upload
(
file
:
filePath
,
success
:
{
(
webPath
)
in
self
.
ref
.
childByAutoId
()
.
setValue
([
"msg"
:
webPath
,
"name"
:
"Seller"
,
"status"
:
"unread"
,
"chatType"
:
"Audio"
,
"timestamp"
:
ServerValue
.
timestamp
()
])
},
failur
:
{
(
errorMessage
)
in
self
.
view
.
showToast
(
errorMessage
,
position
:
.
bottom
,
popTime
:
2.0
,
dismissOnTap
:
false
)
})
})
{
(
errorMessage
)
in
print
(
errorMessage
)
}
}
}
...
...
@@ -148,18 +181,31 @@ extension OnlineEnquiryViewController: UITableViewDelegate, UITableViewDataSourc
let
chat
=
chats
[
indexPath
.
row
]
if
chat
.
name
==
"Seller"
{
let
masterCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"master"
)
as!
OnlineEnquiryMasterCell
masterCell
.
lblMessage
.
text
=
chat
.
msg
return
masterCell
}
else
{
let
customerCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"customer"
)
as!
OnlineEnquiryCustomerCell
customerCell
.
lblMessage
.
text
=
chat
.
msg
customerCell
.
customerProfileImage
=
customerProfileImage
return
customerCell
if
chat
.
chatType
==
.
text
{
if
chat
.
name
==
"Seller"
{
let
masterCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"master"
)
as!
OnlineEnquiryMasterCell
masterCell
.
lblMessage
.
text
=
chat
.
msg
return
masterCell
}
else
{
let
customerCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"customer"
)
as!
OnlineEnquiryCustomerCell
customerCell
.
lblMessage
.
text
=
chat
.
msg
customerCell
.
customerProfileImage
=
customerProfileImage
return
customerCell
}
}
else
if
chat
.
chatType
==
.
audio
{
if
chat
.
name
==
"Seller"
{
let
masterAudioCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"masterAudio"
)
as!
OnlineEnquiryMasterAudioCell
masterAudioCell
.
audioPath
=
chat
.
msg
return
masterAudioCell
}
else
{
let
customerAudioCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"customerAudio"
)
as!
OnlineEnquiryCustomerAudioCell
customerAudioCell
.
audioPath
=
chat
.
msg
customerAudioCell
.
customerProfileImage
=
customerProfileImage
return
customerAudioCell
}
}
return
UITableViewCell
()
}
}
...
...
@@ -224,3 +270,73 @@ class OnlineEnquiryCustomerCell: UITableViewCell {
}
}
class
OnlineEnquiryMasterAudioCell
:
UITableViewCell
{
@IBOutlet
var
btnPlay
:
UIButton
!
var
audioPath
:
String
?
@IBOutlet
var
imgMaster
:
UIImageView
!
@IBAction
func
play
()
{
if
let
audioPath
=
audioPath
{
Audio
.
playAudio
(
audioPath
:
audioPath
,
success
:
{
})
{
(
errorMesssage
)
in
self
.
viewController
()?
.
view
.
showToast
(
errorMesssage
,
position
:
.
bottom
,
popTime
:
2.0
,
dismissOnTap
:
false
)
}
}
else
{
self
.
viewController
()?
.
view
.
showToast
(
"Audio missing"
,
position
:
.
bottom
,
popTime
:
2.0
,
dismissOnTap
:
false
)
}
}
override
func
layoutIfNeeded
()
{
imgMaster
.
layer
.
cornerRadius
=
imgMaster
.
frame
.
size
.
width
/
2
if
let
profileImage
=
User
.
profileImage
{
let
url
=
URL
(
string
:
profileImage
)
self
.
imgMaster
.
kf
.
setImage
(
with
:
url
,
placeholder
:
UIImage
(
named
:
"placeholder"
),
options
:
[
.
transition
(
ImageTransition
.
fade
(
1
)),
.
scaleFactor
(
1.0
)],
progressBlock
:
nil
,
completionHandler
:
nil
)
}
}
}
class
OnlineEnquiryCustomerAudioCell
:
UITableViewCell
{
@IBOutlet
var
btnPlay
:
UIButton
!
var
audioPath
:
String
?
var
customerProfileImage
:
String
?
@IBOutlet
var
imgCostomer
:
UIImageView
!
@IBAction
func
play
()
{
if
let
audioPath
=
audioPath
{
Audio
.
playAudio
(
audioPath
:
audioPath
,
success
:
{
})
{
(
errorMesssage
)
in
self
.
viewController
()?
.
view
.
showToast
(
errorMesssage
,
position
:
.
bottom
,
popTime
:
2.0
,
dismissOnTap
:
false
)
}
}
else
{
self
.
viewController
()?
.
view
.
showToast
(
"Audio missing"
,
position
:
.
bottom
,
popTime
:
2.0
,
dismissOnTap
:
false
)
}
}
override
func
layoutIfNeeded
()
{
imgCostomer
.
layer
.
cornerRadius
=
imgCostomer
.
frame
.
size
.
width
/
2
if
let
customerProfileImage
=
customerProfileImage
{
let
url
=
URL
(
string
:
customerProfileImage
)
self
.
imgCostomer
.
kf
.
setImage
(
with
:
url
,
placeholder
:
UIImage
(
named
:
"placeholder"
),
options
:
[
.
transition
(
ImageTransition
.
fade
(
1
)),
.
scaleFactor
(
1.0
)],
progressBlock
:
nil
,
completionHandler
:
nil
)
}
}
}
Bhagyashree/Sunarc/Controller/Me/ChangePasswordViewController.swift
View file @
3bff6dba
...
...
@@ -55,7 +55,7 @@ class ChangePasswordViewController: UIViewController {
}
if
txt
Current
Password
.
text
!=
txtConfirmPassword
.
text
{
if
txt
New
Password
.
text
!=
txtConfirmPassword
.
text
{
self
.
view
.
showToast
(
"New password and current password should be same"
,
position
:
.
bottom
,
popTime
:
2.0
,
dismissOnTap
:
false
)
return
false
}
...
...
@@ -66,3 +66,28 @@ class ChangePasswordViewController: UIViewController {
}
extension
ChangePasswordViewController
:
UITextFieldDelegate
{
func
textFieldShouldReturn
(
_
textField
:
UITextField
)
->
Bool
{
if
textField
==
txtCurrentPassword
{
txtNewPassword
.
becomeFirstResponder
()
}
else
if
textField
==
txtNewPassword
{
txtConfirmPassword
.
becomeFirstResponder
()
}
else
if
textField
==
txtConfirmPassword
{
self
.
confirm
()
}
return
true
}
}
Bhagyashree/Sunarc/Controller/Me/IncomeHistoryViewController.swift
View file @
3bff6dba
...
...
@@ -57,7 +57,6 @@ class IncomeHistoryViewController: BaseViewController {
self
.
tblIncome
.
reloadData
()
self
.
tblIncome
.
mj_footer
.
endRefreshing
()
})
{
(
errorMessage
)
in
self
.
tblIncome
.
reloadData
()
self
.
tblIncome
.
mj_footer
.
endRefreshing
()
self
.
view
.
showToast
(
errorMessage
,
position
:
.
bottom
,
popTime
:
2.0
,
dismissOnTap
:
false
)
}
...
...
Bhagyashree/Sunarc/Controller/Me/SellerProfileViewController.swift
View file @
3bff6dba
...
...
@@ -127,7 +127,7 @@ extension SellerProfileViewController {
@IBAction
func
logout
()
{
// User.logout(success: {
User
.
isLoggedIn
=
false
User
.
clearData
()
let
loginVc
=
Utils
.
viewController
(
storyboardName
:
"Fengshui"
,
ofType
:
LoginViewController
.
self
)
self
.
present
(
loginVc
,
animated
:
true
,
completion
:
nil
)
// }) { (errorMessage) in
...
...
Bhagyashree/Sunarc/Controller/Other/LoginViewController.swift
View file @
3bff6dba
...
...
@@ -14,10 +14,11 @@ class LoginViewController: BaseViewController {
@IBOutlet
var
txtPassword
:
UITextField
!
@IBOutlet
var
imgCheckUncheck
:
UIImageView
!
var
isRemember
=
false
//
var isRemember = false
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
UserSettings
.
rememberPassword
=
true
}
}
...
...
@@ -27,17 +28,17 @@ class LoginViewController: BaseViewController {
extension
LoginViewController
{
@IBAction
func
rememberPassword
()
{
if
isRemember
==
false
{
isRemember
=
true
imgCheckUncheck
.
image
=
UIImage
(
named
:
"check"
)
UserSettings
.
rememberPassword
=
true
}
else
{
isRemember
=
false
imgCheckUncheck
.
image
=
UIImage
(
named
:
"uncheck"
)
UserSettings
.
rememberPassword
=
false
}
}
//
@IBAction func rememberPassword() {
//
if isRemember == false {
//
isRemember = true
//
imgCheckUncheck.image = UIImage(named: "check")
//
UserSettings.rememberPassword = true
//
} else {
//
isRemember = false
//
imgCheckUncheck.image = UIImage(named: "uncheck")
//
UserSettings.rememberPassword = false
//
}
//
}
@IBAction
func
forgetPassword
()
{
...
...
Bhagyashree/Sunarc/Model/FireBaseChat/Chat.swift
View file @
3bff6dba
...
...
@@ -9,6 +9,11 @@
import
Foundation
import
FirebaseDatabase
enum
ChatType
:
String
{
case
audio
=
"Audio"
case
text
=
"Text"
}
class
Chat
{
let
msg
:
String
!
...
...
@@ -16,6 +21,7 @@ class Chat {
let
readStatus
:
String
!
var
timeStamp
:
TimeInterval
=
0
let
chatId
:
String
!
var
chatType
=
ChatType
.
text
init
(
json
:
[
String
:
Any
],
chatId
:
String
)
{
...
...
@@ -27,6 +33,9 @@ class Chat {
if
let
timeStamp
=
json
[
"timestamp"
]
as?
Int64
{
self
.
timeStamp
=
TimeInterval
(
exactly
:
timeStamp
)
!
}
if
let
fileType_
=
json
[
"chatType"
]
as?
String
{
self
.
chatType
=
ChatType
(
rawValue
:
fileType_
)
!
}
}
...
...
Bhagyashree/Sunarc/Model/Me/Service.swift
View file @
3bff6dba
...
...
@@ -40,6 +40,7 @@ class Service {
var
currentPage
=
1
var
maxPageNo
=
0
var
isBooking
=
false
var
services
=
[
Service
]()
...
...
Bhagyashree/Sunarc/Model/Me/ServiceExt.swift
View file @
3bff6dba
...
...
@@ -49,13 +49,13 @@ extension Service {
"storeId"
:
UserDefaults
.
standard
.
value
(
forKey
:
"storeId"
)
as!
String
,
"status"
:
statusParameter
,
"pageNumber"
:
self
.
currentPage
,
"type"
:
"booking
"
"type"
:
isBooking
==
true
?
"booking"
:
"
"
]
}
else
{
parameters
=
[
"customerId"
:
User
.
customerId
,
"storeId"
:
UserDefaults
.
standard
.
value
(
forKey
:
"storeId"
)
as!
String
,
"pageNumber"
:
self
.
currentPage
,
"type"
:
"booking
"
"type"
:
isBooking
==
true
?
"booking"
:
"
"
]
}
...
...
Bhagyashree/Sunarc/Model/UploadAudio.swift
0 → 100644
View file @
3bff6dba
//
// UploadAudio.swift
// Bhagyashree
//
// Created by SunarcMAC on 01/09/18.
// Copyright © 2018 Sunarc. All rights reserved.
//
import
Foundation
import
SVProgressHUD
class
UploadAudio
{
class
func
upload
(
file
:
String
,
success
:
@escaping
(
_
webPath
:
String
)
->
Void
,
failur
:
@escaping
(
_
errorMessage
:
String
)
->
Void
)
{
let
url
=
URL
(
fileURLWithPath
:
file
)
SVProgressHUD
.
show
()
HTTP
()
.
uploadFileTmp
(
withThumbNail
:
nil
,
api
:
API
.
REPLY_AUDIO
,
filePath
:
url
,
type
:
"reply_audio"
)
{
(
response
,
error
)
in
if
error
==
nil
{
if
response
!.
count
>
0
{
if
let
data
=
response
!
[
0
][
"data"
]
as?
[[
String
:
Any
]]
{
if
data
.
count
>
0
{
var
webPath
=
""
if
let
relativePath
=
data
[
0
][
"relative_path"
]
as?
String
{
webPath
+=
relativePath
}
if
let
file
=
data
[
0
][
"file"
]
as?
String
{
webPath
+=
file
}
SVProgressHUD
.
dismiss
()
success
(
webPath
)
}
else
{
SVProgressHUD
.
dismiss
()
failur
(
"Try again"
)
}
}
else
{
SVProgressHUD
.
dismiss
()
failur
(
"Try again"
)
}
}
else
{
SVProgressHUD
.
dismiss
()
failur
(
"Try again"
)
}
}
else
{
SVProgressHUD
.
dismiss
()
failur
(
error
!.
localizedDescription
)
}
}
}
}
Bhagyashree/Sunarc/Model/User.swift
View file @
3bff6dba
...
...
@@ -146,6 +146,25 @@ class User {
}
}
class
func
clearData
()
{
User
.
speciality
=
nil
User
.
bearerToken
=
nil
User
.
gender
=
nil
User
.
professionalLevel
=
nil
User
.
isOnline
=
false
User
.
isLoggedIn
=
false
User
.
title
=
nil
User
.
profileImage
=
nil
User
.
message
=
nil
User
.
isSeller
=
false
User
.
customerFullName
=
nil
User
.
customerId
=
0
User
.
customerEmail
=
nil
User
.
cartCount
=
0
User
.
bannerImage
=
nil
}
}
Bhagyashree/Sunarc/Model/UserExt.swift
View file @
3bff6dba
...
...
@@ -4,7 +4,7 @@
//
// Created by SunarcMAC on 06/07/18.
// Copyright © 2018 Sunarc. All rights reserved.
//
//
nervous
import
Foundation
...
...
@@ -55,6 +55,9 @@ extension User {
]
HTTP
()
.
connectionWithRequestObjectFormUrl
(
api
:
API
.
LOGIN
,
parameters
:
parameters
,
method
:
.
post
,
indicator
:
true
,
success
:
{
(
response
)
in
print
(
response
)
if
let
response
=
response
as?
[
String
:
Any
]
{
User
.
message
=
response
[
"message"
]
as?
String
...
...
@@ -107,6 +110,9 @@ extension User {
let
paramenters
=
[
"username"
:
email
,
"password"
:
password
]
HTTP
()
.
connectionWithRequestObject
(
api
:
API
.
MAGENTO_TOKEN
,
parameters
:
paramenters
,
method
:
.
post
,
indicator
:
true
,
success
:
{
(
successToken
)
in
print
(
successToken
)
User
.
bearerToken
=
successToken
as?
String
success
()
},
failure
:
{
(
errorMessage
)
in
...
...
Bhagyashree/Sunarc/Other/Audio.swift
View file @
3bff6dba
...
...
@@ -13,7 +13,7 @@ import AVFoundation
class
Audio
{
var
audioRecorder
:
AVAudioRecorder
!
var
audioPlayer
:
AV
Audio
Player
?
var
audioPlayer
:
AVPlayer
?
var
currentRecordingPath
:
String
?
static
let
shared
=
Audio
()
...
...
@@ -35,16 +35,13 @@ class Audio {
try
audioSession
.
setCategory
(
AVAudioSessionCategoryRecord
)
try
audioSession
.
setActive
(
true
)
Audio
.
shared
.
currentRecordingPath
=
NSTemporaryDirectory
()
+
"
\(
Audio
.
shared
.
Timestamp
)
.
caf
"
Audio
.
shared
.
currentRecordingPath
=
NSTemporaryDirectory
()
+
"
\(
Audio
.
shared
.
Timestamp
)
.
m4a
"
let
url
=
URL
(
fileURLWithPath
:
Audio
.
shared
.
currentRecordingPath
!
)
let
recordSettings
:
[
String
:
Any
]
=
[
AVFormatIDKey
:
kAudioFormatAppleIMA4
,
AVSampleRateKey
:
44100.0
,
AVNumberOfChannelsKey
:
2
,
AVEncoderBitRateKey
:
12800
,
AVLinearPCMBitDepthKey
:
16
,
AVEncoderAudioQualityKey
:
AVAudioQuality
.
max
.
rawValue
let
recordSettings
:
[
String
:
Any
]
=
[
AVFormatIDKey
:
kAudioFormatMPEG4AAC
,
AVSampleRateKey
:
12000.0
,
AVNumberOfChannelsKey
:
1
,
AVEncoderAudioQualityKey
:
AVAudioQuality
.
high
.
rawValue
]
Audio
.
shared
.
audioRecorder
=
try
AVAudioRecorder
(
url
:
url
,
settings
:
recordSettings
)
...
...
@@ -67,14 +64,27 @@ class Audio {
class
func
playAudio
(
audioPath
:
String
,
success
:()
->
Void
,
failure
:
(
_
message
:
String
)
->
Void
)
{
let
audioURL
=
URL
(
fileURLWithPath
:
audioPath
)
//
let audioURL = URL(fileURLWithPath: audioPath)
do
{
try
AVAudioSession
.
sharedInstance
()
.
setCategory
(
AVAudioSessionCategoryPlayback
)
try
AVAudioSession
.
sharedInstance
()
.
setActive
(
true
)
try
Audio
.
shared
.
audioPlayer
=
AVAudioPlayer
(
contentsOf
:
audioURL
)
Audio
.
shared
.
audioPlayer
!.
prepareToPlay
()
Audio
.
shared
.
audioPlayer
!.
play
()
let
url
=
URL
(
string
:
audioPath
)
// let playerItem:AVPlayerItem = AVPlayerItem(url: url!)
// Audio.shared.audioPlayer = AVPlayer(playerItem: playerItem)
//
Audio
.
shared
.
audioPlayer
=
AVPlayer
(
url
:
url
!
)
Audio
.
shared
.
audioPlayer
?
.
play
()
// if Audio.shared.audioPlayer?.rate == 0 {
// Audio.shared.audioPlayer?.play()
// } else {
// Audio.shared.audioPlayer?.pause()
// }
// try Audio.shared.audioPlayer = AVAudioPlayer(contentsOf: audioURL)
// Audio.shared.audioPlayer!.prepareToPlay()
// Audio.shared.audioPlayer!.play()
success
()
}
catch
{
failure
(
error
.
localizedDescription
)
...
...
Bhagyashree/Sunarc/Other/HTTP/API.swift
View file @
3bff6dba
...
...
@@ -44,6 +44,9 @@ class API {
// Notification
static
let
NOTIFICATION
=
"mobikulhttp/extra/notificationList"
// Other
static
let
AUDIO_UPLOAD
=
"/rest/V1/service/uploadAudio"
}
...
...
Bhagyashree/Sunarc/Other/HTTP/HTTP.swift
View file @
3bff6dba
...
...
@@ -103,10 +103,12 @@ class HTTP: NSObject {
}
else
{
User
.
regenerateToken
{
// generate magento token
if
contentType
==
"application/x-www-form-urlencoded"
{
HTTP
()
.
connectionWithRequestObjectFormUrl
(
api
:
api
,
parameters
:
parameters
,
method
:
method
,
indicator
:
indicator
,
success
:
success
,
failure
:
failure
)
}
else
{
HTTP
()
.
connectionWithRequestObject
(
api
:
api
,
parameters
:
parameters
,
method
:
method
,
indicator
:
indicator
,
success
:
success
,
failure
:
failure
)
if
api
==
API
.
MAGENTO_TOKEN
{
if
contentType
==
"application/x-www-form-urlencoded"
{
HTTP
()
.
connectionWithRequestObjectFormUrl
(
api
:
api
,
parameters
:
parameters
,
method
:
method
,
indicator
:
indicator
,
success
:
success
,
failure
:
failure
)
}
else
{
HTTP
()
.
connectionWithRequestObject
(
api
:
api
,
parameters
:
parameters
,
method
:
method
,
indicator
:
indicator
,
success
:
success
,
failure
:
failure
)
}
}
}
...
...
@@ -255,8 +257,12 @@ extension HTTP {
if
let
token
=
User
.
bearerToken
{
headers
[
"Authorization"
]
=
"Bearer
\(
token
)
"
}
if
let
authKey
:
String
=
UserDefaults
.
standard
.
value
(
forKey
:
"authKey"
)
as?
String
{
headers
[
"authKey"
]
=
authKey
}
Alamofire
.
upload
(
multipartFormData
:
{
(
multipartFormData
:
MultipartFormData
)
in
multipartFormData
.
append
(
filePath
,
withName
:
type
)
},
usingThreshold
:
SessionManager
.
multipartFormDataEncodingMemoryThreshold
,
...
...
@@ -268,6 +274,16 @@ extension HTTP {
upload
.
responseJSON
(
completionHandler
:
{
(
dataResponse
:
DataResponse
)
in
do
{
if
let
data
=
dataResponse
.
data
{
let
str
=
String
(
data
:
data
,
encoding
:
String
.
Encoding
.
utf8
)
as
String
!
print
(
str
)
if
let
respo
=
try
JSONSerialization
.
jsonObject
(
with
:
data
,
options
:
JSONSerialization
.
ReadingOptions
())
as?
String
{
print
(
respo
)
}
if
let
arrayResponse
=
try
JSONSerialization
.
jsonObject
(
with
:
data
,
options
:
JSONSerialization
.
ReadingOptions
())
as?
[[
String
:
Any
]]
{
if
arrayResponse
.
count
>
0
{
...
...
@@ -298,6 +314,15 @@ extension HTTP {
if
let
token
=
User
.
bearerToken
{
headers
[
"Authorization"
]
=
"Bearer
\(
token
)
"
}
if
let
authKey
:
String
=
UserDefaults
.
standard
.
value
(
forKey
:
"authKey"
)
as?
String
{
headers
[
"authKey"
]
=
authKey
}
print
(
HOST_NAME
+
api
)
print
(
headers
)
print
(
type
)
Alamofire
.
upload
(
multipartFormData
:
{
(
multipartFormData
:
MultipartFormData
)
in
...
...
@@ -310,6 +335,7 @@ extension HTTP {
case
.
success
(
let
upload
,
_
,
_
):
upload
.
responseJSON
(
completionHandler
:
{
(
dataResponse
:
DataResponse
)
in
do
{
if
let
data
=
dataResponse
.
data
{
if
let
arrayResponse
=
try
JSONSerialization
.
jsonObject
(
with
:
data
,
options
:
JSONSerialization
.
ReadingOptions
())
as?
[[
String
:
Any
]]
{
result
(
arrayResponse
,
nil
)
...
...
Bhagyashree/Sunarc/View/Fengshui.storyboard
View file @
3bff6dba
...
...
@@ -616,14 +616,14 @@
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
<imageView
userInteractionEnabled=
"NO"
contentMode=
"scaleToFill"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
image=
"icon"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"ezQ-U5-oO1"
>
<imageView
hidden=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"scaleToFill"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
image=
"icon"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"ezQ-U5-oO1"
>
<rect
key=
"frame"
x=
"53"
y=
"193"
width=
"15"
height=
"15"
/>
<constraints>
<constraint
firstAttribute=
"width"
constant=
"15"
id=
"5gl-Ac-tD7"
/>
<constraint
firstAttribute=
"height"
constant=
"15"
id=
"xDC-bd-fQ4"
/>
</constraints>
</imageView>
<button
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"left"
contentVerticalAlignment=
"center"
lineBreakMode=
"middleTruncation"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"zCh-an-KAU"
>
<button
hidden=
"YES"
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"left"
contentVerticalAlignment=
"center"
lineBreakMode=
"middleTruncation"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"zCh-an-KAU"
>
<rect
key=
"frame"
x=
"71"
y=
"184"
width=
"128"
height=
"34"
/>
<constraints>
<constraint
firstAttribute=
"height"
constant=
"34"
id=
"1bF-Ga-12O"
/>
...
...
@@ -728,7 +728,7 @@
<constraint
firstAttribute=
"bottom"
secondItem=
"r0e-ef-PUj"
secondAttribute=
"bottom"
constant=
"-1"
id=
"wXq-0W-2YS"
/>
</constraints>
</scrollView>
<view
contentMode=
"scaleToFill"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"u1o-98-HT4"
>
<view
hidden=
"YES"
contentMode=
"scaleToFill"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"u1o-98-HT4"
>
<rect
key=
"frame"
x=
"8"
y=
"436"
width=
"359"
height=
"211"
/>
<subviews>
<view
contentMode=
"scaleToFill"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"wJF-Z0-5PM"
>
...
...
Bhagyashree/Sunarc/View/Forms.storyboard
View file @
3bff6dba
...
...
@@ -350,28 +350,6 @@
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</textView>
<button
opaque=
"NO"
tag=
"2"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
buttonType=
"roundedRect"
lineBreakMode=
"middleTruncation"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"aim-ke-KyC"
>
<rect
key=
"frame"
x=
"280"
y=
"757"
width=
"76"
height=
"30"
/>
<constraints>
<constraint
firstAttribute=
"width"
constant=
"76"
id=
"kcR-5W-C0c"
/>
<constraint
firstAttribute=
"height"
constant=
"30"
id=
"lGv-vH-2Od"
/>
</constraints>
<state
key=
"normal"
title=
"Take Piture"
/>
<connections>
<action
selector=
"takePhotoWithBtn:"
destination=
"zhu-Ue-WYE"
eventType=
"touchUpInside"
id=
"0oj-Cu-aAM"
/>
</connections>
</button>
<button
opaque=
"NO"
tag=
"1"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
buttonType=
"roundedRect"
lineBreakMode=
"middleTruncation"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"ig9-fx-7WX"
>
<rect
key=
"frame"
x=
"280"
y=
"619"
width=
"76"
height=
"30"
/>
<constraints>
<constraint
firstAttribute=
"width"
constant=
"76"
id=
"hgA-CL-7kA"
/>
<constraint
firstAttribute=
"height"
constant=
"30"
id=
"xgB-GD-VW2"
/>
</constraints>
<state
key=
"normal"
title=
"Take Piture"
/>
<connections>
<action
selector=
"takePhotoWithBtn:"
destination=
"zhu-Ue-WYE"
eventType=
"touchUpInside"
id=
"4tE-1k-N6F"
/>
</connections>
</button>
<button
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
buttonType=
"roundedRect"
lineBreakMode=
"middleTruncation"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"JU5-Fr-HgQ"
customClass=
"DrawButton"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<rect
key=
"frame"
x=
"83"
y=
"856"
width=
"210"
height=
"36"
/>
<color
key=
"backgroundColor"
red=
"0.0"
green=
"0.42745098040000001"
blue=
"0.56078431370000004"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"sRGB"
/>
...
...
@@ -430,7 +408,6 @@
<constraint
firstItem=
"CGG-SI-m0E"
firstAttribute=
"top"
secondItem=
"JU5-Fr-HgQ"
secondAttribute=
"bottom"
constant=
"14"
id=
"IJs-xw-L2F"
/>
<constraint
firstItem=
"qUd-bh-MaQ"
firstAttribute=
"top"
secondItem=
"nCb-mZ-4Kn"
secondAttribute=
"bottom"
constant=
"21"
id=
"IRt-G9-NTe"
/>
<constraint
firstItem=
"ccy-UX-cXf"
firstAttribute=
"top"
secondItem=
"YHC-d9-7fJ"
secondAttribute=
"bottom"
constant=
"31"
id=
"Jb8-2C-Qwk"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"ig9-fx-7WX"
secondAttribute=
"trailing"
constant=
"19"
id=
"Jc2-Lm-sVt"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"EuR-Ly-5IJ"
secondAttribute=
"trailing"
constant=
"8"
id=
"LLH-HQ-ak5"
/>
<constraint
firstItem=
"T0e-su-JX9"
firstAttribute=
"leading"
secondItem=
"gSe-e2-Qxw"
secondAttribute=
"trailing"
constant=
"6"
id=
"Lb3-XJ-9sZ"
/>
<constraint
firstItem=
"7we-kl-2AX"
firstAttribute=
"centerY"
secondItem=
"nCb-mZ-4Kn"
secondAttribute=
"centerY"
id=
"Mwc-KI-iC8"
/>
...
...
@@ -444,7 +421,6 @@
<constraint
firstItem=
"gSe-e2-Qxw"
firstAttribute=
"centerY"
secondItem=
"H0L-nU-qbv"
secondAttribute=
"centerY"
id=
"XBe-tZ-8sJ"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"QQT-o7-axf"
secondAttribute=
"trailing"
constant=
"7"
id=
"Xvy-7S-tkn"
/>
<constraint
firstItem=
"t92-bJ-nme"
firstAttribute=
"top"
secondItem=
"qUd-bh-MaQ"
secondAttribute=
"bottom"
constant=
"35"
id=
"YVp-XM-3xv"
/>
<constraint
firstItem=
"aim-ke-KyC"
firstAttribute=
"top"
secondItem=
"TXy-Qw-urq"
secondAttribute=
"bottom"
constant=
"54"
id=
"acV-HA-OGm"
/>
<constraint
firstItem=
"RzE-WI-C5J"
firstAttribute=
"leading"
secondItem=
"7we-kl-2AX"
secondAttribute=
"trailing"
constant=
"5"
id=
"bbe-fq-mBJ"
/>
<constraint
firstItem=
"020-VN-qc4"
firstAttribute=
"leading"
secondItem=
"vHx-fe-nbC"
secondAttribute=
"leading"
constant=
"8"
id=
"bgd-D3-rcB"
/>
<constraint
firstItem=
"YHC-d9-7fJ"
firstAttribute=
"top"
secondItem=
"t92-bJ-nme"
secondAttribute=
"bottom"
constant=
"8"
id=
"dr1-Um-5gz"
/>
...
...
@@ -457,11 +433,9 @@
<constraint
firstItem=
"EuR-Ly-5IJ"
firstAttribute=
"top"
secondItem=
"TXy-Qw-urq"
secondAttribute=
"bottom"
constant=
"8"
id=
"kQz-95-MCn"
/>
<constraint
firstItem=
"ccy-UX-cXf"
firstAttribute=
"leading"
secondItem=
"vHx-fe-nbC"
secondAttribute=
"leading"
constant=
"9"
id=
"lnm-ma-NZ1"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"ccy-UX-cXf"
secondAttribute=
"trailing"
constant=
"8"
id=
"mOq-A4-Ks4"
/>
<constraint
firstItem=
"ig9-fx-7WX"
firstAttribute=
"top"
secondItem=
"Ywz-l1-Adc"
secondAttribute=
"bottom"
constant=
"3"
id=
"mVY-MJ-XUS"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"K1J-os-jv9"
secondAttribute=
"trailing"
constant=
"8"
id=
"nV6-Da-sfD"
/>
<constraint
firstItem=
"H0L-nU-qbv"
firstAttribute=
"leading"
secondItem=
"qUd-bh-MaQ"
secondAttribute=
"trailing"
constant=
"23"
id=
"peZ-8I-syB"
/>
<constraint
firstAttribute=
"height"
constant=
"1000"
id=
"rlm-VI-vg6"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"aim-ke-KyC"
secondAttribute=
"trailing"
constant=
"19"
id=
"rz7-Oz-FBa"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"So9-hL-qh7"
secondAttribute=
"trailing"
constant=
"8"
id=
"tF2-y5-JtX"
/>
<constraint
firstItem=
"YHC-d9-7fJ"
firstAttribute=
"leading"
secondItem=
"vHx-fe-nbC"
secondAttribute=
"leading"
constant=
"8"
id=
"w12-my-FJm"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"t92-bJ-nme"
secondAttribute=
"trailing"
constant=
"7"
id=
"xaN-Zb-8yf"
/>
...
...
Bhagyashree/Sunarc/View/Home.storyboard
View file @
3bff6dba
...
...
@@ -1490,7 +1490,7 @@
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
<imageView
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"redraw"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
image=
"profile_image1"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"Mgn-Bk-ZnK"
customClass=
"DrawImage"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<imageView
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"redraw"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"Mgn-Bk-ZnK"
customClass=
"DrawImage"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<rect
key=
"frame"
x=
"8"
y=
"8"
width=
"45"
height=
"45"
/>
<color
key=
"backgroundColor"
red=
"0.80000000000000004"
green=
"0.80000000000000004"
blue=
"0.80000000000000004"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"sRGB"
/>
<constraints>
...
...
@@ -1553,7 +1553,7 @@
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
<imageView
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"redraw"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
image=
"profile_image1"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"W3J-nz-ZzT"
customClass=
"DrawImage"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<imageView
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"redraw"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"W3J-nz-ZzT"
customClass=
"DrawImage"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<rect
key=
"frame"
x=
"322"
y=
"8"
width=
"45"
height=
"45"
/>
<color
key=
"backgroundColor"
red=
"0.80000000000000004"
green=
"0.80000000000000004"
blue=
"0.80000000000000004"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"sRGB"
/>
<constraints>
...
...
@@ -1582,6 +1582,99 @@
<outlet
property=
"lblMessage"
destination=
"tho-QS-me4"
id=
"WSI-Vg-6Ja"
/>
</connections>
</tableViewCell>
<tableViewCell
clipsSubviews=
"YES"
contentMode=
"scaleToFill"
preservesSuperviewLayoutMargins=
"YES"
selectionStyle=
"default"
indentationWidth=
"10"
reuseIdentifier=
"customerAudio"
rowHeight=
"61"
id=
"o1g-bv-fBp"
customClass=
"OnlineEnquiryCustomerAudioCell"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<rect
key=
"frame"
x=
"0.0"
y=
"172"
width=
"375"
height=
"61"
/>
<autoresizingMask
key=
"autoresizingMask"
/>
<tableViewCellContentView
key=
"contentView"
opaque=
"NO"
clipsSubviews=
"YES"
multipleTouchEnabled=
"YES"
contentMode=
"center"
preservesSuperviewLayoutMargins=
"YES"
insetsLayoutMarginsFromSafeArea=
"NO"
tableViewCell=
"o1g-bv-fBp"
id=
"fsO-Dn-hfR"
>
<rect
key=
"frame"
x=
"0.0"
y=
"0.0"
width=
"375"
height=
"61"
/>
<autoresizingMask
key=
"autoresizingMask"
/>
<subviews>
<imageView
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"redraw"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"uUj-A8-ON8"
customClass=
"DrawImage"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<rect
key=
"frame"
x=
"8"
y=
"8"
width=
"45"
height=
"45"
/>
<color
key=
"backgroundColor"
red=
"0.80000000000000004"
green=
"0.80000000000000004"
blue=
"0.80000000000000004"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"sRGB"
/>
<constraints>
<constraint
firstAttribute=
"width"
constant=
"45"
id=
"aw4-MD-OxL"
/>
<constraint
firstAttribute=
"height"
constant=
"45"
id=
"hUZ-CW-Qt8"
/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute
type=
"number"
keyPath=
"cornerRadius"
>
<real
key=
"value"
value=
"22.5"
/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView>
<button
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
buttonType=
"roundedRect"
lineBreakMode=
"middleTruncation"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"Yv0-Ls-SuI"
>
<rect
key=
"frame"
x=
"69"
y=
"8"
width=
"45"
height=
"45"
/>
<constraints>
<constraint
firstAttribute=
"width"
constant=
"45"
id=
"H2u-OT-Ea0"
/>
<constraint
firstAttribute=
"height"
constant=
"45"
id=
"WWu-VI-2Ku"
/>
</constraints>
<state
key=
"normal"
title=
"play"
/>
<connections>
<action
selector=
"play"
destination=
"o1g-bv-fBp"
eventType=
"touchUpInside"
id=
"Lr2-We-MK3"
/>
</connections>
</button>
</subviews>
<color
key=
"backgroundColor"
white=
"1"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"genericGamma22GrayColorSpace"
/>
<constraints>
<constraint
firstItem=
"uUj-A8-ON8"
firstAttribute=
"top"
secondItem=
"fsO-Dn-hfR"
secondAttribute=
"top"
constant=
"8"
id=
"ACl-fp-79Z"
/>
<constraint
firstItem=
"uUj-A8-ON8"
firstAttribute=
"leading"
secondItem=
"fsO-Dn-hfR"
secondAttribute=
"leading"
constant=
"8"
id=
"CWW-To-llp"
/>
<constraint
firstItem=
"Yv0-Ls-SuI"
firstAttribute=
"top"
secondItem=
"fsO-Dn-hfR"
secondAttribute=
"top"
constant=
"8"
id=
"RvO-Ap-0wm"
/>
<constraint
firstItem=
"Yv0-Ls-SuI"
firstAttribute=
"leading"
secondItem=
"uUj-A8-ON8"
secondAttribute=
"trailing"
constant=
"16"
id=
"Vkm-rq-IG4"
/>
<constraint
firstAttribute=
"bottom"
secondItem=
"uUj-A8-ON8"
secondAttribute=
"bottom"
constant=
"8"
id=
"c6Y-zW-VFJ"
/>
<constraint
firstAttribute=
"bottom"
secondItem=
"Yv0-Ls-SuI"
secondAttribute=
"bottom"
constant=
"8"
id=
"sr5-7J-OjO"
/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet
property=
"btnPlay"
destination=
"Yv0-Ls-SuI"
id=
"z8X-dt-3hz"
/>
<outlet
property=
"imgCostomer"
destination=
"uUj-A8-ON8"
id=
"aB2-uK-84T"
/>
</connections>
</tableViewCell>
<tableViewCell
clipsSubviews=
"YES"
contentMode=
"scaleToFill"
preservesSuperviewLayoutMargins=
"YES"
selectionStyle=
"default"
indentationWidth=
"10"
reuseIdentifier=
"masterAudio"
rowHeight=
"61"
id=
"Jpr-96-NaU"
customClass=
"OnlineEnquiryMasterAudioCell"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<rect
key=
"frame"
x=
"0.0"
y=
"233"
width=
"375"
height=
"61"
/>
<autoresizingMask
key=
"autoresizingMask"
/>
<tableViewCellContentView
key=
"contentView"
opaque=
"NO"
clipsSubviews=
"YES"
multipleTouchEnabled=
"YES"
contentMode=
"center"
preservesSuperviewLayoutMargins=
"YES"
insetsLayoutMarginsFromSafeArea=
"NO"
tableViewCell=
"Jpr-96-NaU"
id=
"96A-xb-nLp"
>
<rect
key=
"frame"
x=
"0.0"
y=
"0.0"
width=
"375"
height=
"61"
/>
<autoresizingMask
key=
"autoresizingMask"
/>
<subviews>
<imageView
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"redraw"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"ZeJ-0C-KBp"
customClass=
"DrawImage"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<rect
key=
"frame"
x=
"322"
y=
"8"
width=
"45"
height=
"45"
/>
<color
key=
"backgroundColor"
red=
"0.80000000000000004"
green=
"0.80000000000000004"
blue=
"0.80000000000000004"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"sRGB"
/>
<constraints>
<constraint
firstAttribute=
"height"
constant=
"45"
id=
"Giy-8a-es5"
/>
<constraint
firstAttribute=
"width"
constant=
"45"
id=
"Yly-eu-xGE"
/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute
type=
"number"
keyPath=
"cornerRadius"
>
<real
key=
"value"
value=
"22.5"
/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView>
<button
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
buttonType=
"roundedRect"
lineBreakMode=
"middleTruncation"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"5iO-aw-rRo"
>
<rect
key=
"frame"
x=
"263"
y=
"8"
width=
"45"
height=
"45"
/>
<constraints>
<constraint
firstAttribute=
"width"
constant=
"45"
id=
"Gms-nh-Jxy"
/>
<constraint
firstAttribute=
"height"
constant=
"45"
id=
"bsn-Ba-jPA"
/>
</constraints>
<state
key=
"normal"
title=
"play"
/>
<connections>
<action
selector=
"play"
destination=
"Jpr-96-NaU"
eventType=
"touchUpInside"
id=
"Nmf-Xb-Pzo"
/>
</connections>
</button>
</subviews>
<constraints>
<constraint
firstAttribute=
"bottom"
secondItem=
"5iO-aw-rRo"
secondAttribute=
"bottom"
constant=
"8"
id=
"bP6-zU-bwU"
/>
<constraint
firstItem=
"ZeJ-0C-KBp"
firstAttribute=
"top"
secondItem=
"96A-xb-nLp"
secondAttribute=
"top"
constant=
"8"
id=
"d4a-5t-a75"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"ZeJ-0C-KBp"
secondAttribute=
"trailing"
constant=
"8"
id=
"mf8-Bv-nNA"
/>
<constraint
firstItem=
"5iO-aw-rRo"
firstAttribute=
"top"
secondItem=
"96A-xb-nLp"
secondAttribute=
"top"
constant=
"8"
id=
"pYe-iX-lDR"
/>
<constraint
firstAttribute=
"bottom"
secondItem=
"ZeJ-0C-KBp"
secondAttribute=
"bottom"
constant=
"8"
id=
"rIJ-dG-LgZ"
/>
<constraint
firstItem=
"ZeJ-0C-KBp"
firstAttribute=
"leading"
secondItem=
"5iO-aw-rRo"
secondAttribute=
"trailing"
constant=
"14"
id=
"uKK-LI-YYn"
/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet
property=
"btnPlay"
destination=
"5iO-aw-rRo"
id=
"opK-LU-VAH"
/>
<outlet
property=
"imgMaster"
destination=
"ZeJ-0C-KBp"
id=
"WUH-Pj-W2C"
/>
</connections>
</tableViewCell>
</prototypes>
<connections>
<outlet
property=
"dataSource"
destination=
"Psj-7u-2hR"
id=
"uUJ-UY-a35"
/>
...
...
@@ -1605,6 +1698,10 @@
<constraint
firstAttribute=
"width"
constant=
"30"
id=
"u9Q-h8-dBL"
/>
</constraints>
<state
key=
"normal"
image=
"speech"
/>
<connections>
<action
selector=
"endRecordAudio"
destination=
"Psj-7u-2hR"
eventType=
"touchUpInside"
id=
"COx-x0-XIp"
/>
<action
selector=
"startRecordAudio"
destination=
"Psj-7u-2hR"
eventType=
"touchDown"
id=
"hr3-ci-S7i"
/>
</connections>
</button>
<textView
clipsSubviews=
"YES"
multipleTouchEnabled=
"YES"
contentMode=
"scaleToFill"
textAlignment=
"natural"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"aYB-vl-13h"
>
<rect
key=
"frame"
x=
"47"
y=
"4"
width=
"264"
height=
"37"
/>
...
...
@@ -1723,7 +1820,6 @@
<image
name=
"home"
width=
"25"
height=
"25"
/>
<image
name=
"placeholder"
width=
"140"
height=
"144"
/>
<image
name=
"profile_icon"
width=
"120"
height=
"120"
/>
<image
name=
"profile_image1"
width=
"160"
height=
"160"
/>
<image
name=
"shadow"
width=
"720"
height=
"10"
/>
<image
name=
"speech"
width=
"64"
height=
"64"
/>
<image
name=
"tbc"
width=
"50"
height=
"50"
/>
...
...
Bhagyashree/Sunarc/View/Me.storyboard
View file @
3bff6dba
...
...
@@ -1764,7 +1764,10 @@
<rect
key=
"frame"
x=
"46"
y=
"6"
width=
"269"
height=
"30"
/>
<nil
key=
"textColor"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"14"
/>
<textInputTraits
key=
"textInputTraits"
returnKeyType=
"done"
secureTextEntry=
"YES"
/>
<textInputTraits
key=
"textInputTraits"
returnKeyType=
"next"
secureTextEntry=
"YES"
/>
<connections>
<outlet
property=
"delegate"
destination=
"17r-tI-H77"
id=
"MzH-tj-cGF"
/>
</connections>
</textField>
<imageView
userInteractionEnabled=
"NO"
contentMode=
"scaleAspectFill"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
image=
"security_icon"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"4qQ-Ft-8gD"
>
<rect
key=
"frame"
x=
"13"
y=
"10"
width=
"20"
height=
"20"
/>
...
...
@@ -1805,7 +1808,10 @@
<rect
key=
"frame"
x=
"46"
y=
"6"
width=
"269"
height=
"30"
/>
<nil
key=
"textColor"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"14"
/>
<textInputTraits
key=
"textInputTraits"
returnKeyType=
"done"
secureTextEntry=
"YES"
/>
<textInputTraits
key=
"textInputTraits"
returnKeyType=
"next"
secureTextEntry=
"YES"
/>
<connections>
<outlet
property=
"delegate"
destination=
"17r-tI-H77"
id=
"fVk-S7-5zG"
/>
</connections>
</textField>
<imageView
userInteractionEnabled=
"NO"
contentMode=
"scaleAspectFill"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
image=
"security_icon"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"DGK-rD-8vn"
>
<rect
key=
"frame"
x=
"13"
y=
"10"
width=
"20"
height=
"20"
/>
...
...
@@ -1847,6 +1853,9 @@
<nil
key=
"textColor"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"14"
/>
<textInputTraits
key=
"textInputTraits"
returnKeyType=
"done"
secureTextEntry=
"YES"
/>
<connections>
<outlet
property=
"delegate"
destination=
"17r-tI-H77"
id=
"yMm-tK-8qQ"
/>
</connections>
</textField>
<label
opaque=
"NO"
userInteractionEnabled=
"NO"
contentMode=
"left"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
text=
""
textAlignment=
"natural"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"jJb-Hn-AJy"
>
<rect
key=
"frame"
x=
"0.0"
y=
"43"
width=
"318"
height=
"0.5"
/>
...
...
@@ -1880,10 +1889,13 @@
<constraint
firstItem=
"jJb-Hn-AJy"
firstAttribute=
"top"
secondItem=
"VFb-zZ-plw"
secondAttribute=
"bottom"
constant=
"8"
id=
"qFU-ZW-PIJ"
/>
</constraints>
</view>
<button
opaque=
"NO"
contentMode=
"scaleToFill"
fixedFrame=
"YES"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
buttonType=
"roundedRect"
lineBreakMode=
"middleTruncation"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"2RO-1S-qkH"
customClass=
"DrawButton"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<rect
key=
"frame"
x=
"82"
y=
"292"
width=
"210"
height=
"36"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<button
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
buttonType=
"roundedRect"
lineBreakMode=
"middleTruncation"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"2RO-1S-qkH"
customClass=
"DrawButton"
customModule=
"Bhagyashree"
customModuleProvider=
"target"
>
<rect
key=
"frame"
x=
"82"
y=
"292"
width=
"210"
height=
"33"
/>
<color
key=
"backgroundColor"
red=
"0.0"
green=
"0.42745098040000001"
blue=
"0.56078431370000004"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"sRGB"
/>
<constraints>
<constraint
firstAttribute=
"height"
constant=
"33"
id=
"hri-F0-Xao"
/>
<constraint
firstAttribute=
"width"
constant=
"210"
id=
"tJC-QT-U6Q"
/>
</constraints>
<fontDescription
key=
"fontDescription"
type=
"system"
weight=
"semibold"
pointSize=
"14"
/>
<state
key=
"normal"
title=
"Confirm"
>
<color
key=
"titleColor"
white=
"1"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"genericGamma22GrayColorSpace"
/>
...
...
@@ -1906,6 +1918,8 @@
<constraint
firstItem=
"Alg-cj-2sN"
firstAttribute=
"leading"
secondItem=
"kfl-7B-O6b"
secondAttribute=
"leading"
id=
"J9S-Sm-Akz"
/>
<constraint
firstItem=
"Alg-cj-2sN"
firstAttribute=
"top"
secondItem=
"1dz-b6-rdD"
secondAttribute=
"top"
id=
"TPC-xE-8xn"
/>
<constraint
firstItem=
"jxe-cD-47o"
firstAttribute=
"leading"
secondItem=
"kfl-7B-O6b"
secondAttribute=
"leading"
constant=
"28"
id=
"V7a-7G-J0M"
/>
<constraint
firstItem=
"2RO-1S-qkH"
firstAttribute=
"top"
secondItem=
"jxe-cD-47o"
secondAttribute=
"bottom"
constant=
"40"
id=
"ZuD-ey-pqa"
/>
<constraint
firstItem=
"2RO-1S-qkH"
firstAttribute=
"centerX"
secondItem=
"kfl-7B-O6b"
secondAttribute=
"centerX"
id=
"dxc-Wx-Rfp"
/>
<constraint
firstItem=
"IR0-vK-Y6y"
firstAttribute=
"top"
secondItem=
"Alg-cj-2sN"
secondAttribute=
"bottom"
constant=
"45"
id=
"eIg-qR-eWo"
/>
<constraint
firstItem=
"Alg-cj-2sN"
firstAttribute=
"trailing"
secondItem=
"kfl-7B-O6b"
secondAttribute=
"trailing"
id=
"igz-9j-Xhe"
/>
<constraint
firstItem=
"kfl-7B-O6b"
firstAttribute=
"trailing"
secondItem=
"IR0-vK-Y6y"
secondAttribute=
"trailing"
constant=
"29"
id=
"mRd-ip-QEE"
/>
...
...
@@ -1923,7 +1937,7 @@
</viewController>
<placeholder
placeholderIdentifier=
"IBFirstResponder"
id=
"Bd5-Ua-F52"
userLabel=
"First Responder"
sceneMemberID=
"firstResponder"
/>
</objects>
<point
key=
"canvasLocation"
x=
"348
1"
y=
"-3018
"
/>
<point
key=
"canvasLocation"
x=
"348
0.8000000000002"
y=
"-3018.440779610195
"
/>
</scene>
<!--Me-->
<scene
sceneID=
"ijl-tU-9Jj"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment