mirror of
https://github.com/wanderer-industries/wanderer
synced 2025-12-04 14:55:34 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b97d36bf1 | ||
|
|
82f6a7f701 | ||
|
|
2d92dfbafa | ||
|
|
f81f41f555 | ||
|
|
54c7b44d69 |
20
CHANGELOG.md
20
CHANGELOG.md
@@ -2,6 +2,26 @@
|
||||
|
||||
<!-- changelog -->
|
||||
|
||||
## [v1.52.5](https://github.com/wanderer-industries/wanderer/compare/v1.52.4...v1.52.5) (2025-02-22)
|
||||
|
||||
|
||||
|
||||
|
||||
### Bug Fixes:
|
||||
|
||||
* Map: Fixed delete system on signature deletion
|
||||
|
||||
* Map: Fixed delete system on signature deletion
|
||||
|
||||
## [v1.52.4](https://github.com/wanderer-industries/wanderer/compare/v1.52.3...v1.52.4) (2025-02-21)
|
||||
|
||||
|
||||
|
||||
|
||||
### Bug Fixes:
|
||||
|
||||
* signature paste for russian lang
|
||||
|
||||
## [v1.52.3](https://github.com/wanderer-industries/wanderer/compare/v1.52.2...v1.52.3) (2025-02-21)
|
||||
|
||||
|
||||
|
||||
@@ -5,12 +5,14 @@ import clsx from 'clsx';
|
||||
|
||||
export interface WidgetProps {
|
||||
label: React.ReactNode | string;
|
||||
windowId?: string;
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
|
||||
export const Widget = ({ label, children }: WidgetProps) => {
|
||||
export const Widget = ({ label, children, windowId }: WidgetProps) => {
|
||||
return (
|
||||
<div
|
||||
data-window-id={windowId}
|
||||
className={clsx(
|
||||
classes.root,
|
||||
'flex flex-col w-full h-full rounded',
|
||||
|
||||
@@ -20,6 +20,7 @@ import { COMPACT_MAX_WIDTH } from './constants';
|
||||
import { renderHeaderLabel } from './renders';
|
||||
|
||||
const SIGNATURE_SETTINGS_KEY = 'wanderer_system_signature_settings_v5_5';
|
||||
export const SIGNATURE_WINDOW_ID = 'system_signatures_window';
|
||||
export const SHOW_DESCRIPTION_COLUMN_SETTING = 'show_description_column_setting';
|
||||
export const SHOW_UPDATED_COLUMN_SETTING = 'SHOW_UPDATED_COLUMN_SETTING';
|
||||
export const SHOW_CHARACTER_COLUMN_SETTING = 'SHOW_CHARACTER_COLUMN_SETTING';
|
||||
@@ -89,7 +90,7 @@ export const SystemSignatures: React.FC = () => {
|
||||
|
||||
const lazyDeleteValue = useMemo(
|
||||
() => currentSettings.find(setting => setting.key === LAZY_DELETE_SIGNATURES_SETTING)?.value || false,
|
||||
[currentSettings]
|
||||
[currentSettings],
|
||||
);
|
||||
|
||||
const handleSettingsChange = useCallback((newSettings: Setting[]) => {
|
||||
@@ -99,7 +100,7 @@ export const SystemSignatures: React.FC = () => {
|
||||
|
||||
const handleLazyDeleteChange = useCallback((value: boolean) => {
|
||||
setCurrentSettings(prevSettings =>
|
||||
prevSettings.map(setting => (setting.key === LAZY_DELETE_SIGNATURES_SETTING ? { ...setting, value } : setting))
|
||||
prevSettings.map(setting => (setting.key === LAZY_DELETE_SIGNATURES_SETTING ? { ...setting, value } : setting)),
|
||||
);
|
||||
}, []);
|
||||
|
||||
@@ -151,6 +152,7 @@ export const SystemSignatures: React.FC = () => {
|
||||
})}
|
||||
</div>
|
||||
}
|
||||
windowId={SIGNATURE_WINDOW_ID}
|
||||
>
|
||||
{isNotSelectedSystem ? (
|
||||
<div className="w-full h-full flex justify-center items-center select-none text-center text-stone-400/80 text-sm">
|
||||
|
||||
@@ -13,14 +13,15 @@ import {
|
||||
GROUPS_LIST,
|
||||
MEDIUM_MAX_WIDTH,
|
||||
OTHER_COLUMNS_WIDTH,
|
||||
getGroupIdByRawGroup,
|
||||
} from '@/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/constants';
|
||||
import {
|
||||
KEEP_LAZY_DELETE_SETTING,
|
||||
LAZY_DELETE_SIGNATURES_SETTING,
|
||||
SHOW_DESCRIPTION_COLUMN_SETTING,
|
||||
SHOW_UPDATED_COLUMN_SETTING,
|
||||
SHOW_CHARACTER_COLUMN_SETTING,
|
||||
SIGNATURE_WINDOW_ID,
|
||||
} from '../SystemSignatures';
|
||||
|
||||
import { COSMIC_SIGNATURE } from '../SystemSignatureSettingsDialog';
|
||||
import {
|
||||
renderAddedTimeLeft,
|
||||
@@ -89,9 +90,6 @@ export function SystemSignaturesContent({
|
||||
const isCompact = useMaxWidth(tableRef, COMPACT_MAX_WIDTH);
|
||||
const isMedium = useMaxWidth(tableRef, MEDIUM_MAX_WIDTH);
|
||||
|
||||
const lazyDeleteEnabled = settings.find(s => s.key === LAZY_DELETE_SIGNATURES_SETTING)?.value ?? false;
|
||||
const keepLazyDeleteEnabled = settings.find(s => s.key === KEEP_LAZY_DELETE_SETTING)?.value ?? false;
|
||||
|
||||
const { clipboardContent, setClipboardContent } = useClipboard();
|
||||
useEffect(() => {
|
||||
if (selectable) return;
|
||||
@@ -99,22 +97,21 @@ export function SystemSignaturesContent({
|
||||
|
||||
handlePaste(clipboardContent.text);
|
||||
|
||||
if (lazyDeleteEnabled && !keepLazyDeleteEnabled) {
|
||||
onLazyDeleteChange?.(false);
|
||||
}
|
||||
setClipboardContent(null);
|
||||
}, [
|
||||
selectable,
|
||||
clipboardContent,
|
||||
handlePaste,
|
||||
setClipboardContent,
|
||||
lazyDeleteEnabled,
|
||||
keepLazyDeleteEnabled,
|
||||
onLazyDeleteChange,
|
||||
]);
|
||||
}, [selectable, clipboardContent]);
|
||||
|
||||
useHotkey(true, ['a'], handleSelectAll);
|
||||
useHotkey(false, ['Backspace', 'Delete'], handleDeleteSelected);
|
||||
useHotkey(false, ['Backspace', 'Delete'], (event: KeyboardEvent) => {
|
||||
const targetWindow = (event.target as HTMLHtmlElement)?.closest(`[data-window-id="${SIGNATURE_WINDOW_ID}"]`);
|
||||
|
||||
if (!targetWindow) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
handleDeleteSelected();
|
||||
});
|
||||
|
||||
const [nameColumnWidth, setNameColumnWidth] = useState('auto');
|
||||
const handleResize = useCallback(() => {
|
||||
@@ -165,11 +162,14 @@ export function SystemSignaturesContent({
|
||||
if (hideLinkedSignatures && sig.linked_system) {
|
||||
return false;
|
||||
}
|
||||
if (sig.kind === COSMIC_SIGNATURE) {
|
||||
const isCosmicSignature = sig.kind === COSMIC_SIGNATURE;
|
||||
|
||||
if (isCosmicSignature) {
|
||||
const showCosmic = settings.find(y => y.key === COSMIC_SIGNATURE)?.value;
|
||||
if (!showCosmic) return false;
|
||||
if (sig.group) {
|
||||
return enabledGroups.includes(sig.group);
|
||||
const preparedGroup = getGroupIdByRawGroup(sig.group);
|
||||
return enabledGroups.includes(preparedGroup);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
|
||||
@@ -16,13 +16,15 @@ export const parseSignatures = (value: string, availableKeys: string[]): SystemS
|
||||
|
||||
const kind = MAPPING_TYPE_TO_ENG[sigArrInfo[1] as SignatureKind];
|
||||
|
||||
outArr.push({
|
||||
const signature: SystemSignature = {
|
||||
eve_id: sigArrInfo[0],
|
||||
kind: availableKeys.includes(kind) ? kind : SignatureKind.CosmicSignature,
|
||||
group: sigArrInfo[2] as SignatureGroup,
|
||||
name: sigArrInfo[3],
|
||||
type: '',
|
||||
});
|
||||
};
|
||||
|
||||
outArr.push(signature);
|
||||
}
|
||||
|
||||
return outArr;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { CharacterTypeRaw, SolarSystemStaticInfoRaw } from '@/hooks/Mapper/types';
|
||||
import { SolarSystemStaticInfoRaw } from '@/hooks/Mapper/types';
|
||||
|
||||
export enum SignatureGroup {
|
||||
CosmicSignature = 'Cosmic Signature',
|
||||
@@ -33,7 +33,7 @@ export type SignatureCustomInfo = {
|
||||
|
||||
export type SystemSignature = {
|
||||
eve_id: string;
|
||||
character_eve_id: string;
|
||||
character_eve_id?: string;
|
||||
character_name?: string;
|
||||
kind: SignatureKind;
|
||||
name: string;
|
||||
|
||||
Reference in New Issue
Block a user