
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@iiif/thumbnail-panel
Advanced tools
[Demo](https://thumbnail-panel.netlify.app/) | [Code Sandbox](https://codesandbox.io/dashboard/repositories/github/IIIF-Commons/thumbnail-panel)
npm i @iiif/thumbnail-panel
To start a local development environment, clone the repo, and run:
yarn install
yarn start
A consuming environment for developing is available via the src/dev.tsx
component.
The app will export React components, and also a vanilla JavaScript bundled version (coming soon).
The ThumbnailPanel
component can be used in a controlled or uncontrolled way. What is controlled vs uncontrolled?.
import { ThumbnailPanel } from "@iiif/thumbnail-panel";
// Somewhere here you'll have to keep track of which
// "resource" is "active". Handle user events and
// continually pass in whichever resourceId you want
// to be active.
...
<ThumbnailPanel
currentResourceId="someResourceId"
iiifContent="https://iiif-commons.github.io/fixtures/examples/thumbnail_panel/non_paged_at_end/v2/manifest.json"
onResourceChanged={(resourceId?: string) => {
console.log("resourceId", resourceId);
// Now you can pass around the current thumbnail item to
// other parts of your app which need to know about it.
}}
orientation="vertical"
/>
import { ThumbnailPanel } from "@iiif/thumbnail-panel";
function MyApp() {
...
return (
<ThumbnailPanel
iiifContent="https://iiif-commons.github.io/fixtures/examples/thumbnail_panel/non_paged_at_end/v2/manifest.json"
onResourceChanged={(resourceId?: string) => console.log("resourceId", resourceId)}
orientation="vertical"
>
<Nav />
</ThumbnailPanel>
)
}
function Nav() {
const { isEnd, isStart, next, prev } = useThumbnailPanelContext();
const { handleNextClick, resourceId: nextResourceId } = next;
const { handlePrevClick, resourceId: prevResourceId } = prev;
return (
<>
<button onClick={handlePrevClick} disabled={isStart} data-id={prevResourceId}>
Prev
</button>
<button onClick={handleNextClick} disabled={isEnd} data-id={nextResourceId}>
Next
</button>
</>
);
}
Helper hook, details coming soon...
Checkout the main
branch, and ensure it is up-to-date.
Run npm version [major | minor | patch]
for example:
npm version patch
This will update the package.json
version and create a git tag. Then push both the main/tag.
git push origin main v0.0.8
Then the GitHub action will pick up the tag and publish it to NPM :tada:
FAQs
[Demo](https://thumbnail-panel.netlify.app/) | [Code Sandbox](https://codesandbox.io/dashboard/repositories/github/IIIF-Commons/thumbnail-panel)
We found that @iiif/thumbnail-panel demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.