in src/components/HomepageFeatures/index.tsx [222:302]
export function CodeBlock(): JSX.Element {
const [pythonCode, setPythonCode]=useState('r = redis.Redis(host=\'localhost\', port=6666, decode_responses=True)\n' +
'\n' +
'r.set(\'username\', \'kvrocks\')\n' +
'# True\n' +
'r.get(\'username\')\n' +
'# kvrocks\n')
const [javaCode, setJavaCode]=useState('package org.example;\n\n' +
'import redis.clients.jedis.Jedis;\n' +
'import redis.clients.jedis.JedisPool;\n' +
'\n' +
'JedisPool pool = new JedisPool("127.0.0.1", 6666);\n' +
'\n' +
'try (Jedis jedis = pool.getResource()) {\n' +
'\tjedis.set("username", "kvrocks");\n' +
' System.out.println(jedis.get("username"));\n' +
'}\n')
const [golangCode, setGolangCode]=useState('import (\n' +
'\t"context"\n' +
'\t"fmt"\n' +
'\t"github.com/redis/go-redis/v9"\n' +
')\n' +
'\n' +
'client := redis.NewClient(&redis.Options{\n' +
'\tAddr:\t "localhost:6666",\n' +
'})\n' +
'\n' +
'err := client.Set(ctx, "username", "kvrocks", 0).Err()\n' +
'if err != nil {\n' +
' panic(err)\n' +
'}\n' +
'\n' +
'val, err := client.Get(ctx, "username").Result()\n' +
'if err != nil {\n' +
' panic(err)\n' +
'}\n\n' +
'fmt.Println("username", val)\n')
const [code, setCode]=useState(javaCode)
const [current, setCurrent] = useState('java');
const onClick: MenuProps['onClick'] = (e) => {
console.log('click ', e);
setCurrent(e.key);
if (e.key=="python"){
setCode(pythonCode)
}
else if(e.key=="java"){
setCode(javaCode)
}
else if(e.key=="golang"){
setCode(golangCode)
}
}
const items: MenuProps['items'] = [
{label: 'Java',key: 'java'},
{label: 'Go',key: 'golang'},
{label: 'Python3',key: 'python'}]
return (
<div style={{width:"50%"}}>
<Menu onClick={onClick} selectedKeys={[current]} mode="horizontal" items={items} />
<AceEditor
mode="python"
theme="monokai"
name="blah2"
fontSize={14}
showPrintMargin={true}
showGutter={true}
highlightActiveLine={true}
value={code}
readOnly={true}
setOptions={{
enableBasicAutocompletion: false,
enableLiveAutocompletion: false,
enableSnippets: false,
showLineNumbers: true,
useWorker:false,
tabSize: 2
}}
style={{marginTop:"10px",height:"400px",width:"100%"}}/>
</div>
)
}