@backstage/plugin-home 0.7.3 → 0.7.4-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/alpha/package.json +1 -1
- package/dist/alpha.esm.js +1 -1
- package/dist/alpha.esm.js.map +1 -1
- package/dist/api/VisitsApi.esm.js +11 -0
- package/dist/api/VisitsApi.esm.js.map +1 -0
- package/dist/api/VisitsStorageApi.esm.js +118 -0
- package/dist/api/VisitsStorageApi.esm.js.map +1 -0
- package/dist/api/VisitsWebStorageApi.esm.js +15 -0
- package/dist/api/VisitsWebStorageApi.esm.js.map +1 -0
- package/dist/api/config.esm.js +37 -0
- package/dist/api/config.esm.js.map +1 -0
- package/dist/assets/TemplateBackstageLogo.esm.js +22 -0
- package/dist/assets/TemplateBackstageLogo.esm.js.map +1 -0
- package/dist/assets/TemplateBackstageLogoIcon.esm.js +33 -0
- package/dist/assets/TemplateBackstageLogoIcon.esm.js.map +1 -0
- package/dist/{esm/index-BNfZuEhy.esm.js → componentRenderers/ComponentAccordion.esm.js} +2 -26
- package/dist/componentRenderers/ComponentAccordion.esm.js.map +1 -0
- package/dist/componentRenderers/ComponentTabs/ComponentTab.esm.js +9 -0
- package/dist/componentRenderers/ComponentTabs/ComponentTab.esm.js.map +1 -0
- package/dist/componentRenderers/ComponentTabs/ComponentTabs.esm.js +23 -0
- package/dist/componentRenderers/ComponentTabs/ComponentTabs.esm.js.map +1 -0
- package/dist/componentRenderers/index.esm.js +4 -0
- package/dist/componentRenderers/index.esm.js.map +1 -0
- package/dist/components/CustomHomepage/AddWidgetDialog.esm.js +45 -0
- package/dist/components/CustomHomepage/AddWidgetDialog.esm.js.map +1 -0
- package/dist/components/CustomHomepage/CustomHomepageButtons.esm.js +90 -0
- package/dist/components/CustomHomepage/CustomHomepageButtons.esm.js.map +1 -0
- package/dist/components/CustomHomepage/CustomHomepageGrid.esm.js +319 -0
- package/dist/components/CustomHomepage/CustomHomepageGrid.esm.js.map +1 -0
- package/dist/components/CustomHomepage/WidgetSettingsOverlay.esm.js +88 -0
- package/dist/components/CustomHomepage/WidgetSettingsOverlay.esm.js.map +1 -0
- package/dist/components/CustomHomepage/types.esm.js +48 -0
- package/dist/components/CustomHomepage/types.esm.js.map +1 -0
- package/dist/components/HomepageCompositionRoot.esm.js +12 -0
- package/dist/components/HomepageCompositionRoot.esm.js.map +1 -0
- package/dist/components/StarredEntityListItem/StarredEntityListItem.esm.js +31 -0
- package/dist/components/StarredEntityListItem/StarredEntityListItem.esm.js.map +1 -0
- package/dist/components/VisitList/ItemCategory.esm.js +63 -0
- package/dist/components/VisitList/ItemCategory.esm.js.map +1 -0
- package/dist/components/VisitList/ItemDetail.esm.js +26 -0
- package/dist/components/VisitList/ItemDetail.esm.js.map +1 -0
- package/dist/components/VisitList/ItemName.esm.js +27 -0
- package/dist/components/VisitList/ItemName.esm.js.map +1 -0
- package/dist/components/VisitList/VisitList.esm.js +46 -0
- package/dist/components/VisitList/VisitList.esm.js.map +1 -0
- package/dist/components/VisitList/VisitListEmpty.esm.js +7 -0
- package/dist/components/VisitList/VisitListEmpty.esm.js.map +1 -0
- package/dist/components/VisitList/VisitListFew.esm.js +7 -0
- package/dist/components/VisitList/VisitListFew.esm.js.map +1 -0
- package/dist/components/VisitList/VisitListItem.esm.js +31 -0
- package/dist/components/VisitList/VisitListItem.esm.js.map +1 -0
- package/dist/components/VisitList/VisitListSkeleton.esm.js +39 -0
- package/dist/components/VisitList/VisitListSkeleton.esm.js.map +1 -0
- package/dist/components/VisitListener.esm.js +62 -0
- package/dist/components/VisitListener.esm.js.map +1 -0
- package/dist/components/index.esm.js +4 -0
- package/dist/components/index.esm.js.map +1 -0
- package/dist/deprecated.esm.js +7 -0
- package/dist/deprecated.esm.js.map +1 -0
- package/dist/{esm/index-FqRX6ImF.esm.js → homePageComponents/CompanyLogo/CompanyLogo.esm.js} +1 -1
- package/dist/{esm/index-FqRX6ImF.esm.js.map → homePageComponents/CompanyLogo/CompanyLogo.esm.js.map} +1 -1
- package/dist/homePageComponents/CompanyLogo/index.esm.js +2 -0
- package/dist/homePageComponents/CompanyLogo/index.esm.js.map +1 -0
- package/dist/{esm/index-D7JTE1IL.esm.js → homePageComponents/FeaturedDocsCard/Content.esm.js} +1 -1
- package/dist/homePageComponents/FeaturedDocsCard/Content.esm.js.map +1 -0
- package/dist/homePageComponents/FeaturedDocsCard/index.esm.js +2 -0
- package/dist/homePageComponents/FeaturedDocsCard/index.esm.js.map +1 -0
- package/dist/{esm/index-BvvJGS3L.esm.js → homePageComponents/HeaderWorldClock/HeaderWorldClock.esm.js} +1 -1
- package/dist/homePageComponents/HeaderWorldClock/HeaderWorldClock.esm.js.map +1 -0
- package/dist/homePageComponents/HeaderWorldClock/index.esm.js +2 -0
- package/dist/homePageComponents/HeaderWorldClock/index.esm.js.map +1 -0
- package/dist/homePageComponents/RandomJoke/Actions.esm.js +11 -0
- package/dist/homePageComponents/RandomJoke/Actions.esm.js.map +1 -0
- package/dist/homePageComponents/RandomJoke/Content.esm.js +13 -0
- package/dist/homePageComponents/RandomJoke/Content.esm.js.map +1 -0
- package/dist/homePageComponents/RandomJoke/Context.esm.js +48 -0
- package/dist/homePageComponents/RandomJoke/Context.esm.js.map +1 -0
- package/dist/homePageComponents/RandomJoke/Settings.esm.js +33 -0
- package/dist/homePageComponents/RandomJoke/Settings.esm.js.map +1 -0
- package/dist/homePageComponents/RandomJoke/index.esm.js +5 -0
- package/dist/homePageComponents/RandomJoke/index.esm.js.map +1 -0
- package/dist/{esm/index-SfHoDIi1.esm.js → homePageComponents/StarredEntities/Content.esm.js} +4 -27
- package/dist/homePageComponents/StarredEntities/Content.esm.js.map +1 -0
- package/dist/homePageComponents/StarredEntities/index.esm.js +2 -0
- package/dist/homePageComponents/StarredEntities/index.esm.js.map +1 -0
- package/dist/{esm/index-CeXFfTX2.esm.js → homePageComponents/Toolkit/Content.esm.js} +4 -17
- package/dist/homePageComponents/Toolkit/Content.esm.js.map +1 -0
- package/dist/homePageComponents/Toolkit/Context.esm.js +18 -0
- package/dist/homePageComponents/Toolkit/Context.esm.js.map +1 -0
- package/dist/homePageComponents/Toolkit/index.esm.js +3 -0
- package/dist/homePageComponents/Toolkit/index.esm.js.map +1 -0
- package/dist/homePageComponents/VisitedByType/Actions.esm.js +18 -0
- package/dist/homePageComponents/VisitedByType/Actions.esm.js.map +1 -0
- package/dist/homePageComponents/VisitedByType/Content.esm.js +68 -0
- package/dist/homePageComponents/VisitedByType/Content.esm.js.map +1 -0
- package/dist/homePageComponents/VisitedByType/Context.esm.js +77 -0
- package/dist/homePageComponents/VisitedByType/Context.esm.js.map +1 -0
- package/dist/homePageComponents/VisitedByType/RecentlyVisited.esm.js +9 -0
- package/dist/homePageComponents/VisitedByType/RecentlyVisited.esm.js.map +1 -0
- package/dist/homePageComponents/VisitedByType/TopVisited.esm.js +9 -0
- package/dist/homePageComponents/VisitedByType/TopVisited.esm.js.map +1 -0
- package/dist/homePageComponents/VisitedByType/VisitedByType.esm.js +21 -0
- package/dist/homePageComponents/VisitedByType/VisitedByType.esm.js.map +1 -0
- package/dist/homePageComponents/WelcomeTitle/WelcomeTitle.esm.js +27 -0
- package/dist/homePageComponents/WelcomeTitle/WelcomeTitle.esm.js.map +1 -0
- package/dist/homePageComponents/WelcomeTitle/index.esm.js +2 -0
- package/dist/homePageComponents/WelcomeTitle/index.esm.js.map +1 -0
- package/dist/homePageComponents/WelcomeTitle/locales/goodAfternoon.locales.json.esm.js +256 -0
- package/dist/homePageComponents/WelcomeTitle/locales/goodAfternoon.locales.json.esm.js.map +1 -0
- package/dist/homePageComponents/WelcomeTitle/locales/goodEvening.locales.json.esm.js +196 -0
- package/dist/homePageComponents/WelcomeTitle/locales/goodEvening.locales.json.esm.js.map +1 -0
- package/dist/homePageComponents/WelcomeTitle/locales/goodMorning.locales.json.esm.js +131 -0
- package/dist/homePageComponents/WelcomeTitle/locales/goodMorning.locales.json.esm.js.map +1 -0
- package/dist/homePageComponents/WelcomeTitle/timeUtil.esm.js +41 -0
- package/dist/homePageComponents/WelcomeTitle/timeUtil.esm.js.map +1 -0
- package/dist/index.esm.js +10 -352
- package/dist/index.esm.js.map +1 -1
- package/dist/plugin.esm.js +144 -0
- package/dist/plugin.esm.js.map +1 -0
- package/dist/routes.esm.js +8 -0
- package/dist/routes.esm.js.map +1 -0
- package/package.json +16 -16
- package/dist/esm/Content-Quo42yad.esm.js +0 -396
- package/dist/esm/Content-Quo42yad.esm.js.map +0 -1
- package/dist/esm/RecentlyVisited-qOUgoCVu.esm.js +0 -48
- package/dist/esm/RecentlyVisited-qOUgoCVu.esm.js.map +0 -1
- package/dist/esm/TopVisited-B_KhSJit.esm.js +0 -48
- package/dist/esm/TopVisited-B_KhSJit.esm.js.map +0 -1
- package/dist/esm/VisitListener-dDLtFiIW.esm.js +0 -627
- package/dist/esm/VisitListener-dDLtFiIW.esm.js.map +0 -1
- package/dist/esm/index-BMySa_Iw.esm.js +0 -638
- package/dist/esm/index-BMySa_Iw.esm.js.map +0 -1
- package/dist/esm/index-BNfZuEhy.esm.js.map +0 -1
- package/dist/esm/index-BvvJGS3L.esm.js.map +0 -1
- package/dist/esm/index-Bzg5mDMo.esm.js +0 -45
- package/dist/esm/index-Bzg5mDMo.esm.js.map +0 -1
- package/dist/esm/index-CeXFfTX2.esm.js.map +0 -1
- package/dist/esm/index-D7JTE1IL.esm.js.map +0 -1
- package/dist/esm/index-Dg9lslkf.esm.js +0 -90
- package/dist/esm/index-Dg9lslkf.esm.js.map +0 -1
- package/dist/esm/index-SfHoDIi1.esm.js.map +0 -1
|
@@ -1,638 +0,0 @@
|
|
|
1
|
-
import { useApi, identityApiRef, alertApiRef } from '@backstage/core-plugin-api';
|
|
2
|
-
import Tooltip from '@material-ui/core/Tooltip';
|
|
3
|
-
import Typography from '@material-ui/core/Typography';
|
|
4
|
-
import React, { useMemo, useEffect } from 'react';
|
|
5
|
-
import useAsync from 'react-use/esm/useAsync';
|
|
6
|
-
|
|
7
|
-
var English$2 = "Good morning";
|
|
8
|
-
var Afrikaans$2 = "Goeiemôre, Môre";
|
|
9
|
-
var Albanian$2 = "Mirëmëngjes";
|
|
10
|
-
var Arabic$2 = "صباح الخير";
|
|
11
|
-
var Armenian$2 = "Paree looys";
|
|
12
|
-
var Australian$2 = "G'day";
|
|
13
|
-
var Azerbaijani$2 = "Sabahınız xeyir";
|
|
14
|
-
var Bengali$2 = "shuprobhat";
|
|
15
|
-
var Bulgarian$2 = "Dobro utro";
|
|
16
|
-
var Catalan$1 = "Bon dia";
|
|
17
|
-
var Chinese$2 = "早安";
|
|
18
|
-
var Croatian$2 = "Dobro jutro";
|
|
19
|
-
var Czech$2 = "Dobré ráno";
|
|
20
|
-
var Danish$2 = "God morgen";
|
|
21
|
-
var Dutch$2 = "Goedemorgen";
|
|
22
|
-
var Esperanto$1 = "Bonan matenon";
|
|
23
|
-
var Estonian$2 = "Tere hommikust";
|
|
24
|
-
var Finnish$2 = "Hyvää huomenta";
|
|
25
|
-
var French$2 = "Bonjour";
|
|
26
|
-
var German$2 = "Guten Morgen";
|
|
27
|
-
var Greek$2 = "Kaliméra";
|
|
28
|
-
var Kalaallisut = "Iterluarit";
|
|
29
|
-
var Hawaiian$1 = "Aloha kakahiaka";
|
|
30
|
-
var Hebrew$2 = "boker tov";
|
|
31
|
-
var Hindi$1 = "Namaste";
|
|
32
|
-
var Hungarian$1 = "Jó reggelt";
|
|
33
|
-
var Indonesian$2 = "Selamat pagi";
|
|
34
|
-
var Irish = "Dia dhuit";
|
|
35
|
-
var Italian$2 = "Buongiorno";
|
|
36
|
-
var Japanese$2 = "おはよう";
|
|
37
|
-
var Korean$1 = "안녕하세요";
|
|
38
|
-
var Kazakh$2 = "Kayırlı tan";
|
|
39
|
-
var Kurdish$2 = "Beyanî baş";
|
|
40
|
-
var Lithuanian$2 = "Labas rytas";
|
|
41
|
-
var Macedonian$2 = "Добро утро";
|
|
42
|
-
var Malay$1 = "Selamat pagi";
|
|
43
|
-
var Maltese$2 = "Bonġu";
|
|
44
|
-
var Nepali$1 = "subha prabhat";
|
|
45
|
-
var Norwegian$1 = "God morgen";
|
|
46
|
-
var Odia$2 = "ସୁପ୍ରଭାତ";
|
|
47
|
-
var Polish$2 = "Dzień dobry";
|
|
48
|
-
var Portuguese$2 = "Bom dia";
|
|
49
|
-
var Romanian$2 = "Bună dimineaţa";
|
|
50
|
-
var Russian$2 = "Доброе утро";
|
|
51
|
-
var Serbian$2 = "Добро јутро";
|
|
52
|
-
var Spanish$1 = "Buenos días";
|
|
53
|
-
var Sumerian$2 = "𒄭𒌓";
|
|
54
|
-
var Swahili$1 = "Habari ya asubuhi";
|
|
55
|
-
var Swedish$2 = "God morgon";
|
|
56
|
-
var Tagalog$2 = "Magandang umaga po";
|
|
57
|
-
var Taiwanese = "爻早";
|
|
58
|
-
var Tatar$2 = "Xäyerle irtä";
|
|
59
|
-
var Telugu$2 = "శుభోదయం";
|
|
60
|
-
var Thai$2 = "สวัสดีครับ";
|
|
61
|
-
var Turkish$2 = "Günaydın";
|
|
62
|
-
var Ukrainian$2 = "Доброго ранку";
|
|
63
|
-
var Urdu$1 = "صبح بخير";
|
|
64
|
-
var Uzbek$2 = "Xayrli tong";
|
|
65
|
-
var Vietnamese$1 = "Chào buổi sáng";
|
|
66
|
-
var Welsh$2 = "Bore da";
|
|
67
|
-
var Latvian$2 = "Labrīt";
|
|
68
|
-
var Valyrian$1 = "Sȳz ñāqes";
|
|
69
|
-
var goodMorning = {
|
|
70
|
-
English: English$2,
|
|
71
|
-
Afrikaans: Afrikaans$2,
|
|
72
|
-
Albanian: Albanian$2,
|
|
73
|
-
Arabic: Arabic$2,
|
|
74
|
-
Armenian: Armenian$2,
|
|
75
|
-
Australian: Australian$2,
|
|
76
|
-
Azerbaijani: Azerbaijani$2,
|
|
77
|
-
Bengali: Bengali$2,
|
|
78
|
-
Bulgarian: Bulgarian$2,
|
|
79
|
-
Catalan: Catalan$1,
|
|
80
|
-
Chinese: Chinese$2,
|
|
81
|
-
Croatian: Croatian$2,
|
|
82
|
-
Czech: Czech$2,
|
|
83
|
-
Danish: Danish$2,
|
|
84
|
-
Dutch: Dutch$2,
|
|
85
|
-
Esperanto: Esperanto$1,
|
|
86
|
-
Estonian: Estonian$2,
|
|
87
|
-
Finnish: Finnish$2,
|
|
88
|
-
French: French$2,
|
|
89
|
-
German: German$2,
|
|
90
|
-
Greek: Greek$2,
|
|
91
|
-
Kalaallisut: Kalaallisut,
|
|
92
|
-
Hawaiian: Hawaiian$1,
|
|
93
|
-
Hebrew: Hebrew$2,
|
|
94
|
-
Hindi: Hindi$1,
|
|
95
|
-
Hungarian: Hungarian$1,
|
|
96
|
-
Indonesian: Indonesian$2,
|
|
97
|
-
Irish: Irish,
|
|
98
|
-
Italian: Italian$2,
|
|
99
|
-
Japanese: Japanese$2,
|
|
100
|
-
Korean: Korean$1,
|
|
101
|
-
Kazakh: Kazakh$2,
|
|
102
|
-
Kurdish: Kurdish$2,
|
|
103
|
-
Lithuanian: Lithuanian$2,
|
|
104
|
-
"Low German": "Moin",
|
|
105
|
-
Macedonian: Macedonian$2,
|
|
106
|
-
Malay: Malay$1,
|
|
107
|
-
Maltese: Maltese$2,
|
|
108
|
-
"Middle Egyptian Hieroglyphs": "𓄤 𓃀 𓂓 𓇳𓐅",
|
|
109
|
-
Nepali: Nepali$1,
|
|
110
|
-
Norwegian: Norwegian$1,
|
|
111
|
-
Odia: Odia$2,
|
|
112
|
-
Polish: Polish$2,
|
|
113
|
-
Portuguese: Portuguese$2,
|
|
114
|
-
Romanian: Romanian$2,
|
|
115
|
-
Russian: Russian$2,
|
|
116
|
-
Serbian: Serbian$2,
|
|
117
|
-
Spanish: Spanish$1,
|
|
118
|
-
Sumerian: Sumerian$2,
|
|
119
|
-
Swahili: Swahili$1,
|
|
120
|
-
Swedish: Swedish$2,
|
|
121
|
-
Tagalog: Tagalog$2,
|
|
122
|
-
Taiwanese: Taiwanese,
|
|
123
|
-
Tatar: Tatar$2,
|
|
124
|
-
Telugu: Telugu$2,
|
|
125
|
-
Thai: Thai$2,
|
|
126
|
-
Turkish: Turkish$2,
|
|
127
|
-
Ukrainian: Ukrainian$2,
|
|
128
|
-
Urdu: Urdu$1,
|
|
129
|
-
Uzbek: Uzbek$2,
|
|
130
|
-
Vietnamese: Vietnamese$1,
|
|
131
|
-
Welsh: Welsh$2,
|
|
132
|
-
Latvian: Latvian$2,
|
|
133
|
-
Valyrian: Valyrian$1
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
var English$1 = "Good afternoon";
|
|
137
|
-
var Abkhaz = "Уа, мшы бзиа";
|
|
138
|
-
var Adyghe = "Уимафэ шІу";
|
|
139
|
-
var Afrikaans$1 = "Goeie middag";
|
|
140
|
-
var Albanian$1 = "Mirëdita";
|
|
141
|
-
var Aleut = "Angaliichxizax̂";
|
|
142
|
-
var Aklan = "Mayad nga hapon";
|
|
143
|
-
var Alsatian = "Güete Nàchmittag";
|
|
144
|
-
var Arabic$1 = "مساء الخير";
|
|
145
|
-
var Armenian$1 = "Բարի կէսօր:";
|
|
146
|
-
var Assamese = "শুভ আবেলি";
|
|
147
|
-
var Asturian$1 = "Bones tardes";
|
|
148
|
-
var Australian$1 = "G'day";
|
|
149
|
-
var Azerbaijani$1 = "Günortanız xeyir";
|
|
150
|
-
var Bashkir = "хәйерле көн";
|
|
151
|
-
var Basque$1 = "Arratsalde on";
|
|
152
|
-
var Bavarian = "Guadn åmd";
|
|
153
|
-
var Bengali$1 = "শুভ বিকাল";
|
|
154
|
-
var Bhojpuri = "राम राम";
|
|
155
|
-
var Bosnian = "Dobar dan";
|
|
156
|
-
var Breton$1 = "Demat";
|
|
157
|
-
var Bulgarian$1 = "Добър ден";
|
|
158
|
-
var Cebuano = "Maayong Hapon";
|
|
159
|
-
var Chamorro$1 = "Buenas tåtdes";
|
|
160
|
-
var Chinese$1 = "午安";
|
|
161
|
-
var Cornish$1 = "Dohajydh da";
|
|
162
|
-
var Corsican = "Bonghjornu";
|
|
163
|
-
var Croatian$1 = "Dobar dan";
|
|
164
|
-
var Cuyonon = "Mayad nga apon";
|
|
165
|
-
var Czech$1 = "Dobré odpoledne";
|
|
166
|
-
var Danish$1 = "God eftermiddag";
|
|
167
|
-
var Dutch$1 = "Goedemiddag";
|
|
168
|
-
var Estonian$1 = "Tere päevast";
|
|
169
|
-
var Ewe = "Ŋdɔ";
|
|
170
|
-
var Faroese$1 = "Góðan dagin";
|
|
171
|
-
var Fijian$1 = "Bula";
|
|
172
|
-
var Finnish$1 = "Hyvää päivää";
|
|
173
|
-
var Flemish = "Ghoeie middagh";
|
|
174
|
-
var French$1 = "Bon après-midi";
|
|
175
|
-
var Friulian = "Bundì";
|
|
176
|
-
var Galician$1 = "Boa tarde";
|
|
177
|
-
var Georgian$1 = "დილა მშვიდობისა";
|
|
178
|
-
var German$1 = "Guten Tag";
|
|
179
|
-
var Greek$1 = "Καλό απόγευμα";
|
|
180
|
-
var Greenlandic = "Inuugujaq";
|
|
181
|
-
var Hausa = "Barka da yamma";
|
|
182
|
-
var Hawaiian = "Aloha ʻauinalā";
|
|
183
|
-
var Hebrew$1 = "אחר צהריים טובים";
|
|
184
|
-
var Hindi = "नमस्कार";
|
|
185
|
-
var Icelandic$1 = "Góðan dag";
|
|
186
|
-
var Iloko = "Naimbag a malem";
|
|
187
|
-
var Indonesian$1 = "Selamat sore";
|
|
188
|
-
var Gaelic = "Tráthnóna maith duit";
|
|
189
|
-
var Italian$1 = "Buongiorno";
|
|
190
|
-
var Japanese$1 = "こんにちは";
|
|
191
|
-
var Javanese = "Sugeng siang";
|
|
192
|
-
var Kannada = "ಶುಭ ಮಧ್ಯಾಹ್ನ";
|
|
193
|
-
var Kazakh$1 = "Kayırlı kun";
|
|
194
|
-
var Khmer = "ទិវាសួស្ដី";
|
|
195
|
-
var Korean = "안녕하세요";
|
|
196
|
-
var Kurdish$1 = "Rojbash";
|
|
197
|
-
var Kyrgyz = "Кутмандуу күнүңүз менен";
|
|
198
|
-
var Latvian$1 = "Labdien";
|
|
199
|
-
var Limburgish = "Gojemiddig";
|
|
200
|
-
var Lithuanian$1 = "Laba diena";
|
|
201
|
-
var Lozi = "Ki musihali";
|
|
202
|
-
var Luxembourgish$1 = "Gudde Mëtteg";
|
|
203
|
-
var Macedonian$1 = "Добар ден";
|
|
204
|
-
var Malagasy = "Manao ahoana e";
|
|
205
|
-
var Maltese$1 = "Wara nofsinhar it-tajjeb";
|
|
206
|
-
var Mam = "Qa’lte";
|
|
207
|
-
var Manx = "Fastyr mie";
|
|
208
|
-
var Nepali = "नमस्कार";
|
|
209
|
-
var Newari = "भिं न्हि";
|
|
210
|
-
var Norwegian = "God ettermiddag";
|
|
211
|
-
var Occitan = "Bon vèspre";
|
|
212
|
-
var Odia$1 = "ସୁଭ ଖରା ବେଳ";
|
|
213
|
-
var Papiamento = "Bon tardi";
|
|
214
|
-
var Pashto = "ورځ مو په خير";
|
|
215
|
-
var Polish$1 = "Dzień dobry";
|
|
216
|
-
var Portuguese$1 = "Boa tarde";
|
|
217
|
-
var Romanian$1 = "Bună ziua";
|
|
218
|
-
var Russian$1 = "Добрый день";
|
|
219
|
-
var Sakha = "Үтүө күнүнэн";
|
|
220
|
-
var Sardinian = "Bona sera";
|
|
221
|
-
var Scots$1 = "Guid efternuin";
|
|
222
|
-
var Serbian$1 = "Добар дан";
|
|
223
|
-
var Shona = "Masikati";
|
|
224
|
-
var Sicilian = "Bon jornu";
|
|
225
|
-
var Sinhala = "සුභ දවාලක්";
|
|
226
|
-
var Slovenian$1 = "Dober dan";
|
|
227
|
-
var Somali$1 = "Galab wanaagsan";
|
|
228
|
-
var Sumerian$1 = "𒄭𒌓𒁀";
|
|
229
|
-
var Swahili = "Habari ya mchana";
|
|
230
|
-
var Swedish$1 = "God eftermiddag";
|
|
231
|
-
var Tagalog$1 = "Magandang hapon po";
|
|
232
|
-
var Tamil = "மதிய வணக்கம்";
|
|
233
|
-
var Tatar$1 = "Xäyerle kön";
|
|
234
|
-
var Telugu$1 = "శుభ మద్యాహ్నం";
|
|
235
|
-
var Tetum = "Botarde";
|
|
236
|
-
var Thai$1 = "สวัสดีครับ";
|
|
237
|
-
var Tibetan = "ཉིན་གུང་བདེ་ལེགས།";
|
|
238
|
-
var Tongan = "Mālō tau ma‘u e ho‘ata ni";
|
|
239
|
-
var Tsonga = "Indzengha";
|
|
240
|
-
var Tswana = "Thupama e e monate";
|
|
241
|
-
var Turkish$1 = "Tünaydın";
|
|
242
|
-
var Ukrainian$1 = "Доброго дня";
|
|
243
|
-
var Urdu = "روز بخير";
|
|
244
|
-
var Uzbek$1 = "Xayrli kun";
|
|
245
|
-
var Venetian = "Bondì";
|
|
246
|
-
var Vietnamese = "Xin chào";
|
|
247
|
-
var Welsh$1 = "P'nawn da";
|
|
248
|
-
var Xhosa = "Uben' emva kwemini entle";
|
|
249
|
-
var Yapese = "Fal'e misii";
|
|
250
|
-
var Yiddish$1 = "א גוט אָוונט";
|
|
251
|
-
var Zazaki = "Perocê şıma xeyr bo";
|
|
252
|
-
var Zulu = "Sawubona";
|
|
253
|
-
var goodAfternoon = {
|
|
254
|
-
English: English$1,
|
|
255
|
-
Abkhaz: Abkhaz,
|
|
256
|
-
Adyghe: Adyghe,
|
|
257
|
-
Afrikaans: Afrikaans$1,
|
|
258
|
-
Albanian: Albanian$1,
|
|
259
|
-
Aleut: Aleut,
|
|
260
|
-
Aklan: Aklan,
|
|
261
|
-
Alsatian: Alsatian,
|
|
262
|
-
Arabic: Arabic$1,
|
|
263
|
-
Armenian: Armenian$1,
|
|
264
|
-
Assamese: Assamese,
|
|
265
|
-
Asturian: Asturian$1,
|
|
266
|
-
Australian: Australian$1,
|
|
267
|
-
Azerbaijani: Azerbaijani$1,
|
|
268
|
-
Bashkir: Bashkir,
|
|
269
|
-
Basque: Basque$1,
|
|
270
|
-
Bavarian: Bavarian,
|
|
271
|
-
Bengali: Bengali$1,
|
|
272
|
-
Bhojpuri: Bhojpuri,
|
|
273
|
-
Bosnian: Bosnian,
|
|
274
|
-
Breton: Breton$1,
|
|
275
|
-
Bulgarian: Bulgarian$1,
|
|
276
|
-
Cebuano: Cebuano,
|
|
277
|
-
Chamorro: Chamorro$1,
|
|
278
|
-
Chinese: Chinese$1,
|
|
279
|
-
Cornish: Cornish$1,
|
|
280
|
-
Corsican: Corsican,
|
|
281
|
-
Croatian: Croatian$1,
|
|
282
|
-
Cuyonon: Cuyonon,
|
|
283
|
-
Czech: Czech$1,
|
|
284
|
-
Danish: Danish$1,
|
|
285
|
-
Dutch: Dutch$1,
|
|
286
|
-
Estonian: Estonian$1,
|
|
287
|
-
Ewe: Ewe,
|
|
288
|
-
Faroese: Faroese$1,
|
|
289
|
-
Fijian: Fijian$1,
|
|
290
|
-
Finnish: Finnish$1,
|
|
291
|
-
Flemish: Flemish,
|
|
292
|
-
French: French$1,
|
|
293
|
-
"Frisian (North)": "Moin",
|
|
294
|
-
"Frisian (West)": "Goeie middei",
|
|
295
|
-
Friulian: Friulian,
|
|
296
|
-
Galician: Galician$1,
|
|
297
|
-
Georgian: Georgian$1,
|
|
298
|
-
German: German$1,
|
|
299
|
-
Greek: Greek$1,
|
|
300
|
-
Greenlandic: Greenlandic,
|
|
301
|
-
"Haitian Creole": "Bon apre-midi",
|
|
302
|
-
Hausa: Hausa,
|
|
303
|
-
Hawaiian: Hawaiian,
|
|
304
|
-
Hebrew: Hebrew$1,
|
|
305
|
-
Hindi: Hindi,
|
|
306
|
-
Icelandic: Icelandic$1,
|
|
307
|
-
Iloko: Iloko,
|
|
308
|
-
Indonesian: Indonesian$1,
|
|
309
|
-
"Iñupiaq": "Unnusatkun",
|
|
310
|
-
Gaelic: Gaelic,
|
|
311
|
-
Italian: Italian$1,
|
|
312
|
-
Japanese: Japanese$1,
|
|
313
|
-
Javanese: Javanese,
|
|
314
|
-
"Jèrriais": "Bouônjour",
|
|
315
|
-
Kannada: Kannada,
|
|
316
|
-
Kazakh: Kazakh$1,
|
|
317
|
-
Khmer: Khmer,
|
|
318
|
-
Korean: Korean,
|
|
319
|
-
Kurdish: Kurdish$1,
|
|
320
|
-
Kyrgyz: Kyrgyz,
|
|
321
|
-
Latvian: Latvian$1,
|
|
322
|
-
Limburgish: Limburgish,
|
|
323
|
-
Lithuanian: Lithuanian$1,
|
|
324
|
-
"Low German": "Moin",
|
|
325
|
-
Lozi: Lozi,
|
|
326
|
-
"Lule Sámi": "Buorre biejvve",
|
|
327
|
-
Luxembourgish: Luxembourgish$1,
|
|
328
|
-
Macedonian: Macedonian$1,
|
|
329
|
-
Malagasy: Malagasy,
|
|
330
|
-
Maltese: Maltese$1,
|
|
331
|
-
Mam: Mam,
|
|
332
|
-
Manx: Manx,
|
|
333
|
-
"Māori": "Kia ora",
|
|
334
|
-
"Middle Egyptian Hieroglyphs": "𓄤 𓅓𓈙𓂋𓅱𓇰",
|
|
335
|
-
Nepali: Nepali,
|
|
336
|
-
Newari: Newari,
|
|
337
|
-
"Northern Sámi": "Buorre beaivvi",
|
|
338
|
-
"Northern Sotho": "Dumêlang",
|
|
339
|
-
Norwegian: Norwegian,
|
|
340
|
-
Occitan: Occitan,
|
|
341
|
-
Odia: Odia$1,
|
|
342
|
-
Papiamento: Papiamento,
|
|
343
|
-
Pashto: Pashto,
|
|
344
|
-
Polish: Polish$1,
|
|
345
|
-
Portuguese: Portuguese$1,
|
|
346
|
-
Romanian: Romanian$1,
|
|
347
|
-
Russian: Russian$1,
|
|
348
|
-
Sakha: Sakha,
|
|
349
|
-
Sardinian: Sardinian,
|
|
350
|
-
"Scottish Gaelic": "Feasgar math",
|
|
351
|
-
Scots: Scots$1,
|
|
352
|
-
Serbian: Serbian$1,
|
|
353
|
-
Shona: Shona,
|
|
354
|
-
Sicilian: Sicilian,
|
|
355
|
-
Sinhala: Sinhala,
|
|
356
|
-
Slovenian: Slovenian$1,
|
|
357
|
-
Somali: Somali$1,
|
|
358
|
-
"Southern Sámi": "Buerie biejjie",
|
|
359
|
-
Sumerian: Sumerian$1,
|
|
360
|
-
Swahili: Swahili,
|
|
361
|
-
Swedish: Swedish$1,
|
|
362
|
-
"Swiss German": "Gueten Abig",
|
|
363
|
-
Tagalog: Tagalog$1,
|
|
364
|
-
Tamil: Tamil,
|
|
365
|
-
Tatar: Tatar$1,
|
|
366
|
-
Telugu: Telugu$1,
|
|
367
|
-
Tetum: Tetum,
|
|
368
|
-
Thai: Thai$1,
|
|
369
|
-
Tibetan: Tibetan,
|
|
370
|
-
"Tok Pisin": "Apinum",
|
|
371
|
-
Tongan: Tongan,
|
|
372
|
-
Tsonga: Tsonga,
|
|
373
|
-
Tswana: Tswana,
|
|
374
|
-
Turkish: Turkish$1,
|
|
375
|
-
Ukrainian: Ukrainian$1,
|
|
376
|
-
Urdu: Urdu,
|
|
377
|
-
Uzbek: Uzbek$1,
|
|
378
|
-
Venetian: Venetian,
|
|
379
|
-
Vietnamese: Vietnamese,
|
|
380
|
-
"Võro": "Hüvvä lõunaaigo",
|
|
381
|
-
Welsh: Welsh$1,
|
|
382
|
-
Xhosa: Xhosa,
|
|
383
|
-
Yapese: Yapese,
|
|
384
|
-
Yiddish: Yiddish$1,
|
|
385
|
-
"Yucatec Maya": "Ma'lob chi'inil K'iin",
|
|
386
|
-
Zazaki: Zazaki,
|
|
387
|
-
Zulu: Zulu
|
|
388
|
-
};
|
|
389
|
-
|
|
390
|
-
var Afrikaans = "Goeienaand";
|
|
391
|
-
var Aklanon = "Mayad nga gabi-i";
|
|
392
|
-
var Albanian = "Mirëmbrëma";
|
|
393
|
-
var Arabic = "Masaa al-khair";
|
|
394
|
-
var Aragonese = "Buena nuei";
|
|
395
|
-
var Armenian = "Pari yerego";
|
|
396
|
-
var Aromunian = "Bunã seara";
|
|
397
|
-
var Asante = "Maadwó";
|
|
398
|
-
var Asturian = "Bona nuechi";
|
|
399
|
-
var Ateso = "Akwar najokan";
|
|
400
|
-
var Australian = "G'day";
|
|
401
|
-
var Aymara = "Winas tartis";
|
|
402
|
-
var Azerbaijani = "Axşamınız xeyir";
|
|
403
|
-
var Basque = "Arratsalde on";
|
|
404
|
-
var Belorussian = "Dobry viechar";
|
|
405
|
-
var Bemba = "Cungulopo mukwai";
|
|
406
|
-
var Bengali = "Shuvo shandhya";
|
|
407
|
-
var Bilen = "Aja kunduKw’ma?";
|
|
408
|
-
var Breton = "Noz vat";
|
|
409
|
-
var Bulgarian = "Dobar vecher";
|
|
410
|
-
var Cantonese = "Maan ngon";
|
|
411
|
-
var Cassubian = "Dobri wieczór";
|
|
412
|
-
var Catalan = "Bona tarda";
|
|
413
|
-
var Chamorro = "Pupuengin maolek";
|
|
414
|
-
var Chechen = "Sürea dika yoila";
|
|
415
|
-
var Comoran = "Bariza massihou";
|
|
416
|
-
var Cornish = "Gorthugher da";
|
|
417
|
-
var Croatian = "Dobra večer";
|
|
418
|
-
var Czech = "Dobrý večer";
|
|
419
|
-
var Danish = "God aften";
|
|
420
|
-
var Dutch = "Goedenavond";
|
|
421
|
-
var Edo = "Ób’ótà";
|
|
422
|
-
var English = "Good evening";
|
|
423
|
-
var Esperanto = "Bonan vesperon";
|
|
424
|
-
var Estonian = "Tere õhtust";
|
|
425
|
-
var Faroese = "Gott kvøld";
|
|
426
|
-
var Farsi = "Shab beh'khayr";
|
|
427
|
-
var Fijian = "Ni sa bogi";
|
|
428
|
-
var Finnish = "Hyvää iltaa";
|
|
429
|
-
var French = "Bonsoir";
|
|
430
|
-
var Galician = "Boas noites";
|
|
431
|
-
var Georgian = "Saghamo mshvidobisa";
|
|
432
|
-
var German = "Guten Abend";
|
|
433
|
-
var Greek = "Kalinichta";
|
|
434
|
-
var Guarani = "Mba’éichapa ndepyhare";
|
|
435
|
-
var Hebrew = "Erev tov";
|
|
436
|
-
var Hungarian = "Jó estét";
|
|
437
|
-
var Icelandic = "Gott kvöld";
|
|
438
|
-
var Indonesian = "Selamat malam";
|
|
439
|
-
var Italian = "Buona sera";
|
|
440
|
-
var Japanese = "こんばんは";
|
|
441
|
-
var Kazakh = "Kayırlı keş";
|
|
442
|
-
var Kurdish = "Evarbash";
|
|
443
|
-
var Latvian = "Labvakar";
|
|
444
|
-
var Lithuanian = "Labas vakaras";
|
|
445
|
-
var Luganda = "Osiibye otya nno";
|
|
446
|
-
var Luo = "Oimore";
|
|
447
|
-
var Luxembourgish = "Gudden Owend";
|
|
448
|
-
var Macedonian = "Dobra vecher";
|
|
449
|
-
var Malay = "Selamat malam";
|
|
450
|
-
var Maltese = "Il-lejla t-tajba";
|
|
451
|
-
var Mandarin = "Wan shang hao";
|
|
452
|
-
var Maori = "Kia orana ‘i teia a’ia’i";
|
|
453
|
-
var Marshallese = "Yokwe in jota";
|
|
454
|
-
var Mawe = "Awãe aiko";
|
|
455
|
-
var Mongolian = "Odoin mend";
|
|
456
|
-
var Odia = "ସୁଭସନ୍ଧ୍ୟା";
|
|
457
|
-
var Polish = "Dobry wieczór";
|
|
458
|
-
var Portuguese = "Boa noite";
|
|
459
|
-
var Romanian = "Bunã seara";
|
|
460
|
-
var Russian = "Добрый вечер";
|
|
461
|
-
var Scots = "Guid eenin";
|
|
462
|
-
var Sesotho = "Fonane";
|
|
463
|
-
var Serbian = "Добро вече";
|
|
464
|
-
var Slovak = "Dober vecher";
|
|
465
|
-
var Slovenian = "Dober vecher";
|
|
466
|
-
var Somali = "Habeen wanaagsan";
|
|
467
|
-
var Spanish = "Buenas tardes";
|
|
468
|
-
var Sumerian = "𒄭𒈪";
|
|
469
|
-
var Swedish = "God afton";
|
|
470
|
-
var Tagalog = "Magandang gabi";
|
|
471
|
-
var Tatar = "Xäyerle kiç";
|
|
472
|
-
var Telugu = "శుభ సాయంత్రం";
|
|
473
|
-
var Thai = "Sawat-dii torn khum";
|
|
474
|
-
var Turkish = "İyi akşamlar";
|
|
475
|
-
var Ukrainian = "Добрий вечiр";
|
|
476
|
-
var Uzbek = "Xayrli kech";
|
|
477
|
-
var Welsh = "Noswaith dda";
|
|
478
|
-
var Yiddish = "Ah gutn ovnt";
|
|
479
|
-
var Chinese = "晚安";
|
|
480
|
-
var Valyrian = "sȳz bantis";
|
|
481
|
-
var goodEvening = {
|
|
482
|
-
Afrikaans: Afrikaans,
|
|
483
|
-
Aklanon: Aklanon,
|
|
484
|
-
Albanian: Albanian,
|
|
485
|
-
"Anglo-Saxon": "God æfen",
|
|
486
|
-
Arabic: Arabic,
|
|
487
|
-
Aragonese: Aragonese,
|
|
488
|
-
Armenian: Armenian,
|
|
489
|
-
Aromunian: Aromunian,
|
|
490
|
-
Asante: Asante,
|
|
491
|
-
Asturian: Asturian,
|
|
492
|
-
Ateso: Ateso,
|
|
493
|
-
Australian: Australian,
|
|
494
|
-
Aymara: Aymara,
|
|
495
|
-
Azerbaijani: Azerbaijani,
|
|
496
|
-
Basque: Basque,
|
|
497
|
-
Belorussian: Belorussian,
|
|
498
|
-
Bemba: Bemba,
|
|
499
|
-
Bengali: Bengali,
|
|
500
|
-
Bilen: Bilen,
|
|
501
|
-
Breton: Breton,
|
|
502
|
-
Bulgarian: Bulgarian,
|
|
503
|
-
Cantonese: Cantonese,
|
|
504
|
-
Cassubian: Cassubian,
|
|
505
|
-
Catalan: Catalan,
|
|
506
|
-
Chamorro: Chamorro,
|
|
507
|
-
Chechen: Chechen,
|
|
508
|
-
Comoran: Comoran,
|
|
509
|
-
Cornish: Cornish,
|
|
510
|
-
Croatian: Croatian,
|
|
511
|
-
Czech: Czech,
|
|
512
|
-
Danish: Danish,
|
|
513
|
-
Dutch: Dutch,
|
|
514
|
-
Edo: Edo,
|
|
515
|
-
English: English,
|
|
516
|
-
Esperanto: Esperanto,
|
|
517
|
-
Estonian: Estonian,
|
|
518
|
-
Faroese: Faroese,
|
|
519
|
-
Farsi: Farsi,
|
|
520
|
-
Fijian: Fijian,
|
|
521
|
-
Finnish: Finnish,
|
|
522
|
-
French: French,
|
|
523
|
-
Galician: Galician,
|
|
524
|
-
Georgian: Georgian,
|
|
525
|
-
German: German,
|
|
526
|
-
Greek: Greek,
|
|
527
|
-
Guarani: Guarani,
|
|
528
|
-
Hebrew: Hebrew,
|
|
529
|
-
Hungarian: Hungarian,
|
|
530
|
-
Icelandic: Icelandic,
|
|
531
|
-
Indonesian: Indonesian,
|
|
532
|
-
"Irish Gaelic": "Tráthnóna",
|
|
533
|
-
Italian: Italian,
|
|
534
|
-
Japanese: Japanese,
|
|
535
|
-
"Japanese (Romanji)": "Konban wa",
|
|
536
|
-
Kazakh: Kazakh,
|
|
537
|
-
Kurdish: Kurdish,
|
|
538
|
-
Latvian: Latvian,
|
|
539
|
-
Lithuanian: Lithuanian,
|
|
540
|
-
"Low German": "Moin",
|
|
541
|
-
Luganda: Luganda,
|
|
542
|
-
Luo: Luo,
|
|
543
|
-
Luxembourgish: Luxembourgish,
|
|
544
|
-
Macedonian: Macedonian,
|
|
545
|
-
Malay: Malay,
|
|
546
|
-
Maltese: Maltese,
|
|
547
|
-
Mandarin: Mandarin,
|
|
548
|
-
Maori: Maori,
|
|
549
|
-
Marshallese: Marshallese,
|
|
550
|
-
Mawe: Mawe,
|
|
551
|
-
"Middle Egyptian Hieroglyphs": "𓄤 𓅱𓃉𓇰",
|
|
552
|
-
Mongolian: Mongolian,
|
|
553
|
-
"Norwegian [Bokmaal]": "God kveld",
|
|
554
|
-
Odia: Odia,
|
|
555
|
-
Polish: Polish,
|
|
556
|
-
Portuguese: Portuguese,
|
|
557
|
-
"Quiché": "Xe q’ij",
|
|
558
|
-
"Romani [Sinte]": "Lashi rachi",
|
|
559
|
-
Romanian: Romanian,
|
|
560
|
-
Russian: Russian,
|
|
561
|
-
"Scottish Gaelic": "Feasgar mhath",
|
|
562
|
-
Scots: Scots,
|
|
563
|
-
Sesotho: Sesotho,
|
|
564
|
-
Serbian: Serbian,
|
|
565
|
-
Slovak: Slovak,
|
|
566
|
-
Slovenian: Slovenian,
|
|
567
|
-
Somali: Somali,
|
|
568
|
-
Spanish: Spanish,
|
|
569
|
-
Sumerian: Sumerian,
|
|
570
|
-
Swedish: Swedish,
|
|
571
|
-
Tagalog: Tagalog,
|
|
572
|
-
Tatar: Tatar,
|
|
573
|
-
Telugu: Telugu,
|
|
574
|
-
Thai: Thai,
|
|
575
|
-
Turkish: Turkish,
|
|
576
|
-
Ukrainian: Ukrainian,
|
|
577
|
-
Uzbek: Uzbek,
|
|
578
|
-
Welsh: Welsh,
|
|
579
|
-
Yiddish: Yiddish,
|
|
580
|
-
Chinese: Chinese,
|
|
581
|
-
Valyrian: Valyrian
|
|
582
|
-
};
|
|
583
|
-
|
|
584
|
-
const greetingRandomSeed = Math.floor(Math.random() * 1e6);
|
|
585
|
-
function getTimeBasedGreeting(language) {
|
|
586
|
-
const random = (array) => array[greetingRandomSeed % array.length];
|
|
587
|
-
const currentHour = new Date(Date.now()).getHours();
|
|
588
|
-
if (currentHour >= 23) {
|
|
589
|
-
return {
|
|
590
|
-
language: "Seriously",
|
|
591
|
-
greeting: "Get some rest"
|
|
592
|
-
};
|
|
593
|
-
}
|
|
594
|
-
const timeOfDay = (hour) => {
|
|
595
|
-
if (hour < 12)
|
|
596
|
-
return goodMorning;
|
|
597
|
-
if (hour < 17)
|
|
598
|
-
return goodAfternoon;
|
|
599
|
-
return goodEvening;
|
|
600
|
-
};
|
|
601
|
-
const greetings = timeOfDay(currentHour);
|
|
602
|
-
if (Array.isArray(language) && language.length > 0) {
|
|
603
|
-
const validLanguages = language.filter((lang) => lang && greetings[lang]);
|
|
604
|
-
if (validLanguages.length > 0) {
|
|
605
|
-
const greetingsKey2 = random(validLanguages);
|
|
606
|
-
return {
|
|
607
|
-
language: greetingsKey2,
|
|
608
|
-
greeting: greetings[greetingsKey2]
|
|
609
|
-
};
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
const greetingsKey = random(Object.keys(greetings));
|
|
613
|
-
return {
|
|
614
|
-
language: greetingsKey,
|
|
615
|
-
greeting: greetings[greetingsKey]
|
|
616
|
-
};
|
|
617
|
-
}
|
|
618
|
-
|
|
619
|
-
const WelcomeTitle = ({ language }) => {
|
|
620
|
-
const identityApi = useApi(identityApiRef);
|
|
621
|
-
const alertApi = useApi(alertApiRef);
|
|
622
|
-
const greeting = useMemo(() => getTimeBasedGreeting(language), [language]);
|
|
623
|
-
const { value: profile, error } = useAsync(
|
|
624
|
-
() => identityApi.getProfileInfo()
|
|
625
|
-
);
|
|
626
|
-
useEffect(() => {
|
|
627
|
-
if (error) {
|
|
628
|
-
alertApi.post({
|
|
629
|
-
message: `Failed to load user identity: ${error}`,
|
|
630
|
-
severity: "error"
|
|
631
|
-
});
|
|
632
|
-
}
|
|
633
|
-
}, [error, alertApi]);
|
|
634
|
-
return /* @__PURE__ */ React.createElement(Tooltip, { title: greeting.language }, /* @__PURE__ */ React.createElement(Typography, { component: "span", variant: "inherit" }, `${greeting.greeting}${(profile == null ? void 0 : profile.displayName) ? `, ${profile == null ? void 0 : profile.displayName}` : ""}!`));
|
|
635
|
-
};
|
|
636
|
-
|
|
637
|
-
export { WelcomeTitle };
|
|
638
|
-
//# sourceMappingURL=index-BMySa_Iw.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BMySa_Iw.esm.js","sources":["../../src/homePageComponents/WelcomeTitle/timeUtil.ts","../../src/homePageComponents/WelcomeTitle/WelcomeTitle.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport goodMorning from './locales/goodMorning.locales.json';\nimport goodAfternoon from './locales/goodAfternoon.locales.json';\nimport goodEvening from './locales/goodEvening.locales.json';\n\n// Select a large random integer at startup, to prevent the greetings to change\n// every time the user navigates.\nconst greetingRandomSeed = Math.floor(Math.random() * 1000000);\n\nexport function getTimeBasedGreeting(language?: string[]): {\n language: string;\n greeting: string;\n} {\n const random = (array: string[]) => array[greetingRandomSeed % array.length];\n\n const currentHour = new Date(Date.now()).getHours();\n if (currentHour >= 23) {\n return {\n language: 'Seriously',\n greeting: 'Get some rest',\n };\n }\n\n const timeOfDay = (hour: number): { [language: string]: string } => {\n if (hour < 12) return goodMorning;\n if (hour < 17) return goodAfternoon;\n return goodEvening;\n };\n\n const greetings = timeOfDay(currentHour);\n\n if (Array.isArray(language) && language.length > 0) {\n const validLanguages = language.filter(lang => lang && greetings[lang]);\n if (validLanguages.length > 0) {\n const greetingsKey = random(validLanguages);\n return {\n language: greetingsKey,\n greeting: greetings[greetingsKey],\n };\n }\n }\n\n const greetingsKey = random(Object.keys(greetings));\n return {\n language: greetingsKey,\n greeting: greetings[greetingsKey],\n };\n}\n","/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n alertApiRef,\n identityApiRef,\n useApi,\n} from '@backstage/core-plugin-api';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport React, { useEffect, useMemo } from 'react';\nimport useAsync from 'react-use/esm/useAsync';\nimport { getTimeBasedGreeting } from './timeUtil';\n\n/** @public */\nexport type WelcomeTitleLanguageProps = {\n language?: string[];\n};\n\nexport const WelcomeTitle = ({ language }: WelcomeTitleLanguageProps) => {\n const identityApi = useApi(identityApiRef);\n const alertApi = useApi(alertApiRef);\n const greeting = useMemo(() => getTimeBasedGreeting(language), [language]);\n\n const { value: profile, error } = useAsync(() =>\n identityApi.getProfileInfo(),\n );\n\n useEffect(() => {\n if (error) {\n alertApi.post({\n message: `Failed to load user identity: ${error}`,\n severity: 'error',\n });\n }\n }, [error, alertApi]);\n\n return (\n <Tooltip title={greeting.language}>\n <Typography component=\"span\" variant=\"inherit\">{`${greeting.greeting}${\n profile?.displayName ? `, ${profile?.displayName}` : ''\n }!`}</Typography>\n </Tooltip>\n );\n};\n"],"names":["greetingsKey"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BNfZuEhy.esm.js","sources":["../../src/componentRenderers/ComponentAccordion.tsx","../../src/componentRenderers/ComponentTabs/ComponentTabs.tsx","../../src/componentRenderers/ComponentTabs/ComponentTab.tsx"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { SettingsModal } from '@backstage/plugin-home-react';\nimport Accordion from '@material-ui/core/Accordion';\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\nimport Typography from '@material-ui/core/Typography';\nimport IconButton from '@material-ui/core/IconButton';\nimport { Theme } from '@material-ui/core/styles';\nimport { makeStyles } from '@material-ui/core/styles';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport SettingsIcon from '@material-ui/icons/Settings';\n\nconst useStyles = makeStyles((theme: Theme) => ({\n settingsIconButton: {\n padding: theme.spacing(0, 1, 0, 0),\n },\n contentContainer: {\n width: '100%',\n },\n}));\n\nexport const ComponentAccordion = (props: {\n title?: string;\n expanded?: boolean;\n Content: () => JSX.Element;\n Actions?: () => JSX.Element;\n Settings?: () => JSX.Element;\n ContextProvider?: (props: any) => JSX.Element;\n}) => {\n const {\n title,\n expanded = false,\n Content,\n Actions,\n Settings,\n ContextProvider,\n ...childProps\n } = props;\n\n const classes = useStyles();\n const [settingsIsExpanded, setSettingsIsExpanded] = React.useState(false);\n const [isExpanded, setIsExpanded] = React.useState(expanded);\n\n const handleOpenSettings = (e: any) => {\n e.stopPropagation();\n setSettingsIsExpanded(prevState => !prevState);\n };\n\n const innerContent = (\n <>\n {Settings && (\n <SettingsModal\n open={settingsIsExpanded}\n close={() => setSettingsIsExpanded(false)}\n componentName={title}\n >\n <Settings />\n </SettingsModal>\n )}\n <Accordion\n expanded={isExpanded}\n onChange={(_e: any, expandedValue: boolean) =>\n setIsExpanded(expandedValue)\n }\n >\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n {Settings && (\n <IconButton\n onClick={handleOpenSettings}\n className={classes.settingsIconButton}\n >\n <SettingsIcon />\n </IconButton>\n )}\n <Typography>{title}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <div className={classes.contentContainer}>\n <Content />\n {Actions && <Actions />}\n </div>\n </AccordionDetails>\n </Accordion>\n </>\n );\n\n return ContextProvider ? (\n <ContextProvider {...childProps}>{innerContent}</ContextProvider>\n ) : (\n innerContent\n );\n};\n","/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport Tabs from '@material-ui/core/Tabs';\nimport Tab from '@material-ui/core/Tab';\nimport { InfoCard } from '@backstage/core-components';\n\ntype TabType = {\n label: string;\n Component: () => JSX.Element;\n};\n\nexport const ComponentTabs = (props: { title: string; tabs: TabType[] }) => {\n const { title, tabs } = props;\n\n const [value, setValue] = React.useState(0);\n\n const handleChange = (_event: any, newValue: number) => {\n setValue(newValue);\n };\n\n return (\n <InfoCard title={title}>\n <Tabs value={value} onChange={handleChange}>\n {tabs.map(t => (\n <Tab key={t.label} label={t.label} />\n ))}\n </Tabs>\n {tabs.map(({ Component }, idx) => (\n <div\n key={idx}\n {...(idx !== value ? { style: { display: 'none' } } : {})}\n >\n <Component />\n </div>\n ))}\n </InfoCard>\n );\n};\n","/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\n\nexport const ComponentTab = (props: {\n title: string;\n Content: () => JSX.Element;\n ContextProvider?: (props: any) => JSX.Element;\n}) => {\n const { title, Content, ContextProvider, ...childProps } = props;\n\n return ContextProvider ? (\n <ContextProvider {...childProps}>\n <Content />\n </ContextProvider>\n ) : (\n <Content />\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BvvJGS3L.esm.js","sources":["../../src/homePageComponents/HeaderWorldClock/HeaderWorldClock.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { HeaderLabel } from '@backstage/core-components';\n\nconst timeFormat: Intl.DateTimeFormatOptions = {\n hour: '2-digit',\n minute: '2-digit',\n};\n\ntype TimeObj = {\n label: string;\n value: string;\n dateTime: string;\n};\n\n/** @public */\nexport type ClockConfig = {\n label: string;\n timeZone: string;\n};\n\nfunction getTimes(\n clockConfigs: ClockConfig[],\n customTimeFormat?: Intl.DateTimeFormatOptions,\n) {\n const d = new Date();\n const lang = window.navigator.language;\n\n const clocks: TimeObj[] = [];\n\n if (!clockConfigs) {\n return clocks;\n }\n\n for (const clockConfig of clockConfigs) {\n let label = clockConfig.label;\n\n const options: Intl.DateTimeFormatOptions = {\n timeZone: clockConfig.timeZone,\n ...(customTimeFormat ?? timeFormat),\n };\n\n try {\n new Date().toLocaleString(lang, options);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn(\n `The timezone ${options.timeZone} is invalid. Defaulting to GMT`,\n );\n options.timeZone = 'GMT';\n label = 'GMT';\n }\n\n const value = d.toLocaleTimeString(lang, options);\n const dateTime = d.toLocaleTimeString(lang, {\n timeZone: options.timeZone,\n hour: '2-digit',\n minute: '2-digit',\n hour12: false,\n });\n clocks.push({ label, value, dateTime });\n }\n\n return clocks;\n}\n\n/**\n * A component to display a configurable list of clocks for various time zones.\n *\n * @example\n * Here's a simple example:\n * ```\n * // This will give you a clock for the time zone that Stockholm is in\n * // you can add more than one but keep in mind space may be limited\n * const clockConfigs: ClockConfig[] = [\n * {\n * label: 'STO',\n * timeZone: 'Europe/Stockholm',\n * },\n * ];\n *\n * // Setting hour12 to false will make all the clocks show in the 24hr format\n * const timeFormat: Intl.DateTimeFormatOptions = {\n * hour: '2-digit',\n * minute: '2-digit',\n * hour12: false,\n * };\n *\n * // Here is the component in use:\n * <HeaderWorldClock\n * clockConfigs={clockConfigs}\n * customTimeFormat={timeFormat}\n * />\n * ```\n *\n * @public\n */\nexport const HeaderWorldClock = (props: {\n clockConfigs: ClockConfig[];\n customTimeFormat?: Intl.DateTimeFormatOptions;\n}) => {\n const { clockConfigs, customTimeFormat } = props;\n\n const defaultTimes: TimeObj[] = [];\n const [clocks, setTimes] = React.useState(defaultTimes);\n\n React.useEffect(() => {\n setTimes(getTimes(clockConfigs, customTimeFormat));\n\n const intervalId = setInterval(() => {\n setTimes(getTimes(clockConfigs, customTimeFormat));\n }, 1000);\n\n return () => {\n clearInterval(intervalId);\n };\n }, [clockConfigs, customTimeFormat]);\n\n if (clocks.length !== 0) {\n return (\n <>\n {clocks.map(clock => (\n <HeaderLabel\n key={clock.label}\n label={clock.label}\n value={<time dateTime={clock.dateTime}>{clock.value}</time>}\n />\n ))}\n </>\n );\n }\n return null;\n};\n"],"names":[],"mappings":"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"}
|