Я заболел той же старой новой страницей. Я хотел иметь приборную панель для всего, что я достигаю в своем типичном рабочем дне, поэтому я построил ее.
Startertab здесь, чтобы революционизировать то, как вы начинаете свой день в Интернете. Благодаря полностью настраиваемому веб -приложению для замены вашей новой домашней страницы вкладки вы можете персонализировать свой онлайн -опыт, как никогда раньше.
Вы можете установить здесь расширение Chrome или расширение Firefox здесь и сделать Startertab сайтом, который открывается на каждом из ваших новых вкладок.
Локальное хранилище используется для хранения всех ваших настройки, что означает, что вы владеете вашими данными! Все настройки, токены и темы находятся в вашем собственном браузере. Некоторые могут называть это леньем, что я не хочу поддерживать базу данных, вы также можете увидеть ее как я помогаю предотвратить, как ваши данные находятся в еще одном облачном сервисе.
Написано в NextJs с Charkaui. Фронта и функции размещаются в Vercel, базе данных на Neon.
git clone https://github.com/allister-grange/startertab.git
cd startertab
yarn install
Скопируйте файл .env.local.example в этом каталоге .env.local
cp .env.local.example .env.local
Добавьте детали для всех поставщиков, которых вы хотите использовать:
STRAVA_CLIENT_ID=<YOUR_SECRET_HERE>
STRAVA_SECRET=<YOUR_SECRET_HERE>
WEATHERAPI_TOKEN=<YOUR_SECRET_HERE>
SPOTIFY_CLIENT_ID=<YOUR_SECRET_HERE>
SPOTIFY_CLIENT_SECRET=<YOUR_SECRET_HERE>
FINNHUB_SECRET=<YOUR_SECRET_HERE>
TWITTER_CLIENT_ID=<YOUR_SECRET_HERE>
TWITTER_CLIENT_SECRET=<YOUR_SECRET_HERE>
TWITTER_CODE_CHALLENGE_KEY=<YOUR_SECRET_HERE>
TOKEN_ENCRYPT_KEY=<YOUR_SECRET_HERE>
OUTLOOK_CLIENT_ID=<YOUR_SECRET_HERE>
OUTLOOK_CLIENT_SECRET=<YOUR_SECRET_HERE>
GOOGLE_CLIENT_ID=<YOUR_SECRET_HERE>
GOOGLE_CLIENT_SECRET=<YOUR_SECRET_HERE>
DATABASE_URL=<YOUR_SECRET_HERE>
DATABASE_URL_UNPOOLED=<YOUR_SECRET_HERE>
ANALYTICS_ENABLED=<true or false>
Чтобы запустить свой Startertab на локальном масштабе, используйте:
yarn dev
Чтобы запустить его в производственном режиме, используйте:
yarn build && yarn start
src/components/tiles . Обязательно принимайте опору «Tileid», это позволяет изменить цвет текста на основе настройки, измененных на боковой панели. type PageProps = {
tileId : number ;
} ;
export const YourNewTile : React . FC < PageProps > = ( { tileId } ) => {
const color = `var(--text-color- ${ tileId } )` ;
return ( ) ;
}src/types/settings.ts .tileSize в src/components/sidebar/OptionsForTileTypeSelect.tsxtileType в src/components/TileContainer.tsxЕсли вам нужно постоянное хранилище
TileSettings в src/types/settings.tssrc/recoil/UserSettingsSelectors.tsxПример селектора:
export const imageFilePathSelector = createTilePropertySelector < string > (
"imageFilePath" ,
( theme , newValue ) => {
theme . imageFilePath = newValue ;
}
) ;Используя этот селектор в плите:
const [ fileValue , setFileValue ] = useRecoilState (
imageFilePathSelector ( tileId )
) as [ string | undefined , SetterOrUpdater < string | undefined > ] ;Создание элемента меню боковой панели для вариантов
OptionType в src/types/settings.tssrc/helpers/sideBarOptions.tssrc/components/sidebar/SettingOptionContainer.tsx чтобы включить новый тип опции