Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Chat, Step, Steps, RatingInput components #271

Merged
merged 36 commits into from
Mar 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
0af9ff0
Chat init
ramedina86 Feb 9, 2024
bc43354
feat: Chat
ramedina86 Feb 15, 2024
3e8c9bc
feat: Step and Step Container
ramedina86 Feb 15, 2024
11c326d
Merge branch 'dev' into feature-chat
ramedina86 Feb 15, 2024
e84a15a
feat: Added step and steps
ramedina86 Feb 15, 2024
d4ea8b6
fix: self-center vertical slots
ramedina86 Feb 18, 2024
d595a7a
feat: Step and steps
ramedina86 Feb 18, 2024
6ea0b83
feat: Added Rating Input component
ramedina86 Feb 18, 2024
d65cfe3
Merge branch 'dev' into feature-chat
ramedina86 Feb 19, 2024
32ed592
feat: Add actions to Chat
ramedina86 Feb 22, 2024
826baf6
fix: Downgrade devcontainer to 3.11 for increased compatibility (e.g.…
ramedina86 Feb 25, 2024
c761d94
Merge remote-tracking branch 'origin/dev' into feature-chat
ramedina86 Feb 25, 2024
eb78fb0
refactor: Move components to new category folders
ramedina86 Feb 25, 2024
c45790b
fix: Point new components to correct category folders
ramedina86 Feb 25, 2024
358ed7e
chore: add stubs, improve typing
ramedina86 Feb 28, 2024
0ba59ea
refactor: Take markdown styles out of the component
ramedina86 Feb 28, 2024
d72e645
refactor: Import marked dynamically
ramedina86 Feb 28, 2024
7c8a0dc
feat: Added table to markdown styles
ramedina86 Feb 28, 2024
a0f5b3e
feat: Markdown support in Chat
ramedina86 Feb 28, 2024
04a67aa
fix: Markdown wasn't working properly
ramedina86 Feb 28, 2024
555d722
chore: Added chat transformers
ramedina86 Feb 29, 2024
cb2d0fc
chore: Use sanitised events for Chat
ramedina86 Feb 29, 2024
55c39c7
fix: Apply Prettier
ramedina86 Feb 29, 2024
e835503
fix: Linting errors
ramedina86 Feb 29, 2024
a8aa1e4
fix: Apply Prettier change
ramedina86 Feb 29, 2024
cab8e1f
fix: Symmetric heart
ramedina86 Feb 29, 2024
61a366d
chore: Vue style improvements
ramedina86 Feb 29, 2024
c5ce5e5
chore: Improve code style
ramedina86 Feb 29, 2024
6d0f76c
fix: Fix devcontainer name to match image version
ramedina86 Feb 29, 2024
560a832
chore: Remove unnecessary components export
ramedina86 Feb 29, 2024
495e1f2
chore: Prettier fix
ramedina86 Feb 29, 2024
00a7b04
chore: Linter fix comma
ramedina86 Feb 29, 2024
2e0680d
refactor: markdown refactoring, chat auto scrolling
ramedina86 Feb 29, 2024
077b6be
refactor: remove markdown styles file, now in BaseMarkdown
ramedina86 Feb 29, 2024
9f04a42
chore: Correcting order of imports
ramedina86 Mar 1, 2024
c03bb99
refactor: Remove duplication of Step Container lookup logic
ramedina86 Mar 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/python
{
"name": "Python 3.12 with Node",
"name": "Python 3.11 with Node",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye",
"image": "mcr.microsoft.com/devcontainers/python:1-3.11-bullseye",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"nodeGypDependencies": true,
Expand Down
8 changes: 8 additions & 0 deletions src/streamsync/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -674,6 +674,14 @@ def _transform_page_open(self, ev) -> str:
payload = str(ev.payload)
return payload

def _transform_chat_message(self, ev) -> str:
payload = str(ev.payload)
return payload

def _transform_chat_action_click(self, ev) -> str:
payload = str(ev.payload)
return payload

def _transform_change(self, ev) -> str:
payload = str(ev.payload)
return payload
Expand Down
8 changes: 8 additions & 0 deletions ui/src/core/templateMap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import CorePlotlyGraph from "../core_components/content/CorePlotlyGraph.vue";
import CoreText from "../core_components/content/CoreText.vue";
import CoreVegaLiteChart from "../core_components/content/CoreVegaLiteChart.vue";
import CoreVideoPlayer from "../core_components/content/CoreVideoPlayer.vue";
import CoreChat from "../core_components/content/CoreChat.vue";
// input
import CoreCheckboxInput from "../core_components/input/CoreCheckboxInput.vue";
import CoreDateInput from "../core_components/input/CoreDateInput.vue";
Expand All @@ -22,6 +23,7 @@ import CoreSelectInput from "../core_components/input/CoreSelectInput.vue";
import CoreSliderInput from "../core_components/input/CoreSliderInput.vue";
import CoreTextInput from "../core_components/input/CoreTextInput.vue";
import CoreTextareaInput from "../core_components/input/CoreTextareaInput.vue";
import CoreRating from "../core_components/input/CoreRatingInput.vue";
// layout
import CoreColumn from "../core_components/layout/CoreColumn.vue";
import CoreColumns from "../core_components/layout/CoreColumns.vue";
Expand All @@ -32,6 +34,8 @@ import CoreSeparator from "../core_components/layout/CoreSeparator.vue";
import CoreSidebar from "../core_components/layout/CoreSidebar.vue";
import CoreTab from "../core_components/layout/CoreTab.vue";
import CoreTabs from "../core_components/layout/CoreTabs.vue";
import CoreStep from "../core_components/layout/CoreStep.vue";
import CoreSteps from "../core_components/layout/CoreSteps.vue";
// other
import CoreButton from "../core_components/other/CoreButton.vue";
import CoreHtml from "../core_components/other/CoreHtml.vue";
Expand Down Expand Up @@ -92,6 +96,10 @@ const templateMap = {
metric: CoreMetric,
message: CoreMessage,
videoplayer: CoreVideoPlayer,
chat: CoreChat,
step: CoreStep,
steps: CoreSteps,
ratinginput: CoreRating
};

if (STREAMSYNC_LIVE_CCT === "yes") {
Expand Down
100 changes: 100 additions & 0 deletions ui/src/core_components/base/BaseMarkdown.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<template>
<div
v-if="isMarkedLoaded"
v-dompurify-html="marked.parse(props.rawText).trim()"
class="BaseMarkdown markdown"
></div>
</template>

<script setup lang="ts">
import { onBeforeMount, ref } from "vue";

let marked: typeof import("marked");
const isMarkedLoaded = ref(false);

const props = defineProps<{
rawText: string;
}>();

onBeforeMount(async () => {
marked = await import("marked");
isMarkedLoaded.value = true;
ramedina86 marked this conversation as resolved.
Show resolved Hide resolved
});
</script>

<style scoped>
.markdown:deep() h1,
.markdown:deep() h2,
.markdown:deep() h3,
.markdown:deep() h4 {
font-weight: 300;
margin: 0;
color: var(--primaryTextColor);
}

.markdown:deep() h1 {
font-size: 1.3rem;
}

.markdown:deep() h2 {
font-size: 1rem;
}

.markdown:deep() h3 {
font-size: 0.9rem;
}

.markdown:deep() h4 {
text-transform: uppercase;
font-weight: bold;
font-size: 0.65rem;
letter-spacing: 0.2ch;
}

.markdown:deep() ul,
.markdown:deep() ol {
padding: 0;
padding-inline-start: 0;
margin-block-start: 0;
}

.markdown:deep() li {
margin: 0 0 0 32px;
}

.markdown:deep() hr {
border: none;
border-top: 1px solid var(--separatorColor);
}

.markdown:deep() pre {
background-color: var(--separatorColor);
font-family: monospace;
padding: 8px;
}

.markdown:deep() code {
background-color: var(--separatorColor);
font-family: monospace;
padding: 2px;
}

.markdown:deep() pre > code {
background-color: unset;
}

.markdown:deep() table {
border-collapse: collapse;
}

.markdown:deep() th {
padding: 8px;
background: var(--separatorColor);
border: 1px solid var(--separatorColor);
}

.markdown:deep() td {
padding: 8px;
border: 1px solid var(--separatorColor);
}
</style>
Loading
Loading