mirror of
https://github.com/billsonnn/nitro-react.git
synced 2024-11-23 14:40:50 +01:00
Update inventory
This commit is contained in:
parent
fa0f8d5e8e
commit
1a3e85aa05
@ -8,6 +8,3 @@
|
||||
height: 181px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@import './views/InventoryViews';
|
||||
|
@ -1,2 +0,0 @@
|
||||
@import './badge/InventoryBadgeView';
|
||||
@import './furniture/InventoryFurnitureView';
|
@ -1,13 +0,0 @@
|
||||
.current-badge-container {
|
||||
|
||||
.badge-image {
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
}
|
||||
}
|
||||
|
||||
.inventory-badge-overflow {
|
||||
height: calc(100% - 91px);
|
||||
}
|
||||
|
||||
@import './item/InventoryBadgeItemView';
|
@ -2,6 +2,9 @@ import { RequestBadgesComposer } from '@nitrots/nitro-renderer';
|
||||
import { FC, useEffect } from 'react';
|
||||
import { LocalizeBadgeName, LocalizeText } from '../../../../api';
|
||||
import { SendMessageHook } from '../../../../hooks/messages/message-event';
|
||||
import { NitroLayoutFlexColumn } from '../../../../layout/flex-column/NitroLayoutFlexColumn';
|
||||
import { NitroLayoutGridColumn } from '../../../../layout/grid/column/NitroLayoutGridColumn';
|
||||
import { NitroLayoutGrid } from '../../../../layout/grid/NitroLayoutGrid';
|
||||
import { BadgeImageView } from '../../../shared/badge-image/BadgeImageView';
|
||||
import { useInventoryContext } from '../../context/InventoryContext';
|
||||
import { InventoryBadgeActions } from '../../reducers/InventoryBadgeReducer';
|
||||
@ -74,55 +77,26 @@ export const InventoryBadgeView: FC<InventoryBadgeViewProps> = props =>
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="d-flex flex-column h-100 overflow-hidden">
|
||||
<div className="row h-100">
|
||||
<div className="d-flex flex-column col-7 h-100">
|
||||
<NitroLayoutGrid>
|
||||
<NitroLayoutGridColumn size={ 7 } gap={ 2 }>
|
||||
<InventoryBadgeResultsView badges={ badges } activeBadges={ activeBadges } />
|
||||
</div>
|
||||
<div className="d-flex flex-column justify-content-between col-5 gap-2 h-100 overflow-hidden">
|
||||
<div className="d-flex flex-column overflow-hidden">
|
||||
<p className="mb-1 text-black">{ LocalizeText('inventory.badges.activebadges') }</p>
|
||||
</NitroLayoutGridColumn>
|
||||
<NitroLayoutGridColumn className="justify-content-between" size={ 5 } gap={ 2 } overflow="auto">
|
||||
<NitroLayoutFlexColumn overflow="hidden" gap={ 2 }>
|
||||
<div className="text-black text-truncate">{ LocalizeText('inventory.badges.activebadges') }</div>
|
||||
<InventoryActiveBadgeResultsView badges={ activeBadges } />
|
||||
</div>
|
||||
{ badge && badge.length &&
|
||||
<div className="d-flex flex-column gap-2">
|
||||
</NitroLayoutFlexColumn>
|
||||
{ badge && (badge.length > 0) &&
|
||||
<NitroLayoutFlexColumn gap={ 2 }>
|
||||
<div className="d-flex justify-content-between align-items-center">
|
||||
<div className="d-flex flex-grow-1 gap-2 align-items-center current-badge-container overflow-hidden">
|
||||
<div className="d-flex flex-grow-1 gap-2 align-items-center overflow-hidden">
|
||||
<BadgeImageView badgeCode={ badge } />
|
||||
<div className="flex-grow-1 text-black text-truncate">{ LocalizeBadgeName(badge) }</div>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" className={ 'btn btn-sm btn-' + (isWearingBadge(badge) ? 'danger' : 'success') } disabled={ !isWearingBadge(badge) && !canWearBadges() } onClick={ toggleBadge }>{ LocalizeText(isWearingBadge(badge) ? 'inventory.badges.clearbadge' : 'inventory.badges.wearbadge')}</button>
|
||||
</div> }
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
// <div className="d-flex flex-column h-100 overflow-hidden">
|
||||
// <div className="row inventory-badge-overflow">
|
||||
// <div className="col-7 d-flex flex-column h-100">
|
||||
// <InventoryBadgeResultsView badges={ badges } activeBadges={ activeBadges } />
|
||||
// </div>
|
||||
// <div className="col">
|
||||
// <p className="mb-1 text-black">{ LocalizeText('inventory.badges.activebadges') }</p>
|
||||
// <InventoryActiveBadgeResultsView badges={ activeBadges } />
|
||||
// </div>
|
||||
// </div>
|
||||
// <div className="my-auto">
|
||||
// { badge && badge.length &&
|
||||
// <div className="d-flex justify-content-between align-items-center bg-secondary rounded px-2 py-1 mb-1 mt-1">
|
||||
// <div className="d-flex flex-grow-1 current-badge-container">
|
||||
// <BadgeImageView badgeCode={ badge } />
|
||||
// <div className="d-flex flex-column justify-content-center flex-grow-1 ms-2">
|
||||
// <p className="mb-0">{ LocalizeBadgeName(badge) }</p>
|
||||
// </div>
|
||||
// </div>
|
||||
// <button type="button" className={ 'btn btn-sm btn-' + (isWearingBadge(badge) ? 'danger' : 'success') } disabled={ !isWearingBadge(badge) && !canWearBadges() } onClick={ toggleBadge }>{ LocalizeText(isWearingBadge(badge) ? 'inventory.badges.clearbadge' : 'inventory.badges.wearbadge')}</button>
|
||||
// </div> }
|
||||
// <div className="d-flex justify-content-center align-items-center bg-primary rounded p-1">
|
||||
// <div className="h6 m-0 text-white">{ LocalizeText('achievements_score_description', [ 'score' ], [ '0' ]) }</div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </>
|
||||
</NitroLayoutFlexColumn> }
|
||||
</NitroLayoutGridColumn>
|
||||
</NitroLayoutGrid>
|
||||
);
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
.inventory-badge-item-container {
|
||||
height: 48px;
|
||||
max-height: 48px;
|
||||
|
||||
.inventory-badge-item {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-color: $grid-border-color !important;
|
||||
background-color: $grid-bg-color;
|
||||
overflow: hidden;
|
||||
|
||||
&.active {
|
||||
border-color: $grid-active-border-color !important;
|
||||
background-color: $grid-active-bg-color;
|
||||
}
|
||||
}
|
||||
}
|
@ -2,6 +2,9 @@ import { GetBotInventoryComposer, RoomObjectVariable } from '@nitrots/nitro-rend
|
||||
import { FC, useEffect } from 'react';
|
||||
import { GetRoomEngine, LocalizeText } from '../../../../api';
|
||||
import { SendMessageHook } from '../../../../hooks/messages/message-event';
|
||||
import { NitroLayoutFlexColumn } from '../../../../layout/flex-column/NitroLayoutFlexColumn';
|
||||
import { NitroLayoutGridColumn } from '../../../../layout/grid/column/NitroLayoutGridColumn';
|
||||
import { NitroLayoutGrid } from '../../../../layout/grid/NitroLayoutGrid';
|
||||
import { RoomPreviewerView } from '../../../shared/room-previewer/RoomPreviewerView';
|
||||
import { attemptBotPlacement } from '../../common/BotUtilities';
|
||||
import { useInventoryContext } from '../../context/InventoryContext';
|
||||
@ -80,20 +83,20 @@ export const InventoryBotView: FC<InventoryBotViewProps> = props =>
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="row h-100">
|
||||
<div className="d-flex flex-column col-7 h-100">
|
||||
<NitroLayoutGrid>
|
||||
<NitroLayoutGridColumn size={ 7 } gap={ 2 }>
|
||||
<InventoryBotResultsView botItems={ botItems } />
|
||||
</div>
|
||||
<div className="d-flex flex-column col-5 gap-2 h-100 overflow-hidden">
|
||||
<div className="position-relative d-flex flex-column overflow-auto h-100">
|
||||
</NitroLayoutGridColumn>
|
||||
<NitroLayoutGridColumn size={ 5 } gap={ 2 } overflow="auto">
|
||||
<NitroLayoutFlexColumn overflow="hidden" position="relative">
|
||||
<RoomPreviewerView roomPreviewer={ roomPreviewer } height={ 140 } />
|
||||
</div>
|
||||
</NitroLayoutFlexColumn>
|
||||
{ botItem &&
|
||||
<div className="d-flex flex-column gap-2">
|
||||
<p className="flex-grow-1 text-black text-truncate">{ botItem.botData.name }</p>
|
||||
<NitroLayoutFlexColumn className="flex-grow-1" gap={ 2 }>
|
||||
<div className="flex-grow-1 text-black text-truncate">{ botItem.botData.name }</div>
|
||||
{ !!roomSession && <button type="button" className="btn btn-success btn-sm" onClick={ event => attemptBotPlacement(botItem) }>{ LocalizeText('inventory.furni.placetoroom') }</button> }
|
||||
</div> }
|
||||
</div>
|
||||
</div>
|
||||
</NitroLayoutFlexColumn> }
|
||||
</NitroLayoutGridColumn>
|
||||
</NitroLayoutGrid>
|
||||
);
|
||||
}
|
||||
|
@ -1,5 +0,0 @@
|
||||
.stuffdata-extra-container {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 15px;
|
||||
}
|
@ -2,6 +2,9 @@ import { FurnitureListComposer, RoomObjectVariable, Vector3d } from '@nitrots/ni
|
||||
import { FC, useEffect, useState } from 'react';
|
||||
import { GetRoomEngine, GetSessionDataManager, LocalizeText } from '../../../../api';
|
||||
import { SendMessageHook } from '../../../../hooks/messages';
|
||||
import { NitroLayoutFlexColumn } from '../../../../layout/flex-column/NitroLayoutFlexColumn';
|
||||
import { NitroLayoutGridColumn } from '../../../../layout/grid/column/NitroLayoutGridColumn';
|
||||
import { NitroLayoutGrid } from '../../../../layout/grid/NitroLayoutGrid';
|
||||
import { LimitedEditionCompactPlateView } from '../../../shared/limited-edition/compact-plate/LimitedEditionCompactPlateView';
|
||||
import { RarityLevelView } from '../../../shared/rarity-level/RarityLevelView';
|
||||
import { RoomPreviewerView } from '../../../shared/room-previewer/RoomPreviewerView';
|
||||
@ -116,30 +119,30 @@ export const InventoryFurnitureView: FC<InventoryFurnitureViewProps> = props =>
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="row h-100">
|
||||
<div className="d-flex flex-column col-7 h-100">
|
||||
<NitroLayoutGrid>
|
||||
<NitroLayoutGridColumn size={ 7 } gap={ 2 }>
|
||||
<InventoryFurnitureSearchView groupItems={ groupItems } setGroupItems={ setFilteredGroupItems } />
|
||||
<InventoryFurnitureResultsView groupItems={ filteredGroupItems } />
|
||||
</div>
|
||||
<div className="d-flex flex-column col-5 gap-2 h-100 overflow-hidden">
|
||||
<div className="position-relative d-flex flex-column overflow-auto h-100">
|
||||
</NitroLayoutGridColumn>
|
||||
<NitroLayoutGridColumn size={ 5 } gap={ 2 } overflow="auto">
|
||||
<NitroLayoutFlexColumn overflow="hidden" position="relative">
|
||||
<RoomPreviewerView roomPreviewer={ roomPreviewer } height={ 140 } />
|
||||
{ groupItem && groupItem.stuffData.isUnique &&
|
||||
<div className="stuffdata-extra-container">
|
||||
<div className="position-absolute top-2 end-2">
|
||||
<LimitedEditionCompactPlateView uniqueNumber={ groupItem.stuffData.uniqueNumber } uniqueSeries={ groupItem.stuffData.uniqueSeries } />
|
||||
</div> }
|
||||
{ (groupItem && groupItem.stuffData.rarityLevel > -1) &&
|
||||
<div className="stuffdata-extra-container">
|
||||
<div className="position-absolute top-2 end-2">
|
||||
<RarityLevelView level={ groupItem.stuffData.rarityLevel } />
|
||||
</div> }
|
||||
</div>
|
||||
</NitroLayoutFlexColumn>
|
||||
{ groupItem &&
|
||||
<div className="d-flex flex-column gap-2">
|
||||
<p className="flex-grow-1 text-black text-truncate">{ groupItem.name }</p>
|
||||
<NitroLayoutFlexColumn className="flex-grow-1" gap={ 2 }>
|
||||
<div className="flex-grow-1 text-black text-truncate">{ groupItem.name }</div>
|
||||
{ !!roomSession &&
|
||||
<button type="button" className="btn btn-success btn-sm" onClick={ event => attemptItemPlacement(groupItem) }>{ LocalizeText('inventory.furni.placetoroom') }</button> }
|
||||
</div> }
|
||||
</div>
|
||||
</div>
|
||||
</NitroLayoutFlexColumn> }
|
||||
</NitroLayoutGridColumn>
|
||||
</NitroLayoutGrid>
|
||||
);
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ export const InventoryFurnitureSearchView: FC<InventoryFurnitureSearchViewProps>
|
||||
}, [ groupItems, setGroupItems, searchValue ]);
|
||||
|
||||
return (
|
||||
<div className="d-flex mb-1">
|
||||
<div className="d-flex">
|
||||
<div className="d-flex flex-grow-1 me-1">
|
||||
<input type="text" className="form-control form-control-sm" placeholder={ LocalizeText('generic.search') } value={ searchValue } onChange={ event => setSearchValue(event.target.value) } />
|
||||
</div>
|
||||
|
@ -2,6 +2,9 @@ import { RequestPetsComposer, RoomObjectVariable } from '@nitrots/nitro-renderer
|
||||
import { FC, useEffect } from 'react';
|
||||
import { GetRoomEngine, LocalizeText } from '../../../../api';
|
||||
import { SendMessageHook } from '../../../../hooks/messages/message-event';
|
||||
import { NitroLayoutFlexColumn } from '../../../../layout/flex-column/NitroLayoutFlexColumn';
|
||||
import { NitroLayoutGridColumn } from '../../../../layout/grid/column/NitroLayoutGridColumn';
|
||||
import { NitroLayoutGrid } from '../../../../layout/grid/NitroLayoutGrid';
|
||||
import { RoomPreviewerView } from '../../../shared/room-previewer/RoomPreviewerView';
|
||||
import { attemptPetPlacement } from '../../common/PetUtilities';
|
||||
import { useInventoryContext } from '../../context/InventoryContext';
|
||||
@ -80,20 +83,20 @@ export const InventoryPetView: FC<InventoryPetViewProps> = props =>
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="row h-100">
|
||||
<div className="d-flex flex-column col-7 h-100">
|
||||
<NitroLayoutGrid>
|
||||
<NitroLayoutGridColumn size={ 7 } gap={ 2 }>
|
||||
<InventoryPetResultsView petItems={ petItems } />
|
||||
</div>
|
||||
<div className="d-flex flex-column col-5 gap-2 h-100 overflow-hidden">
|
||||
<div className="position-relative d-flex flex-column overflow-auto h-100">
|
||||
</NitroLayoutGridColumn>
|
||||
<NitroLayoutGridColumn size={ 5 } gap={ 2 } overflow="auto">
|
||||
<NitroLayoutFlexColumn overflow="hidden" position="relative">
|
||||
<RoomPreviewerView roomPreviewer={ roomPreviewer } height={ 140 } />
|
||||
</div>
|
||||
</NitroLayoutFlexColumn>
|
||||
{ petItem &&
|
||||
<div className="d-flex flex-column gap-2">
|
||||
<p className="flex-grow-1 text-black text-truncate">{ petItem.petData.name }</p>
|
||||
<NitroLayoutFlexColumn className="flex-grow-1" gap={ 2 }>
|
||||
<div className="flex-grow-1 text-black text-truncate">{ petItem.petData.name }</div>
|
||||
{ !!roomSession && <button type="button" className="btn btn-success btn-sm" onClick={ event => attemptPetPlacement(petItem) }>{ LocalizeText('inventory.furni.placetoroom') }</button> }
|
||||
</div> }
|
||||
</div>
|
||||
</div>
|
||||
</NitroLayoutFlexColumn> }
|
||||
</NitroLayoutGridColumn>
|
||||
</NitroLayoutGrid>
|
||||
);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user