Files
start-os/web/projects/ui/src/app/app/preloader/preloader.component.ts
Matt Hill 479797361e add clearnet functionality to frontend (#2814)
* add clearnet functionality to frontend

* add pattern and add sync db on rpcs

* add domain pattern

* show acme name instead of url if known

* dont blow up if domain not present after delete

* use common name for letsencrypt

* normalize urls

* refactor start-os ui net service

* backend migration and rpcs for serverInfo.host

* fix cors

* implement clearnet for main startos ui

* ability to add and remove tor addresses, including vanity

* add guard to prevent duplicate addresses

* misc bugfixes

* better heuristics for launching UIs

* fix ipv6 mocks

* fix ipv6 display bug

* rewrite url selection for launch ui

---------

Co-authored-by: Aiden McClelland <me@drbonez.dev>
2025-01-22 03:46:36 +00:00

134 lines
2.7 KiB
TypeScript

import { ChangeDetectionStrategy, Component } from '@angular/core'
import { FormControl } from '@angular/forms'
import {
ActionSheetController,
AlertController,
ModalController,
ToastController,
} from '@ionic/angular'
// TODO: Turn into DI token if this is needed someplace else too
const ICONS = [
'add',
'alert-outline',
'alert-circle-outline',
'aperture-outline',
'arrow-back',
'arrow-forward',
'arrow-up',
'briefcase-outline',
'brush-outline',
'bookmark-outline',
'cellular-outline',
'chatbubbles-outline',
'checkmark',
'chevron-down',
'chevron-up',
'chevron-forward',
'close',
'close-circle-outline',
'cloud-outline',
'cloud-done',
'cloud-done-outline',
'cloud-download-outline',
'cloud-offline-outline',
'cloud-upload-outline',
'code-outline',
'color-wand-outline',
'construct-outline',
'copy-outline',
'desktop-outline',
'download-outline',
'duplicate-outline',
'earth-outline',
'ellipsis-horizontal',
'eye-off-outline',
'eye-outline',
'file-tray-stacked-outline',
'finger-print',
'flash-outline',
'folder-open-outline',
'globe-outline',
'grid-outline',
'help-circle-outline',
'hammer-outline',
'information-circle-outline',
'key-outline',
'list-outline',
'log-out-outline',
'logo-bitcoin',
'mail-outline',
'map-outline',
'medkit-outline',
'notifications-outline',
'open-outline',
'options-outline',
'pencil',
'phone-portrait-outline',
'play-outline',
'power',
'pricetag-outline',
'pulse',
'push-outline',
'qr-code-outline',
'receipt-outline',
'refresh',
'reload',
'reload-circle-outline',
'remove',
'remove-circle-outline',
'remove-outline',
'repeat-outline',
'ribbon-outline',
'rocket-outline',
'save-outline',
'settings-outline',
'shield-checkmark-outline',
'stop-outline',
'storefront-outline',
'swap-vertical',
'terminal-outline',
'trash',
'trash-outline',
'warning-outline',
'wifi',
]
const TAIGA = [
'tuiIconPaintOutline',
'tuiIconTrash',
'tuiIconTrashOutline',
'tuiIconChevronDown',
'tuiIconChevronDownOutline',
'tuiIconRefreshCcw',
'tuiIconRefreshCcwOutline',
'tuiIconEye',
'tuiIconEyeOutline',
'tuiIconEyeOff',
'tuiIconEyeOffOutline',
'tuiIconPlus',
'tuiIconMinus',
'tuiIconCheck',
'tuiIconClose',
'tuiIconCalendarLarge',
'tuiIconHelpCircle',
]
@Component({
selector: 'section[appPreloader]',
templateUrl: 'preloader.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class PreloaderComponent {
readonly icons = ICONS
readonly taiga = TAIGA
readonly control = new FormControl()
constructor(
_modals: ModalController,
_alerts: AlertController,
_toasts: ToastController,
_actions: ActionSheetController,
) {}
}