···33 */
4455import type { Tab, TabChangeInfo } from 'browser';
66-import type { Settings, SettingsV1 } from './settings.ts';
66+import type { Settings, SettingsV1 } from './utilities/settings.ts';
7788import browserAPI from 'browser';
99import {
···1212 LEGACY_STORAGE_KEYS,
1313 migrateFromV1,
1414 STORAGE_KEYS,
1515-} from './settings.ts';
1515+} from './utilities/settings.ts';
1616import FaviconData from './utilities/favicon_data.ts';
1717import Autoselector from './utilities/autoselector.ts';
1818
+1-1
source/options.tsx
···33import { Fragment, h, render } from 'preact';
44import { useCallback } from 'preact/hooks';
5566-import { Settings, STORAGE_KEYS } from './settings.ts';
66+import { Settings, STORAGE_KEYS } from './utilities/settings.ts';
77import Header from './components/header.tsx';
88import Switch from './components/switch.tsx';
99
+1-1
source/pages/favicons_page.tsx
···44import { Fragment, h } from 'preact';
55import { useEffect } from 'preact/hooks';
6677-import { DEFAULT_SETTINGS, Settings } from '../settings.ts';
77+import { DEFAULT_SETTINGS, Settings } from '../utilities/settings.ts';
88import List from '../components/list.tsx';
99import Only from '../components/only.tsx';
1010import useListState from '../hooks/use_list_state.ts';
+1-1
source/pages/settings_page.tsx
···44import { Fragment, h } from 'preact';
55import { useCallback } from 'preact/hooks';
6677-import { DEFAULT_SETTINGS, Settings } from '../settings.ts';
77+import { DEFAULT_SETTINGS, Settings } from '../utilities/settings.ts';
88import Checkbox, { Target } from '../components/checkbox.tsx';
99import Only from '../components/only.tsx';
1010import { t } from '../utilities/i18n.ts';
+1-1
source/popup.tsx
···77import FaviconData from './utilities/favicon_data.ts';
88import useBrowserStorage from './hooks/use_browser_storage.ts';
99import useStatus from './hooks/use_status.ts';
1010-import { Settings, STORAGE_KEYS } from './settings.ts';
1010+import { Settings, STORAGE_KEYS } from './utilities/settings.ts';
11111212const queryOptions = { active: true };
1313
+6-4
source/settings.ts
source/utilities/settings.ts
···11-import FaviconData from './utilities/favicon_data.ts';
22-import manifest from './manifest.json' assert { type: 'json' };
31import * as emoji from 'emoji';
22+import manifest from '../manifest.json' assert { type: 'json' };
33+import FaviconData from './favicon_data.ts';
4455export interface Settings {
66 version: string;
···6565 major: number;
6666 minor: number;
6767 patch: number;
6868+ descriptor: string;
6869} {
6970 if (!version) throw new Error('No Version Detected');
70717171- const [major, minor, patch] = version.split('.');
7272+ const [major, minor, patch, ...descriptors] = version.split(/\.|-/);
72737374 if (major == null || minor == null || patch == null) {
7474- throw new Error(`error parsing version ${version} `);
7575+ throw new Error(`Error Parsing Version ${version}`);
7576 }
76777778 return {
7879 major: Number(major),
7980 minor: Number(minor),
8081 patch: Number(patch),
8282+ descriptor: descriptors.join('-') || '',
8183 };
8284}
8385