星航计划-DeTask找活网0基础开发入门到精通(9)SuiMOVE的星航仍旧在航行,我们在浩瀚的宇宙中寻找新的家园,寻找新的机会,寻找新的挑战.近期我对找活网进一步的优化和迭代,改变了一些页面和布局。布局色系改为明亮色系弹出框的样式修改,也做了相应的调整添加网络选择
星航计划 - DeTask找活网 0基础开发入门到精通 (9)
SuiMOVE 的星航仍旧在航行,我们在浩瀚的宇宙中寻找新的家园,寻找新的机会,寻找新的挑战.

近期我对找活网进一步的优化和迭代,改变了一些页面和布局。

布局色系改为明亮色系
 弹出框的样式修改,也做了相应的调整
弹出框的样式修改,也做了相应的调整
为了方便测试,增加了开发网,测试网,主网的选择
 生成一个选择器,方便切换网络
生成一个选择器,方便切换网络
import { useSuiClientContext } from "@mysten/dapp-kit";
import { Button } from "./components/ui/button";
export function NetworkSelector() {
    const ctx = useSuiClientContext();
    return (
        <div>
            {Object.keys(ctx.networks).map((network) => (
                <Button key={network} onClick={() => ctx.selectNetwork(network)}>
                    {`select ${network}`}
                </Button>
            ))}
        </div>
    );
}
然后在首页中调用
<NetworkSelector />需要获取当前网络名称使用hooks
const nownet = useNetworkVariable("netName");编辑一个json文件,添加语言包
{
    "en": {
      "logo": "DeTask",
      "info": "Instructions",
      "info2": "announcement",
      "task": "TASK",
      "game": "GAME",
      "IDO": "IDO",
      "create": "New Task",
      "buttonText": "Click Me"
    },
    "zh": {
      "logo": "找活网",
      "info": "使用说明",
      "info2": "网站公告",
      "task": "任务",
      "game": "游戏",
      "IDO": "IDO",
      "create": "新建任务",
      "buttonText": "点击我"
    }
}
然后使用hooks获取当前语言
const [currentLanguage, setCurrentLanguage] = useState('en');
const changeLanguage = (language: string) => {
    setCurrentLanguage(language);
    localStorage.setItem('language', language);
};
const nLang = lang as any;
具体使用的时候就可以方便切换了
<h1 className="titlesize">{nLang[currentLanguage].logo}</h1>
之前章节提到的的命令
npm install clsx@2.1.0突然失效了。查了半天,有些地方说要
清除npm缓存:npm cache clean --force又说要
运行npm install -g npm来更新全局的npm版本。都没成功,都报错 ,非常奇怪
不过好在最后使用
yarn add clsx@2.1.0就又可以了。。。
未完待续
 
                如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!