@memori.ai/memori-react 6.1.7 → 6.2.0
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 +20 -0
- package/dist/components/ChatBubble/ChatBubble.css +5 -0
- package/dist/components/ChatBubble/ChatBubble.js +9 -7
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/MemoriWidget/MemoriWidget.js +58 -5
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/PositionDrawer/PositionDrawer.d.ts +8 -1
- package/dist/components/PositionDrawer/PositionDrawer.js +8 -1
- package/dist/components/PositionDrawer/PositionDrawer.js.map +1 -1
- package/dist/components/VenueWidget/VenueWidget.css +142 -0
- package/dist/components/VenueWidget/VenueWidget.d.ts +33 -0
- package/dist/components/VenueWidget/VenueWidget.js +195 -0
- package/dist/components/VenueWidget/VenueWidget.js.map +1 -0
- package/dist/components/ui/Select.d.ts +2 -1
- package/dist/components/ui/Select.js +2 -2
- package/dist/components/ui/Select.js.map +1 -1
- package/dist/helpers/utils.d.ts +1 -0
- package/dist/helpers/utils.js +25 -1
- package/dist/helpers/utils.js.map +1 -1
- package/dist/helpers/venue.d.ts +3 -0
- package/dist/helpers/venue.js +23 -0
- package/dist/helpers/venue.js.map +1 -0
- package/dist/locales/en.json +5 -0
- package/dist/locales/it.json +5 -0
- package/dist/styles.css +1 -0
- package/esm/components/ChatBubble/ChatBubble.css +5 -0
- package/esm/components/ChatBubble/ChatBubble.js +9 -7
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +58 -5
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/PositionDrawer/PositionDrawer.d.ts +8 -1
- package/esm/components/PositionDrawer/PositionDrawer.js +7 -1
- package/esm/components/PositionDrawer/PositionDrawer.js.map +1 -1
- package/esm/components/VenueWidget/VenueWidget.css +142 -0
- package/esm/components/VenueWidget/VenueWidget.d.ts +33 -0
- package/esm/components/VenueWidget/VenueWidget.js +192 -0
- package/esm/components/VenueWidget/VenueWidget.js.map +1 -0
- package/esm/components/ui/Select.d.ts +2 -1
- package/esm/components/ui/Select.js +2 -2
- package/esm/components/ui/Select.js.map +1 -1
- package/esm/helpers/utils.d.ts +1 -0
- package/esm/helpers/utils.js +24 -1
- package/esm/helpers/utils.js.map +1 -1
- package/esm/helpers/venue.d.ts +3 -0
- package/esm/helpers/venue.js +19 -0
- package/esm/helpers/venue.js.map +1 -0
- package/esm/locales/en.json +5 -0
- package/esm/locales/it.json +5 -0
- package/esm/styles.css +1 -0
- package/package.json +5 -2
- package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +0 -154
- package/src/components/ChatBubble/ChatBubble.css +5 -0
- package/src/components/ChatBubble/ChatBubble.tsx +3 -1
- package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +41 -100
- package/src/components/MemoriWidget/MemoriWidget.stories.tsx +9 -0
- package/src/components/MemoriWidget/MemoriWidget.tsx +86 -4
- package/src/components/PositionDrawer/PositionDrawer.stories.tsx +46 -0
- package/src/components/PositionDrawer/PositionDrawer.test.tsx +33 -0
- package/src/components/PositionDrawer/PositionDrawer.tsx +24 -5
- package/src/components/PositionDrawer/__snapshots__/PositionDrawer.test.tsx.snap +5 -0
- package/src/components/VenueWidget/VenueWidget.css +142 -0
- package/src/components/VenueWidget/VenueWidget.stories.tsx +66 -0
- package/src/components/VenueWidget/VenueWidget.test.tsx +49 -0
- package/src/components/VenueWidget/VenueWidget.tsx +430 -0
- package/src/components/VenueWidget/__snapshots__/VenueWidget.test.tsx.snap +335 -0
- package/src/components/ui/Select.tsx +3 -1
- package/src/components/ui/__snapshots__/Select.test.tsx.snap +0 -24
- package/src/helpers/utils.ts +36 -1
- package/src/helpers/venue.ts +36 -0
- package/src/locales/en.json +5 -0
- package/src/locales/it.json +5 -0
- package/src/mocks/data.ts +8 -0
- package/src/styles.css +1 -0
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
3
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
const
|
|
5
|
+
const Drawer_1 = tslib_1.__importDefault(require("../ui/Drawer"));
|
|
6
|
+
const react_i18next_1 = require("react-i18next");
|
|
7
|
+
const VenueWidget_1 = tslib_1.__importDefault(require("../VenueWidget/VenueWidget"));
|
|
8
|
+
const PositionDrawer = ({ open, onClose, venue, setVenue }) => {
|
|
9
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
10
|
+
return ((0, jsx_runtime_1.jsx)(Drawer_1.default, { className: "memori-position-drawer", open: open, onClose: () => onClose(venue), title: t('widget.position') || 'Position', children: (0, jsx_runtime_1.jsx)(VenueWidget_1.default, { venue: venue, setVenue: setVenue, showUncertainty: false }) }));
|
|
11
|
+
};
|
|
5
12
|
exports.default = PositionDrawer;
|
|
6
13
|
//# sourceMappingURL=PositionDrawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositionDrawer.js","sourceRoot":"","sources":["../../../src/components/PositionDrawer/PositionDrawer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PositionDrawer.js","sourceRoot":"","sources":["../../../src/components/PositionDrawer/PositionDrawer.tsx"],"names":[],"mappings":";;;;AAEA,kEAAkC;AAClC,iDAA+C;AAC/C,qFAAqD;AASrD,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,EAAE;IACnE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,OAAO,CACL,uBAAC,gBAAM,IACL,SAAS,EAAC,wBAAwB,EAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,KAAK,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,UAAU,YAEzC,uBAAC,qBAAW,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,GAAI,GAClE,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
.memori--venue-widget {
|
|
2
|
+
padding: 0;
|
|
3
|
+
border: 0;
|
|
4
|
+
margin: 0;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.memori--venue-widget__uncertainty {
|
|
8
|
+
margin-inline: 0.5em;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.memori--venue-widget__map {
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 250px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.memori--venue-widget__form-item {
|
|
17
|
+
margin-bottom: 1rem;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.memori--venue-widget__select-label {
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.memori--venue-widget__geosuggest {
|
|
26
|
+
position: relative;
|
|
27
|
+
display: flex;
|
|
28
|
+
align-items: center;
|
|
29
|
+
margin-bottom: 1rem;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.memori--venue-widget-search {
|
|
33
|
+
z-index: 1001;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.memori--venue-widget-search--label {
|
|
37
|
+
display: inline-block;
|
|
38
|
+
margin-bottom: 0.25rem;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.memori--venue-widget-search input,
|
|
42
|
+
.memori--venue-widget-search .memori--venue-widget-search--input {
|
|
43
|
+
flex: 1 1 auto;
|
|
44
|
+
padding: 10px;
|
|
45
|
+
border: 1px solid var(--memori-button-border-color, #ccc);
|
|
46
|
+
border-radius: 5px;
|
|
47
|
+
margin: 0;
|
|
48
|
+
font-size: 16px;
|
|
49
|
+
line-height: 1.5;
|
|
50
|
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.memori--venue-widget-search .memori--venue-widget-search--input.memori--venue-widget-search--input-disabled {
|
|
54
|
+
background-color: #f7fafc;
|
|
55
|
+
color: #a0aec0;
|
|
56
|
+
cursor: not-allowed;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.memori--venue-widget-search .memori--venue-widget-search--input:focus,
|
|
60
|
+
.memori--venue-widget-search button:focus,
|
|
61
|
+
.memori--venue-widget-search input:focus {
|
|
62
|
+
border-color: var(--memori-primary);
|
|
63
|
+
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
|
|
64
|
+
outline: none;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.memori--venue-widget-search a {
|
|
68
|
+
color: var(--memori-primary);
|
|
69
|
+
text-decoration: underline;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
ul.memori--venue-widget-search--options {
|
|
73
|
+
position: absolute;
|
|
74
|
+
z-index: 1;
|
|
75
|
+
overflow: auto;
|
|
76
|
+
width: 100%;
|
|
77
|
+
max-width: min(18rem, 30%);
|
|
78
|
+
max-height: 15rem;
|
|
79
|
+
padding-top: 0.25rem;
|
|
80
|
+
padding-right: 0;
|
|
81
|
+
padding-bottom: 0.25rem;
|
|
82
|
+
padding-left: 0;
|
|
83
|
+
border-radius: 0.375rem;
|
|
84
|
+
margin-top: 0.25rem;
|
|
85
|
+
margin-right: 0;
|
|
86
|
+
margin-bottom: 0;
|
|
87
|
+
margin-left: 0;
|
|
88
|
+
background: #fff;
|
|
89
|
+
box-shadow: rgb(255, 255, 255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px,
|
|
90
|
+
rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px;
|
|
91
|
+
list-style: none;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@media (min-width: 640px) {
|
|
95
|
+
.memori--venue-widget-search--options {
|
|
96
|
+
font-size: 0.875rem;
|
|
97
|
+
line-height: 1.25rem;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.memori--venue-widget-search--option {
|
|
102
|
+
position: relative;
|
|
103
|
+
padding-top: 0.5rem;
|
|
104
|
+
padding-right: 1rem;
|
|
105
|
+
padding-bottom: 0.5rem;
|
|
106
|
+
padding-left: 1rem;
|
|
107
|
+
color: rgb(17 24 39/1);
|
|
108
|
+
touch-action: none;
|
|
109
|
+
user-select: none;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
li.memori--venue-widget-search--option {
|
|
113
|
+
cursor: pointer;
|
|
114
|
+
touch-action: initial;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
li.memori--venue-widget-search--option:hover,
|
|
118
|
+
li.memori--venue-widget-search--option:focus {
|
|
119
|
+
background-color: #f7fafc;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
li.memori--venue-widget-search--option:focus {
|
|
123
|
+
outline: 2px solid #63b3ed;
|
|
124
|
+
outline-offset: 2px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
li.memori--venue-widget-search--option--selected {
|
|
128
|
+
background-color: #f7fafc;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
li.memori--venue-widget-search--option--active {
|
|
132
|
+
background-color: #f7fafc;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.memori--venue--widget__place-name {
|
|
136
|
+
margin: 0 0 1rem;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.memori--venue-widget__gps-button {
|
|
140
|
+
padding: 0.5rem 1rem;
|
|
141
|
+
margin-left: 1rem;
|
|
142
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Venue } from '@memori.ai/memori-api-client/dist/types';
|
|
2
|
+
export type NominatimItem = {
|
|
3
|
+
place_id: number;
|
|
4
|
+
lat: number;
|
|
5
|
+
lon: number;
|
|
6
|
+
display_name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
category: string;
|
|
9
|
+
importance: number;
|
|
10
|
+
place_rank: number;
|
|
11
|
+
address?: {
|
|
12
|
+
house_number?: string;
|
|
13
|
+
road?: string;
|
|
14
|
+
hamlet?: string;
|
|
15
|
+
village?: string;
|
|
16
|
+
suburb?: string;
|
|
17
|
+
town?: string;
|
|
18
|
+
city?: string;
|
|
19
|
+
municipality?: string;
|
|
20
|
+
county?: string;
|
|
21
|
+
state?: string;
|
|
22
|
+
country: string;
|
|
23
|
+
};
|
|
24
|
+
boundingbox: [number, number, number, number];
|
|
25
|
+
};
|
|
26
|
+
export interface Props {
|
|
27
|
+
venue?: Venue;
|
|
28
|
+
setVenue: (venue?: Venue) => void;
|
|
29
|
+
showUncertainty?: boolean;
|
|
30
|
+
showGpsButton?: boolean;
|
|
31
|
+
}
|
|
32
|
+
declare const VenueWidget: ({ venue, setVenue, showUncertainty, showGpsButton, }: Props) => JSX.Element;
|
|
33
|
+
export default VenueWidget;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const react_i18next_1 = require("react-i18next");
|
|
7
|
+
const venue_1 = require("../../helpers/venue");
|
|
8
|
+
const react_leaflet_1 = require("react-leaflet");
|
|
9
|
+
const core_1 = require("@react-leaflet/core");
|
|
10
|
+
const leaflet_1 = tslib_1.__importDefault(require("leaflet"));
|
|
11
|
+
const react_hot_toast_1 = tslib_1.__importDefault(require("react-hot-toast"));
|
|
12
|
+
const Button_1 = tslib_1.__importDefault(require("../ui/Button"));
|
|
13
|
+
const utils_1 = require("../../helpers/utils");
|
|
14
|
+
const react_2 = require("@headlessui/react");
|
|
15
|
+
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
16
|
+
const Spin_1 = tslib_1.__importDefault(require("../ui/Spin"));
|
|
17
|
+
const Circle = ({ center, size, }) => {
|
|
18
|
+
const context = (0, core_1.useLeafletContext)();
|
|
19
|
+
(0, react_1.useEffect)(() => {
|
|
20
|
+
const square = new leaflet_1.default.Circle(center, size);
|
|
21
|
+
const container = context.layerContainer || context.map;
|
|
22
|
+
container.addLayer(square);
|
|
23
|
+
return () => {
|
|
24
|
+
container.removeLayer(square);
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
return null;
|
|
28
|
+
};
|
|
29
|
+
const CenterAndZoomUpdater = ({ center, uncertainty, }) => {
|
|
30
|
+
const [init, setInit] = (0, react_1.useState)(false);
|
|
31
|
+
const map = (0, react_leaflet_1.useMap)();
|
|
32
|
+
const updateView = (0, react_1.useCallback)(() => {
|
|
33
|
+
let zoom = uncertainty !== undefined
|
|
34
|
+
? Math.round(Math.log2((10000 * 1000) / uncertainty))
|
|
35
|
+
: map.getZoom();
|
|
36
|
+
map.setView(center, zoom);
|
|
37
|
+
}, [center, uncertainty, map]);
|
|
38
|
+
(0, react_1.useEffect)(() => {
|
|
39
|
+
if (!init) {
|
|
40
|
+
updateView();
|
|
41
|
+
setInit(true);
|
|
42
|
+
}
|
|
43
|
+
}, []);
|
|
44
|
+
(0, react_1.useEffect)(() => {
|
|
45
|
+
updateView();
|
|
46
|
+
}, [center, uncertainty, updateView]);
|
|
47
|
+
return null;
|
|
48
|
+
};
|
|
49
|
+
let DefaultIcon = leaflet_1.default.icon({
|
|
50
|
+
iconUrl: 'https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png',
|
|
51
|
+
shadowUrl: 'https://unpkg.com/leaflet@1.9.4/dist/images/marker-shadow.png',
|
|
52
|
+
iconSize: [25, 41],
|
|
53
|
+
iconAnchor: [12.5, 20.5],
|
|
54
|
+
shadowAnchor: [12.5, 20.5],
|
|
55
|
+
});
|
|
56
|
+
leaflet_1.default.Marker.prototype.options.icon = DefaultIcon;
|
|
57
|
+
const getPlaceName = (venue) => {
|
|
58
|
+
let placeName = 'Position';
|
|
59
|
+
if (venue === null || venue === void 0 ? void 0 : venue.address) {
|
|
60
|
+
placeName = [
|
|
61
|
+
venue.address.village || venue.address.suburb,
|
|
62
|
+
venue.address.town ||
|
|
63
|
+
venue.address.city ||
|
|
64
|
+
venue.address.county ||
|
|
65
|
+
venue.address.state,
|
|
66
|
+
venue.address.country,
|
|
67
|
+
]
|
|
68
|
+
.filter(Boolean)
|
|
69
|
+
.join(', ');
|
|
70
|
+
}
|
|
71
|
+
else if (venue === null || venue === void 0 ? void 0 : venue.display_name) {
|
|
72
|
+
placeName = venue.display_name;
|
|
73
|
+
}
|
|
74
|
+
return placeName;
|
|
75
|
+
};
|
|
76
|
+
const VenueWidget = ({ venue, setVenue, showUncertainty = false, showGpsButton = true, }) => {
|
|
77
|
+
var _a, _b, _c;
|
|
78
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
79
|
+
const [isClient, setIsClient] = (0, react_1.useState)(false);
|
|
80
|
+
const [updatingPosition, setUpdatingPosition] = (0, react_1.useState)(false);
|
|
81
|
+
const [fetching, setFetching] = (0, react_1.useState)(false);
|
|
82
|
+
const [query, setQuery] = (0, react_1.useState)('');
|
|
83
|
+
const [suggestions, setSuggestions] = (0, react_1.useState)([]);
|
|
84
|
+
const getGpsPosition = async () => {
|
|
85
|
+
setUpdatingPosition(true);
|
|
86
|
+
navigator.geolocation.getCurrentPosition(async (coords) => {
|
|
87
|
+
try {
|
|
88
|
+
const result = await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${coords.coords.latitude}&lon=${coords.coords.longitude}&format=jsonv2&addressdetails=1`);
|
|
89
|
+
const response = (await result.json());
|
|
90
|
+
const placeName = getPlaceName(response);
|
|
91
|
+
setVenue({
|
|
92
|
+
latitude: coords.coords.latitude,
|
|
93
|
+
longitude: coords.coords.longitude,
|
|
94
|
+
placeName: placeName,
|
|
95
|
+
uncertainty: coords.coords.accuracy / 1000,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
let err = e;
|
|
100
|
+
console.error('[POSITION ERROR]', err);
|
|
101
|
+
if (err === null || err === void 0 ? void 0 : err.message)
|
|
102
|
+
react_hot_toast_1.default.error(err.message);
|
|
103
|
+
setVenue({
|
|
104
|
+
latitude: coords.coords.latitude,
|
|
105
|
+
longitude: coords.coords.longitude,
|
|
106
|
+
placeName: 'Position',
|
|
107
|
+
uncertainty: coords.coords.accuracy / 1000,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
setUpdatingPosition(false);
|
|
111
|
+
}, err => {
|
|
112
|
+
console.error('[POSITION ERROR]', err);
|
|
113
|
+
react_hot_toast_1.default.error(err.message);
|
|
114
|
+
setUpdatingPosition(false);
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
const handleSearch = (0, utils_1.useDebounceFn)(async (value) => {
|
|
118
|
+
setFetching(true);
|
|
119
|
+
try {
|
|
120
|
+
let response = await fetch(`https://nominatim.openstreetmap.org/search?q=${value}&format=jsonv2&limit=5&addressdetails=1`);
|
|
121
|
+
let data = await response.json();
|
|
122
|
+
setSuggestions(data);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
console.error(error);
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
setFetching(false);
|
|
129
|
+
}
|
|
130
|
+
}, 1000);
|
|
131
|
+
const handleChange = (value) => {
|
|
132
|
+
console.log(value);
|
|
133
|
+
const placeName = getPlaceName(value);
|
|
134
|
+
setVenue({
|
|
135
|
+
latitude: value.lat,
|
|
136
|
+
longitude: value.lon,
|
|
137
|
+
placeName: placeName,
|
|
138
|
+
uncertainty: (value === null || value === void 0 ? void 0 : value.boundingbox)
|
|
139
|
+
? (0, venue_1.getUncertaintyByViewport)(value.boundingbox)
|
|
140
|
+
: 2,
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
const onQueryChange = (value) => {
|
|
144
|
+
setQuery(value);
|
|
145
|
+
handleSearch(value);
|
|
146
|
+
};
|
|
147
|
+
(0, react_1.useEffect)(() => {
|
|
148
|
+
setIsClient(true);
|
|
149
|
+
}, []);
|
|
150
|
+
(0, react_1.useEffect)(() => {
|
|
151
|
+
const leafletCSS = document.createElement('link');
|
|
152
|
+
leafletCSS.href = 'https://unpkg.com/leaflet@1.9.4/dist/leaflet.css';
|
|
153
|
+
leafletCSS.rel = 'stylesheet';
|
|
154
|
+
leafletCSS.integrity =
|
|
155
|
+
'sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=';
|
|
156
|
+
leafletCSS.crossOrigin = '';
|
|
157
|
+
document.head.appendChild(leafletCSS);
|
|
158
|
+
return () => {
|
|
159
|
+
document.head.removeChild(leafletCSS);
|
|
160
|
+
};
|
|
161
|
+
}, []);
|
|
162
|
+
return ((0, jsx_runtime_1.jsxs)("fieldset", { className: "memori--venue-widget", children: [(0, jsx_runtime_1.jsx)("legend", { className: "sr-only", children: "Venue" }), (0, jsx_runtime_1.jsxs)("div", { className: "memori--venue-widget__form-item", children: [(0, jsx_runtime_1.jsx)("div", { className: "memori--venue-widget__geosuggest", children: updatingPosition ? ((0, jsx_runtime_1.jsx)("p", { children: t('write_and_speak.updatingPosition') })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "memori--venue-widget-search", children: (0, jsx_runtime_1.jsxs)(react_2.Combobox, { value: (venue
|
|
163
|
+
? {
|
|
164
|
+
place_id: 0,
|
|
165
|
+
lat: venue === null || venue === void 0 ? void 0 : venue.latitude,
|
|
166
|
+
lon: venue === null || venue === void 0 ? void 0 : venue.longitude,
|
|
167
|
+
display_name: venue === null || venue === void 0 ? void 0 : venue.placeName,
|
|
168
|
+
}
|
|
169
|
+
: undefined), onChange: handleChange, children: [(0, jsx_runtime_1.jsx)(react_2.Combobox.Input, { className: "memori--venue-widget-search--input", displayValue: (i) => getPlaceName(i), placeholder: t('searchVenue'), onChange: e => onQueryChange(e.target.value) }), (fetching ||
|
|
170
|
+
suggestions.length > 0 ||
|
|
171
|
+
(suggestions.length === 0 && query !== '')) && ((0, jsx_runtime_1.jsx)(react_2.Transition, { as: react_1.Fragment, leave: "transition ease-in duration-100", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: (0, jsx_runtime_1.jsx)(react_2.Combobox.Options, { className: "memori--venue-widget-search--options", children: fetching ? ((0, jsx_runtime_1.jsx)(Spin_1.default, { spinning: true, children: (0, jsx_runtime_1.jsxs)("center", { className: "memori--venue-widget-search--option", children: [t('loading'), "..."] }) })) : suggestions.length === 0 && query !== '' ? ((0, jsx_runtime_1.jsx)("center", { className: "memori--venue-widget-search--option", children: t('nothingFound') })) : (suggestions === null || suggestions === void 0 ? void 0 : suggestions.map(s => ((0, jsx_runtime_1.jsx)(react_2.Combobox.Option, { as: react_1.Fragment, value: s, children: ({ active, selected }) => ((0, jsx_runtime_1.jsx)("li", { className: (0, classnames_1.default)('memori--venue-widget-search--option', {
|
|
172
|
+
'memori--venue-widget-search--option-active': active,
|
|
173
|
+
'memori--venue-widget-search--option-selected': selected,
|
|
174
|
+
}), children: s.display_name })) }, s.place_id)))) }) }))] }) }), showGpsButton && ((0, jsx_runtime_1.jsx)(Button_1.default, { className: "memori--venue-widget__gps-button", outlined: true, loading: updatingPosition, onClick: () => {
|
|
175
|
+
setUpdatingPosition(true);
|
|
176
|
+
getGpsPosition();
|
|
177
|
+
}, children: t('write_and_speak.useMyPosition') }))] })) }), showUncertainty && ((0, jsx_runtime_1.jsxs)("label", { className: "memori--venue-widget__select-label", children: [(0, jsx_runtime_1.jsxs)("span", { children: [t('uncertain'), ": "] }), (0, jsx_runtime_1.jsxs)("select", { className: "memori-select--button memori--venue-widget__uncertainty", value: parseFloat(((_a = venue === null || venue === void 0 ? void 0 : venue.uncertainty) !== null && _a !== void 0 ? _a : 0).toFixed(2)), disabled: !venue ||
|
|
178
|
+
!venue.placeName ||
|
|
179
|
+
!venue.latitude ||
|
|
180
|
+
!venue.longitude, onChange: e => {
|
|
181
|
+
setVenue({
|
|
182
|
+
...venue,
|
|
183
|
+
uncertainty: parseFloat(e.target.value),
|
|
184
|
+
});
|
|
185
|
+
}, children: [(venue === null || venue === void 0 ? void 0 : venue.uncertainty) &&
|
|
186
|
+
![0, 1, 2, 5, 10, 20, 50, 100].includes(venue.uncertainty) && ((0, jsx_runtime_1.jsxs)("option", { value: venue.uncertainty, children: [venue.uncertainty, " Km"] })), (0, jsx_runtime_1.jsx)("option", { value: 0, children: t('exactPosition') }), (0, jsx_runtime_1.jsx)("option", { value: 1, children: "1 km" }), (0, jsx_runtime_1.jsx)("option", { value: 2, children: "2 km" }), (0, jsx_runtime_1.jsx)("option", { value: 5, children: "5 km" }), (0, jsx_runtime_1.jsx)("option", { value: 10, children: "10 km" }), (0, jsx_runtime_1.jsx)("option", { value: 20, children: "20 km" }), (0, jsx_runtime_1.jsx)("option", { value: 50, children: "50 km" }), (0, jsx_runtime_1.jsx)("option", { value: 100, children: "100 km" })] })] }))] }), (0, jsx_runtime_1.jsxs)("div", { className: "memori--venue-widget__form-item", children: [(venue === null || venue === void 0 ? void 0 : venue.placeName) && ((0, jsx_runtime_1.jsxs)("p", { className: "memori--venue--widget__place-name", children: [(0, jsx_runtime_1.jsx)("strong", { children: t('venue') }), ": ", venue.placeName] })), (0, jsx_runtime_1.jsx)("div", { className: "memori--venue-widget__map", children: isClient && ((0, jsx_runtime_1.jsxs)(react_leaflet_1.MapContainer, { className: "memori--venue-widget__map", center: (venue === null || venue === void 0 ? void 0 : venue.latitude) && (venue === null || venue === void 0 ? void 0 : venue.longitude)
|
|
187
|
+
? [venue.latitude, venue.longitude]
|
|
188
|
+
: [44.66579, 11.48823], zoom: 13, scrollWheelZoom: true, children: [(0, jsx_runtime_1.jsx)(react_leaflet_1.TileLayer, { attribution: '\u00A9 <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" }), (0, jsx_runtime_1.jsx)(CenterAndZoomUpdater, { center: (venue === null || venue === void 0 ? void 0 : venue.latitude) && (venue === null || venue === void 0 ? void 0 : venue.longitude)
|
|
189
|
+
? [venue.latitude, venue.longitude]
|
|
190
|
+
: [44.66579, 11.48823], uncertainty: ((_b = venue === null || venue === void 0 ? void 0 : venue.uncertainty) !== null && _b !== void 0 ? _b : 0) * 1000 }), (venue === null || venue === void 0 ? void 0 : venue.latitude) && (venue === null || venue === void 0 ? void 0 : venue.longitude) && ((0, jsx_runtime_1.jsx)(react_leaflet_1.Marker, { position: [venue.latitude, venue.longitude], icon: DefaultIcon, children: (0, jsx_runtime_1.jsx)(react_leaflet_1.Popup, { children: (_c = venue.placeName) !== null && _c !== void 0 ? _c : '' }) })), (venue === null || venue === void 0 ? void 0 : venue.latitude) &&
|
|
191
|
+
(venue === null || venue === void 0 ? void 0 : venue.longitude) &&
|
|
192
|
+
(venue === null || venue === void 0 ? void 0 : venue.uncertainty) !== undefined && ((0, jsx_runtime_1.jsx)(Circle, { center: [venue.latitude, venue.longitude], size: venue.uncertainty * 1000 }))] })) })] })] }));
|
|
193
|
+
};
|
|
194
|
+
exports.default = VenueWidget;
|
|
195
|
+
//# sourceMappingURL=VenueWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VenueWidget.js","sourceRoot":"","sources":["../../../src/components/VenueWidget/VenueWidget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export interface Props<T = any> {
|
|
2
2
|
className?: string;
|
|
3
3
|
value?: T;
|
|
4
|
+
name?: string;
|
|
4
5
|
displayValue?: string;
|
|
5
6
|
onChange: (value: T) => void;
|
|
6
7
|
options: {
|
|
@@ -11,5 +12,5 @@ export interface Props<T = any> {
|
|
|
11
12
|
label?: string;
|
|
12
13
|
placeholder?: string;
|
|
13
14
|
}
|
|
14
|
-
declare const Select: ({ className, value, displayValue, options, onChange, disabled, label, placeholder, }: Props) => JSX.Element;
|
|
15
|
+
declare const Select: ({ className, value, name, displayValue, options, onChange, disabled, label, placeholder, }: Props) => JSX.Element;
|
|
15
16
|
export default Select;
|
|
@@ -6,10 +6,10 @@ const react_1 = require("react");
|
|
|
6
6
|
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
7
7
|
const react_2 = require("@headlessui/react");
|
|
8
8
|
const SelectIcon_1 = tslib_1.__importDefault(require("../icons/SelectIcon"));
|
|
9
|
-
const Select = ({ className, value, displayValue, options, onChange, disabled = false, label, placeholder, }) => {
|
|
9
|
+
const Select = ({ className, value, name, displayValue, options, onChange, disabled = false, label, placeholder, }) => {
|
|
10
10
|
return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('memori-select', className), children: (0, jsx_runtime_1.jsxs)(react_2.Listbox, { value: value, onChange: value => {
|
|
11
11
|
onChange(value);
|
|
12
|
-
}, disabled: disabled, name:
|
|
12
|
+
}, disabled: disabled, name: name, children: [label && ((0, jsx_runtime_1.jsxs)(react_2.Listbox.Label, { className: "memori-select--label", children: [label, ":"] })), (0, jsx_runtime_1.jsxs)(react_2.Listbox.Button, { "aria-label": label, className: "memori-select--button", children: [(0, jsx_runtime_1.jsx)("span", { className: (0, classnames_1.default)('memori-select--value', {
|
|
13
13
|
'memori-select--value-placeholder': !value,
|
|
14
14
|
}), children: value ? displayValue || value : placeholder }), (0, jsx_runtime_1.jsx)("span", { className: "memori-select--icon", children: (0, jsx_runtime_1.jsx)(SelectIcon_1.default, {}) })] }), (0, jsx_runtime_1.jsx)(react_2.Transition, { as: react_1.Fragment, leave: "transition ease-in duration-100", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: (0, jsx_runtime_1.jsx)(react_2.Listbox.Options, { className: "memori-select--options", children: options.map(opt => ((0, jsx_runtime_1.jsx)(react_2.Listbox.Option, { value: opt.value, className: "memori-select--option", children: opt.label }, opt.value))) }) })] }) }));
|
|
15
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/ui/Select.tsx"],"names":[],"mappings":";;;;AAAA,iCAAwC;AACxC,oEAA4B;AAC5B,6CAAwD;AACxD,6EAA6C;
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/ui/Select.tsx"],"names":[],"mappings":";;;;AAAA,iCAAwC;AACxC,oEAA4B;AAC5B,6CAAwD;AACxD,6EAA6C;AAc7C,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,WAAW,GACL,EAAE,EAAE;IACV,OAAO,CACL,gCAAK,SAAS,EAAE,IAAA,oBAAE,EAAC,eAAe,EAAE,SAAS,CAAC,YAC5C,wBAAC,eAAO,IACN,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAChB,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,EACD,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,aAET,KAAK,IAAI,CACR,wBAAC,eAAO,CAAC,KAAK,IAAC,SAAS,EAAC,sBAAsB,aAC5C,KAAK,SACQ,CACjB,EACD,wBAAC,eAAO,CAAC,MAAM,kBAAa,KAAK,EAAE,SAAS,EAAC,uBAAuB,aAClE,iCACE,SAAS,EAAE,IAAA,oBAAE,EAAC,sBAAsB,EAAE;gCACpC,kCAAkC,EAAE,CAAC,KAAK;6BAC3C,CAAC,YAED,KAAK,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,WAAW,GACvC,EACP,iCAAM,SAAS,EAAC,qBAAqB,YACnC,uBAAC,oBAAU,KAAG,GACT,IACQ,EACjB,uBAAC,kBAAU,IACT,EAAE,EAAE,gBAAQ,EACZ,KAAK,EAAC,iCAAiC,EACvC,SAAS,EAAC,aAAa,EACvB,OAAO,EAAC,WAAW,YAEnB,uBAAC,eAAO,CAAC,OAAO,IAAC,SAAS,EAAC,wBAAwB,YAChD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAClB,uBAAC,eAAO,CAAC,MAAM,IAEb,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,SAAS,EAAC,uBAAuB,YAEhC,GAAG,CAAC,KAAK,IAJL,GAAG,CAAC,KAAK,CAKC,CAClB,CAAC,GACc,GACP,IACL,GACN,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
package/dist/helpers/utils.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const usernameRegEx: RegExp;
|
|
|
7
7
|
export declare const validURLRegEx: RegExp;
|
|
8
8
|
export declare const isValidUrl: (url: string) => boolean;
|
|
9
9
|
export declare function useDebounce<T>(value: T, delay: number): T;
|
|
10
|
+
export declare function useDebounceFn<T extends (...args: any) => any>(fn: T, delay: number): T;
|
|
10
11
|
export declare const stripDuplicates: (text: string) => string;
|
|
11
12
|
export declare const stripEmojis: (text: string) => string;
|
|
12
13
|
export declare const getFieldFromCustomData: (fieldName: string, data: string | undefined) => any;
|
package/dist/helpers/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cleanUrl = exports.difference = exports.stripObjNulls = exports.getFieldFromCustomData = exports.stripEmojis = exports.stripDuplicates = exports.useDebounce = exports.isValidUrl = exports.validURLRegEx = exports.usernameRegEx = exports.mailRegEx = exports.pwdRegEx = exports.isAndroid = exports.isiOS = exports.hasTouchscreen = void 0;
|
|
3
|
+
exports.cleanUrl = exports.difference = exports.stripObjNulls = exports.getFieldFromCustomData = exports.stripEmojis = exports.stripDuplicates = exports.useDebounceFn = exports.useDebounce = exports.isValidUrl = exports.validURLRegEx = exports.usernameRegEx = exports.mailRegEx = exports.pwdRegEx = exports.isAndroid = exports.isiOS = exports.hasTouchscreen = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const hasTouchscreen = () => {
|
|
6
6
|
let hasTouchScreen = false;
|
|
@@ -82,6 +82,30 @@ function useDebounce(value, delay) {
|
|
|
82
82
|
return debouncedValue;
|
|
83
83
|
}
|
|
84
84
|
exports.useDebounce = useDebounce;
|
|
85
|
+
function useDebounceFn(fn, delay) {
|
|
86
|
+
const timeoutId = (0, react_1.useRef)();
|
|
87
|
+
const originalFn = (0, react_1.useRef)(null);
|
|
88
|
+
(0, react_1.useEffect)(() => {
|
|
89
|
+
originalFn.current = fn;
|
|
90
|
+
return () => {
|
|
91
|
+
originalFn.current = null;
|
|
92
|
+
};
|
|
93
|
+
}, [fn]);
|
|
94
|
+
(0, react_1.useEffect)(() => {
|
|
95
|
+
return () => {
|
|
96
|
+
clearTimeout(timeoutId.current);
|
|
97
|
+
};
|
|
98
|
+
}, []);
|
|
99
|
+
return (0, react_1.useMemo)(() => ((...args) => {
|
|
100
|
+
clearTimeout(timeoutId.current);
|
|
101
|
+
timeoutId.current = window.setTimeout(() => {
|
|
102
|
+
if (originalFn.current) {
|
|
103
|
+
originalFn.current(...args);
|
|
104
|
+
}
|
|
105
|
+
}, delay);
|
|
106
|
+
}), [delay]);
|
|
107
|
+
}
|
|
108
|
+
exports.useDebounceFn = useDebounceFn;
|
|
85
109
|
const stripDuplicates = (text) => {
|
|
86
110
|
if (text
|
|
87
111
|
.slice(0, text.length / 2)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUncertaintyByViewport = exports.DEGREES_TO_RADIANS = exports.EARTH_RADIUS_AT_45_DEGRESS = void 0;
|
|
4
|
+
exports.EARTH_RADIUS_AT_45_DEGRESS = (6357.0 + 6378.0) / 2.0;
|
|
5
|
+
exports.DEGREES_TO_RADIANS = Math.PI / 180;
|
|
6
|
+
const getUncertaintyByViewport = (bouningBox) => {
|
|
7
|
+
const [minLat, maxLat, minLng, maxLng] = typeof bouningBox[0] === 'string'
|
|
8
|
+
? bouningBox.map(parseFloat)
|
|
9
|
+
: bouningBox;
|
|
10
|
+
const phi1 = minLat * exports.DEGREES_TO_RADIANS;
|
|
11
|
+
const lambda1 = minLng * exports.DEGREES_TO_RADIANS;
|
|
12
|
+
const phi2 = maxLat * exports.DEGREES_TO_RADIANS;
|
|
13
|
+
const lambda2 = maxLng * exports.DEGREES_TO_RADIANS;
|
|
14
|
+
const angle = 2.0 *
|
|
15
|
+
Math.asin(Math.sqrt(Math.sin((phi2 - phi1) / 2.0) * Math.sin((phi2 - phi1) / 2.0) +
|
|
16
|
+
Math.cos(phi1) *
|
|
17
|
+
Math.cos(phi2) *
|
|
18
|
+
Math.sin((lambda2 - lambda1) / 2.0) *
|
|
19
|
+
Math.sin((lambda2 - lambda1) / 2.0)));
|
|
20
|
+
return exports.EARTH_RADIUS_AT_45_DEGRESS * angle;
|
|
21
|
+
};
|
|
22
|
+
exports.getUncertaintyByViewport = getUncertaintyByViewport;
|
|
23
|
+
//# sourceMappingURL=venue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venue.js","sourceRoot":"","sources":["../../src/helpers/venue.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;AACrD,QAAA,kBAAkB,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAEzC,MAAM,wBAAwB,GAAG,CACtC,UAEoC,EACpC,EAAE;IAEF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC/B,CAAC,CAAE,UAAuB,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1C,CAAC,CAAE,UAAuB,CAAC;IAG/B,MAAM,IAAI,GAAG,MAAM,GAAG,0BAAkB,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,GAAG,0BAAkB,CAAC;IAE5C,MAAM,IAAI,GAAG,MAAM,GAAG,0BAAkB,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,GAAG,0BAAkB,CAAC;IAI5C,MAAM,KAAK,GACT,GAAG;QACH,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CACxC,CACF,CAAC;IACJ,OAAO,kCAA0B,GAAG,KAAK,CAAC;AAC5C,CAAC,CAAC;AAhCW,QAAA,wBAAwB,4BAgCnC"}
|
package/dist/locales/en.json
CHANGED
|
@@ -31,6 +31,11 @@
|
|
|
31
31
|
"copyToClipboard": "Copy to clipboard",
|
|
32
32
|
"showOriginalText": "Show original",
|
|
33
33
|
"showTranslatedText": "Show translation",
|
|
34
|
+
"exactPosition": "Exact position",
|
|
35
|
+
"uncertain": "Uncertain",
|
|
36
|
+
"nothingFound": "Nothing found",
|
|
37
|
+
"venue": "Venue",
|
|
38
|
+
"searchVenue": "Search venue...",
|
|
34
39
|
"memoriBlockedTitle": "Blocked",
|
|
35
40
|
"memoriBlockedUntil": "Memori blocked until {{date}}",
|
|
36
41
|
"memoriBlockedAnon": "Currently \"{{name}}\" can't answer, come back here on {{date}}",
|
package/dist/locales/it.json
CHANGED
|
@@ -31,6 +31,11 @@
|
|
|
31
31
|
"copyToClipboard": "Copia negli appunti",
|
|
32
32
|
"showOriginalText": "Mostra originale",
|
|
33
33
|
"showTranslatedText": "Mostra traduzione",
|
|
34
|
+
"exactPosition": "Posizione esatta",
|
|
35
|
+
"uncertain": "Incertezza",
|
|
36
|
+
"nothingFound": "Nessun risultato",
|
|
37
|
+
"venue": "Luogo",
|
|
38
|
+
"searchVenue": "Cerca luogo...",
|
|
34
39
|
"memoriBlockedTitle": "Bloccato",
|
|
35
40
|
"memoriBlockedUntil": "Memori bloccato fino al {{date}}",
|
|
36
41
|
"memoriBlockedAnon": "Attualmente \"{{name}}\" non può rispondere, torna qui il {{date}}",
|
package/dist/styles.css
CHANGED
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
@import url('./components/AgeVerificationModal/AgeVerificationModal.css');
|
|
41
41
|
@import url('./components/KnownFacts/KnownFacts.css');
|
|
42
42
|
@import url('./components/LoginDrawer/LoginDrawer.css');
|
|
43
|
+
@import url('./components/VenueWidget/VenueWidget.css');
|
|
43
44
|
@import url('./components/MemoriWidget/MemoriWidget.css');
|
|
44
45
|
|
|
45
46
|
@import url('https://fonts.bunny.net/css?family=lexend-deca:200,400,700');
|