|
1 | 1 | 'use client'; |
2 | 2 |
|
3 | | -import { useAppTranslation } from '@/lib/i18n'; |
4 | 3 | import styles from './style.module.scss'; |
| 4 | +import { useEffect, useState } from 'react'; |
| 5 | +import { useAppTranslation } from '@/lib/i18n'; |
5 | 6 | import { usePageSettings } from '@/module/pageSettings'; |
6 | 7 | import { useConnectedUser } from '@/module/user'; |
7 | | -import Link from '@/components/UI/Link'; |
8 | | -import { useEffect, useState } from 'react'; |
9 | 8 | import { API, useAPI } from '@/api/api'; |
10 | 9 | import Input from '@/components/UI/Input'; |
11 | 10 | import TextArea from '@/components/UI/TextArea'; |
12 | 11 | import Button from '@/components/UI/Button'; |
| 12 | +import AppModal from '@/components/toplevel/AppModal'; |
| 13 | +import Icons from '@/icons'; |
13 | 14 |
|
14 | 15 | function str2ab(str: string) { |
15 | 16 | const buf = new ArrayBuffer(str.length); |
@@ -127,73 +128,67 @@ export default function AdminPage() { |
127 | 128 | }; |
128 | 129 |
|
129 | 130 | return ( |
130 | | - <div className={styles.page}> |
131 | | - <div className={styles.mod}> |
132 | | - <div className={styles.title}> |
133 | | - {t('common:dashboard.hi')}{' '} |
134 | | - <span className={styles.bluePart}> |
135 | | - <span className={styles.nope}>{user?.firstName}</span> |
136 | | - </span>{' '} |
137 | | - 🐩 |
138 | | - </div> |
139 | | - {hasLoaded ? ( |
140 | | - hasSettingsOpen ? ( |
141 | | - <div className={styles.margin}> |
142 | | - <Input |
143 | | - className={[!status.debtor_name ? styles.required : '', styles.in].join(' ')} |
144 | | - value={debtorName} |
145 | | - placeholder={t('common:admin.placeholder_debtor_name')} |
146 | | - onChange={setDebtorName} |
147 | | - /> |
148 | | - <Input |
149 | | - className={[!status.debtor_iban ? styles.required : '', styles.in].join(' ')} |
150 | | - value={debtorIban} |
151 | | - placeholder={t('common:admin.placeholder_debtor_iban')} |
152 | | - onChange={setDebtorIban} |
153 | | - /> |
154 | | - <Input |
155 | | - className={[!status.debtor_bic ? styles.required : '', styles.in].join(' ')} |
156 | | - value={debtorBic} |
157 | | - placeholder={t('common:admin.placeholder_debtor_bic')} |
158 | | - onChange={setDebtorBic} |
159 | | - /> |
160 | | - <Input |
161 | | - className={[!status.debtor_address ? styles.required : '', styles.in].join(' ')} |
162 | | - value={debtorAddr1} |
163 | | - placeholder={t('common:admin.placeholder_debtor_addr_1')} |
164 | | - onChange={setDebtorAddr1} |
165 | | - /> |
166 | | - <Input |
167 | | - className={[!status.debtor_address ? styles.required : '', styles.in].join(' ')} |
168 | | - value={debtorAddr2} |
169 | | - placeholder={t('common:admin.placeholder_debtor_addr_2')} |
170 | | - onChange={setDebtorAddr2} |
171 | | - /> |
172 | | - <Button onClick={submitSettings}>{t('common:admin.placeholder_configure')}</Button> |
173 | | - </div> |
174 | | - ) : ( |
175 | | - <div className={styles.margin}> |
176 | | - <TextArea |
177 | | - placeholder={t('common:admin.private_key')} |
178 | | - buttonText={t('common:admin.generate')} |
179 | | - onChange={setPrivateKey} |
180 | | - value={privateKey} |
181 | | - onEnter={() => downloadReport(api, privateKey)} |
182 | | - /> |
183 | | - </div> |
184 | | - ) |
185 | | - ) : ( |
186 | | - <div className={styles.loading}>{t('common:admin.loading')}</div> |
187 | | - )} |
188 | | - </div> |
189 | | - <div className={styles.bottomNotes}> |
190 | | - <div>© 2025 UTT NET GROUP</div> |
191 | | - <div>BuckUTT</div> |
192 | | - <div>BDE UTT</div> |
193 | | - <Link className={styles.bottomLink} href={'/legal'}> |
194 | | - {t('common:legals')} |
195 | | - </Link> |
| 131 | + <AppModal> |
| 132 | + <div className={styles.title}> |
| 133 | + {t('common:dashboard.hi')}{' '} |
| 134 | + <span className={styles.bluePart}> |
| 135 | + <span className={styles.nope}>{user?.firstName}</span> |
| 136 | + </span>{' '} |
| 137 | + 🐩 |
196 | 138 | </div> |
197 | | - </div> |
| 139 | + {hasLoaded ? ( |
| 140 | + hasSettingsOpen ? ( |
| 141 | + <div className={styles.margin}> |
| 142 | + <Input |
| 143 | + className={[!status.debtor_name ? styles.required : '', styles.in].join(' ')} |
| 144 | + value={debtorName} |
| 145 | + placeholder={t('common:admin.placeholder_debtor_name')} |
| 146 | + onChange={setDebtorName} |
| 147 | + /> |
| 148 | + <Input |
| 149 | + className={[!status.debtor_iban ? styles.required : '', styles.in].join(' ')} |
| 150 | + value={debtorIban} |
| 151 | + placeholder={t('common:admin.placeholder_debtor_iban')} |
| 152 | + onChange={setDebtorIban} |
| 153 | + /> |
| 154 | + <Input |
| 155 | + className={[!status.debtor_bic ? styles.required : '', styles.in].join(' ')} |
| 156 | + value={debtorBic} |
| 157 | + placeholder={t('common:admin.placeholder_debtor_bic')} |
| 158 | + onChange={setDebtorBic} |
| 159 | + /> |
| 160 | + <Input |
| 161 | + className={[!status.debtor_address ? styles.required : '', styles.in].join(' ')} |
| 162 | + value={debtorAddr1} |
| 163 | + placeholder={t('common:admin.placeholder_debtor_addr_1')} |
| 164 | + onChange={setDebtorAddr1} |
| 165 | + /> |
| 166 | + <Input |
| 167 | + className={[!status.debtor_address ? styles.required : '', styles.in].join(' ')} |
| 168 | + value={debtorAddr2} |
| 169 | + placeholder={t('common:admin.placeholder_debtor_addr_2')} |
| 170 | + onChange={setDebtorAddr2} |
| 171 | + /> |
| 172 | + <Button onClick={submitSettings}>{t('common:admin.placeholder_configure')}</Button> |
| 173 | + </div> |
| 174 | + ) : ( |
| 175 | + <div className={styles.margin}> |
| 176 | + <TextArea |
| 177 | + placeholder={t('common:admin.private_key')} |
| 178 | + buttonText={t('common:admin.generate')} |
| 179 | + onChange={setPrivateKey} |
| 180 | + value={privateKey} |
| 181 | + onEnter={() => !!privateKey && downloadReport(api, privateKey)} |
| 182 | + /> |
| 183 | + <Button className={styles.configure} onClick={() => setSettingsOpen(true)}> |
| 184 | + <Icons.CircleWarning /> |
| 185 | + {t('common:admin.configure')} |
| 186 | + </Button> |
| 187 | + </div> |
| 188 | + ) |
| 189 | + ) : ( |
| 190 | + <div className={styles.loading}>{t('common:admin.loading')}</div> |
| 191 | + )} |
| 192 | + </AppModal> |
198 | 193 | ); |
199 | 194 | } |
0 commit comments