179 lines
8.4 KiB
TypeScript
179 lines
8.4 KiB
TypeScript
import { createApp } from 'vue';
|
|
import { createPinia } from 'pinia';
|
|
import { createI18n } from 'vue-i18n';
|
|
|
|
import Framework7 from 'framework7/lite';
|
|
import Framework7Dialog from 'framework7/components/dialog';
|
|
import Framework7Popup from 'framework7/components/popup';
|
|
import Framework7LoginScreen from 'framework7/components/login-screen';
|
|
import Framework7Popover from 'framework7/components/popover';
|
|
import Framework7Actions from 'framework7/components/actions';
|
|
import Framework7Sheet from 'framework7/components/sheet';
|
|
import Framework7Notification from 'framework7/components/notification';
|
|
import Framework7Toast from 'framework7/components/toast';
|
|
import Framework7Preloader from 'framework7/components/preloader';
|
|
import Framework7Progressbar from 'framework7/components/progressbar';
|
|
import Framework7Sortable from 'framework7/components/sortable';
|
|
import Framework7Swipeout from 'framework7/components/swipeout';
|
|
import Framework7Accordion from 'framework7/components/accordion';
|
|
import Framework7Card from 'framework7/components/card';
|
|
import Framework7Chip from 'framework7/components/chip';
|
|
import Framework7Form from 'framework7/components/form';
|
|
import Framework7Input from 'framework7/components/input';
|
|
import Framework7Checkbox from 'framework7/components/checkbox';
|
|
import Framework7Radio from 'framework7/components/radio';
|
|
import Framework7Toggle from 'framework7/components/toggle';
|
|
import Framework7Range from 'framework7/components/range';
|
|
import Framework7Grid from 'framework7/components/grid';
|
|
import Framework7Picker from 'framework7/components/picker';
|
|
import Framework7InfiniteScroll from 'framework7/components/infinite-scroll';
|
|
import Framework7PullToRefresh from 'framework7/components/pull-to-refresh';
|
|
import Framework7Searchbar from 'framework7/components/searchbar';
|
|
import Framework7Tooltip from 'framework7/components/tooltip';
|
|
import Framework7Skeleton from 'framework7/components/skeleton';
|
|
import Framework7Treeview from 'framework7/components/treeview';
|
|
import Framework7Typography from 'framework7/components/typography';
|
|
import Framework7Swiper from 'framework7/components/swiper';
|
|
import Framework7VirtualList from 'framework7/components/virtual-list';
|
|
import Framework7PhotoBrowser from 'framework7/components/photo-browser';
|
|
// @ts-expect-error there is a function called "registerComponents" in the framework7-vue package, but it is not declared in the type definition file
|
|
import Framework7Vue, { registerComponents } from 'framework7-vue/bundle';
|
|
|
|
import 'framework7-icons';
|
|
import 'line-awesome/dist/line-awesome/css/line-awesome.css';
|
|
|
|
import VueDatePicker from '@vuepic/vue-datepicker';
|
|
import '@vuepic/vue-datepicker/dist/main.css';
|
|
|
|
import { getI18nOptions } from '@/locales/helpers.ts';
|
|
|
|
import PinCodeInput from '@/components/common/PinCodeInput.vue';
|
|
import MapView from '@/components/common/MapView.vue';
|
|
import DateTimePicker from '@/components/common/DateTimePicker.vue';
|
|
import MonthPicker from '@/components/common/MonthPicker.vue';
|
|
import TransactionCalendar from '@/components/common/TransactionCalendar.vue';
|
|
|
|
import ItemIcon from '@/components/mobile/ItemIcon.vue';
|
|
import LanguageSelectButton from '@/components/mobile/LanguageSelectButton.vue';
|
|
import PieChart from '@/components/mobile/PieChart.vue';
|
|
import MonthlyTrendsBarChart from '@/components/mobile/MonthlyTrendsBarChart.vue';
|
|
import PinCodeInputSheet from '@/components/mobile/PinCodeInputSheet.vue';
|
|
import PasswordInputSheet from '@/components/mobile/PasswordInputSheet.vue';
|
|
import PasscodeInputSheet from '@/components/mobile/PasscodeInputSheet.vue';
|
|
import DateTimeSelectionSheet from '@/components/mobile/DateTimeSelectionSheet.vue';
|
|
import DateSelectionSheet from '@/components/mobile/DateSelectionSheet.vue';
|
|
import FiscalYearStartSelectionSheet from '@/components/mobile/FiscalYearStartSelectionSheet.vue';
|
|
import DateRangeSelectionSheet from '@/components/mobile/DateRangeSelectionSheet.vue';
|
|
import MonthSelectionSheet from '@/components/mobile/MonthSelectionSheet.vue';
|
|
import MonthRangeSelectionSheet from '@/components/mobile/MonthRangeSelectionSheet.vue';
|
|
import ListNumberInput from '@/components/mobile/ListNumberInput.vue';
|
|
import ListItemSelectionSheet from '@/components/mobile/ListItemSelectionSheet.vue';
|
|
import ListItemSelectionPopup from '@/components/mobile/ListItemSelectionPopup.vue';
|
|
import TwoColumnListItemSelectionSheet from '@/components/mobile/TwoColumnListItemSelectionSheet.vue';
|
|
import TreeViewSelectionSheet from '@/components/mobile/TreeViewSelectionSheet.vue';
|
|
import IconSelectionSheet from '@/components/mobile/IconSelectionSheet.vue';
|
|
import ColorSelectionSheet from '@/components/mobile/ColorSelectionSheet.vue';
|
|
import InformationSheet from '@/components/mobile/InformationSheet.vue';
|
|
import NumberPadSheet from '@/components/mobile/NumberPadSheet.vue';
|
|
import MapSheet from '@/components/mobile/MapSheet.vue';
|
|
import TransactionTagSelectionSheet from '@/components/mobile/TransactionTagSelectionSheet.vue';
|
|
import ScheduleFrequencySheet from '@/components/mobile/ScheduleFrequencySheet.vue';
|
|
import AccountBalanceTrendsBarChart from '@/components/mobile/AccountBalanceTrendsBarChart.vue';
|
|
|
|
import TextareaAutoSize from '@/directives/mobile/textareaAutoSize.ts';
|
|
|
|
import '@/styles/mobile/global.scss';
|
|
import '@/styles/mobile/font-size-default.scss';
|
|
import '@/styles/mobile/font-size-small.scss';
|
|
import '@/styles/mobile/font-size-large.scss';
|
|
import '@/styles/mobile/font-size-x-large.scss';
|
|
import '@/styles/mobile/font-size-xx-large.scss';
|
|
import '@/styles/mobile/font-size-xxx-large.scss';
|
|
import '@/styles/mobile/font-size-xxxx-large.scss';
|
|
import '@/styles/mobile/amount-color.scss';
|
|
|
|
import App from '@/MobileApp.vue';
|
|
|
|
Framework7.use([
|
|
Framework7Dialog,
|
|
Framework7Popup,
|
|
Framework7LoginScreen,
|
|
Framework7Popover,
|
|
Framework7Actions,
|
|
Framework7Sheet,
|
|
Framework7Notification,
|
|
Framework7Toast,
|
|
Framework7Preloader,
|
|
Framework7Progressbar,
|
|
Framework7Sortable,
|
|
Framework7Swipeout,
|
|
Framework7Accordion,
|
|
Framework7Card,
|
|
Framework7Chip,
|
|
Framework7Form,
|
|
Framework7Input,
|
|
Framework7Checkbox,
|
|
Framework7Radio,
|
|
Framework7Toggle,
|
|
Framework7Range,
|
|
Framework7Grid,
|
|
Framework7Picker,
|
|
Framework7InfiniteScroll,
|
|
Framework7PullToRefresh,
|
|
Framework7Searchbar,
|
|
Framework7Tooltip,
|
|
Framework7Skeleton,
|
|
Framework7Treeview,
|
|
Framework7Typography,
|
|
Framework7Swiper,
|
|
Framework7VirtualList,
|
|
Framework7PhotoBrowser,
|
|
Framework7Vue
|
|
]);
|
|
|
|
const app = createApp(App);
|
|
const pinia = createPinia();
|
|
const i18n = createI18n(getI18nOptions());
|
|
registerComponents(app);
|
|
app.use(pinia);
|
|
app.use(i18n);
|
|
|
|
app.component('VueDatePicker', VueDatePicker);
|
|
|
|
app.component('PinCodeInput', PinCodeInput);
|
|
app.component('MapView', MapView);
|
|
app.component('DateTimePicker', DateTimePicker);
|
|
app.component('MonthPicker', MonthPicker);
|
|
app.component('TransactionCalendar', TransactionCalendar);
|
|
|
|
app.component('ItemIcon', ItemIcon);
|
|
app.component('LanguageSelectButton', LanguageSelectButton);
|
|
app.component('PieChart', PieChart);
|
|
app.component('MonthlyTrendsBarChart', MonthlyTrendsBarChart);
|
|
app.component('PinCodeInputSheet', PinCodeInputSheet);
|
|
app.component('PasswordInputSheet', PasswordInputSheet);
|
|
app.component('PasscodeInputSheet', PasscodeInputSheet);
|
|
app.component('DateTimeSelectionSheet', DateTimeSelectionSheet);
|
|
app.component('DateSelectionSheet', DateSelectionSheet);
|
|
app.component('FiscalYearStartSelectionSheet', FiscalYearStartSelectionSheet);
|
|
app.component('DateRangeSelectionSheet', DateRangeSelectionSheet);
|
|
app.component('MonthSelectionSheet', MonthSelectionSheet);
|
|
app.component('MonthRangeSelectionSheet', MonthRangeSelectionSheet);
|
|
app.component('ListNumberInput', ListNumberInput);
|
|
app.component('ListItemSelectionSheet', ListItemSelectionSheet);
|
|
app.component('ListItemSelectionPopup', ListItemSelectionPopup);
|
|
app.component('TwoColumnListItemSelectionSheet', TwoColumnListItemSelectionSheet);
|
|
app.component('TreeViewSelectionSheet', TreeViewSelectionSheet);
|
|
app.component('IconSelectionSheet', IconSelectionSheet);
|
|
app.component('ColorSelectionSheet', ColorSelectionSheet);
|
|
app.component('InformationSheet', InformationSheet);
|
|
app.component('NumberPadSheet', NumberPadSheet);
|
|
app.component('MapSheet', MapSheet);
|
|
app.component('TransactionTagSelectionSheet', TransactionTagSelectionSheet);
|
|
app.component('AccountBalanceTrendsBarChart', AccountBalanceTrendsBarChart);
|
|
app.component('ScheduleFrequencySheet', ScheduleFrequencySheet);
|
|
|
|
app.directive('TextareaAutoSize', TextareaAutoSize);
|
|
|
|
app.mount('#app');
|