diff --git a/app/(docs)/@chat/chat/[chatId]/chatArea.tsx b/app/(docs)/@chat/chat/[chatId]/chatArea.tsx index 7b8c7e7f..e3300cc9 100644 --- a/app/(docs)/@chat/chat/[chatId]/chatArea.tsx +++ b/app/(docs)/@chat/chat/[chatId]/chatArea.tsx @@ -20,42 +20,49 @@ export function ChatAreaContainer(props: { ); } diff --git a/app/(docs)/@docs/[lang]/[pageId]/pageContent.tsx b/app/(docs)/@docs/[lang]/[pageId]/pageContent.tsx index f2daec28..fe075476 100644 --- a/app/(docs)/@docs/[lang]/[pageId]/pageContent.tsx +++ b/app/(docs)/@docs/[lang]/[pageId]/pageContent.tsx @@ -146,7 +146,7 @@ export function PageContent(props: PageContentProps) { const [isFormVisible, setIsFormVisible] = useState(false); return ( -
+
+
+
+ + {props.icon} + +

{props.title}

+
+

{props.children}

+
+
+
+ {props.image} +
+
+
+ ); +} + +export function RuntimeImage() { + // public/docs/python/1-basics/2-2-str.md より + return ( +
+ +
+        >>> name ={" "}
+        "Guido"
+        {"\n"}
+        >>> greeting ={" "}
+        'Hello'
+        {"\n"}
+        >>> full_greeting = greeting{" "}
+        + ", "{" "}
+        + name +{" "}
+        "!"
+        {"\n"}
+        >>> 
+      
+
+ ); +} + +export function PracticeImage() { + // public/docs/python/1-basics/2-2-str.md より + return ( +
+ +
+
+ + ファイルを編集: + practice2-1.py + +
+
+
+          item_name = "高性能マウス"
+          {"\n"}
+          price = 4500
+        
+
+
+ ); +} + +export function ChatImage() { + // public/docs/python/1-basics/2-1-str.md より + return ( + <> +
+ {/*ここでChatAreaStateProviderのインスタンス作りダミーの値をセットすることで、 + StyledMarkdownが呼び出すMultiHighlightに現在このチャットを開いていると認識させる + */} + + + + +
+          >>> # 整数 (int)
+          {"\n"}
+          >>> a = 10
+          {"\n"}
+          >>> type
+          (a)
+          {"\n"}
+          
+            <class 'int'>
+          
+          {"\n"}
+          >>> # 浮動小数点数 (float)
+          {"\n"}
+          >>> b = 3.14
+          {"\n"}
+          >>> type
+          (b)
+          {"\n"}
+          
+            <class 'float'>
+          
+        
+
+ + + ); +} + +function HString(props: { children: ReactNode }) { + return {props.children}; +} +function HOperator(props: { children: ReactNode }) { + return {props.children}; +} +function HNumber(props: { children: ReactNode }) { + return {props.children}; +} +function HFunc(props: { children: ReactNode }) { + return {props.children}; +} +function HDim(props: { children: ReactNode }) { + return {props.children}; +} +function Cursor() { + return ( + { + // カーソルの点滅アニメーション + el?.animate([{ opacity: "1" }, { opacity: "0" }, { opacity: "1" }], { + duration: 1000, + iterations: Infinity, + easing: "steps(2, end)", + }); + }} + style={{ + display: "inline-block", + boxShadow: `2px 0 0 var(--color-primary) inset`, + verticalAlign: "top", + }} + > + {" "} + + ); +} diff --git a/app/footer.tsx b/app/footer.tsx new file mode 100644 index 00000000..1227d5fd --- /dev/null +++ b/app/footer.tsx @@ -0,0 +1,48 @@ +export function Footer() { + return ( + + ); +} diff --git a/app/layout.tsx b/app/layout.tsx index ce0238f3..610e4316 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -13,6 +13,7 @@ import { AutoAnonymousLogin } from "./accountMenu"; import { SidebarMdProvider } from "./sidebar"; import { RuntimeProvider } from "@my-code/runtime/context"; import { getPagesList } from "@/lib/docs"; +import { Footer } from "./footer"; export const metadata: Metadata = { title: { @@ -53,6 +54,7 @@ export default async function RootLayout({
+