classicy 0.5.4 → 0.5.5
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/package.json +1 -1
- package/dist/3c6dd90084fa516904c8.svg +0 -35
- package/dist/README.md +0 -211
- package/dist/SystemFolder/ControlPanels/AppManager/ClassicyAppManager.d.ts +0 -91
- package/dist/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerContext.d.ts +0 -11
- package/dist/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearance.d.ts +0 -111
- package/dist/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearanceManager.d.ts +0 -2
- package/dist/SystemFolder/ControlPanels/AppearanceManager/ClassicyColors.d.ts +0 -2
- package/dist/SystemFolder/ControlPanels/AppearanceManager/ClassicySize.d.ts +0 -4
- package/dist/SystemFolder/ControlPanels/ClassicyControlPanels.d.ts +0 -2
- package/dist/SystemFolder/ControlPanels/DateAndTimeManager/ClassicyDateAndTimeManager.d.ts +0 -4
- package/dist/SystemFolder/ControlPanels/SoundManager/ClassicySoundManager.d.ts +0 -3
- package/dist/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerContext.d.ts +0 -78
- package/dist/SystemFolder/Finder/Finder.d.ts +0 -2
- package/dist/SystemFolder/Finder/FinderContext.d.ts +0 -2
- package/dist/SystemFolder/QuickTime/MoviePlayer/MoviePlayer.d.ts +0 -15
- package/dist/SystemFolder/QuickTime/MoviePlayer/MoviePlayerContext.d.ts +0 -15
- package/dist/SystemFolder/QuickTime/PictureViewer/PictureViewer.d.ts +0 -12
- package/dist/SystemFolder/QuickTime/PictureViewer/PictureViewerContext.d.ts +0 -9
- package/dist/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindow.d.ts +0 -12
- package/dist/SystemFolder/SystemResources/App/ClassicyApp.d.ts +0 -13
- package/dist/SystemFolder/SystemResources/App/ClassicyAppUtils.d.ts +0 -20
- package/dist/SystemFolder/SystemResources/Boot/ClassicyBoot.d.ts +0 -3
- package/dist/SystemFolder/SystemResources/Button/ClassicyButton.d.ts +0 -12
- package/dist/SystemFolder/SystemResources/Checkbox/ClassicyCheckbox.d.ts +0 -12
- package/dist/SystemFolder/SystemResources/ContextualMenu/ClassicyContextualMenu.d.ts +0 -11
- package/dist/SystemFolder/SystemResources/ControlGroup/ClassicyControlGroup.d.ts +0 -9
- package/dist/SystemFolder/SystemResources/ControlLabel/ClassicyControlLabel.d.ts +0 -17
- package/dist/SystemFolder/SystemResources/DatePicker/ClassicyDatePicker.d.ts +0 -14
- package/dist/SystemFolder/SystemResources/DatePicker/ClassicyDatePickerUtils.d.ts +0 -2
- package/dist/SystemFolder/SystemResources/Desktop/ClassicyDesktop.d.ts +0 -8
- package/dist/SystemFolder/SystemResources/Desktop/ClassicyDesktopIcon.d.ts +0 -14
- package/dist/SystemFolder/SystemResources/Desktop/ClassicyDesktopIconContext.d.ts +0 -4
- package/dist/SystemFolder/SystemResources/Desktop/ClassicyDesktopManager.d.ts +0 -29
- package/dist/SystemFolder/SystemResources/Desktop/ClassicyDesktopWindowManagerContext.d.ts +0 -3
- package/dist/SystemFolder/SystemResources/Desktop/MenuBar/ClassicyDesktopMenuBar.d.ts +0 -4
- package/dist/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Sound/ClassicyDesktopMenuWidgetSound.d.ts +0 -8
- package/dist/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Time/ClassicyDesktopMenuWidgetTime.d.ts +0 -4
- package/dist/SystemFolder/SystemResources/Disclosure/ClassicyDisclosure.d.ts +0 -10
- package/dist/SystemFolder/SystemResources/File/ClassicyFileBrowser.d.ts +0 -12
- package/dist/SystemFolder/SystemResources/File/ClassicyFileBrowserUtils.d.ts +0 -6
- package/dist/SystemFolder/SystemResources/File/ClassicyFileBrowserViewIcons.d.ts +0 -11
- package/dist/SystemFolder/SystemResources/File/ClassicyFileBrowserViewTable.d.ts +0 -14
- package/dist/SystemFolder/SystemResources/File/ClassicyFileSystem.d.ts +0 -28
- package/dist/SystemFolder/SystemResources/File/ClassicyFileSystemModel.d.ts +0 -36
- package/dist/SystemFolder/SystemResources/File/DefaultClassicyFileSystem.d.ts +0 -93
- package/dist/SystemFolder/SystemResources/Icon/ClassicyIcon.d.ts +0 -14
- package/dist/SystemFolder/SystemResources/Input/ClassicyInput.d.ts +0 -15
- package/dist/SystemFolder/SystemResources/Menu/ClassicyMenu.d.ts +0 -29
- package/dist/SystemFolder/SystemResources/PopUpMenu/ClassicyPopUpMenu.d.ts +0 -18
- package/dist/SystemFolder/SystemResources/ProgressBar/ClassicyProgressBar.d.ts +0 -1
- package/dist/SystemFolder/SystemResources/QuickTime/QuickTimeMovieEmbed.d.ts +0 -16
- package/dist/SystemFolder/SystemResources/QuickTime/QuickTimeUtils.d.ts +0 -2
- package/dist/SystemFolder/SystemResources/RadioInput/ClassicyRadioInput.d.ts +0 -20
- package/dist/SystemFolder/SystemResources/RichTextEditor/ClassicyRichTextEditor.d.ts +0 -9
- package/dist/SystemFolder/SystemResources/Tabs/ClassicyTabs.d.ts +0 -11
- package/dist/SystemFolder/SystemResources/TextEditor/ClassicyTextEditor.d.ts +0 -1
- package/dist/SystemFolder/SystemResources/TimePicker/ClassicyTimePicker.d.ts +0 -15
- package/dist/SystemFolder/SystemResources/Window/ClassicyWindow.d.ts +0 -29
- package/dist/SystemFolder/SystemResources/Window/ClassicyWindowContext.d.ts +0 -18
- package/dist/assets/img/icons/control-panels/appearance-manager/app.png +0 -0
- package/dist/assets/img/icons/control-panels/appearance-manager/platinum.png +0 -0
- package/dist/assets/img/icons/control-panels/date-time-manager/date-time-manager.png +0 -0
- package/dist/assets/img/icons/control-panels/sound-manager/app.png +0 -0
- package/dist/assets/img/icons/control-panels/sound-manager/sound-33.png +0 -0
- package/dist/assets/img/icons/control-panels/sound-manager/sound-66.png +0 -0
- package/dist/assets/img/icons/control-panels/sound-manager/sound-off.png +0 -0
- package/dist/assets/img/icons/control-panels/sound-manager/sound-on.png +0 -0
- package/dist/assets/img/icons/system/apple.png +0 -0
- package/dist/assets/img/icons/system/drives/disk.png +0 -0
- package/dist/assets/img/icons/system/files/file.png +0 -0
- package/dist/assets/img/icons/system/folders/directory.png +0 -0
- package/dist/assets/img/icons/system/mac.png +0 -0
- package/dist/assets/img/icons/system/macos.png +0 -0
- package/dist/assets/img/icons/system/quicktime/cc.png +0 -0
- package/dist/assets/img/icons/system/quicktime/movie.png +0 -0
- package/dist/assets/img/icons/system/quicktime/player.png +0 -0
- package/dist/assets/img/wallpapers/azul_dark.png +0 -0
- package/dist/assets/img/wallpapers/azul_extra_light.png +0 -0
- package/dist/assets/img/wallpapers/azul_light.png +0 -0
- package/dist/assets/img/wallpapers/bondi.png +0 -0
- package/dist/assets/img/wallpapers/bondi_dark.png +0 -0
- package/dist/assets/img/wallpapers/bondi_extra_dark.png +0 -0
- package/dist/assets/img/wallpapers/bondi_light.png +0 -0
- package/dist/assets/img/wallpapers/bondi_medium.png +0 -0
- package/dist/assets/img/wallpapers/bossanova_bondi.png +0 -0
- package/dist/assets/img/wallpapers/bossanova_poppy.png +0 -0
- package/dist/assets/img/wallpapers/bossanova_poppy_2.png +0 -0
- package/dist/assets/img/wallpapers/bubbles_bondi.png +0 -0
- package/dist/assets/img/wallpapers/bubbles_poppy.png +0 -0
- package/dist/assets/img/wallpapers/candy_bar.png +0 -0
- package/dist/assets/img/wallpapers/candy_bar_azul.png +0 -0
- package/dist/assets/img/wallpapers/candy_bar_pistachio.png +0 -0
- package/dist/assets/img/wallpapers/candy_bar_sunny.png +0 -0
- package/dist/assets/img/wallpapers/default.png +0 -0
- package/dist/assets/img/wallpapers/diagonals_bondi.png +0 -0
- package/dist/assets/img/wallpapers/diagonals_bondi_dark.png +0 -0
- package/dist/assets/img/wallpapers/diagonals_poppy.png +0 -0
- package/dist/assets/img/wallpapers/flat_peanuts.png +0 -0
- package/dist/assets/img/wallpapers/flat_peanuts_poppy.png +0 -0
- package/dist/assets/img/wallpapers/french_blue_dark.png +0 -0
- package/dist/assets/img/wallpapers/french_blue_light.png +0 -0
- package/dist/assets/img/wallpapers/macos.png +0 -0
- package/dist/assets/img/wallpapers/peanuts_azul.png +0 -0
- package/dist/assets/img/wallpapers/peanuts_pistachio.png +0 -0
- package/dist/assets/img/wallpapers/pistachio_dark.png +0 -0
- package/dist/assets/img/wallpapers/pistachio_light.png +0 -0
- package/dist/assets/img/wallpapers/pistachio_medium.png +0 -0
- package/dist/assets/img/wallpapers/poppy.png +0 -0
- package/dist/assets/img/wallpapers/poppy_dark.png +0 -0
- package/dist/assets/img/wallpapers/poppy_light.png +0 -0
- package/dist/assets/img/wallpapers/poppy_medium.png +0 -0
- package/dist/assets/img/wallpapers/rio_azul.png +0 -0
- package/dist/assets/img/wallpapers/rio_pistachio.png +0 -0
- package/dist/assets/img/wallpapers/ripple_azul.png +0 -0
- package/dist/assets/img/wallpapers/ripple_bondi.png +0 -0
- package/dist/assets/img/wallpapers/ripple_poppy.png +0 -0
- package/dist/assets/img/wallpapers/sunny.png +0 -0
- package/dist/assets/img/wallpapers/sunny_dark.png +0 -0
- package/dist/assets/img/wallpapers/sunny_light.png +0 -0
- package/dist/assets/img/wallpapers/waves_azul.png +0 -0
- package/dist/assets/img/wallpapers/waves_bondi.png +0 -0
- package/dist/assets/img/wallpapers/waves_sunny.png +0 -0
- package/dist/assets/sounds/platinum/platinum.ac3 +0 -0
- package/dist/assets/sounds/platinum/platinum.json +0 -174
- package/dist/assets/sounds/platinum/platinum.m4a +0 -0
- package/dist/assets/sounds/platinum/platinum.mp3 +0 -0
- package/dist/assets/sounds/platinum/platinum.ogg +0 -0
- package/dist/e7dead02eb942a2c597f.svg +0 -49
- package/dist/index.d.ts +0 -57
- package/dist/index.js.LICENSE.txt +0 -75
- package/dist/package.json +0 -93
- package/src/SystemFolder/ControlPanels/AppManager/ClassicyAppManager.ts +0 -327
- package/src/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerContext.tsx +0 -73
- package/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearance.ts +0 -165
- package/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearanceManager.tsx +0 -420
- package/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyColors.ts +0 -10
- package/src/SystemFolder/ControlPanels/AppearanceManager/ClassicySize.ts +0 -24
- package/src/SystemFolder/ControlPanels/AppearanceManager/styles/appearance.scss +0 -182
- package/src/SystemFolder/ControlPanels/AppearanceManager/styles/assets.scss +0 -13
- package/src/SystemFolder/ControlPanels/AppearanceManager/styles/fonts.scss +0 -90
- package/src/SystemFolder/ControlPanels/AppearanceManager/styles/scrollbars.scss +0 -296
- package/src/SystemFolder/ControlPanels/AppearanceManager/styles/themes.json +0 -1430
- package/src/SystemFolder/ControlPanels/ClassicyControlPanels.tsx +0 -16
- package/src/SystemFolder/ControlPanels/DateAndTimeManager/ClassicyDateAndTimeManager.tsx +0 -304
- package/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManager.scss +0 -18
- package/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManager.tsx +0 -159
- package/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerContext.tsx +0 -196
- package/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerLabels.json +0 -182
- package/src/SystemFolder/Finder/Finder.tsx +0 -232
- package/src/SystemFolder/Finder/FinderContext.tsx +0 -47
- package/src/SystemFolder/QuickTime/MoviePlayer/MoviePlayer.tsx +0 -141
- package/src/SystemFolder/QuickTime/MoviePlayer/MoviePlayerContext.tsx +0 -69
- package/src/SystemFolder/QuickTime/PictureViewer/PictureViewer.tsx +0 -130
- package/src/SystemFolder/QuickTime/PictureViewer/PictureViewerContext.tsx +0 -67
- package/src/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindow.scss +0 -10
- package/src/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindow.tsx +0 -56
- package/src/SystemFolder/SystemResources/App/ClassicyApp.tsx +0 -131
- package/src/SystemFolder/SystemResources/App/ClassicyAppUtils.tsx +0 -25
- package/src/SystemFolder/SystemResources/Boot/ClassicyBoot.scss +0 -9
- package/src/SystemFolder/SystemResources/Boot/ClassicyBoot.tsx +0 -11
- package/src/SystemFolder/SystemResources/Button/ClassicyButton.scss +0 -57
- package/src/SystemFolder/SystemResources/Button/ClassicyButton.tsx +0 -58
- package/src/SystemFolder/SystemResources/Checkbox/ClassicyCheckbox.scss +0 -90
- package/src/SystemFolder/SystemResources/Checkbox/ClassicyCheckbox.tsx +0 -58
- package/src/SystemFolder/SystemResources/ContextualMenu/ClassicyContextualMenu.scss +0 -11
- package/src/SystemFolder/SystemResources/ContextualMenu/ClassicyContextualMenu.tsx +0 -25
- package/src/SystemFolder/SystemResources/ControlGroup/ClassicyControlGroup.scss +0 -22
- package/src/SystemFolder/SystemResources/ControlGroup/ClassicyControlGroup.tsx +0 -28
- package/src/SystemFolder/SystemResources/ControlLabel/ClassicyControlLabel.scss +0 -28
- package/src/SystemFolder/SystemResources/ControlLabel/ClassicyControlLabel.tsx +0 -99
- package/src/SystemFolder/SystemResources/DatePicker/ClassicyDatePicker.scss +0 -50
- package/src/SystemFolder/SystemResources/DatePicker/ClassicyDatePicker.tsx +0 -191
- package/src/SystemFolder/SystemResources/DatePicker/ClassicyDatePickerUtils.tsx +0 -22
- package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktop.scss +0 -52
- package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktop.tsx +0 -209
- package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopIcon.scss +0 -115
- package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopIcon.tsx +0 -185
- package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopIconContext.tsx +0 -178
- package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopManager.tsx +0 -161
- package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopWindowManagerContext.tsx +0 -211
- package/src/SystemFolder/SystemResources/Desktop/MenuBar/ClassicyDesktopMenuBar.scss +0 -76
- package/src/SystemFolder/SystemResources/Desktop/MenuBar/ClassicyDesktopMenuBar.tsx +0 -74
- package/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Sound/ClassicyDesktopMenuWidgetSound.scss +0 -16
- package/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Sound/ClassicyDesktopMenuWidgetSound.tsx +0 -60
- package/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Time/ClassicyDesktopMenuWidgetTime.scss +0 -27
- package/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Time/ClassicyDesktopMenuWidgetTime.tsx +0 -141
- package/src/SystemFolder/SystemResources/Disclosure/ClassicyDisclosure.scss +0 -88
- package/src/SystemFolder/SystemResources/Disclosure/ClassicyDisclosure.tsx +0 -88
- package/src/SystemFolder/SystemResources/File/ClassicyFileBrowser.tsx +0 -56
- package/src/SystemFolder/SystemResources/File/ClassicyFileBrowserUtils.ts +0 -47
- package/src/SystemFolder/SystemResources/File/ClassicyFileBrowserViewIcons.tsx +0 -90
- package/src/SystemFolder/SystemResources/File/ClassicyFileBrowserViewTable.scss +0 -92
- package/src/SystemFolder/SystemResources/File/ClassicyFileBrowserViewTable.tsx +0 -235
- package/src/SystemFolder/SystemResources/File/ClassicyFileSystem.ts +0 -338
- package/src/SystemFolder/SystemResources/File/ClassicyFileSystemModel.ts +0 -62
- package/src/SystemFolder/SystemResources/File/DefaultClassicyFileSystem.ts +0 -111
- package/src/SystemFolder/SystemResources/Icon/ClassicyIcon.scss +0 -119
- package/src/SystemFolder/SystemResources/Icon/ClassicyIcon.tsx +0 -115
- package/src/SystemFolder/SystemResources/Input/ClassicyInput.scss +0 -38
- package/src/SystemFolder/SystemResources/Input/ClassicyInput.tsx +0 -60
- package/src/SystemFolder/SystemResources/Menu/ClassicyMenu.scss +0 -187
- package/src/SystemFolder/SystemResources/Menu/ClassicyMenu.tsx +0 -127
- package/src/SystemFolder/SystemResources/PopUpMenu/ClassicyPopUpMenu.scss +0 -122
- package/src/SystemFolder/SystemResources/PopUpMenu/ClassicyPopUpMenu.tsx +0 -63
- package/src/SystemFolder/SystemResources/ProgressBar/ClassicyProgressBar.scss +0 -70
- package/src/SystemFolder/SystemResources/ProgressBar/ClassicyProgressBar.tsx +0 -29
- package/src/SystemFolder/SystemResources/QuickTime/QuickTimeMovieEmbed.scss +0 -217
- package/src/SystemFolder/SystemResources/QuickTime/QuickTimeMovieEmbed.tsx +0 -310
- package/src/SystemFolder/SystemResources/QuickTime/QuickTimeUtils.ts +0 -27
- package/src/SystemFolder/SystemResources/QuickTime/thumb-slider.svg +0 -1
- package/src/SystemFolder/SystemResources/QuickTime/volume-slider.svg +0 -8
- package/src/SystemFolder/SystemResources/RadioInput/ClassicyRadioInput.scss +0 -125
- package/src/SystemFolder/SystemResources/RadioInput/ClassicyRadioInput.tsx +0 -103
- package/src/SystemFolder/SystemResources/RichTextEditor/ClassicyRichTextEditor.scss +0 -52
- package/src/SystemFolder/SystemResources/RichTextEditor/ClassicyRichTextEditor.tsx +0 -52
- package/src/SystemFolder/SystemResources/Tabs/ClassicyTabs.scss +0 -59
- package/src/SystemFolder/SystemResources/Tabs/ClassicyTabs.tsx +0 -77
- package/src/SystemFolder/SystemResources/Tabs/tab.svg +0 -4
- package/src/SystemFolder/SystemResources/TextEditor/ClassicyTextEditor.scss +0 -18
- package/src/SystemFolder/SystemResources/TextEditor/ClassicyTextEditor.tsx +0 -14
- package/src/SystemFolder/SystemResources/TimePicker/ClassicyTimePicker.scss +0 -53
- package/src/SystemFolder/SystemResources/TimePicker/ClassicyTimePicker.tsx +0 -221
- package/src/SystemFolder/SystemResources/Window/ClassicyWindow.scss +0 -377
- package/src/SystemFolder/SystemResources/Window/ClassicyWindow.tsx +0 -535
- package/src/SystemFolder/SystemResources/Window/ClassicyWindowContext.ts +0 -19
- package/src/custom.d.ts +0 -90
- package/src/index.tsx +0 -57
- /package/{dist/index.js → index.js} +0 -0
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import { ClassicyAppearanceManager } from '@/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearanceManager'
|
|
4
|
-
import { ClassicyDateAndTimeManager } from '@/SystemFolder/ControlPanels/DateAndTimeManager/ClassicyDateAndTimeManager'
|
|
5
|
-
import { ClassicySoundManager } from '@/SystemFolder/ControlPanels/SoundManager/ClassicySoundManager'
|
|
6
|
-
import React from 'react'
|
|
7
|
-
|
|
8
|
-
export function ClassicyControlPanels() {
|
|
9
|
-
return (
|
|
10
|
-
<>
|
|
11
|
-
<ClassicyAppearanceManager />
|
|
12
|
-
<ClassicySoundManager />
|
|
13
|
-
<ClassicyDateAndTimeManager />
|
|
14
|
-
</>
|
|
15
|
-
)
|
|
16
|
-
}
|
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import {ActionMessage, ClassicyStore} from '@/SystemFolder/ControlPanels/AppManager/ClassicyAppManager'
|
|
4
|
-
import { useAppManager, useAppManagerDispatch } from '@/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerContext'
|
|
5
|
-
import { getClassicyAboutWindow } from '@/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindow'
|
|
6
|
-
import {ClassicyApp} from '@/SystemFolder/SystemResources/App/ClassicyApp'
|
|
7
|
-
import { quitAppHelper, quitMenuItemHelper } from '@/SystemFolder/SystemResources/App/ClassicyAppUtils'
|
|
8
|
-
import {ClassicyButton} from '@/SystemFolder/SystemResources/Button/ClassicyButton'
|
|
9
|
-
import {ClassicyDatePicker} from '@/SystemFolder/SystemResources/DatePicker/ClassicyDatePicker'
|
|
10
|
-
import {ClassicyPopUpMenu} from '@/SystemFolder/SystemResources/PopUpMenu/ClassicyPopUpMenu'
|
|
11
|
-
import {ClassicyRadioInput} from '@/SystemFolder/SystemResources/RadioInput/ClassicyRadioInput'
|
|
12
|
-
import {ClassicyTimePicker} from '@/SystemFolder/SystemResources/TimePicker/ClassicyTimePicker'
|
|
13
|
-
import {ClassicyWindow} from '@/SystemFolder/SystemResources/Window/ClassicyWindow'
|
|
14
|
-
import React, { ChangeEvent, useState } from 'react'
|
|
15
|
-
import {ClassicyControlGroup} from '../../SystemResources/ControlGroup/ClassicyControlGroup'
|
|
16
|
-
import appIcon from 'img/icons/control-panels/date-time-manager/date-time-manager.png'
|
|
17
|
-
|
|
18
|
-
export const ClassicyDateAndTimeManager: React.FC = () => {
|
|
19
|
-
const appName: string = 'Date and Time Manager'
|
|
20
|
-
const appId: string = 'DateAndTimeManager.app'
|
|
21
|
-
|
|
22
|
-
const [period, setPeriod] = useState<string>('am')
|
|
23
|
-
|
|
24
|
-
const desktopContext = useAppManager(),
|
|
25
|
-
desktopEventDispatch = useAppManagerDispatch()
|
|
26
|
-
|
|
27
|
-
const [showAbout, setShowAbout] = useState(false)
|
|
28
|
-
|
|
29
|
-
const quitApp = () => {
|
|
30
|
-
desktopEventDispatch(quitAppHelper(appId, appName, appIcon))
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const updateSystemTime = (updatedDate: Date) => {
|
|
34
|
-
const date = new Date(desktopContext.System.Manager.DateAndTime.dateTime)
|
|
35
|
-
|
|
36
|
-
let hoursToSet = period == 'am' ? updatedDate.getHours() : updatedDate.getHours() + 12
|
|
37
|
-
if (period == 'pm' && updatedDate.getHours() == 12) {
|
|
38
|
-
hoursToSet = 0
|
|
39
|
-
}
|
|
40
|
-
date.setHours(hoursToSet, updatedDate.getMinutes(), updatedDate.getSeconds())
|
|
41
|
-
desktopEventDispatch({
|
|
42
|
-
type: 'ClassicyManagerDateTimeSet',
|
|
43
|
-
dateTime: date,
|
|
44
|
-
})
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const updateSystemDate = (updatedDate: Date) => {
|
|
48
|
-
const date = new Date(desktopContext.System.Manager.DateAndTime.dateTime)
|
|
49
|
-
date.setMonth(updatedDate.getMonth())
|
|
50
|
-
date.setDate(updatedDate.getDate())
|
|
51
|
-
date.setFullYear(updatedDate.getFullYear())
|
|
52
|
-
|
|
53
|
-
desktopEventDispatch({
|
|
54
|
-
type: 'ClassicyManagerDateTimeSet',
|
|
55
|
-
dateTime: date,
|
|
56
|
-
})
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const updateSystemTimeZone = (e: ChangeEvent<HTMLSelectElement>) => {
|
|
60
|
-
setPeriod(e.target.value)
|
|
61
|
-
desktopEventDispatch({
|
|
62
|
-
type: 'ClassicyManagerDateTimeTZSet',
|
|
63
|
-
tzOffset: e.target.value,
|
|
64
|
-
})
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const appMenu = [
|
|
68
|
-
{
|
|
69
|
-
id: appId + '_file',
|
|
70
|
-
title: 'File',
|
|
71
|
-
menuChildren: [quitMenuItemHelper(appId, appName, appIcon)],
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
id: appId + '_help',
|
|
75
|
-
title: 'Help',
|
|
76
|
-
menuChildren: [
|
|
77
|
-
{
|
|
78
|
-
id: appId + '_about',
|
|
79
|
-
title: 'About',
|
|
80
|
-
onClickFunc: () => {
|
|
81
|
-
setShowAbout(true)
|
|
82
|
-
},
|
|
83
|
-
},
|
|
84
|
-
],
|
|
85
|
-
},
|
|
86
|
-
]
|
|
87
|
-
|
|
88
|
-
const timezones = [
|
|
89
|
-
{
|
|
90
|
-
label: 'Pacific/Midway',
|
|
91
|
-
value: '-11',
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
label: 'Pacific/Honolulu',
|
|
95
|
-
value: '-10',
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
label: 'America/Anchorage',
|
|
99
|
-
value: '-8',
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
label: 'America/Los_Angeles',
|
|
103
|
-
value: '-7',
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
label: 'America/Denver',
|
|
107
|
-
value: '-6',
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
label: 'America/Chicago',
|
|
111
|
-
value: '-5',
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
label: 'America/New_York',
|
|
115
|
-
value: '-4',
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
label: 'America/Halifax',
|
|
119
|
-
value: '-3',
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
label: 'America/Noronha',
|
|
123
|
-
value: '-2',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
label: 'Atlantic/Cape_Verde',
|
|
127
|
-
value: '-1',
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
label: 'Africa/Monrovia',
|
|
131
|
-
value: '0',
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
label: 'Europe/London',
|
|
135
|
-
value: '1',
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
label: 'Europe/Amsterdam',
|
|
139
|
-
value: '2',
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
label: 'Europe/Athens',
|
|
143
|
-
value: '3',
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
label: 'Europe/Samara',
|
|
147
|
-
value: '4',
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
label: 'Asia/Tashkent',
|
|
151
|
-
value: '5',
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
label: 'Asia/Dhaka',
|
|
155
|
-
value: '6',
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
label: 'Asia/Bangkok',
|
|
159
|
-
value: '7',
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
label: 'Asia/Chongqing',
|
|
163
|
-
value: '8',
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
label: 'Asia/Tokyo',
|
|
167
|
-
value: '9',
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
label: 'Australia/Brisbane',
|
|
171
|
-
value: '10',
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
label: 'Australia/Canberra',
|
|
175
|
-
value: '11',
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
label: 'Pacific/Fiji',
|
|
179
|
-
value: '12',
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
label: 'Pacific/Auckland',
|
|
183
|
-
value: '13',
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
label: 'Pacific/Apia',
|
|
187
|
-
value: '14',
|
|
188
|
-
},
|
|
189
|
-
]
|
|
190
|
-
|
|
191
|
-
const date = new Date(desktopContext.System.Manager.DateAndTime.dateTime)
|
|
192
|
-
date.setHours(date.getHours() + parseInt(desktopContext.System.Manager.DateAndTime.timeZoneOffset))
|
|
193
|
-
|
|
194
|
-
return (
|
|
195
|
-
<ClassicyApp
|
|
196
|
-
id={appId}
|
|
197
|
-
name={appName}
|
|
198
|
-
icon={appIcon}
|
|
199
|
-
defaultWindow={'DateAndTimeManager_1'}
|
|
200
|
-
openOnBoot={true}
|
|
201
|
-
noDesktopIcon={true}
|
|
202
|
-
addSystemMenu={true}
|
|
203
|
-
>
|
|
204
|
-
<ClassicyWindow
|
|
205
|
-
id={'DateAndTimeManager_1'}
|
|
206
|
-
title={appName}
|
|
207
|
-
appId={appId}
|
|
208
|
-
icon={appIcon}
|
|
209
|
-
closable={true}
|
|
210
|
-
resizable={false}
|
|
211
|
-
zoomable={false}
|
|
212
|
-
scrollable={false}
|
|
213
|
-
collapsable={false}
|
|
214
|
-
initialSize={[350, 290]}
|
|
215
|
-
initialPosition={[300, 50]}
|
|
216
|
-
modal={false}
|
|
217
|
-
appMenu={appMenu}
|
|
218
|
-
>
|
|
219
|
-
<div
|
|
220
|
-
style={{
|
|
221
|
-
backgroundColor: 'var(--color-system-03)',
|
|
222
|
-
height: '100%',
|
|
223
|
-
width: '100%',
|
|
224
|
-
padding: 'var(--window-padding-size)',
|
|
225
|
-
boxSizing: 'border-box',
|
|
226
|
-
}}
|
|
227
|
-
>
|
|
228
|
-
<div style={{ display: 'flex', flexDirection: 'row' }}>
|
|
229
|
-
<div style={{ width: '42%' }}>
|
|
230
|
-
<ClassicyControlGroup label={'Current Date'}>
|
|
231
|
-
<ClassicyDatePicker
|
|
232
|
-
id={'date'}
|
|
233
|
-
labelTitle={''}
|
|
234
|
-
prefillValue={date}
|
|
235
|
-
onChangeFunc={updateSystemDate}
|
|
236
|
-
></ClassicyDatePicker>
|
|
237
|
-
</ClassicyControlGroup>
|
|
238
|
-
</div>
|
|
239
|
-
<div style={{ width: '58%' }}>
|
|
240
|
-
<ClassicyControlGroup label={'Current Time'}>
|
|
241
|
-
<ClassicyTimePicker
|
|
242
|
-
id={'time'}
|
|
243
|
-
labelTitle={''}
|
|
244
|
-
onChangeFunc={updateSystemTime}
|
|
245
|
-
prefillValue={date}
|
|
246
|
-
></ClassicyTimePicker>
|
|
247
|
-
</ClassicyControlGroup>
|
|
248
|
-
</div>
|
|
249
|
-
</div>
|
|
250
|
-
<div style={{ display: 'flex', flexDirection: 'column' }}>
|
|
251
|
-
<ClassicyControlGroup label={'Timezone'}>
|
|
252
|
-
<ClassicyPopUpMenu
|
|
253
|
-
id={'timezone'}
|
|
254
|
-
small={false}
|
|
255
|
-
options={timezones}
|
|
256
|
-
onChangeFunc={updateSystemTimeZone}
|
|
257
|
-
selected={desktopContext.System.Manager.DateAndTime.timeZoneOffset?.toString()}
|
|
258
|
-
/>
|
|
259
|
-
</ClassicyControlGroup>
|
|
260
|
-
</div>
|
|
261
|
-
<div style={{ display: 'flex', flexDirection: 'column' }}>
|
|
262
|
-
<ClassicyControlGroup label={'Time Format'}>
|
|
263
|
-
<ClassicyRadioInput
|
|
264
|
-
inputs={[
|
|
265
|
-
{
|
|
266
|
-
id: '12',
|
|
267
|
-
label: '12-Hour',
|
|
268
|
-
checked: true,
|
|
269
|
-
},
|
|
270
|
-
{
|
|
271
|
-
id: '24',
|
|
272
|
-
label: 'Military Time',
|
|
273
|
-
disabled: true,
|
|
274
|
-
},
|
|
275
|
-
]}
|
|
276
|
-
name={'period_selector'}
|
|
277
|
-
/>
|
|
278
|
-
</ClassicyControlGroup>
|
|
279
|
-
</div>
|
|
280
|
-
<ClassicyButton isDefault={false} onClickFunc={quitApp}>
|
|
281
|
-
Quit
|
|
282
|
-
</ClassicyButton>
|
|
283
|
-
</div>
|
|
284
|
-
</ClassicyWindow>
|
|
285
|
-
{showAbout && getClassicyAboutWindow({ appId, appName, appIcon, hideFunc: () => setShowAbout(false) })}
|
|
286
|
-
</ClassicyApp>
|
|
287
|
-
)
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
export const classicyDateTimeManagerEventHandler = (ds: ClassicyStore, action: ActionMessage) => {
|
|
291
|
-
switch (action.type) {
|
|
292
|
-
case 'ClassicyManagerDateTimeSet': {
|
|
293
|
-
const t = action.dateTime
|
|
294
|
-
t.setHours(action.dateTime.getHours())
|
|
295
|
-
ds.System.Manager.DateAndTime.dateTime = t.toISOString()
|
|
296
|
-
break
|
|
297
|
-
}
|
|
298
|
-
case 'ClassicyManagerDateTimeTZSet': {
|
|
299
|
-
ds.System.Manager.DateAndTime.timeZoneOffset = action.tzOffset
|
|
300
|
-
break
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
return ds
|
|
304
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
.soundManagerAbout {
|
|
2
|
-
font-family: var(--header-font) serif;
|
|
3
|
-
display: flex;
|
|
4
|
-
align-content: center;
|
|
5
|
-
align-items: center;
|
|
6
|
-
flex-direction: column;
|
|
7
|
-
justify-content: center;
|
|
8
|
-
text-align: center;
|
|
9
|
-
justify-items: center;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.soundManagerControlGroupHolder {
|
|
13
|
-
display: flex;
|
|
14
|
-
flex-direction: row;
|
|
15
|
-
flex-wrap: wrap;
|
|
16
|
-
justify-content: stretch;
|
|
17
|
-
margin: calc(var(--window-padding-size)) 0;
|
|
18
|
-
}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import {useAppManagerDispatch} from '@/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerContext'
|
|
4
|
-
import './ClassicySoundManager.scss'
|
|
5
|
-
import {
|
|
6
|
-
ClassicySoundInfo,
|
|
7
|
-
useSound,
|
|
8
|
-
useSoundDispatch,
|
|
9
|
-
} from '@/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerContext'
|
|
10
|
-
import {getClassicyAboutWindow} from '@/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindow'
|
|
11
|
-
import {ClassicyApp} from '@/SystemFolder/SystemResources/App/ClassicyApp'
|
|
12
|
-
import {quitAppHelper, quitMenuItemHelper} from '@/SystemFolder/SystemResources/App/ClassicyAppUtils'
|
|
13
|
-
import {ClassicyButton} from '@/SystemFolder/SystemResources/Button/ClassicyButton'
|
|
14
|
-
import {ClassicyCheckbox} from '@/SystemFolder/SystemResources/Checkbox/ClassicyCheckbox'
|
|
15
|
-
import {ClassicyControlGroup} from '@/SystemFolder/SystemResources/ControlGroup/ClassicyControlGroup'
|
|
16
|
-
import {ClassicyControlLabel} from '@/SystemFolder/SystemResources/ControlLabel/ClassicyControlLabel'
|
|
17
|
-
import {ClassicyDisclosure} from '@/SystemFolder/SystemResources/Disclosure/ClassicyDisclosure'
|
|
18
|
-
import {ClassicyWindow} from '@/SystemFolder/SystemResources/Window/ClassicyWindow'
|
|
19
|
-
import React, {useState} from 'react'
|
|
20
|
-
import appIcon from 'img/icons/control-panels/sound-manager/app.png'
|
|
21
|
-
|
|
22
|
-
export const ClassicySoundManager: React.FC = () => {
|
|
23
|
-
const desktopEventDispatch = useAppManagerDispatch()
|
|
24
|
-
|
|
25
|
-
const playerState = useSound()
|
|
26
|
-
const player = useSoundDispatch()
|
|
27
|
-
|
|
28
|
-
const appName: string = 'Sound Manager'
|
|
29
|
-
const appId: string = 'SoundManager.app'
|
|
30
|
-
|
|
31
|
-
const [showAbout, setShowAbout] = useState(false)
|
|
32
|
-
|
|
33
|
-
const changeSounds = (checked: boolean) => {
|
|
34
|
-
player({
|
|
35
|
-
type: 'ClassicySoundDisable',
|
|
36
|
-
disabled: checked ? [] : ['*'],
|
|
37
|
-
})
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const disableSounds = (checked: boolean, sound: string) => {
|
|
41
|
-
if (checked) {
|
|
42
|
-
player({
|
|
43
|
-
type: 'ClassicySoundEnableOne',
|
|
44
|
-
enabled: sound,
|
|
45
|
-
})
|
|
46
|
-
} else {
|
|
47
|
-
player({
|
|
48
|
-
type: 'ClassicySoundDisableOne',
|
|
49
|
-
disabled: sound,
|
|
50
|
-
})
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const quitApp = () => {
|
|
55
|
-
desktopEventDispatch(quitAppHelper(appId, appName, appIcon))
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const appMenu = [
|
|
59
|
-
{
|
|
60
|
-
id: appId + '_file',
|
|
61
|
-
title: 'File',
|
|
62
|
-
menuChildren: [quitMenuItemHelper(appId, appName, appIcon)],
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
id: appId + '_help',
|
|
66
|
-
title: 'Help',
|
|
67
|
-
menuChildren: [
|
|
68
|
-
{
|
|
69
|
-
id: appId + '_about',
|
|
70
|
-
title: 'About',
|
|
71
|
-
onClickFunc: () => {
|
|
72
|
-
setShowAbout(true)
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
],
|
|
76
|
-
},
|
|
77
|
-
]
|
|
78
|
-
|
|
79
|
-
const getSoundLabelGroups = () => {
|
|
80
|
-
const soundLabelGroups = [...new Set(playerState.labels.map((item) => item.group))]
|
|
81
|
-
|
|
82
|
-
const index = soundLabelGroups.indexOf('Alert')
|
|
83
|
-
if (index !== -1) {
|
|
84
|
-
soundLabelGroups.splice(index, 1)
|
|
85
|
-
}
|
|
86
|
-
return soundLabelGroups
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return (
|
|
90
|
-
<ClassicyApp
|
|
91
|
-
id={appId}
|
|
92
|
-
name={appName}
|
|
93
|
-
icon={appIcon}
|
|
94
|
-
defaultWindow={'SoundManager_1'}
|
|
95
|
-
openOnBoot={true}
|
|
96
|
-
noDesktopIcon={true}
|
|
97
|
-
addSystemMenu={true}
|
|
98
|
-
>
|
|
99
|
-
<ClassicyWindow
|
|
100
|
-
id={'SoundManager_1'}
|
|
101
|
-
title={appName}
|
|
102
|
-
appId={appId}
|
|
103
|
-
icon={appIcon}
|
|
104
|
-
closable={true}
|
|
105
|
-
resizable={false}
|
|
106
|
-
zoomable={false}
|
|
107
|
-
scrollable={false}
|
|
108
|
-
collapsable={false}
|
|
109
|
-
initialSize={[500, 0]}
|
|
110
|
-
initialPosition={[300, 50]}
|
|
111
|
-
modal={false}
|
|
112
|
-
appMenu={appMenu}
|
|
113
|
-
>
|
|
114
|
-
<div
|
|
115
|
-
style={{
|
|
116
|
-
backgroundColor: 'var(--color-system-03)',
|
|
117
|
-
height: '100%',
|
|
118
|
-
width: '100%',
|
|
119
|
-
padding: 'var(--window-padding-size)',
|
|
120
|
-
boxSizing: 'border-box',
|
|
121
|
-
}}
|
|
122
|
-
>
|
|
123
|
-
<ClassicyCheckbox
|
|
124
|
-
id={'disable_sounds'}
|
|
125
|
-
isDefault={true}
|
|
126
|
-
label={'Enable Interface Sounds'}
|
|
127
|
-
onClickFunc={changeSounds}
|
|
128
|
-
checked={!playerState.disabled.includes('*')}
|
|
129
|
-
/>
|
|
130
|
-
<ClassicyDisclosure label={'Disable Sounds'}>
|
|
131
|
-
<ClassicyControlLabel label={'These settings are not currently connected.'}/>
|
|
132
|
-
<div className={'soundManagerControlGroupHolder'}>
|
|
133
|
-
{getSoundLabelGroups().map((group: string) => (
|
|
134
|
-
<ClassicyControlGroup label={group} columns={true} key={appId + '_' + group}>
|
|
135
|
-
{playerState.labels.map(
|
|
136
|
-
(item: ClassicySoundInfo) =>
|
|
137
|
-
item.group === group && (
|
|
138
|
-
<ClassicyCheckbox
|
|
139
|
-
key={appId + '_' + group + item.id}
|
|
140
|
-
id={'enable_sound_' + item.id}
|
|
141
|
-
label={item.label}
|
|
142
|
-
checked={!playerState.disabled.includes('*')}
|
|
143
|
-
onClickFunc={(checked: boolean) => disableSounds(checked, item.id)}
|
|
144
|
-
/>
|
|
145
|
-
)
|
|
146
|
-
)}
|
|
147
|
-
</ClassicyControlGroup>
|
|
148
|
-
))}
|
|
149
|
-
</div>
|
|
150
|
-
</ClassicyDisclosure>
|
|
151
|
-
<ClassicyButton isDefault={false} onClickFunc={quitApp}>
|
|
152
|
-
Quit
|
|
153
|
-
</ClassicyButton>
|
|
154
|
-
</div>
|
|
155
|
-
</ClassicyWindow>
|
|
156
|
-
{showAbout && getClassicyAboutWindow({appId, appName, appIcon, hideFunc: () => setShowAbout(false)})}
|
|
157
|
-
</ClassicyApp>
|
|
158
|
-
)
|
|
159
|
-
}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import {ClassicyStoreSystemManager} from '@/SystemFolder/ControlPanels/AppManager/ClassicyAppManager'
|
|
2
|
-
import {Howl} from 'howler'
|
|
3
|
-
import React, {createContext, type Dispatch, useContext, useReducer} from 'react'
|
|
4
|
-
import soundData from "snd/platinum/platinum.json";
|
|
5
|
-
import soundLabels from './ClassicySoundManagerLabels.json'
|
|
6
|
-
|
|
7
|
-
export const createSoundPlayer = ({soundData, options}: SoundPlayer): Howl | null => {
|
|
8
|
-
if ('src' in soundData && 'sprite' in soundData) {
|
|
9
|
-
return new Howl({
|
|
10
|
-
src: soundData.src,
|
|
11
|
-
sprite: soundData.sprite,
|
|
12
|
-
...options,
|
|
13
|
-
})
|
|
14
|
-
}
|
|
15
|
-
return null
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export const initialPlayer = {
|
|
19
|
-
soundPlayer: createSoundPlayer({soundData: soundData}),
|
|
20
|
-
disabled: [],
|
|
21
|
-
labels: soundLabels,
|
|
22
|
-
volume: 100,
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
export const ClassicySoundManagerContext = createContext<ClassicySoundState>(initialPlayer)
|
|
27
|
-
export const ClassicySoundDispatchContext = createContext<Dispatch<any>>((() => undefined) as Dispatch<any>)
|
|
28
|
-
|
|
29
|
-
export interface ClassicyStoreSystemSoundManager extends ClassicyStoreSystemManager {
|
|
30
|
-
volume: number
|
|
31
|
-
labels: Record<string, { group: string; label: string; description: string }>
|
|
32
|
-
disabled: string[]
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export type ClassicyThemeSound = {
|
|
36
|
-
file: string
|
|
37
|
-
disabled: string[]
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export type ClassicySoundInfo = {
|
|
41
|
-
id: string
|
|
42
|
-
group: string
|
|
43
|
-
label: string
|
|
44
|
-
description: string
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
type ClassicySoundState = {
|
|
48
|
-
soundPlayer: Howl | null
|
|
49
|
-
disabled: string[]
|
|
50
|
-
labels: ClassicySoundInfo[]
|
|
51
|
-
volume?: number
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
enum ClassicySoundActionTypes {
|
|
55
|
-
ClassicySoundStop,
|
|
56
|
-
ClassicySoundPlay,
|
|
57
|
-
ClassicySoundPlayInterrupt,
|
|
58
|
-
ClassicySoundPlayError,
|
|
59
|
-
ClassicySoundLoad,
|
|
60
|
-
ClassicySoundSet,
|
|
61
|
-
ClassicySoundDisable,
|
|
62
|
-
ClassicySoundDisableOne,
|
|
63
|
-
ClassicySoundEnableOne,
|
|
64
|
-
ClassicyVolumeSet,
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
interface ClassicySoundAction {
|
|
68
|
-
type: ClassicySoundActionTypes
|
|
69
|
-
sound?: string
|
|
70
|
-
file?: SoundData
|
|
71
|
-
disabled?: string | string[]
|
|
72
|
-
enabled?: string | string[]
|
|
73
|
-
soundPlayer?: any
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
interface SoundData {
|
|
77
|
-
src: string[]
|
|
78
|
-
sprite: Record<string, any>
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
interface SoundPlayer {
|
|
82
|
-
soundData: SoundData
|
|
83
|
-
options?: Record<string, any>
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export const loadSoundTheme = (soundTheme: SoundData): Howl | null => {
|
|
87
|
-
return createSoundPlayer({soundData: soundTheme})
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export function useSound() {
|
|
91
|
-
return useContext(ClassicySoundManagerContext)
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export function useSoundDispatch() {
|
|
95
|
-
return useContext(ClassicySoundDispatchContext)
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
const playerCanPlayInterrupt = ({disabled, soundPlayer}: ClassicySoundState, sound: string) => {
|
|
99
|
-
return !disabled.includes('*') && !disabled.includes(sound) && soundPlayer
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const playerCanPlay = (ss: ClassicySoundState, sound: string) => {
|
|
103
|
-
return playerCanPlayInterrupt(ss, sound) && !ss.soundPlayer?.playing()
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export const ClassicySoundStateEventReducer = (ss: ClassicySoundState, action: ClassicySoundAction) => {
|
|
107
|
-
if ('debug' in action) {
|
|
108
|
-
console.group('Sound Event')
|
|
109
|
-
console.log('Action: ', action)
|
|
110
|
-
console.log('Start State: ', ss)
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const validatedAction = ClassicySoundActionTypes[action.type as unknown as keyof typeof ClassicySoundActionTypes]
|
|
114
|
-
switch (validatedAction) {
|
|
115
|
-
case ClassicySoundActionTypes.ClassicySoundStop: {
|
|
116
|
-
ss.soundPlayer?.stop()
|
|
117
|
-
break
|
|
118
|
-
}
|
|
119
|
-
case ClassicySoundActionTypes.ClassicySoundPlay: {
|
|
120
|
-
if (action.sound && playerCanPlay(ss, action.sound)) {
|
|
121
|
-
ss.soundPlayer?.play(action.sound)
|
|
122
|
-
}
|
|
123
|
-
break
|
|
124
|
-
}
|
|
125
|
-
case ClassicySoundActionTypes.ClassicySoundPlayInterrupt: {
|
|
126
|
-
if (action.sound && playerCanPlayInterrupt(ss, action.sound)) {
|
|
127
|
-
ss.soundPlayer?.stop()
|
|
128
|
-
ss.soundPlayer?.play(action.sound)
|
|
129
|
-
}
|
|
130
|
-
break
|
|
131
|
-
}
|
|
132
|
-
case ClassicySoundActionTypes.ClassicySoundPlayError: {
|
|
133
|
-
if (action.sound && playerCanPlayInterrupt(ss, action.sound)) {
|
|
134
|
-
ss.soundPlayer?.stop()
|
|
135
|
-
ss.soundPlayer?.play(action.sound || 'ClassicyAlertWildEep')
|
|
136
|
-
}
|
|
137
|
-
break
|
|
138
|
-
}
|
|
139
|
-
case ClassicySoundActionTypes.ClassicySoundLoad: {
|
|
140
|
-
if (action.file) {
|
|
141
|
-
ss.soundPlayer = loadSoundTheme(action.file)
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
if (action.disabled) {
|
|
145
|
-
ss.disabled = Array.isArray(action.disabled) ? action.disabled : [action.disabled]
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
break
|
|
149
|
-
}
|
|
150
|
-
case ClassicySoundActionTypes.ClassicySoundSet: {
|
|
151
|
-
ss.soundPlayer = action.soundPlayer
|
|
152
|
-
break
|
|
153
|
-
}
|
|
154
|
-
case ClassicySoundActionTypes.ClassicyVolumeSet: {
|
|
155
|
-
ss.soundPlayer = action.soundPlayer
|
|
156
|
-
break
|
|
157
|
-
}
|
|
158
|
-
case ClassicySoundActionTypes.ClassicySoundDisable: {
|
|
159
|
-
if (action.disabled) {
|
|
160
|
-
ss.disabled = Array.isArray(action.disabled) ? action.disabled : [action.disabled]
|
|
161
|
-
}
|
|
162
|
-
break
|
|
163
|
-
}
|
|
164
|
-
case ClassicySoundActionTypes.ClassicySoundDisableOne: {
|
|
165
|
-
if (action.disabled) {
|
|
166
|
-
let disabled = Array.isArray(action.disabled) ? action.disabled : [action.disabled]
|
|
167
|
-
ss.disabled.push(...disabled)
|
|
168
|
-
ss.disabled = Array.from(new Set(ss.disabled))
|
|
169
|
-
}
|
|
170
|
-
break
|
|
171
|
-
}
|
|
172
|
-
case ClassicySoundActionTypes.ClassicySoundEnableOne: {
|
|
173
|
-
let enabled = Array.isArray(action.enabled) ? action.enabled : [action.enabled]
|
|
174
|
-
ss.disabled = ss.disabled.filter((item) => !enabled.includes(item))
|
|
175
|
-
break
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
if ('debug' in action) {
|
|
179
|
-
console.log('End State: ', ss)
|
|
180
|
-
console.groupEnd()
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
return ss
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
export const ClassicySoundManagerProvider: React.FC<{ children: any }> = ({children}) => {
|
|
187
|
-
const [sound, soundDispatch] = useReducer(ClassicySoundStateEventReducer, initialPlayer)
|
|
188
|
-
|
|
189
|
-
return (
|
|
190
|
-
<ClassicySoundManagerContext.Provider value={sound}>
|
|
191
|
-
<ClassicySoundDispatchContext.Provider value={soundDispatch}>
|
|
192
|
-
{children}
|
|
193
|
-
</ClassicySoundDispatchContext.Provider>
|
|
194
|
-
</ClassicySoundManagerContext.Provider>
|
|
195
|
-
)
|
|
196
|
-
}
|