Path: blob/master/src/packages/frontend/account/tours.tsx
1503 views
import { Card, Checkbox, Space } from "antd";1import { ReactNode } from "react";2import { Icon } from "@cocalc/frontend/components/icon";3import { redux, useRedux } from "@cocalc/frontend/app-framework";45const TOUR_NAMES = {6projects: "Projects",7"chatgpt-title-bar-button": "ChatGPT Button",8explorer: "File Explorer",9"frame-terminal": "Linux Terminal",10"flyout-fullpage": "Fullpage Flyout",11} as const;1213export type TourName = keyof typeof TOUR_NAMES;1415export default function Tours() {16const tours = useRedux("account", "tours");17const v: ReactNode[] = [];18for (const name in TOUR_NAMES) {19v.push(20<Checkbox21key={name}22checked={tours?.includes(name) || tours?.includes("all")}23onChange={(e) => {24const actions = redux.getActions("account");25if (e.target.checked) {26actions.setTourDone(name);27} else {28actions.setTourNotDone(name);29}30}}31>32{TOUR_NAMES[name]}33</Checkbox>,34);35}36return (37<Card title={<span><Icon name="map"/> Completed Tours</span>}>38<Space wrap>{v}</Space>39</Card>40);41}424344