拆分 analysis_service:剩余工具函数全部移至 analysis_utils.py
提取 _mgm_hourly_high/_dedupe_forecast_daily/_format_observation_time_local/_parse_local_hour/_parse_utc_datetime/_metar_is_current_local_day/_is_plausible_city_temp。统一 parse_utc_datetime 副本。analysis_service 2082→1966 行。
This commit is contained in:
@@ -672,6 +672,8 @@ function ScanTerminalScreen() {
|
||||
const userLocalTime = useUserLocalClock();
|
||||
const { themeMode } = useScanTerminalTheme();
|
||||
const [selectedRegionKey, setSelectedRegionKey] = useState<string>("east_asia");
|
||||
const [localTimezoneOffsetSeconds, setLocalTimezoneOffsetSeconds] = useState<number | null>(null);
|
||||
const [useLocalTimezoneDefault, setUseLocalTimezoneDefault] = useState(true);
|
||||
|
||||
useEffect(() => {
|
||||
let cancelled = false;
|
||||
@@ -743,12 +745,19 @@ function ScanTerminalScreen() {
|
||||
|
||||
useEffect(() => {
|
||||
setSelectedRegionKey(detectLocalRegion());
|
||||
setLocalTimezoneOffsetSeconds(-new Date().getTimezoneOffset() * 60);
|
||||
}, []);
|
||||
|
||||
const selectRegionManually = useCallback((key: string) => {
|
||||
setUseLocalTimezoneDefault(false);
|
||||
setSelectedRegionKey(key);
|
||||
}, []);
|
||||
|
||||
const { refreshScanTerminalManually, scanLoading, terminalData } =
|
||||
useScanTerminalQuery({
|
||||
isPro,
|
||||
proAccessLoading: !hydrated || (proAccess.loading && !canUseLocalFullAccess),
|
||||
timezoneOffsetSeconds: useLocalTimezoneDefault ? localTimezoneOffsetSeconds : null,
|
||||
tradingRegion: selectedRegionKey,
|
||||
});
|
||||
const rows = useMemo(
|
||||
@@ -831,7 +840,7 @@ function ScanTerminalScreen() {
|
||||
selectedCity={selectedCity}
|
||||
setSelectedCity={setSelectedCity}
|
||||
selectedRegionKey={selectedRegionKey}
|
||||
setSelectedRegionKey={setSelectedRegionKey}
|
||||
setSelectedRegionKey={selectRegionManually}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user