@nyuccl/smile 0.2.0-beta.2 → 0.2.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.json +1 -1
- package/dist/module.mjs +23 -9
- package/dist/runtime/components/builtins/AdvertisementView.vue +2 -1
- package/dist/runtime/components/builtins/DebriefView.vue +2 -1
- package/dist/runtime/components/builtins/DemographicSurveyView.vue +8 -6
- package/dist/runtime/components/builtins/DeviceSurveyView.vue +5 -3
- package/dist/runtime/components/builtins/ExpView.vue +3 -1
- package/dist/runtime/components/builtins/ExperimentStatusBar.vue +3 -0
- package/dist/runtime/components/builtins/FavoriteColor.vue +3 -1
- package/dist/runtime/components/builtins/FavoriteNumber.vue +3 -1
- package/dist/runtime/components/builtins/InformedConsentModal.vue +3 -1
- package/dist/runtime/components/builtins/InformedConsentView.vue +1 -0
- package/dist/runtime/components/builtins/InstructionsQuiz.vue +7 -5
- package/dist/runtime/components/builtins/InstructionsView.vue +4 -2
- package/dist/runtime/components/builtins/MTurkRecruitView.vue +1 -0
- package/dist/runtime/components/builtins/PresentationModeView.vue +1 -0
- package/dist/runtime/components/builtins/StatusBar.vue +6 -3
- package/dist/runtime/components/builtins/StudyPreviewText.vue +4 -2
- package/dist/runtime/components/builtins/TaskFeedbackSurveyView.vue +3 -1
- package/dist/runtime/components/builtins/ThanksView.vue +18 -16
- package/dist/runtime/components/builtins/WindowSizerView.vue +5 -3
- package/dist/runtime/components/builtins/WithdrawModal.vue +4 -2
- package/dist/runtime/components/builtins/WithdrawView.vue +4 -2
- package/dist/runtime/components/dev/RecruitmentChooserView.vue +21 -19
- package/dist/runtime/components/dev/ResponsiveDeviceContainer.vue +7 -5
- package/dist/runtime/components/dev/console/ConfigList.vue +4 -2
- package/dist/runtime/components/dev/console/ConsoleConfigPanel.vue +3 -1
- package/dist/runtime/components/dev/console/ConsoleDatabaseBrowsePanel.vue +3 -1
- package/dist/runtime/components/dev/console/ConsoleLogPanel.vue +17 -14
- package/dist/runtime/components/dev/console/DatabaseList.vue +4 -2
- package/dist/runtime/components/dev/console/SmileDevConsole.vue +6 -4
- package/dist/runtime/components/dev/menu/DevConfigPanel.vue +3 -1
- package/dist/runtime/components/dev/menu/ResponsiveDeviceSelect.vue +1 -0
- package/dist/runtime/components/dev/menu/SmileDevAppMenu.vue +9 -7
- package/dist/runtime/components/dev/navbar/ColorModeButton.vue +4 -3
- package/dist/runtime/components/dev/navbar/DatabaseButtonGroup.vue +6 -4
- package/dist/runtime/components/dev/navbar/FullScreenButton.vue +4 -2
- package/dist/runtime/components/dev/navbar/ReloadButton.vue +3 -1
- package/dist/runtime/components/dev/navbar/ResetButton.vue +3 -1
- package/dist/runtime/components/dev/navbar/RouteJumper.vue +7 -4
- package/dist/runtime/components/dev/navbar/SmileDevNavBar.vue +4 -2
- package/dist/runtime/components/dev/navbar/StepInfoButtonGroup.vue +5 -3
- package/dist/runtime/components/dev/navbar/ViewButton.vue +1 -0
- package/dist/runtime/components/dev/navbar/ViewInfoButtonGroup.vue +12 -10
- package/dist/runtime/components/dev/presentation/DarkModeButton.vue +4 -3
- package/dist/runtime/components/dev/presentation/LogoutButton.vue +2 -1
- package/dist/runtime/components/dev/presentation/PresentationModeResetButton.vue +2 -1
- package/dist/runtime/components/dev/presentation/PresentationNavBar.vue +3 -2
- package/dist/runtime/components/dev/presentation/QRCodeButton.vue +4 -2
- package/dist/runtime/components/dev/sidebar/AppProgressPanel.vue +4 -3
- package/dist/runtime/components/dev/sidebar/DatabaseStatusInfoPanel.vue +1 -0
- package/dist/runtime/components/dev/sidebar/RandomizationSidebarPanel.vue +1 -0
- package/dist/runtime/components/dev/sidebar/SmileDevSideBar.vue +1 -0
- package/dist/runtime/components/dev/sidebar/StepDataViewer.d.vue.ts +2 -2
- package/dist/runtime/components/dev/sidebar/StepDataViewer.vue.d.ts +2 -2
- package/dist/runtime/components/dev/sidebar/StepExplorerPanel.vue +8 -6
- package/dist/runtime/components/dev/sidebar/StepNode.vue +3 -2
- package/dist/runtime/components/forms/MonthYearDayPicker.vue +1 -0
- package/dist/runtime/components/layouts/ConstrainedPage.d.vue.ts +1 -1
- package/dist/runtime/components/layouts/ConstrainedPage.vue.d.ts +1 -1
- package/dist/runtime/components/layouts/ConstrainedTaskWindow.d.vue.ts +2 -2
- package/dist/runtime/components/layouts/ConstrainedTaskWindow.vue.d.ts +2 -2
- package/dist/runtime/components/layouts/TitleTwoCol.d.vue.ts +1 -1
- package/dist/runtime/components/layouts/TitleTwoCol.vue.d.ts +1 -1
- package/dist/runtime/components/layouts/TwoCol.d.vue.ts +1 -1
- package/dist/runtime/components/layouts/TwoCol.vue.d.ts +1 -1
- package/dist/runtime/components/ui/avatar/Avatar.vue +1 -0
- package/dist/runtime/components/ui/avatar/AvatarFallback.vue +1 -0
- package/dist/runtime/components/ui/badge/Badge.vue +1 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbEllipsis.vue +1 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbItem.vue +1 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbLink.vue +1 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbList.vue +1 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbPage.vue +1 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbSeparator.vue +1 -0
- package/dist/runtime/components/ui/button/Button.vue +1 -0
- package/dist/runtime/components/ui/button/index.d.ts +1 -1
- package/dist/runtime/components/ui/button-group/ButtonGroup.d.vue.ts +1 -1
- package/dist/runtime/components/ui/button-group/ButtonGroup.vue +1 -0
- package/dist/runtime/components/ui/button-group/ButtonGroup.vue.d.ts +1 -1
- package/dist/runtime/components/ui/button-group/ButtonGroupItem.vue +1 -0
- package/dist/runtime/components/ui/calendar/Calendar.vue +1 -0
- package/dist/runtime/components/ui/calendar/CalendarCell.vue +1 -0
- package/dist/runtime/components/ui/calendar/CalendarCellTrigger.vue +1 -0
- package/dist/runtime/components/ui/calendar/CalendarGrid.vue +1 -0
- package/dist/runtime/components/ui/calendar/CalendarGridRow.vue +1 -0
- package/dist/runtime/components/ui/calendar/CalendarHeadCell.vue +1 -0
- package/dist/runtime/components/ui/calendar/CalendarHeader.vue +1 -0
- package/dist/runtime/components/ui/calendar/CalendarHeading.vue +1 -0
- package/dist/runtime/components/ui/calendar/CalendarNextButton.vue +1 -0
- package/dist/runtime/components/ui/calendar/CalendarPrevButton.vue +1 -0
- package/dist/runtime/components/ui/card/Card.vue +1 -0
- package/dist/runtime/components/ui/card/CardAction.vue +1 -0
- package/dist/runtime/components/ui/card/CardContent.vue +1 -0
- package/dist/runtime/components/ui/card/CardDescription.vue +1 -0
- package/dist/runtime/components/ui/card/CardFooter.vue +1 -0
- package/dist/runtime/components/ui/card/CardHeader.vue +1 -0
- package/dist/runtime/components/ui/card/CardTitle.vue +1 -0
- package/dist/runtime/components/ui/checkbox/Checkbox.d.vue.ts +5 -5
- package/dist/runtime/components/ui/checkbox/Checkbox.vue +1 -0
- package/dist/runtime/components/ui/checkbox/Checkbox.vue.d.ts +5 -5
- package/dist/runtime/components/ui/checkbox/index.d.ts +1 -1
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.d.vue.ts +4 -4
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +1 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +4 -4
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.d.vue.ts +2 -2
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue +1 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +2 -2
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.d.vue.ts +1 -1
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue +1 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +1 -1
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.d.vue.ts +1 -1
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue +1 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +1 -1
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +1 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue +1 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue +1 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.d.vue.ts +2 -2
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue +1 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.d.vue.ts +1 -1
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +1 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +1 -1
- package/dist/runtime/components/ui/input/Input.d.vue.ts +4 -4
- package/dist/runtime/components/ui/input/Input.vue +1 -0
- package/dist/runtime/components/ui/input/Input.vue.d.ts +4 -4
- package/dist/runtime/components/ui/label/Label.vue +1 -0
- package/dist/runtime/components/ui/multiselect/MultiSelect.d.vue.ts +1 -1
- package/dist/runtime/components/ui/multiselect/MultiSelect.vue +1 -0
- package/dist/runtime/components/ui/multiselect/MultiSelect.vue.d.ts +1 -1
- package/dist/runtime/components/ui/pagination/Pagination.vue +1 -0
- package/dist/runtime/components/ui/pagination/PaginationContent.vue +1 -0
- package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue +1 -0
- package/dist/runtime/components/ui/pagination/PaginationFirst.vue +1 -0
- package/dist/runtime/components/ui/pagination/PaginationItem.vue +1 -0
- package/dist/runtime/components/ui/pagination/PaginationLast.vue +1 -0
- package/dist/runtime/components/ui/pagination/PaginationNext.vue +1 -0
- package/dist/runtime/components/ui/pagination/PaginationPrevious.vue +1 -0
- package/dist/runtime/components/ui/popover/PopoverContent.d.vue.ts +2 -2
- package/dist/runtime/components/ui/popover/PopoverContent.vue +1 -0
- package/dist/runtime/components/ui/popover/PopoverContent.vue.d.ts +2 -2
- package/dist/runtime/components/ui/progress/Progress.vue +1 -0
- package/dist/runtime/components/ui/resizable/ResizableHandle.vue +1 -0
- package/dist/runtime/components/ui/resizable/ResizablePanelGroup.vue +1 -0
- package/dist/runtime/components/ui/select/SelectContent.d.vue.ts +2 -2
- package/dist/runtime/components/ui/select/SelectContent.vue +1 -0
- package/dist/runtime/components/ui/select/SelectContent.vue.d.ts +2 -2
- package/dist/runtime/components/ui/select/SelectItem.vue +1 -0
- package/dist/runtime/components/ui/select/SelectLabel.vue +1 -0
- package/dist/runtime/components/ui/select/SelectScrollDownButton.vue +1 -0
- package/dist/runtime/components/ui/select/SelectScrollUpButton.vue +1 -0
- package/dist/runtime/components/ui/select/SelectSeparator.vue +1 -0
- package/dist/runtime/components/ui/select/SelectTrigger.vue +1 -0
- package/dist/runtime/components/ui/separator/Separator.d.vue.ts +1 -1
- package/dist/runtime/components/ui/separator/Separator.vue +1 -0
- package/dist/runtime/components/ui/separator/Separator.vue.d.ts +1 -1
- package/dist/runtime/components/ui/sheet/SheetContent.vue +1 -0
- package/dist/runtime/components/ui/sheet/SheetDescription.vue +1 -0
- package/dist/runtime/components/ui/sheet/SheetFooter.vue +1 -0
- package/dist/runtime/components/ui/sheet/SheetHeader.vue +1 -0
- package/dist/runtime/components/ui/sheet/SheetOverlay.vue +1 -0
- package/dist/runtime/components/ui/sheet/SheetTitle.vue +1 -0
- package/dist/runtime/components/ui/sidebar/Sidebar.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarContent.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarFooter.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroup.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupAction.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupContent.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupLabel.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarHeader.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarInput.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarInset.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenu.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuAction.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuBadge.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuButton.d.vue.ts +1 -1
- package/dist/runtime/components/ui/sidebar/SidebarMenuButton.vue.d.ts +1 -1
- package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.d.vue.ts +1 -1
- package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.vue.d.ts +1 -1
- package/dist/runtime/components/ui/sidebar/SidebarMenuItem.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSkeleton.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSub.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSubButton.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSubItem.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarProvider.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarRail.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarSeparator.vue +1 -0
- package/dist/runtime/components/ui/sidebar/SidebarTrigger.vue +1 -0
- package/dist/runtime/components/ui/skeleton/Skeleton.vue +1 -0
- package/dist/runtime/components/ui/sonner/Sonner.d.vue.ts +4 -4
- package/dist/runtime/components/ui/sonner/Sonner.vue.d.ts +4 -4
- package/dist/runtime/components/ui/stepper/Stepper.vue +1 -0
- package/dist/runtime/components/ui/stepper/StepperDescription.vue +1 -0
- package/dist/runtime/components/ui/stepper/StepperIndicator.vue +1 -0
- package/dist/runtime/components/ui/stepper/StepperItem.d.vue.ts +1 -1
- package/dist/runtime/components/ui/stepper/StepperItem.vue +1 -0
- package/dist/runtime/components/ui/stepper/StepperItem.vue.d.ts +1 -1
- package/dist/runtime/components/ui/stepper/StepperSeparator.vue +1 -0
- package/dist/runtime/components/ui/stepper/StepperTitle.vue +1 -0
- package/dist/runtime/components/ui/stepper/StepperTrigger.vue +1 -0
- package/dist/runtime/components/ui/switch/Switch.d.vue.ts +1 -1
- package/dist/runtime/components/ui/switch/Switch.vue +1 -0
- package/dist/runtime/components/ui/switch/Switch.vue.d.ts +1 -1
- package/dist/runtime/components/ui/switch/index.d.ts +1 -1
- package/dist/runtime/components/ui/table/Table.vue +1 -0
- package/dist/runtime/components/ui/table/TableBody.vue +1 -0
- package/dist/runtime/components/ui/table/TableCaption.vue +1 -0
- package/dist/runtime/components/ui/table/TableCell.vue +1 -0
- package/dist/runtime/components/ui/table/TableEmpty.vue +1 -0
- package/dist/runtime/components/ui/table/TableFooter.vue +1 -0
- package/dist/runtime/components/ui/table/TableHead.vue +1 -0
- package/dist/runtime/components/ui/table/TableHeader.vue +1 -0
- package/dist/runtime/components/ui/table/TableRow.vue +1 -0
- package/dist/runtime/components/ui/tabs/Tabs.vue +1 -0
- package/dist/runtime/components/ui/tabs/TabsContent.d.vue.ts +2 -2
- package/dist/runtime/components/ui/tabs/TabsContent.vue +1 -0
- package/dist/runtime/components/ui/tabs/TabsContent.vue.d.ts +2 -2
- package/dist/runtime/components/ui/tabs/TabsList.vue +1 -0
- package/dist/runtime/components/ui/tabs/TabsTrigger.d.vue.ts +2 -2
- package/dist/runtime/components/ui/tabs/TabsTrigger.vue +1 -0
- package/dist/runtime/components/ui/tabs/TabsTrigger.vue.d.ts +2 -2
- package/dist/runtime/components/ui/tags-input/TagsInput.d.vue.ts +2 -2
- package/dist/runtime/components/ui/tags-input/TagsInput.vue +1 -0
- package/dist/runtime/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/runtime/components/ui/tags-input/TagsInputInput.vue +1 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItem.d.vue.ts +2 -2
- package/dist/runtime/components/ui/tags-input/TagsInputItem.vue +1 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItem.vue.d.ts +2 -2
- package/dist/runtime/components/ui/tags-input/TagsInputItemDelete.vue +1 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItemText.vue +1 -0
- package/dist/runtime/components/ui/textarea/Textarea.d.vue.ts +4 -4
- package/dist/runtime/components/ui/textarea/Textarea.vue +1 -0
- package/dist/runtime/components/ui/textarea/Textarea.vue.d.ts +4 -4
- package/dist/runtime/components/ui/toggle/Toggle.d.vue.ts +1 -1
- package/dist/runtime/components/ui/toggle/Toggle.vue +1 -0
- package/dist/runtime/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/runtime/components/ui/toggle-group/ToggleGroup.d.vue.ts +1 -1
- package/dist/runtime/components/ui/toggle-group/ToggleGroup.vue +1 -0
- package/dist/runtime/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -1
- package/dist/runtime/components/ui/toggle-group/ToggleGroupItem.vue +1 -0
- package/dist/runtime/components/ui/tooltip/TooltipContent.d.vue.ts +2 -2
- package/dist/runtime/components/ui/tooltip/TooltipContent.vue +1 -0
- package/dist/runtime/components/ui/tooltip/TooltipContent.vue.d.ts +2 -2
- package/dist/runtime/composables/useAPI.js +0 -1
- package/dist/runtime/core/timeline/Timeline.js +1 -0
- package/dist/runtime/layouts/development.vue +1 -0
- package/dist/runtime/layouts/presentation.vue +1 -0
- package/dist/runtime/pages/[...slug].vue +2 -0
- package/dist/runtime/pages/dev/[...slug].vue +2 -0
- package/dist/runtime/pages/info.vue +1 -0
- package/dist/runtime/pages/presentation/[...slug].vue +2 -0
- package/package.json +4 -4
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { AlertTriangle, HandMetal } from "lucide-vue-next";
|
|
2
3
|
import { computed } from "vue";
|
|
4
|
+
import useAPI from "../../composables/useAPI";
|
|
3
5
|
const api = useAPI();
|
|
4
6
|
api.saveData(true);
|
|
5
7
|
const cardContent = {
|
|
@@ -66,7 +68,7 @@ const content = computed(() => {
|
|
|
66
68
|
>
|
|
67
69
|
<CardHeader>
|
|
68
70
|
<p class="text-xl font-semibold text-center">
|
|
69
|
-
<
|
|
71
|
+
<HandMetal class="text-withdraw-text inline-block text-5xl mb-2" />
|
|
70
72
|
<br>{{ content.title }}
|
|
71
73
|
</p>
|
|
72
74
|
</CardHeader>
|
|
@@ -82,7 +84,7 @@ const content = computed(() => {
|
|
|
82
84
|
>
|
|
83
85
|
<CardHeader>
|
|
84
86
|
<p class="text-xl font-semibold text-center">
|
|
85
|
-
<
|
|
87
|
+
<AlertTriangle class="text-warning-text inline-block text-5xl mb-2" />
|
|
86
88
|
<br>Access Error
|
|
87
89
|
</p>
|
|
88
90
|
</CardHeader>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { ArrowRight, Dices } from "lucide-vue-next";
|
|
2
3
|
import { computed } from "vue";
|
|
4
|
+
import useViewAPI from "../../composables/useViewAPI";
|
|
3
5
|
const api = useViewAPI();
|
|
4
6
|
const devUrls = computed(() => {
|
|
5
7
|
const urls = {};
|
|
@@ -45,8 +47,8 @@ const devUrls = computed(() => {
|
|
|
45
47
|
size="xs"
|
|
46
48
|
class="is-blue"
|
|
47
49
|
>
|
|
48
|
-
<a :href="devUrls['prolific']"><
|
|
49
|
-
<
|
|
50
|
+
<a :href="devUrls['prolific']"><Dices /> Prolific User
|
|
51
|
+
<ArrowRight class="inline-block ml-1 w-4 h-4" />
|
|
50
52
|
</a>
|
|
51
53
|
</Button>
|
|
52
54
|
</CardContent>
|
|
@@ -69,8 +71,8 @@ const devUrls = computed(() => {
|
|
|
69
71
|
size="xs"
|
|
70
72
|
class="is-pink"
|
|
71
73
|
>
|
|
72
|
-
<a :href="devUrls['cloudresearch']"><
|
|
73
|
-
<
|
|
74
|
+
<a :href="devUrls['cloudresearch']"><Dices /> CR User
|
|
75
|
+
<ArrowRight class="inline-block ml-1 w-4 h-4" />
|
|
74
76
|
</a>
|
|
75
77
|
</Button>
|
|
76
78
|
</CardContent>
|
|
@@ -96,7 +98,7 @@ const devUrls = computed(() => {
|
|
|
96
98
|
<a
|
|
97
99
|
href="/dev/mturk?assignmentId=ASSIGNMENT_ID_NOT_AVAILABLE&hitId=123RVWYBAZW00EXAMPLE&turkSubmitTo=https://www.mturk.com/&workerId=AZ3456EXAMPLE"
|
|
98
100
|
>AMT Preview Mode
|
|
99
|
-
<
|
|
101
|
+
<ArrowRight class="inline-block ml-1 w-4 h-4" />
|
|
100
102
|
</a>
|
|
101
103
|
</Button>
|
|
102
104
|
<Button
|
|
@@ -106,8 +108,8 @@ const devUrls = computed(() => {
|
|
|
106
108
|
size="xs"
|
|
107
109
|
class="is-yellow"
|
|
108
110
|
>
|
|
109
|
-
<a :href="devUrls['mturk']"><
|
|
110
|
-
<
|
|
111
|
+
<a :href="devUrls['mturk']"><Dices /> AMT User
|
|
112
|
+
<ArrowRight class="inline-block ml-1 w-4 h-4" />
|
|
111
113
|
</a>
|
|
112
114
|
</Button>
|
|
113
115
|
</CardContent>
|
|
@@ -129,8 +131,8 @@ const devUrls = computed(() => {
|
|
|
129
131
|
size="xs"
|
|
130
132
|
class="is-green"
|
|
131
133
|
>
|
|
132
|
-
<a :href="devUrls['citizensci']"><
|
|
133
|
-
<
|
|
134
|
+
<a :href="devUrls['citizensci']"><Dices /> Citizen Sci User
|
|
135
|
+
<ArrowRight class="inline-block ml-1 w-4 h-4" />
|
|
134
136
|
</a>
|
|
135
137
|
</Button>
|
|
136
138
|
</CardContent>
|
|
@@ -152,8 +154,8 @@ const devUrls = computed(() => {
|
|
|
152
154
|
size="xs"
|
|
153
155
|
class="is-orange"
|
|
154
156
|
>
|
|
155
|
-
<a :href="devUrls['sona']"><
|
|
156
|
-
<
|
|
157
|
+
<a :href="devUrls['sona']"><Dices /> SONA User
|
|
158
|
+
<ArrowRight class="inline-block ml-1 w-4 h-4" />
|
|
157
159
|
</a>
|
|
158
160
|
</Button>
|
|
159
161
|
</CardContent>
|
|
@@ -175,8 +177,8 @@ const devUrls = computed(() => {
|
|
|
175
177
|
size="xs"
|
|
176
178
|
class="is-teal"
|
|
177
179
|
>
|
|
178
|
-
<a :href="devUrls['sona_paid']"><
|
|
179
|
-
<
|
|
180
|
+
<a :href="devUrls['sona_paid']"><Dices /> SONA Paid User
|
|
181
|
+
<ArrowRight class="inline-block ml-1 w-4 h-4" />
|
|
180
182
|
</a>
|
|
181
183
|
</Button>
|
|
182
184
|
</CardContent>
|
|
@@ -198,8 +200,8 @@ const devUrls = computed(() => {
|
|
|
198
200
|
size="xs"
|
|
199
201
|
class="is-red"
|
|
200
202
|
>
|
|
201
|
-
<a :href="devUrls['spark']"><
|
|
202
|
-
<
|
|
203
|
+
<a :href="devUrls['spark']"><Dices /> SPARK User
|
|
204
|
+
<ArrowRight class="inline-block ml-1 w-4 h-4" />
|
|
203
205
|
</a>
|
|
204
206
|
</Button>
|
|
205
207
|
</CardContent>
|
|
@@ -222,8 +224,8 @@ const devUrls = computed(() => {
|
|
|
222
224
|
size="xs"
|
|
223
225
|
class="is-coral"
|
|
224
226
|
>
|
|
225
|
-
<a :href="devUrls['panda']"><
|
|
226
|
-
<
|
|
227
|
+
<a :href="devUrls['panda']"><Dices /> PANDA User
|
|
228
|
+
<ArrowRight class="inline-block ml-1 w-4 h-4" />
|
|
227
229
|
</a>
|
|
228
230
|
</Button>
|
|
229
231
|
</CardContent>
|
|
@@ -243,8 +245,8 @@ const devUrls = computed(() => {
|
|
|
243
245
|
size="xs"
|
|
244
246
|
class="is-purple"
|
|
245
247
|
>
|
|
246
|
-
<a :href="devUrls['web']"><
|
|
247
|
-
<
|
|
248
|
+
<a :href="devUrls['web']"><Dices /> Anon Web User
|
|
249
|
+
<ArrowRight class="inline-block ml-1 w-4 h-4" />
|
|
248
250
|
</a>
|
|
249
251
|
</Button>
|
|
250
252
|
</CardContent>
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { Maximize, Moon, RotateCcw, Sun, SunMoon } from "lucide-vue-next";
|
|
2
3
|
import { ref, computed } from "vue";
|
|
3
4
|
import ResponsiveDeviceSelect from "./menu/ResponsiveDeviceSelect.vue";
|
|
4
5
|
import { useElementSize } from "@vueuse/core";
|
|
5
6
|
import { devicePresets } from "./devicePresets.js";
|
|
7
|
+
import useAPI from "../../composables/useAPI";
|
|
6
8
|
const api = useAPI();
|
|
7
9
|
const fullScreenDiv = ref(null);
|
|
8
10
|
const { width: _fullScreenWidth, height: _fullScreenHeight } = useElementSize(fullScreenDiv);
|
|
@@ -123,7 +125,7 @@ const colorMode = computed(() => {
|
|
|
123
125
|
size="xs"
|
|
124
126
|
@click="toggleRotation"
|
|
125
127
|
>
|
|
126
|
-
<
|
|
128
|
+
<RotateCcw :class="{ 'text-blue-400': api.store.dev.isRotated }" />
|
|
127
129
|
</Button>
|
|
128
130
|
</TooltipTrigger>
|
|
129
131
|
<TooltipContent side="bottom">
|
|
@@ -146,9 +148,9 @@ const colorMode = computed(() => {
|
|
|
146
148
|
size="xs"
|
|
147
149
|
@click="toggleColorMode"
|
|
148
150
|
>
|
|
149
|
-
<
|
|
150
|
-
<
|
|
151
|
-
<
|
|
151
|
+
<Moon v-if="experimentColorModeRaw === 'light'" />
|
|
152
|
+
<SunMoon v-else-if="experimentColorModeRaw === 'dark'" />
|
|
153
|
+
<Sun v-else />
|
|
152
154
|
</Button>
|
|
153
155
|
</TooltipTrigger>
|
|
154
156
|
<TooltipContent side="bottom">
|
|
@@ -173,7 +175,7 @@ const colorMode = computed(() => {
|
|
|
173
175
|
size="xs"
|
|
174
176
|
@click="toggleFullscreen"
|
|
175
177
|
>
|
|
176
|
-
<
|
|
178
|
+
<Maximize />
|
|
177
179
|
</Button>
|
|
178
180
|
</TooltipTrigger>
|
|
179
181
|
<TooltipContent side="bottom">
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { ChevronRight, House } from "lucide-vue-next";
|
|
2
3
|
import { computed } from "vue";
|
|
4
|
+
import useAPI from "../../../composables/useAPI";
|
|
3
5
|
const props = defineProps(["data", "selected"]);
|
|
4
6
|
const api = useAPI();
|
|
5
7
|
const emit = defineEmits(["selected"]);
|
|
@@ -44,7 +46,7 @@ function option_selected(option) {
|
|
|
44
46
|
class="bg-muted text-dev-text px-3 py-2 text-xs font-medium border-b border-dev-lines"
|
|
45
47
|
>
|
|
46
48
|
<template v-if="header == '/'">
|
|
47
|
-
<
|
|
49
|
+
<House class="mr-1" />
|
|
48
50
|
</template>
|
|
49
51
|
<template v-else>
|
|
50
52
|
<span class="font-mono">{{ header }}</span>
|
|
@@ -92,7 +94,7 @@ function option_selected(option) {
|
|
|
92
94
|
>
|
|
93
95
|
<div class="flex items-center justify-between">
|
|
94
96
|
<span class="font-semibold text-foreground item-key">{{ truncateText(key) }}</span>
|
|
95
|
-
<
|
|
97
|
+
<ChevronRight class="text-gray-400 text-xs" />
|
|
96
98
|
</div>
|
|
97
99
|
</button>
|
|
98
100
|
</li>
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { House } from "lucide-vue-next";
|
|
2
3
|
import { reactive, computed, onMounted } from "vue";
|
|
3
4
|
import ConfigList from "./ConfigList.vue";
|
|
5
|
+
import useAPI from "../../../composables/useAPI";
|
|
4
6
|
const api = useAPI();
|
|
5
7
|
const browse_panels = reactive({ path: ["/", null, null] });
|
|
6
8
|
onMounted(() => {
|
|
@@ -79,7 +81,7 @@ function _resetDevState() {
|
|
|
79
81
|
@click="panel_jump(index)"
|
|
80
82
|
>
|
|
81
83
|
<template v-if="option == '/'">
|
|
82
|
-
<
|
|
84
|
+
<House />
|
|
83
85
|
</template>
|
|
84
86
|
<template v-else>
|
|
85
87
|
{{ option }}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { House } from "lucide-vue-next";
|
|
2
3
|
import { reactive, computed, onMounted } from "vue";
|
|
3
4
|
import DatabaseList from "./DatabaseList.vue";
|
|
5
|
+
import useAPI from "../../../composables/useAPI";
|
|
4
6
|
const api = useAPI();
|
|
5
7
|
const browse_panels = reactive({ path: ["/", null, null] });
|
|
6
8
|
onMounted(() => {
|
|
@@ -78,7 +80,7 @@ function panel_jump(index) {
|
|
|
78
80
|
@click="panel_jump(index)"
|
|
79
81
|
>
|
|
80
82
|
<template v-if="option == '/'">
|
|
81
|
-
<
|
|
83
|
+
<House />
|
|
82
84
|
</template>
|
|
83
85
|
<template v-else>
|
|
84
86
|
{{ option }}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { ChevronRight, Clock, Database, GitBranch, Settings, Timer } from "lucide-vue-next";
|
|
2
3
|
import { computed } from "vue";
|
|
4
|
+
import useLog from "../../../stores/log";
|
|
5
|
+
import useAPI from "../../../composables/useAPI";
|
|
3
6
|
const api = useAPI();
|
|
4
7
|
const log = useLog();
|
|
5
8
|
const height_pct = computed(() => `${api.store.dev.consoleBarHeight - 55}px`);
|
|
@@ -151,17 +154,17 @@ function getBgClass(msg) {
|
|
|
151
154
|
<div class="flex items-start gap-1 min-w-0">
|
|
152
155
|
<!-- Icon indicator based on message content -->
|
|
153
156
|
<div class="flex-shrink-0 mt-0.5">
|
|
154
|
-
<
|
|
155
|
-
<
|
|
156
|
-
<
|
|
157
|
-
<
|
|
158
|
-
<
|
|
157
|
+
<GitBranch v-if="msg.message.includes('ROUTER GUARD')" />
|
|
158
|
+
<Database v-else-if="msg.message.includes('SMILESTORE')" />
|
|
159
|
+
<Settings v-else-if="msg.message.includes('DEV MODE')" />
|
|
160
|
+
<Clock v-else-if="msg.message.includes('TIMELINE STEPPER')" />
|
|
161
|
+
<Timer v-else-if="msg.message.includes('TRIAL STEPPER')" />
|
|
159
162
|
<img
|
|
160
163
|
v-else-if="msg.message.includes('FIRESTORE')"
|
|
161
|
-
src="/
|
|
164
|
+
:src="'/firebase-bw.svg'"
|
|
162
165
|
width="15"
|
|
163
166
|
>
|
|
164
|
-
<
|
|
167
|
+
<ChevronRight v-else />
|
|
165
168
|
</div>
|
|
166
169
|
<!-- Message content -->
|
|
167
170
|
<div class="min-w-0 flex-1">
|
|
@@ -192,17 +195,17 @@ function getBgClass(msg) {
|
|
|
192
195
|
<div class="flex items-start gap-1 min-w-0">
|
|
193
196
|
<!-- Icon indicator based on message content -->
|
|
194
197
|
<div class="flex-shrink-0 mt-0.5">
|
|
195
|
-
<
|
|
196
|
-
<
|
|
197
|
-
<
|
|
198
|
-
<
|
|
199
|
-
<
|
|
198
|
+
<GitBranch v-if="msg.message.includes('ROUTER GUARD')" />
|
|
199
|
+
<Database v-else-if="msg.message.includes('SMILESTORE')" />
|
|
200
|
+
<Settings v-else-if="msg.message.includes('DEV MODE')" />
|
|
201
|
+
<Clock v-else-if="msg.message.includes('TIMELINE STEPPER')" />
|
|
202
|
+
<Timer v-else-if="msg.message.includes('TRIAL STEPPER')" />
|
|
200
203
|
<img
|
|
201
204
|
v-else-if="msg.message.includes('FIRESTORE')"
|
|
202
|
-
src="/
|
|
205
|
+
:src="'/firebase-bw.svg'"
|
|
203
206
|
width="15"
|
|
204
207
|
>
|
|
205
|
-
<
|
|
208
|
+
<ChevronRight v-else />
|
|
206
209
|
</div>
|
|
207
210
|
<!-- Message content -->
|
|
208
211
|
<div class="min-w-0 flex-1">
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { ChevronRight, House } from "lucide-vue-next";
|
|
2
3
|
import { computed } from "vue";
|
|
4
|
+
import useAPI from "../../../composables/useAPI";
|
|
3
5
|
const props = defineProps(["data", "selected"]);
|
|
4
6
|
const api = useAPI();
|
|
5
7
|
const emit = defineEmits(["selected"]);
|
|
@@ -48,7 +50,7 @@ function option_selected(option) {
|
|
|
48
50
|
class="bg-muted text-dev-text px-3 py-2 text-xs font-medium border-b border-dev-lines"
|
|
49
51
|
>
|
|
50
52
|
<template v-if="header == '/'">
|
|
51
|
-
<
|
|
53
|
+
<House class="mr-1" />
|
|
52
54
|
</template>
|
|
53
55
|
<template v-else>
|
|
54
56
|
<span class="font-mono">{{ header }}</span>
|
|
@@ -96,7 +98,7 @@ function option_selected(option) {
|
|
|
96
98
|
>
|
|
97
99
|
<div class="flex items-center justify-between">
|
|
98
100
|
<span class="font-semibold text-foreground item-key">{{ truncateText(key) }}</span>
|
|
99
|
-
<
|
|
101
|
+
<ChevronRight class="text-gray-400 text-xs" />
|
|
100
102
|
</div>
|
|
101
103
|
</button>
|
|
102
104
|
</li>
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { ChevronDown, Database, Settings, Terminal } from "lucide-vue-next";
|
|
2
3
|
import ConsoleDatabaseBrowsePanel from "./ConsoleDatabaseBrowsePanel.vue";
|
|
3
4
|
import ConsoleLogPanel from "./ConsoleLogPanel.vue";
|
|
4
5
|
import ConsoleConfigPanel from "./ConsoleConfigPanel.vue";
|
|
6
|
+
import useAPI from "../../../composables/useAPI";
|
|
5
7
|
const api = useAPI();
|
|
6
8
|
</script>
|
|
7
9
|
|
|
@@ -28,7 +30,7 @@ const api = useAPI();
|
|
|
28
30
|
}"
|
|
29
31
|
@click="api.store.dev.consoleBarTab = 'browse'"
|
|
30
32
|
>
|
|
31
|
-
<
|
|
33
|
+
<Database />
|
|
32
34
|
</Button>
|
|
33
35
|
</TooltipTrigger>
|
|
34
36
|
<TooltipContent side="right">
|
|
@@ -51,7 +53,7 @@ const api = useAPI();
|
|
|
51
53
|
}"
|
|
52
54
|
@click="api.store.dev.consoleBarTab = 'log'"
|
|
53
55
|
>
|
|
54
|
-
<
|
|
56
|
+
<Terminal class="w-4 h-4" />
|
|
55
57
|
</Button>
|
|
56
58
|
</TooltipTrigger>
|
|
57
59
|
<TooltipContent side="right">
|
|
@@ -74,7 +76,7 @@ const api = useAPI();
|
|
|
74
76
|
}"
|
|
75
77
|
@click="api.store.dev.consoleBarTab = 'config'"
|
|
76
78
|
>
|
|
77
|
-
<
|
|
79
|
+
<Settings class="w-4 h-4" />
|
|
78
80
|
</Button>
|
|
79
81
|
</TooltipTrigger>
|
|
80
82
|
<TooltipContent side="right">
|
|
@@ -94,7 +96,7 @@ const api = useAPI();
|
|
|
94
96
|
class="w-8 h-8 hover:!bg-sidebar-border"
|
|
95
97
|
@click="api.store.dev.showConsoleBar = false"
|
|
96
98
|
>
|
|
97
|
-
<
|
|
99
|
+
<ChevronDown class="w-4 h-4" />
|
|
98
100
|
</Button>
|
|
99
101
|
</TooltipTrigger>
|
|
100
102
|
<TooltipContent side="right">
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { RotateCcw } from "lucide-vue-next";
|
|
2
3
|
import ResponsiveDeviceSelect from "./ResponsiveDeviceSelect.vue";
|
|
3
4
|
import { devicePresets } from "../devicePresets.js";
|
|
5
|
+
import useAPI from "../../../composables/useAPI";
|
|
4
6
|
const api = useAPI();
|
|
5
7
|
const checkForMatchingPreset = () => {
|
|
6
8
|
for (const [key, preset] of Object.entries(devicePresets)) {
|
|
@@ -152,7 +154,7 @@ function resetDevState() {
|
|
|
152
154
|
size="xs"
|
|
153
155
|
@click="toggleRotation"
|
|
154
156
|
>
|
|
155
|
-
<
|
|
157
|
+
<RotateCcw :class="{ 'text-blue-400': api.store.dev.isRotated }" />
|
|
156
158
|
</Button>
|
|
157
159
|
</TooltipTrigger>
|
|
158
160
|
<TooltipContent side="bottom">
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { BookMarked, BugPlay, Info, Moon, Settings, Smile, Sun } from "lucide-vue-next";
|
|
2
3
|
import { computed } from "vue";
|
|
3
4
|
import DevConfigPanel from "./DevConfigPanel.vue";
|
|
5
|
+
import useAPI from "../../../composables/useAPI";
|
|
4
6
|
const props = defineProps({
|
|
5
7
|
side: { type: String, required: false },
|
|
6
8
|
variant: { type: String, required: false },
|
|
@@ -38,7 +40,7 @@ const isDarkMode = computed({
|
|
|
38
40
|
>
|
|
39
41
|
<a href="#">
|
|
40
42
|
<div class="mainbutton text-foreground flex aspect-square size-8 items-center justify-center rounded-lg">
|
|
41
|
-
<
|
|
43
|
+
<Smile />
|
|
42
44
|
</div>
|
|
43
45
|
</a>
|
|
44
46
|
</SidebarMenuButton>
|
|
@@ -62,7 +64,7 @@ const isDarkMode = computed({
|
|
|
62
64
|
tooltip="Developer Mode"
|
|
63
65
|
@click="api.store.dev.mainView = 'devmode'"
|
|
64
66
|
>
|
|
65
|
-
<
|
|
67
|
+
<BugPlay class="!size-5" />
|
|
66
68
|
</SidebarMenuButton>
|
|
67
69
|
</SidebarMenuItem>
|
|
68
70
|
|
|
@@ -106,7 +108,7 @@ const isDarkMode = computed({
|
|
|
106
108
|
tooltip="Documentation"
|
|
107
109
|
@click="api.store.dev.mainView = 'docs'"
|
|
108
110
|
>
|
|
109
|
-
<
|
|
111
|
+
<BookMarked class="!size-5" />
|
|
110
112
|
</SidebarMenuButton>
|
|
111
113
|
</SidebarMenuItem>
|
|
112
114
|
|
|
@@ -121,7 +123,7 @@ const isDarkMode = computed({
|
|
|
121
123
|
href="/info"
|
|
122
124
|
target="_blank"
|
|
123
125
|
>
|
|
124
|
-
<
|
|
126
|
+
<Info class="!size-5" />
|
|
125
127
|
</a>
|
|
126
128
|
</SidebarMenuButton>
|
|
127
129
|
</SidebarMenuItem>
|
|
@@ -141,11 +143,11 @@ const isDarkMode = computed({
|
|
|
141
143
|
tooltip="Toggle Dark Mode"
|
|
142
144
|
@click="isDarkMode = !isDarkMode"
|
|
143
145
|
>
|
|
144
|
-
<
|
|
146
|
+
<Moon
|
|
145
147
|
v-if="isDarkMode"
|
|
146
148
|
class="!size-5"
|
|
147
149
|
/>
|
|
148
|
-
<
|
|
150
|
+
<Sun
|
|
149
151
|
v-else
|
|
150
152
|
class="!size-5"
|
|
151
153
|
/>
|
|
@@ -165,7 +167,7 @@ const isDarkMode = computed({
|
|
|
165
167
|
as-child
|
|
166
168
|
tooltip="Configuration"
|
|
167
169
|
>
|
|
168
|
-
<
|
|
170
|
+
<Settings class="!size-5" />
|
|
169
171
|
</SidebarMenuButton>
|
|
170
172
|
</PopoverTrigger>
|
|
171
173
|
<PopoverContent
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { Moon, Sun, SunMoon } from "lucide-vue-next";
|
|
2
3
|
const { mode: experimentColorMode, toggle: toggleColorMode, system } = useSmileColorMode("experiment");
|
|
3
4
|
</script>
|
|
4
5
|
|
|
@@ -12,9 +13,9 @@ const { mode: experimentColorMode, toggle: toggleColorMode, system } = useSmileC
|
|
|
12
13
|
variant="outline"
|
|
13
14
|
@click="toggleColorMode()"
|
|
14
15
|
>
|
|
15
|
-
<
|
|
16
|
-
<
|
|
17
|
-
<
|
|
16
|
+
<Moon v-if="experimentColorMode === 'light'" />
|
|
17
|
+
<SunMoon v-else-if="experimentColorMode === 'dark'" />
|
|
18
|
+
<Sun v-else />
|
|
18
19
|
</Button>
|
|
19
20
|
</TooltipTrigger>
|
|
20
21
|
<TooltipContent side="bottom">
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { Database, RefreshCw } from "lucide-vue-next";
|
|
2
3
|
import { computed } from "vue";
|
|
3
4
|
import CircleProgress from "./CircleProgress.vue";
|
|
5
|
+
import useAPI from "../../../composables/useAPI";
|
|
4
6
|
const api = useAPI();
|
|
5
7
|
const database_tooltip = computed(() => {
|
|
6
8
|
let msg = "";
|
|
@@ -32,7 +34,7 @@ const database_tooltip = computed(() => {
|
|
|
32
34
|
variant="outline"
|
|
33
35
|
>
|
|
34
36
|
<!-- Database icon with status styling -->
|
|
35
|
-
<
|
|
37
|
+
<Database
|
|
36
38
|
style="font-size: 2em"
|
|
37
39
|
class="disconnected"
|
|
38
40
|
:class="{ connected: api.store.browserEphemeral.dataLoaded }"
|
|
@@ -40,13 +42,13 @@ const database_tooltip = computed(() => {
|
|
|
40
42
|
|
|
41
43
|
<!-- Sync icon with status styling -->
|
|
42
44
|
<template v-if="!api.store.browserEphemeral.dataLoaded">
|
|
43
|
-
<
|
|
45
|
+
<RefreshCw class="has-text-grey" />
|
|
44
46
|
</template>
|
|
45
47
|
<template v-else-if="api.store.browserEphemeral.unsavedChanges && api.store.browserEphemeral.dataLoaded">
|
|
46
|
-
<
|
|
48
|
+
<RefreshCw class="outofsync" />
|
|
47
49
|
</template>
|
|
48
50
|
<template v-else>
|
|
49
|
-
<
|
|
51
|
+
<RefreshCw class="insync" />
|
|
50
52
|
</template>
|
|
51
53
|
|
|
52
54
|
<!-- Progress circle for data usage -->
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { Maximize, Minimize } from "lucide-vue-next";
|
|
3
|
+
import useAPI from "../../../composables/useAPI";
|
|
2
4
|
const api = useAPI();
|
|
3
5
|
</script>
|
|
4
6
|
|
|
@@ -12,11 +14,11 @@ const api = useAPI();
|
|
|
12
14
|
variant="outline"
|
|
13
15
|
@click="api.store.dev.isFullscreen = !api.store.dev.isFullscreen"
|
|
14
16
|
>
|
|
15
|
-
<
|
|
17
|
+
<Maximize
|
|
16
18
|
v-if="!api.store.dev.isFullscreen"
|
|
17
19
|
:stroke-width="2.5"
|
|
18
20
|
/>
|
|
19
|
-
<
|
|
21
|
+
<Minimize
|
|
20
22
|
v-else
|
|
21
23
|
:stroke-width="2.5"
|
|
22
24
|
/>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { RotateCcw } from "lucide-vue-next";
|
|
3
|
+
import useAPI from "../../../composables/useAPI";
|
|
2
4
|
const api = useAPI();
|
|
3
5
|
</script>
|
|
4
6
|
|
|
@@ -12,7 +14,7 @@ const api = useAPI();
|
|
|
12
14
|
variant="outline"
|
|
13
15
|
@click="api.reloadBrowser()"
|
|
14
16
|
>
|
|
15
|
-
<
|
|
17
|
+
<RotateCcw :stroke-width="2.5" />
|
|
16
18
|
</Button>
|
|
17
19
|
</TooltipTrigger>
|
|
18
20
|
<TooltipContent side="bottom">
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { Zap } from "lucide-vue-next";
|
|
3
|
+
import useAPI from "../../../composables/useAPI";
|
|
2
4
|
const api = useAPI();
|
|
3
5
|
</script>
|
|
4
6
|
|
|
@@ -12,7 +14,7 @@ const api = useAPI();
|
|
|
12
14
|
variant="outline"
|
|
13
15
|
@click="api.resetLocalState()"
|
|
14
16
|
>
|
|
15
|
-
<
|
|
17
|
+
<Zap />
|
|
16
18
|
</Button>
|
|
17
19
|
</TooltipTrigger>
|
|
18
20
|
<TooltipContent side="bottom">
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { ArrowDown, Diamond, House, Presentation } from "lucide-vue-next";
|
|
2
3
|
import { watch, ref, computed } from "vue";
|
|
4
|
+
import useLog from "../../../stores/log";
|
|
5
|
+
import useAPI from "../../../composables/useAPI";
|
|
3
6
|
const api = useAPI();
|
|
4
7
|
const _props = defineProps(["routeName"]);
|
|
5
8
|
const log = useLog();
|
|
@@ -44,7 +47,7 @@ function goHome() {
|
|
|
44
47
|
>
|
|
45
48
|
<span class="text-[0.65rem] font-mono">
|
|
46
49
|
<div class="routename font-medium">
|
|
47
|
-
<
|
|
50
|
+
<House class="inline mr-1" />
|
|
48
51
|
{{ isPresentation ? '/home' : '/recruit' }}
|
|
49
52
|
</div>
|
|
50
53
|
</span>
|
|
@@ -70,15 +73,15 @@ function goHome() {
|
|
|
70
73
|
style="margin-left: 5px"
|
|
71
74
|
> </span>
|
|
72
75
|
</template>
|
|
73
|
-
<
|
|
76
|
+
<ArrowDown
|
|
74
77
|
v-if="r.meta.sequential"
|
|
75
78
|
class="inline mr-1"
|
|
76
79
|
/>
|
|
77
|
-
<
|
|
80
|
+
<Presentation
|
|
78
81
|
v-else-if="r.name === 'presentation_home'"
|
|
79
82
|
class="inline mr-1"
|
|
80
83
|
/>
|
|
81
|
-
<
|
|
84
|
+
<Diamond
|
|
82
85
|
v-else
|
|
83
86
|
class="inline mr-1"
|
|
84
87
|
/>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { BugPlay } from "lucide-vue-next";
|
|
2
3
|
import StepInfoButtonGroup from "./StepInfoButtonGroup.vue";
|
|
3
4
|
import ViewInfoButtonGroup from "./ViewInfoButtonGroup.vue";
|
|
4
5
|
import ResetButton from "./ResetButton.vue";
|
|
@@ -11,6 +12,7 @@ import KeyCommandNotification from "./KeyCommandNotification.vue";
|
|
|
11
12
|
import LogoutButton from "../presentation/LogoutButton.vue";
|
|
12
13
|
import { ref } from "vue";
|
|
13
14
|
import { onKeyDown } from "@vueuse/core";
|
|
15
|
+
import useAPI from "../../../composables/useAPI";
|
|
14
16
|
const api = useAPI();
|
|
15
17
|
const showNotification = ref(false);
|
|
16
18
|
const notificationCommand = ref("");
|
|
@@ -156,14 +158,14 @@ onKeyDown((e) => {
|
|
|
156
158
|
<!-- Desktop version -->
|
|
157
159
|
<div class="hidden sm:block">
|
|
158
160
|
<div class="flex items-center text-xs font-normal">
|
|
159
|
-
<
|
|
161
|
+
<BugPlay class="size-4 mr-1" />
|
|
160
162
|
<b>DEVELOPER MODE</b> ({{ api.config.smileVersion }})
|
|
161
163
|
</div>
|
|
162
164
|
</div>
|
|
163
165
|
<!-- Mobile version -->
|
|
164
166
|
<div class="block sm:hidden">
|
|
165
167
|
<div class="flex items-center text-xs font-normal">
|
|
166
|
-
<
|
|
168
|
+
<BugPlay class="size-4 mr-1" />
|
|
167
169
|
<b>DEV</b> ({{ api.config.smileVersion }})
|
|
168
170
|
</div>
|
|
169
171
|
</div>
|