Merge branch 'main' of github.com:eqlabs/xrpl-hooks-ide into feat/prevent-decimals
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import { Label } from "@radix-ui/react-label";
|
||||
import { Switch, SwitchThumb } from "../../components/Switch";
|
||||
import type { NextPage } from "next";
|
||||
import dynamic from "next/dynamic";
|
||||
import { Gear, Play } from "phosphor-react";
|
||||
@@ -141,59 +140,6 @@ const CompilerSettings = () => {
|
||||
</Button>
|
||||
</ButtonGroup>
|
||||
</Box>
|
||||
<Box css={{ flexDirection: "column" }}>
|
||||
<Label
|
||||
style={{
|
||||
flexDirection: "row",
|
||||
display: "flex",
|
||||
}}
|
||||
>
|
||||
Clean WASM (experimental){" "}
|
||||
<Popover
|
||||
css={{
|
||||
maxWidth: "240px",
|
||||
lineHeight: "1.3",
|
||||
a: {
|
||||
color: "$purple11",
|
||||
},
|
||||
".dark &": {
|
||||
backgroundColor: "$black !important",
|
||||
|
||||
".arrow": {
|
||||
fill: "$colors$black",
|
||||
},
|
||||
},
|
||||
}}
|
||||
content="Cleaner removes unwanted compiler-provided exports and functions from a wasm binary to make it (more) suitable for being used as a Hook"
|
||||
>
|
||||
<Flex
|
||||
css={{
|
||||
position: "relative",
|
||||
top: "-1px",
|
||||
mx: "$1",
|
||||
backgroundColor: "$mauve8",
|
||||
borderRadius: "$full",
|
||||
cursor: "pointer",
|
||||
width: "16px",
|
||||
height: "16px",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
?
|
||||
</Flex>
|
||||
</Popover>
|
||||
</Label>
|
||||
<Switch
|
||||
css={{ mt: "$2" }}
|
||||
checked={snap.compileOptions.strip}
|
||||
onCheckedChange={(checked) => {
|
||||
state.compileOptions.strip = checked;
|
||||
}}
|
||||
>
|
||||
<SwitchThumb />
|
||||
</Switch>
|
||||
</Box>
|
||||
</Flex>
|
||||
);
|
||||
};
|
||||
@@ -213,7 +159,7 @@ const Home: NextPage = () => {
|
||||
>
|
||||
<main style={{ display: "flex", flex: 1, position: "relative" }}>
|
||||
<HooksEditor />
|
||||
{snap.files[snap.active]?.name?.split(".")?.[1].toLowerCase() ===
|
||||
{snap.files[snap.active]?.name?.split(".")?.[1]?.toLowerCase() ===
|
||||
"c" && (
|
||||
<Hotkeys
|
||||
keyName="command+b,ctrl+b"
|
||||
|
||||
@@ -58,6 +58,29 @@ export const fetchFiles = (gistId: string) => {
|
||||
language: res.data.files?.[filename]?.language?.toLowerCase() || "",
|
||||
content: res.data.files?.[filename]?.content || "",
|
||||
}));
|
||||
// Sort files so that the source files are first
|
||||
// In case of other files leave the order as it its
|
||||
files.sort((a, b) => {
|
||||
const aBasename = a.name.split('.')?.[0];
|
||||
const aCext = a.name?.toLowerCase().endsWith('.c');
|
||||
const bBasename = b.name.split('.')?.[0];
|
||||
const bCext = b.name?.toLowerCase().endsWith('.c');
|
||||
// If a has c extension and b doesn't move a up
|
||||
if (aCext && !bCext) {
|
||||
return -1;
|
||||
}
|
||||
if (!aCext && bCext) {
|
||||
return 1
|
||||
}
|
||||
// Otherwise fallback to default sorting based on basename
|
||||
if (aBasename > bBasename) {
|
||||
return 1;
|
||||
}
|
||||
if (bBasename > aBasename) {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
})
|
||||
state.loading = false;
|
||||
if (files.length > 0) {
|
||||
state.logs.push({
|
||||
|
||||
Reference in New Issue
Block a user