From 79d934d819802f9b8af07b53d3b726746adb617d Mon Sep 17 00:00:00 2001 From: mohammad subkhan Date: Thu, 31 Aug 2023 06:51:53 +0700 Subject: [PATCH 1/2] feat: control + i files --- .../UserInterfaceState.xcuserstate | Bin 0 -> 28971 bytes .../xcschemes/xcschememanagement.plist | 14 +++ RedCal/AddPeriod.swift | 92 +++++++++--------- RedCal/MainView.swift | 40 ++++---- RedCal/Model/AnswerManager.swift | 14 +-- RedCal/RedCalApp.swift | 2 +- RedCal/UserPrompt.swift | 52 +++++----- 7 files changed, 114 insertions(+), 100 deletions(-) create mode 100644 RedCal.xcodeproj/project.xcworkspace/xcuserdata/masbekmacpro_m2.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 RedCal.xcodeproj/xcuserdata/masbekmacpro_m2.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/RedCal.xcodeproj/project.xcworkspace/xcuserdata/masbekmacpro_m2.xcuserdatad/UserInterfaceState.xcuserstate b/RedCal.xcodeproj/project.xcworkspace/xcuserdata/masbekmacpro_m2.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..ad63c83d194b836f55c4ddf85a20ad5e2fea1523 GIT binary patch literal 28971 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 G(*FUh8FQ`x literal 0 HcmV?d00001 diff --git a/RedCal.xcodeproj/xcuserdata/masbekmacpro_m2.xcuserdatad/xcschemes/xcschememanagement.plist b/RedCal.xcodeproj/xcuserdata/masbekmacpro_m2.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..356e611 --- /dev/null +++ b/RedCal.xcodeproj/xcuserdata/masbekmacpro_m2.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + RedCal.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/RedCal/AddPeriod.swift b/RedCal/AddPeriod.swift index 30cb5ff..6b4afdb 100644 --- a/RedCal/AddPeriod.swift +++ b/RedCal/AddPeriod.swift @@ -27,56 +27,56 @@ struct AddPeriod: View { var body: some View { NavigationView { - List { - MultiDatePicker("Select Date", selection: $selectedDates, in: bounds!) - .datePickerStyle(GraphicalDatePickerStyle()) - .onChange(of: selectedDates) { dates in - (startDate, endDate) = getFirstAndLastDate(from: selectedDates) - - let (selected, start, end) = periodManager.insertDatesBetweenFirstAndLast( - from: (calendar.date(from: startDate!)!), - to: (calendar.date(from: endDate!)!) - ) - duration = periodManager.countDuration(startDate: start, endDate: end) - cycleLength = periodManager.countCycleLength(newStartDate: start)! - - period = Period(startDate: start, endDate: end, duration: duration, cycleLength: cycleLength) - selectedDates.formUnion(selected) - } - } - .toolbar { - ToolbarItem(placement: .primaryAction) { - Button("Save") { - if let period = period { - periods.append(period) + List { + MultiDatePicker("Select Date", selection: $selectedDates, in: bounds!) + .datePickerStyle(GraphicalDatePickerStyle()) + .onChange(of: selectedDates) { dates in + (startDate, endDate) = getFirstAndLastDate(from: selectedDates) + + let (selected, start, end) = periodManager.insertDatesBetweenFirstAndLast( + from: (calendar.date(from: startDate!)!), + to: (calendar.date(from: endDate!)!) + ) + duration = periodManager.countDuration(startDate: start, endDate: end) + cycleLength = periodManager.countCycleLength(newStartDate: start)! + + period = Period(startDate: start, endDate: end, duration: duration, cycleLength: cycleLength) + selectedDates.formUnion(selected) } - - // Calculate for the next period prediction - let answers: [Answer] = [ - Answer(promptID: 0, answer: DateAnswer(date: calendar.date(from: endDate!)!)), - Answer(promptID: 1, answer: NumericAnswer(number: duration!)), - Answer(promptID: 2, answer: NumericAnswer(number: cycleLength!)), - ] - - for answer in answers { - answerManager.saveOrUpdateAnswer(answer: answer) + } + .toolbar { + ToolbarItem(placement: .primaryAction) { + Button("Save") { + if let period = period { + periods.append(period) + } + + // Calculate for the next period prediction + let answers: [Answer] = [ + Answer(promptID: 0, answer: DateAnswer(date: calendar.date(from: endDate!)!)), + Answer(promptID: 1, answer: NumericAnswer(number: duration!)), + Answer(promptID: 2, answer: NumericAnswer(number: cycleLength!)), + ] + + for answer in answers { + answerManager.saveOrUpdateAnswer(answer: answer) + } + answerManager.addCycleLength(cycleLength!) + answerManager.calculatePeriodDate() + answerManager.calculatePredictedDates() + + print(period!) + dismiss() } - answerManager.addCycleLength(cycleLength!) - answerManager.calculatePeriodDate() - answerManager.calculatePredictedDates() - - print(period!) - dismiss() } - } - ToolbarItem(placement: .cancellationAction) { - Button("Cancel", role: .cancel) { - dismiss() + ToolbarItem(placement: .cancellationAction) { + Button("Cancel", role: .cancel) { + dismiss() + } } } - } - .navigationTitle("Add Period") - .navigationBarTitleDisplayMode(.inline) + .navigationTitle("Add Period") + .navigationBarTitleDisplayMode(.inline) } } @@ -85,7 +85,7 @@ struct AddPeriod: View { guard let latestPeriod = periodManager.periods.last else { return nil // Return nil if there are no periods available } - + let monthOfLastPeriod = calendar.date(from: calendar.dateComponents([.year, .month], from: latestPeriod.startDate))! let monthOfNextPeriod = calendar.date(byAdding: DateComponents(month: 1), to: monthOfLastPeriod)! diff --git a/RedCal/MainView.swift b/RedCal/MainView.swift index 69b487d..976f318 100644 --- a/RedCal/MainView.swift +++ b/RedCal/MainView.swift @@ -34,7 +34,7 @@ struct MainView: View { var bounds: Range { let start = calendar.startOfDay(for: answerManager.startDatePrediction!) let end = calendar.startOfDay(for: answerManager.finishDatePrediction!) - + return start ..< end } @@ -75,22 +75,22 @@ struct MainView: View { func PeriodPrediction() -> some View { VStack { - HStack { - Text("Period Prediction") - .font(.body).bold() - .foregroundColor(Color(hex: "CE5656")) - - Spacer() - } - .padding(.vertical, 10) - .padding(.horizontal, screenWidth * 0.05) - .background(.white) + HStack { + Text("Period Prediction") + .font(.body).bold() + .foregroundColor(Color(hex: "CE5656")) + + Spacer() + } + .padding(.vertical, 10) + .padding(.horizontal, screenWidth * 0.05) + .background(.white) + + // Rectangle() + // .frame(height: 0.1) + // .foregroundColor(.black) + // .padding(.top, -10) -// Rectangle() -// .frame(height: 0.1) -// .foregroundColor(.black) -// .padding(.top, -10) - ZStack { Rectangle() .frame(height: 300) @@ -118,7 +118,7 @@ struct MainView: View { struct CycleLengthChart: View { var periods: [Period] var maxCycleDayLength = 50 - + var body: some View { VStack { HStack { @@ -151,7 +151,7 @@ struct CycleLengthChart: View { ) .clipShape(RoundedRectangle(cornerRadius: 20)) .padding(.horizontal, screenWidth*0.024) - + Rectangle() .fill(Color(hex: "FEDCDC")) .frame( @@ -161,11 +161,11 @@ struct CycleLengthChart: View { .clipShape(RoundedRectangle(cornerRadius: 20)) .padding(.bottom, 3) } - + Text(String(period.cycleLength!)) .font(.caption) } - } + } } .padding(.vertical, 10) } diff --git a/RedCal/Model/AnswerManager.swift b/RedCal/Model/AnswerManager.swift index a0ff511..298e3a7 100644 --- a/RedCal/Model/AnswerManager.swift +++ b/RedCal/Model/AnswerManager.swift @@ -82,7 +82,7 @@ class AnswerManager: ObservableObject { else { return } - + if let lastPeriodDate = (lastPeriodAnswer.answer as? DateAnswer)?.date, let cycleLength = calculateAvgCycleLength(), let periodDuration = (periodDurationAnswer.answer as? NumericAnswer)?.number @@ -105,13 +105,13 @@ class AnswerManager: ObservableObject { let (selected, _, _) = insertDatesBetweenFirstAndLast( from: ( calendar.date(from: - calendar.dateComponents([.year, .month, .day], from: startDatePrediction!) - )! + calendar.dateComponents([.year, .month, .day], from: startDatePrediction!) + )! ), to:( calendar.date(from: - calendar.dateComponents([.year, .month, .day], from: finishDatePrediction!) - )! + calendar.dateComponents([.year, .month, .day], from: finishDatePrediction!) + )! ) ) setPredictedDates(selected: selected) @@ -168,12 +168,12 @@ class AnswerManager: ObservableObject { else { return nil } - + if let lastPeriodDate = (lastPeriodAnswer.answer as? DateAnswer)?.date, let periodDuration = (periodDurationAnswer.answer as? NumericAnswer)?.number, answers.count > 0 { let adjustedStartDate = Calendar.current.date(byAdding: .day, value: -(periodDuration), to: lastPeriodDate)! - + return adjustedStartDate } return nil diff --git a/RedCal/RedCalApp.swift b/RedCal/RedCalApp.swift index adae7d8..a6e9095 100644 --- a/RedCal/RedCalApp.swift +++ b/RedCal/RedCalApp.swift @@ -11,7 +11,7 @@ import SwiftUI struct RedCalApp: App { @StateObject var answerManager = AnswerManager() @StateObject var periodManager = PeriodManager() - + var body: some Scene { WindowGroup { ContentView() diff --git a/RedCal/UserPrompt.swift b/RedCal/UserPrompt.swift index cf051ab..4771b59 100644 --- a/RedCal/UserPrompt.swift +++ b/RedCal/UserPrompt.swift @@ -40,7 +40,7 @@ struct UserPrompt: View { VStack { TabView(selection: $currentCardIndex) { ForEach((prompts.indices), id: \.self) { index in - PromptCard(prompts: $prompts, currentCardIndex: $currentCardIndex) + PromptCard(prompts: $prompts, currentCardIndex: $currentCardIndex) } } @@ -91,32 +91,32 @@ struct PromptCard: View { // Conditional picker and selection for data saving switch prompts[currentCardIndex].answerInputType { - case .date: - DatePicker("", selection: $dateAnswer, displayedComponents: .date) - .datePickerStyle(.wheel) - .frame(maxHeight: 400) - .labelsHidden() - - case .number: - Picker("", selection: $numberAnswer) { - ForEach(1...30, id: \.self) { number in - Text("\(number)") - } - } + case .date: + DatePicker("", selection: $dateAnswer, displayedComponents: .date) + .datePickerStyle(.wheel) .frame(maxHeight: 400) - .pickerStyle(.wheel) - .labelsHidden() - .padding(.horizontal, screenWidth * 0.1) + .labelsHidden() + + case .number: + Picker("", selection: $numberAnswer) { + ForEach(1...30, id: \.self) { number in + Text("\(number)") + } + } + .frame(maxHeight: 400) + .pickerStyle(.wheel) + .labelsHidden() + .padding(.horizontal, screenWidth * 0.1) } Button(action: { let answer: Answer switch prompts[currentCardIndex].answerInputType { - case .date: - answer = Answer(promptID: currentCardIndex, answer: DateAnswer(date: dateAnswer)) - case .number: - answer = Answer(promptID: currentCardIndex, answer: NumericAnswer(number: numberAnswer)) + case .date: + answer = Answer(promptID: currentCardIndex, answer: DateAnswer(date: dateAnswer)) + case .number: + answer = Answer(promptID: currentCardIndex, answer: NumericAnswer(number: numberAnswer)) } answerManager.saveOrUpdateAnswer(answer: answer) @@ -146,7 +146,7 @@ struct PromptCard: View { .frame(width: screenWidth * 0.65, height: screenHeight * 0.05) .cornerRadius(10) .foregroundColor(.green) - + Text("Next") .foregroundColor(.white) } @@ -171,16 +171,16 @@ struct PromptCard: View { // Calculate the next prediction answerManager.calculatePeriodDate() answerManager.calculatePredictedDates() - + // Add answer data as the first period data if let lastPeriodDate = (lastPeriodAnswer!.answer as? DateAnswer)?.date, let cycleLength = (cycleLengthAnswer!.answer as? NumericAnswer)?.number, let periodDuration = (periodDurationAnswer!.answer as? NumericAnswer)?.number { let firstPeriod = Period( - startDate: startDatePeriod!, - endDate: lastPeriodDate, - duration: periodDuration, - cycleLength: cycleLength + startDate: startDatePeriod!, + endDate: lastPeriodDate, + duration: periodDuration, + cycleLength: cycleLength ) periodManager.addPeriod(firstPeriod) } From a394fa3f6cb87d8fca9cfa8fd9fc66fd035ba291 Mon Sep 17 00:00:00 2001 From: mohammad subkhan Date: Thu, 31 Aug 2023 07:06:05 +0700 Subject: [PATCH 2/2] feat: colorScheme to handle device when switch appearance --- .../UserInterfaceState.xcuserstate | Bin 28971 -> 26992 bytes RedCal/UserPrompt.swift | 2 ++ 2 files changed, 2 insertions(+) diff --git a/RedCal.xcodeproj/project.xcworkspace/xcuserdata/masbekmacpro_m2.xcuserdatad/UserInterfaceState.xcuserstate b/RedCal.xcodeproj/project.xcworkspace/xcuserdata/masbekmacpro_m2.xcuserdatad/UserInterfaceState.xcuserstate index ad63c83d194b836f55c4ddf85a20ad5e2fea1523..41a208e72552ce30c0814959126596e28d46c402 100644 GIT binary patch delta 14164 zcmaia2V7Iv`~E%WE(asXQuYW069R#-3^71R41^Vk16+s@5k)}2y3IMZYPDKNta}0O zRqLvw?z&gqw(im4-m_}|CkeE*?eF`CPi~TX&wcYg&%5uvt8RkFr@@pWkU6z?JM%!Q znyR5{sX^2y)L?1|HIbS`eMwEGrchIn?Wb&3|*loYz=*201Sm~p%_YFBus!wPz%$c9%jHC zXoMYMJ}iJeU>`UD*1*AV2pj!fR%D3*LqI;1l>1zJRJ?J93H{FLGMVo0vV|q0GDg7Beh8|0gqd%u7 z(iVC)J%_HR8|cOK5_%22mR?V9ptsSx>F?=7wD}l)oIXWgp|8@{=*^kZt7LCh!2U}hvUiW$v}VZLA{GLxB^%q(U$GmlxwEHN`%nH|hdW-qgk zImjGht}{27o6IfdHuE#{3-c@U8*_)b%RFRWFfW;R%zKt)Ikq|5f^EgRvQjpJjbvqP z6dTRT*%&sKjbr241XjtWvKm&)X0VxTN468&neD zSo0U`M0OJUB|Dj&!cJwUu`}5D>;iT%yM$fCu4TVw*RkKQTiI>wS@s-zp1r_cWPfCT zVlT0m*(>Z-_9lCWy~{pkpRjM(x9sm6%W)jfHRA-F3)hwta}q9`lX4MUBq!sdxM)t! z#d9hyiPLf&xNI(mGnl!2u7DfJRdY35EjNh!gd5Ba;f8Xo#4)L=eR4}Rqh&hhr7$&A8`=D+2)@!R=b{C@s0f2@sxw+v%Nv=Sv)7PDhP z)CLJB0gxSN$>;lkpbfkD1Q5{-QHXUx&Iq8E0t#`+-NohL*8-1lX+)$fDq0?ss8s6> zxp|$s_vl$vVhL)#C9$2Nv#_|lsHP@=a9Kr3<=}Kpp}?)mR9#b6Q){ZIO)nvvvOZ;| zYScpDh?;jU%r+{b;!n3%B_&&WIk@E)3jDH-hCkPLO4n8tSC*Jc@=Se9)uxJKQ+-lO zezq~EcRy2c?U__ftX7w9Lt`3R)0LpAv>m9a>wp~U(vSeToyo|I&C1TP@GYWPN92T@ zE$v&x__tRXJNC>r8jGtp_PMb>y0UAJ9mlAFA#O@W?9ps7uyQCA{R@mmU2mZ zRbel(x{D1_on-N8wrc0=}jJ$ud$v(61Rc#)E0icrh_dCX-77znBF3AZ7?<`-8y#-ik8WKQwKbah6UFUpn_k z<){)>p=#ua2B9d+Q-^ixzLaOH8m$uWmgqbc!nY8W+~8bOVuMp0%8Q5XqP2nt0a z6o%R&F_J8&!pQ#^@)}18sqvH$d6EBc@`@m+BFQUi!z5QXkoy%iV-b>`rrJ>oY8Ew{ zm@jKkZBg%XQ%ZGp(a;96Zw{p*o@4uJIBkoK`P70%NM=804z;M>y2Spio@%i8yS7fP zrxsJHk8Iwg{!(fcC0gc9uH7gO78k}ad0z1uWN+(GT4JnE>OD6x*(jjVw>%Gsa&p4v|xu#EEbqgANA zWud2$ZPxpC`U}e|Ph)etu*1|5OMWW}eUv(88QW?~yC!)jsI!!K33ZbCfjUKzu_wB39@W~(WiB;BBHQ{sB+CUpySK)QPB zXKEZuBL*Pu&}QHuQ}s|oQFYM(Q!NSO)XIw5>dNwRQ+1C%W#wd#p{SN@E1E>zqaIsn zyH7o!9#W4`I?|&Il)0FCLOrFPQO{8p%0@ZJfXqa;M^&|{#+pAWN{z*pRi@Owm6bK7 zYT`~L;nZr2YKC^KOs^=bEi0-uI#pjkmtMRDKCYNAeo zO=?F|^?-r_Rw=1PHKwi=gn|;AqFrr=ZQ7vDDA$@+JE1OTiL@4=C2#;iX%W5@cHC5$BLyfgo>G^~(^MH;+t4tkhiE5}LB3T^eohIkE0B9u;QXie+a)%T-K{AVNu>7g_N89H`yWi$Ss<|L&A^9J{a;7_ zvHvgrDk>{XcG&?Skfip%vuu<7ks<0qko7nIb5-JB_G)w;AOvlR>wpjt3Pd0b6`-!D z8|qFX4oE<_E#i8ho{bS#XbJTUc8LY?B%(kZDy#zusFy9G{5YVb_5+nQq<9r7%5j0? zEeD-9vdua(n-^G+AdY;3ZN^!)3*^>M!3!+U1Pbe?uw#~J7ljk~Bz!1O*>7mp#U%M) z8Rin@D(FPq(okJFpsF^aW^h@bS^;g@;W7}sutc`p(slPzSoA3UYRNYjIdlTUrcG9%!!(O^bVj66@k(G_Z~eBR>~q z+1Wa@O&KUBaSr-{{-_4k){}%QBx+a{dEZ)Xt|37oUIl8wAn*wo42FQAU>Fz1>?ZyU_6+BFoF0f`V5UhV=-{Y zzz2h94CENZSW`-X(Ns=~y{SZ7QdV18olQuzM-$K&XyQ_^4txXFlkG+VeG>W-Jx7x;aILzF)Y&Vlpb0=P)B zz)#>3*d;~|9hF(G`6k3YpcXWMhu{%-jAo!YXdaTC0nfm5a`pwV54`I7S1Z=Z#uJ)J z^qy_W^7EvB2k$Ij`1#ZI;JszMUvN+RX@3ygy+U(|t!8)5GnJ$kl{X56jP1z$zaN3k zDQDOMwuBCV>sC@(JZJz(+@10=3u?;-m}+W^22`PiXb~c*caUXmWT|DKzpF14K$k*+ ztEO{DP2&lfmG%@}4_jI4{Jq_w8+3;rU8{&m?THIDpnA(G|1vS@w!FHLGdq-(n`{<` z-jwR^J8XUdeW9PFBp@6@f6KIhhy)l&v${4dKwnbopTZnZ3o16R>nn^jlY zth(tRR)y`LqRFag16ti=QCoiklZi=T3RJ^Xv<9t1-~4G(D1$m;o3-fcu4s0l;6L(D zlkNXz#3t(*Y}Q-ktw8*j|vfMI7EciRv(KfKV{tfmEa1l;|UlOoiz^Mf6eggI+ z+DpLhM<@OXb~^m(Pq4?(zK_Aqr4}rP^Wc2A04_w|ql3tN7#;b`%wNC;0(d_uBN8qHxUqLznRE92-mrSs!Nx%E>A?X0%19Y_xK0?<} z!nDppGkgYLQXcj2IedYxqZ{?`6*V5+B*R2P&!)_kX{so#?c1%qtiohVmZlmP_fEmd zVtW-8eAOtQrf8Z-B10WSzo1|1sqyd?k#iFzbm~)CUQ+W9d3H}S|E&zrEv#`vJCbB^ zfff)~x^Ih{JH(Y{qG$hbCEAsC`_q-4pt~Qr675CehRl^dv@g1c9->EodJ)}%4kTW5 zA3d;zO-go22^qM{DoYxB754v*99nGimB)nCKWl(J)6aZlvRXAn$2I{_cMvM^uv=l+x8C4Cuae8QqWW zPnXjJ=nA@$uA&E`KQN#$02n|FXbcz(SPbGg40sHht)y%00YML@hma0XNDrsNFlcU% z2nVGTW|2lQ7M zIMmTIF>tg;0zH>rVD;a5@C61=Boyd{)OZY>|05P$T-F5Jy`TCM_ELI<-TRlLUodDz z+@D^EBCY5DGm>m2mHwJuXCEExon4xxEY5+Uzaf>hdt7VF)HpZu-x?lzBfY7~z8H98 z;PJ7Aw_7dz9le9ziGe2utubixv627(Ha={%F$P|QExUVXksjxt{{5GgPtzC3079Rk z&(i1U^BDMI;D>=f1_6udi}a7Mfxd)6AO@l6044)Ul%+PleFS}z{?&TcE&4Y7Gfij; z!XOv}AqF9fDIu}>c#;Agi3X823tx*LKVWg50hXZ`?J|)Sf)AU(ZFyF&osjz90Mr^5e@ViDvWU; z>LV`?16Hr0{87A$16P!HO z?ukuWC>Yg$D93C`AvU~>m1j|?%4j!9$E89kFhuB&A+*-Q>&U~(~N zkAVt|}vOWvRg>!pzm+Z0|v!t`eWEWHz=0DBUcs%4#z+gc(M7WrkvqRmTj+AR9$Bw&kZ8Gv&-623uQNYrh># zrc?Ip`mau5kYkHH=2Pag&g9A^xmHlmd`hXBh#Sj%Zk0I>gWNiX1b*IMGRfRPE;cY< zB4eRIq1ITU^Mfoq+k1$bPMyM7$Rxx}Wu{@!5ra!V4=7*5=YO_tZ zISjVxbVch!l3|Wr;rWd_&mQ=k@R!phco9=ibRwm2c^%V$K>>AkMd0!*geO&D~?peN}xPmsas*>Ywb^9{3}*}!a!XErgLnQt-Zg~2Bn5Diyj zupfh;FnE9=ON9Sbx|r{*r3-^@g@Pfr-p4PgmB-%>@39~5Q7C9?jX2AOB)7jWIbdH> z*d#%d+`2Dwm?0P9Rx(GJqs%epICFwI$^5{aVooz>Fet*HHwMKRlwe@OpbrM681%)U z41<0vnRE8)!2D>h4$Kv6b?Dzz9f<2RR)^Y;szV3n9;pt@eGJMQs{`|>u{tnMZTW;q zA3)NIOyJhU?JMRDDG9;8`~|fW)N5KzmraD*O^Kz^m9mJ90LJ z4P`}a7$s!IR_vpju#d&y3k)V=FwGj>mL~ib)Nz}or)W(E+m2AcDlqu8kpi|op@3Df zN!AwzpJ6b@z9lU56NEKs+ks6ZJg_CQ>dW@GbJ)+y;dCp9BwGoBhpR}uof%B(=n)PVt8hwld*G}oUGpFWKHRYUC7p1$z6oO;ySh-lPfdUe%zN` z%3AvfcA1sjrB-rRTFG5zBiAx2jjUMDZn6`w(MrH7D*-EQ1T3=?U}m?o2ZunvQ7Fj$YlNDMY$un_~2J2tOk4>huIj4fnO zfHcCxDJu`(Hu12H7zl%1Wb`CV?6WfQ_X)*hxhmxwX}M;lw=A~f6QSnV0V+WT&|;?5~G!p9|jwI|$7+l8S3IBO+b}_j35hJPG2rDDRJAY|n1T`}9@r>I9U>rBzO2_9I{8q=2e00Y~hY$B9H`PkV zWGfwa2_5hi3lY)H>N}@0JiTXfbL_xpTY=vvz#(actF5!E^|*Nvx0=KgSI5=9Y6SxRu;042YLL!r(CmPcV3j0qInU#?LVzKSn(2)hcdHBlvIVA>0P*WW#N? z!hhWapOhFEz2@FA-*hJ+p`44qf<(9S5&*&~c^LHLA%Mm}MyrU-)`fAgpIK;4?K$G5@IrI9_} z=YO%s2lF9>Jzj{RYaJhop_`Sx5FarwCAfGA@h0d_yop|D4K8Q9JEe5?^pW#%HsE}$ z6}Tq>PA{~vOJ+d}S>USVNsnH~x5uze9iN1u7umm{v#(jh=TIIic`e_8*YRn5IF&&JRPLthO2F!aYT0K-5GgD?!nkZ2dOk_zK<$!%dF-;wXccjmkB`Fw%3`wk`e z327n>2|sNy6k{mCFdQXxEvwO%mz9>0d&1{2=}l45KlWV;F-W8EGur^Jk{#BV}3OMDTZ+vDlts@ zbFSgX@)L;b@Z&UvZ0i=NpC(kd*$Wu%4 ztb#nVR80D!apdu%S?nBk9(e?55nE3lL)yS@V!tI1AZ;ft#4gf4>|;-p$BaU`Qf@p+ zf4j}xPuwN$Hh15l$f4Mw++nZ-a`@8WD~EXwOB~ia>~}cmaMIGl61 z;BeRBzQaR@#|}>&o;$pBc=xjJmz@9@rvU$#~Y5f9DjEF)$xwwJ;w)5W=AK5Q?^qtr%_IIPP?6sJ6(0U z?sU`Xw$m?8zd7A?y6^PR=?`b%OgppAymNEsmd=jO&dx5*@y-R#<<3)_*EpYbel749 zgbCUTB!U=0sz5Ku6Bq^E1wF`(=)Qshf=>h!1s1^~!5YD4!4|9q3x)I@9%}>nk@Ow$?ql4?xsP}M!hN3mM)w`=d)>cxKj41I{fPS+ z_bcw#-0!+S^I$z3Jls9}JmNeOJ&YdxJ*qs0dd%@y=&{@5xW{>qiyl9DT=ux?@vFxj zk9!^uJRW&G@oZ-H^zn@KG{aYl;Z@~T z?N#gbiPsRXPrb%?jq@7s^@Z0YugP93y}tLl=Jn9q$y?wp@|JnG_fGa!duzRQ-s#>0 zyg%_C>^;l5PkDE`RPlAua zN9m*TN%m3uXnZ>Or1|K5GJUdrOg^PPWj_6V2KZF^4D_k>8SFF6XQU7E8SS&g=d{ml zpGUr}e8s*7-#)(MeP{Wu_TB1x-1oZgP2bzT4}9PFe(-DI=kDj}7w#A9m*A)HQ~IU* zb@t2m>+09tucu!xzusoQO22`AHGYHq2Kx>38{s#~Z<^n7zs-Jo{cif*_Iu*@((kq3 zTfaa2fj{lf`g{3H{p0*o{8Rn4{yP73{|x^u{|f&J{%ier`(O2c>i;3YC%`WtARs6} z7!Vo|79b7?56}kW2b2bw1EvM64OkbjK44?O=722$+XC(fya;#~VEzzD1;Rik&?V3( zFep$M7#bKB7$4X!P#stl*e7sI;IzQ$finVU1uhI+9k@1dUEun_t$_yuPX}HOyc&2t z@McigpyHsRL8F4E2h9&!9<(xOb+90~O>juCI5;jiDY##7W$>KfWx-zuZx7xPyeoK5 z@R8sjg3krt6M74U!bD-RS=dE5L^w=1LO4o@grkL@3C9XQ7uE?IgiD0Wge!!rglmMG zg*$}1gnNYhg!_f3g=dB5g%^eQgb##oh3|wPLZ}eO5a$q=5Z4f|5K&0m5J`wMWLe0@ zkj)`mLbiom3b_(;E#yYXt&pEXehs-3axat#1 ziS~;QijIqZ5?wZnu8OXU9*7=^o`{}_-iGmE&BI!TIfhLMn;*6?tS+n}Y+cy?u!CWT z!;Xd>4?7ulD(pn@a zW!oRxJ{P-+qs2Mmd~r8%4{@QmuXv!iMm$J7SUglbTs%@dL2RBRo-Cdwo-Upt-XPvB z-Y-5VJ}f>V{y}_Nd{%r*{7C#%{JZ$Qq=m#;;v#XCw3c{Dd?bDnp+qj}DCsQ8mvohM zm-LkMlJu68NJdJ`5-j;tGDb2^GF~!GGFviNGGDS#QYTp}StnU9*(f<6IV3qJxghyb za!K-=S@;aqsLa2)<+_>}Nz;nTzChc61R4__RJ9we+p@T|}FRgoy4Dqax}f4n^FLY#Awz)I}O1jgg%r^COEQ`$d*V zRzy}sR!7!G;>gb;$3;$voD?}Za&_d^$eodUBKJieiaZ*5Jo04Z)yNx>cOzd#zKi@I z12Rt5%q(jubCmhWLS*e_YFSrVxonK=bJ-WNNwUeZsWOXfo~%K(RJKC4TDDfUUA9BE zOSVULLiU5~wCt?xhU~WN7uj#JN3wUa4^dPUjB<`@9pxS67Zn&KjFLvlqU2GrQ3+9s zsMM&esQjp^sF6`)qsB)~jG7!ZEoyGm{HTRd=DMhcs3lSRqOM2N(LT{_qr;;kqobo^ zqT{0V(OsguM)!#B61plcVQFH$*RuUJ<=IdPDT)=q=IPqjy9f zjlLLtFZ#J0$eYPq%AMpc^44;1xvxAx9we8@6XfmW3b|6Ql4r=X<+<{X@-FfMd2e~C zS>8`RKwc>yA^%i9Rz6-nQErjXkk69OmCu(ildqHSkbf^fC_f@UE3ApcQ*S$vY7IiikN{h zwK1Q>Oo&+)voYpq%*|N$SW&DdwomMkShFQ|QS7qVm9cAL*TsGtyDfG{?C#jTvA5#9 z<1}%(aUJ8j#C4795my-3C$2JXa2$&JG;U&?C2m&SlDOq@tK!zieG|7KZd=^Gxc%`k z-Z|ba-ZS1S-akGlJ|tcgUlKn#epY;4{NngE@tfnf#vh139Dg+aMEt4vGx68spTs|p ze`$_?6aOy$Ljsim6PN_|gw_e(34RHI3Bm+Xf;d5%5SgG%P$eWMq$cc4IGS)g;bg+; zcAeVwZdcN-PrI^qx7$5YaEj&%2ZghumBL-oTH&qmQv@o6igpU6LZwJns1;g8nnJJ0 zROBdf6-GssVzOd`;+*15qJLs)V(&yVPF#?cwaPSQCuLV`9@bk$7N9MwG4 z0@Whb8r3@02GwTOR@HXZMb*!$yQ&AON2=$lSE{$FcS$XioRU0~gh`U5h@_~bn54uc z@^o}kYLYgoIB9g!%%oXKbx93L=5&>#*JO`mNpeK8EIB$kCOJM?k=#BxDOsJYN$!wboIE;tY4V}u`zftb;!--L z)TT^LnUgX6f%Bqx&DVtNaq-;;wk+LggPs)juQz>UtE~NaFayjLVnp3wltDV#W zwY$2t+FR|b4p&F26VwW|PMxXFR_Cfas|(cK)jib%)Wg(M)zj58)pOMI)r-^(>ZR%x z>ecG6)$7%V)yLE))IX?CtIw$~sxPUpsIRGSs&A`*Nu^VRQahyfO`Vv!KJ|R+3yqs5 zN~6%U*CcDynhZ@xO=nHM#@tQQLsO_J(o|>$YHBruHN!L`G_y5JHLEmhHS08+G+Q*= zH9IuNG$%EeHMcasXzpn4Yo2LdYF=x8*SyzyYZclYZFg;vwpiOo+h1Fu9jL9*j@C}r zF4iv7uGFs4uG4PNZq{zqey81~-K)Kz{YiUSdsTZ~drSL^_BZWav-W}Zk@iUkrw-B% zxgBac%56rIbbWRGbmh9Cx)D0FZnSQUZk%qh z?i<}^-B#Up-EQ4J-2vSp-38rGx?gqobq{q6_~v^iFz-K0)7JpR8Bwb^3ID zraoKWL*GwdsUN7X)eqH=(2vq1{bc<-{RaJJ{Z{>V`dw!IUj2UkA^lPP3H>SkS^Yiz zL;Yj@Q~h)OEB#yjd;K37AcM)^GMZ(CWN0$_W=zOfn{hVdb*5)#T&6LzduCx~@63|S z0hym<4#^yrIU;jZCd!)vW91&tkGFxvL<9r%9@fjEvqhTZPvc516hZ& zj%A(9I-PYc>tfcWtgBf!vR-Dr$@)F(ebyh@Fq_Thvzuo-WIJUGvZdLX*;U!ovNva6 z&Y^Prb5uFqa!PVabNc0!=M2gjm4k9d=X{nkHs|x4uX1LYbLQqO$f?U|$l0B9Jm+-I zxtt3*mvgS=+|0S1^UOdQSOafpVQ@CIGPoN&4WS0PAVz3xy7*-k97}goq8#WrgHEc8NFzhz$GaN7+GMq8o&82gFawBs) zZvyy(2dJXKywo+eM1XUH?=bz>y$Z*bnU zyft~(^M1*DnD;pEjgd0aM$XvW*wWbA=x+=%h8V+)k;Z6atTDl;Fcur98h02E7!MiG z87~{J8E+bYHr_WrGCnoFFupQ==*Z`LtF3)&ax3$hAw3i1j%6?7@+RZv`D zDkv?eDi~N$Q!t`nQo-bcsRfpT83nTo<`pa`SY*Ed0-^n#zhHkSTi*7mp#J{>k!9B{ delta 14763 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 diff --git a/RedCal/UserPrompt.swift b/RedCal/UserPrompt.swift index 4771b59..10c1285 100644 --- a/RedCal/UserPrompt.swift +++ b/RedCal/UserPrompt.swift @@ -93,6 +93,7 @@ struct PromptCard: View { switch prompts[currentCardIndex].answerInputType { case .date: DatePicker("", selection: $dateAnswer, displayedComponents: .date) + .colorScheme(.light) .datePickerStyle(.wheel) .frame(maxHeight: 400) .labelsHidden() @@ -103,6 +104,7 @@ struct PromptCard: View { Text("\(number)") } } + .colorScheme(.light) .frame(maxHeight: 400) .pickerStyle(.wheel) .labelsHidden()