Skip to content
This repository was archived by the owner on Aug 11, 2025. It is now read-only.

Commit 6dcdabb

Browse files
Poll (#3669)
* Rename :screen -> :feature * Improve the vote card * Improve :poll modularization * Impl the vote card * Wire navigation * WIP: Vote screen * Poll UI * Impl VoteUseCase * Connect with Firestore * Fix Firestore voting * Add back button * Add screenshot tests * Fix the UI * Fix hard-coded condition * Update the vote card condition * Fix Detekt * Fix integration tests (attempt #1) * Add expiration to the poll card * Make the vote button bigger
1 parent b77ab12 commit 6dcdabb

File tree

288 files changed

+1424
-871
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

288 files changed

+1424
-871
lines changed

.github/workflows/integration_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939

4040
- name: create AVD and generate snapshot for caching
4141
if: steps.avd-cache.outputs.cache-hit != 'true'
42-
uses: reactivecircus/android-emulator-runner@v2.32.0
42+
uses: reactivecircus/android-emulator-runner@v2.34.0
4343
with:
4444
api-level: 34
4545
target: google_apis

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,3 +106,4 @@ node_modules/*
106106
.kotlin/sessions/*
107107
/.idea/AndroidProjectSystem.xml
108108
/.idea/runConfigurations.xml
109+
.idea

all_modules.gv

Lines changed: 164 additions & 164 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
digraph G {
2-
":app" -> ":screen:attributions"
3-
":app" -> ":screen:balance"
4-
":app" -> ":screen:budgets"
5-
":app" -> ":screen:categories"
6-
":app" -> ":screen:contributors"
7-
":app" -> ":screen:disclaimer"
8-
":app" -> ":screen:edit-transaction" [color=red style=bold]
9-
":app" -> ":screen:exchange-rates"
10-
":app" -> ":screen:features"
11-
":app" -> ":screen:home"
12-
":app" -> ":screen:import-data"
13-
":app" -> ":screen:loans"
14-
":app" -> ":screen:main"
15-
":app" -> ":screen:onboarding"
16-
":app" -> ":screen:piechart"
17-
":app" -> ":screen:planned-payments"
18-
":app" -> ":screen:releases"
19-
":app" -> ":screen:reports"
20-
":app" -> ":screen:search"
21-
":app" -> ":screen:settings"
22-
":app" -> ":screen:transactions"
2+
":app" -> ":feature:attributions"
3+
":app" -> ":feature:balance"
4+
":app" -> ":feature:budgets"
5+
":app" -> ":feature:categories"
6+
":app" -> ":feature:contributors"
7+
":app" -> ":feature:disclaimer"
8+
":app" -> ":feature:edit-transaction" [color=red style=bold]
9+
":app" -> ":feature:exchange-rates"
10+
":app" -> ":feature:features"
11+
":app" -> ":feature:home"
12+
":app" -> ":feature:import-data"
13+
":app" -> ":feature:loans"
14+
":app" -> ":feature:main"
15+
":app" -> ":feature:onboarding"
16+
":app" -> ":feature:piechart"
17+
":app" -> ":feature:planned-payments"
18+
":app" -> ":feature:releases"
19+
":app" -> ":feature:reports"
20+
":app" -> ":feature:search"
21+
":app" -> ":feature:settings"
22+
":app" -> ":feature:transactions"
2323
":app" -> ":shared:base"
2424
":app" -> ":shared:data:core"
2525
":app" -> ":shared:domain"
@@ -28,142 +28,142 @@ digraph G {
2828
":app" -> ":temp:old-design"
2929
":app" -> ":widget:add-transaction"
3030
":app" -> ":widget:balance"
31-
":screen:attributions" -> ":shared:base"
32-
":screen:attributions" -> ":shared:domain"
33-
":screen:attributions" -> ":shared:ui:core"
34-
":screen:attributions" -> ":shared:ui:navigation"
35-
":screen:balance" -> ":shared:base"
36-
":screen:balance" -> ":shared:domain"
37-
":screen:balance" -> ":shared:ui:core"
38-
":screen:balance" -> ":shared:ui:navigation"
39-
":screen:balance" -> ":temp:legacy-code"
40-
":screen:balance" -> ":temp:old-design"
41-
":screen:budgets" -> ":shared:base"
42-
":screen:budgets" -> ":shared:data:core"
43-
":screen:budgets" -> ":shared:domain"
44-
":screen:budgets" -> ":shared:ui:core"
45-
":screen:budgets" -> ":shared:ui:navigation"
46-
":screen:budgets" -> ":temp:legacy-code"
47-
":screen:budgets" -> ":temp:old-design"
48-
":screen:categories" -> ":shared:base"
49-
":screen:categories" -> ":shared:data:core"
50-
":screen:categories" -> ":shared:domain"
51-
":screen:categories" -> ":shared:ui:core"
52-
":screen:categories" -> ":shared:ui:navigation"
53-
":screen:categories" -> ":temp:legacy-code"
54-
":screen:categories" -> ":temp:old-design"
55-
":screen:contributors" -> ":shared:base"
56-
":screen:contributors" -> ":shared:domain"
57-
":screen:contributors" -> ":shared:ui:core"
58-
":screen:contributors" -> ":shared:ui:navigation"
59-
":screen:disclaimer" -> ":shared:data:core"
60-
":screen:disclaimer" -> ":shared:ui:core"
61-
":screen:disclaimer" -> ":shared:ui:navigation"
62-
":screen:edit-transaction" -> ":shared:base"
63-
":screen:edit-transaction" -> ":shared:data:core"
64-
":screen:edit-transaction" -> ":shared:domain"
65-
":screen:edit-transaction" -> ":shared:ui:core"
66-
":screen:edit-transaction" -> ":shared:ui:navigation"
67-
":screen:edit-transaction" -> ":temp:legacy-code"
68-
":screen:edit-transaction" -> ":temp:old-design"
69-
":screen:edit-transaction" -> ":widget:balance" [color=red style=bold]
70-
":screen:exchange-rates" -> ":shared:base"
71-
":screen:exchange-rates" -> ":shared:data:core"
72-
":screen:exchange-rates" -> ":shared:domain"
73-
":screen:exchange-rates" -> ":shared:ui:core"
74-
":screen:exchange-rates" -> ":shared:ui:navigation"
75-
":screen:exchange-rates" -> ":temp:legacy-code"
76-
":screen:exchange-rates" -> ":temp:old-design"
77-
":screen:features" -> ":shared:base"
78-
":screen:features" -> ":shared:domain"
79-
":screen:features" -> ":shared:ui:core"
80-
":screen:features" -> ":shared:ui:navigation"
81-
":screen:home" -> ":shared:base"
82-
":screen:home" -> ":shared:data:core"
83-
":screen:home" -> ":shared:domain"
84-
":screen:home" -> ":shared:ui:core"
85-
":screen:home" -> ":shared:ui:navigation"
86-
":screen:home" -> ":temp:legacy-code"
87-
":screen:home" -> ":temp:old-design"
88-
":screen:home" -> ":widget:add-transaction"
89-
":screen:import-data" -> ":screen:onboarding"
90-
":screen:import-data" -> ":shared:base"
91-
":screen:import-data" -> ":shared:data:core"
92-
":screen:import-data" -> ":shared:domain"
93-
":screen:import-data" -> ":shared:ui:core"
94-
":screen:import-data" -> ":shared:ui:navigation"
95-
":screen:import-data" -> ":temp:legacy-code"
96-
":screen:import-data" -> ":temp:old-design"
97-
":screen:loans" -> ":shared:base"
98-
":screen:loans" -> ":shared:data:core"
99-
":screen:loans" -> ":shared:domain"
100-
":screen:loans" -> ":shared:ui:core"
101-
":screen:loans" -> ":shared:ui:navigation"
102-
":screen:loans" -> ":temp:legacy-code"
103-
":screen:loans" -> ":temp:old-design"
104-
":screen:main" -> ":screen:accounts"
105-
":screen:main" -> ":screen:home"
106-
":screen:main" -> ":shared:base"
107-
":screen:main" -> ":shared:data:core"
108-
":screen:main" -> ":shared:domain"
109-
":screen:main" -> ":shared:ui:core"
110-
":screen:main" -> ":shared:ui:navigation"
111-
":screen:main" -> ":temp:legacy-code"
112-
":screen:main" -> ":temp:old-design"
113-
":screen:onboarding" -> ":shared:base"
114-
":screen:onboarding" -> ":shared:data:core"
115-
":screen:onboarding" -> ":shared:domain"
116-
":screen:onboarding" -> ":shared:ui:core"
117-
":screen:onboarding" -> ":shared:ui:navigation"
118-
":screen:onboarding" -> ":temp:legacy-code"
119-
":screen:onboarding" -> ":temp:old-design"
120-
":screen:piechart" -> ":shared:base"
121-
":screen:piechart" -> ":shared:data:core"
122-
":screen:piechart" -> ":shared:domain"
123-
":screen:piechart" -> ":shared:ui:core"
124-
":screen:piechart" -> ":shared:ui:navigation"
125-
":screen:piechart" -> ":temp:legacy-code"
126-
":screen:piechart" -> ":temp:old-design"
127-
":screen:planned-payments" -> ":shared:base"
128-
":screen:planned-payments" -> ":shared:data:core"
129-
":screen:planned-payments" -> ":shared:domain"
130-
":screen:planned-payments" -> ":shared:ui:core"
131-
":screen:planned-payments" -> ":shared:ui:navigation"
132-
":screen:planned-payments" -> ":temp:legacy-code"
133-
":screen:planned-payments" -> ":temp:old-design"
134-
":screen:releases" -> ":shared:base"
135-
":screen:releases" -> ":shared:domain"
136-
":screen:releases" -> ":shared:ui:core"
137-
":screen:releases" -> ":shared:ui:navigation"
138-
":screen:reports" -> ":shared:base"
139-
":screen:reports" -> ":shared:data:core"
140-
":screen:reports" -> ":shared:domain"
141-
":screen:reports" -> ":shared:ui:core"
142-
":screen:reports" -> ":shared:ui:navigation"
143-
":screen:reports" -> ":temp:legacy-code"
144-
":screen:reports" -> ":temp:old-design"
145-
":screen:search" -> ":shared:base"
146-
":screen:search" -> ":shared:data:core"
147-
":screen:search" -> ":shared:domain"
148-
":screen:search" -> ":shared:ui:core"
149-
":screen:search" -> ":shared:ui:navigation"
150-
":screen:search" -> ":temp:legacy-code"
151-
":screen:search" -> ":temp:old-design"
152-
":screen:settings" -> ":shared:base"
153-
":screen:settings" -> ":shared:data:core"
154-
":screen:settings" -> ":shared:domain"
155-
":screen:settings" -> ":shared:ui:core"
156-
":screen:settings" -> ":shared:ui:navigation"
157-
":screen:settings" -> ":temp:legacy-code"
158-
":screen:settings" -> ":temp:old-design"
159-
":screen:settings" -> ":widget:balance"
160-
":screen:transactions" -> ":shared:base"
161-
":screen:transactions" -> ":shared:data:core"
162-
":screen:transactions" -> ":shared:domain"
163-
":screen:transactions" -> ":shared:ui:core"
164-
":screen:transactions" -> ":shared:ui:navigation"
165-
":screen:transactions" -> ":temp:legacy-code"
166-
":screen:transactions" -> ":temp:old-design"
31+
":feature:attributions" -> ":shared:base"
32+
":feature:attributions" -> ":shared:domain"
33+
":feature:attributions" -> ":shared:ui:core"
34+
":feature:attributions" -> ":shared:ui:navigation"
35+
":feature:balance" -> ":shared:base"
36+
":feature:balance" -> ":shared:domain"
37+
":feature:balance" -> ":shared:ui:core"
38+
":feature:balance" -> ":shared:ui:navigation"
39+
":feature:balance" -> ":temp:legacy-code"
40+
":feature:balance" -> ":temp:old-design"
41+
":feature:budgets" -> ":shared:base"
42+
":feature:budgets" -> ":shared:data:core"
43+
":feature:budgets" -> ":shared:domain"
44+
":feature:budgets" -> ":shared:ui:core"
45+
":feature:budgets" -> ":shared:ui:navigation"
46+
":feature:budgets" -> ":temp:legacy-code"
47+
":feature:budgets" -> ":temp:old-design"
48+
":feature:categories" -> ":shared:base"
49+
":feature:categories" -> ":shared:data:core"
50+
":feature:categories" -> ":shared:domain"
51+
":feature:categories" -> ":shared:ui:core"
52+
":feature:categories" -> ":shared:ui:navigation"
53+
":feature:categories" -> ":temp:legacy-code"
54+
":feature:categories" -> ":temp:old-design"
55+
":feature:contributors" -> ":shared:base"
56+
":feature:contributors" -> ":shared:domain"
57+
":feature:contributors" -> ":shared:ui:core"
58+
":feature:contributors" -> ":shared:ui:navigation"
59+
":feature:disclaimer" -> ":shared:data:core"
60+
":feature:disclaimer" -> ":shared:ui:core"
61+
":feature:disclaimer" -> ":shared:ui:navigation"
62+
":feature:edit-transaction" -> ":shared:base"
63+
":feature:edit-transaction" -> ":shared:data:core"
64+
":feature:edit-transaction" -> ":shared:domain"
65+
":feature:edit-transaction" -> ":shared:ui:core"
66+
":feature:edit-transaction" -> ":shared:ui:navigation"
67+
":feature:edit-transaction" -> ":temp:legacy-code"
68+
":feature:edit-transaction" -> ":temp:old-design"
69+
":feature:edit-transaction" -> ":widget:balance" [color=red style=bold]
70+
":feature:exchange-rates" -> ":shared:base"
71+
":feature:exchange-rates" -> ":shared:data:core"
72+
":feature:exchange-rates" -> ":shared:domain"
73+
":feature:exchange-rates" -> ":shared:ui:core"
74+
":feature:exchange-rates" -> ":shared:ui:navigation"
75+
":feature:exchange-rates" -> ":temp:legacy-code"
76+
":feature:exchange-rates" -> ":temp:old-design"
77+
":feature:features" -> ":shared:base"
78+
":feature:features" -> ":shared:domain"
79+
":feature:features" -> ":shared:ui:core"
80+
":feature:features" -> ":shared:ui:navigation"
81+
":feature:home" -> ":shared:base"
82+
":feature:home" -> ":shared:data:core"
83+
":feature:home" -> ":shared:domain"
84+
":feature:home" -> ":shared:ui:core"
85+
":feature:home" -> ":shared:ui:navigation"
86+
":feature:home" -> ":temp:legacy-code"
87+
":feature:home" -> ":temp:old-design"
88+
":feature:home" -> ":widget:add-transaction"
89+
":feature:import-data" -> ":feature:onboarding"
90+
":feature:import-data" -> ":shared:base"
91+
":feature:import-data" -> ":shared:data:core"
92+
":feature:import-data" -> ":shared:domain"
93+
":feature:import-data" -> ":shared:ui:core"
94+
":feature:import-data" -> ":shared:ui:navigation"
95+
":feature:import-data" -> ":temp:legacy-code"
96+
":feature:import-data" -> ":temp:old-design"
97+
":feature:loans" -> ":shared:base"
98+
":feature:loans" -> ":shared:data:core"
99+
":feature:loans" -> ":shared:domain"
100+
":feature:loans" -> ":shared:ui:core"
101+
":feature:loans" -> ":shared:ui:navigation"
102+
":feature:loans" -> ":temp:legacy-code"
103+
":feature:loans" -> ":temp:old-design"
104+
":feature:main" -> ":feature:accounts"
105+
":feature:main" -> ":feature:home"
106+
":feature:main" -> ":shared:base"
107+
":feature:main" -> ":shared:data:core"
108+
":feature:main" -> ":shared:domain"
109+
":feature:main" -> ":shared:ui:core"
110+
":feature:main" -> ":shared:ui:navigation"
111+
":feature:main" -> ":temp:legacy-code"
112+
":feature:main" -> ":temp:old-design"
113+
":feature:onboarding" -> ":shared:base"
114+
":feature:onboarding" -> ":shared:data:core"
115+
":feature:onboarding" -> ":shared:domain"
116+
":feature:onboarding" -> ":shared:ui:core"
117+
":feature:onboarding" -> ":shared:ui:navigation"
118+
":feature:onboarding" -> ":temp:legacy-code"
119+
":feature:onboarding" -> ":temp:old-design"
120+
":feature:piechart" -> ":shared:base"
121+
":feature:piechart" -> ":shared:data:core"
122+
":feature:piechart" -> ":shared:domain"
123+
":feature:piechart" -> ":shared:ui:core"
124+
":feature:piechart" -> ":shared:ui:navigation"
125+
":feature:piechart" -> ":temp:legacy-code"
126+
":feature:piechart" -> ":temp:old-design"
127+
":feature:planned-payments" -> ":shared:base"
128+
":feature:planned-payments" -> ":shared:data:core"
129+
":feature:planned-payments" -> ":shared:domain"
130+
":feature:planned-payments" -> ":shared:ui:core"
131+
":feature:planned-payments" -> ":shared:ui:navigation"
132+
":feature:planned-payments" -> ":temp:legacy-code"
133+
":feature:planned-payments" -> ":temp:old-design"
134+
":feature:releases" -> ":shared:base"
135+
":feature:releases" -> ":shared:domain"
136+
":feature:releases" -> ":shared:ui:core"
137+
":feature:releases" -> ":shared:ui:navigation"
138+
":feature:reports" -> ":shared:base"
139+
":feature:reports" -> ":shared:data:core"
140+
":feature:reports" -> ":shared:domain"
141+
":feature:reports" -> ":shared:ui:core"
142+
":feature:reports" -> ":shared:ui:navigation"
143+
":feature:reports" -> ":temp:legacy-code"
144+
":feature:reports" -> ":temp:old-design"
145+
":feature:search" -> ":shared:base"
146+
":feature:search" -> ":shared:data:core"
147+
":feature:search" -> ":shared:domain"
148+
":feature:search" -> ":shared:ui:core"
149+
":feature:search" -> ":shared:ui:navigation"
150+
":feature:search" -> ":temp:legacy-code"
151+
":feature:search" -> ":temp:old-design"
152+
":feature:settings" -> ":shared:base"
153+
":feature:settings" -> ":shared:data:core"
154+
":feature:settings" -> ":shared:domain"
155+
":feature:settings" -> ":shared:ui:core"
156+
":feature:settings" -> ":shared:ui:navigation"
157+
":feature:settings" -> ":temp:legacy-code"
158+
":feature:settings" -> ":temp:old-design"
159+
":feature:settings" -> ":widget:balance"
160+
":feature:transactions" -> ":shared:base"
161+
":feature:transactions" -> ":shared:data:core"
162+
":feature:transactions" -> ":shared:domain"
163+
":feature:transactions" -> ":shared:ui:core"
164+
":feature:transactions" -> ":shared:ui:navigation"
165+
":feature:transactions" -> ":temp:legacy-code"
166+
":feature:transactions" -> ":temp:old-design"
167167
":shared:data:core" -> ":shared:data:model" [color=red style=bold]
168168
":shared:data:core" -> ":shared:base"
169169
":shared:domain" -> ":shared:base"
@@ -193,13 +193,13 @@ digraph G {
193193
":widget:balance" -> ":widget:shared-base"
194194
":widget:balance" -> ":temp:legacy-code" [color=red style=bold]
195195
":shared:ui:core" -> ":shared:domain" [color=red style=bold]
196-
":screen:accounts" -> ":shared:base"
197-
":screen:accounts" -> ":shared:data:core"
198-
":screen:accounts" -> ":shared:domain"
199-
":screen:accounts" -> ":shared:ui:core"
200-
":screen:accounts" -> ":shared:ui:navigation"
201-
":screen:accounts" -> ":temp:legacy-code"
202-
":screen:accounts" -> ":temp:old-design"
196+
":feature:accounts" -> ":shared:base"
197+
":feature:accounts" -> ":shared:data:core"
198+
":feature:accounts" -> ":shared:domain"
199+
":feature:accounts" -> ":shared:ui:core"
200+
":feature:accounts" -> ":shared:ui:navigation"
201+
":feature:accounts" -> ":temp:legacy-code"
202+
":feature:accounts" -> ":temp:old-design"
203203
":widget:shared-base" -> ":shared:base"
204204
":widget:shared-base" -> ":shared:domain"
205205
":ci-actions:compose-stability" -> ":ci-actions:base"

0 commit comments

Comments
 (0)